עיצוב Helium Agent

Helium Agent הוא סוכן AI קל משקל שנבנה באמצעות Python. הוא רץ בטרמינל שלך. הוא תוכנן עבור מינימום מורכבות.

להלן החלטות העיצוב המרכזיות מהבנייה:

• ארכיטקטורה המערכת משתמשת בארכיטקטורה שטוחה. אני נמנע מפריימוורקים כבדים ומעצי תלות עמוקים. אני משתמש בתגיות XML כמו <action> במקום OpenAI function calling. זה הופך את הסוכן ל-model agnostic. ניתן להשתמש בכל LLM.

• קומפוזיביליות באמצעות Dependency Injection אני משתמש בלולאה פשוטה בשם AgenticLoop. היא מקבלת שני קלטים: model caller ומבצע כלים (tool executor). הבחירה הזו מאפשרת ארבעה מצבים שונים:

  • צ'אט כללי
  • תהליכי עבודה של כתיבת קוד
  • סוכני משנה (Subagents)
  • מיומנויות מותאמות אישית (Custom skills) אני לא משתמש בתתי-מחלקות (subclasses) או בתבניות מורכבות. רק שתי פונקציות פשוטות.

• ניהול מצב (State Management) Helium הוא כלי למשתמש יחיד. אני משתמש ב-singletons ברמת המודול עבור היסטוריית שיחה וזיכרון. מצב גלובלי (Global state) הוא הדרך הפשוטה ביותר לייצג סשן משתמש יחיד. זה מונע over-engineering.

• שערים בטיחותיים (Safety Gates) אני משתמש במערכת בעלת שלוש רמות לביצוע כלים:

  • בטוח (Safe): מבצע אוטומטית משימות כמו קריאת קבצים או חיפוש.
  • מסוכן (Risky): דורש אישור משתמש למשימות כמו כתיבת קבצים.
  • מותנה (Conditional): בוחן פקודות כמו סקריפטים של bash כדי לבדוק סכנה. זה מונע ממודל שחווה הזיות (hallucinating) למחוק את הקבצים שלך.

• תקשורת אני משתמש בבקשות HTTP גולמיות במקום ב-OpenAI SDK. זה מפחית תלויות ושומר על הקוד שקוף. אתה רואה בדיוק מה נשלח ל-API.

• מערכת מיומנויות (Skill System) מיומנויות הן פשוט קבצי Markdown. ניתן להוסיף מיומנות חדשה על ידי כתיבת קובץ טקסט עם YAML frontmatter. אין API מורכב לרישום. זה הופך את מערכת התוספים (plugin system) לקלה לשימוש עבור כל אחד.

• לקחים שנלמדו

  1. Dependency injection מספק קומפוזיביליות זולה.
  2. ה-system prompt הוא ה-API שלך. התייחס אליו כאל רכיב קוד ברמה ראשונה (first-class).
  3. אם אתה זקוק ל-lazy imports כדי לתקן תלויות מעגליות (circular dependencies), גבולות המודולים שלך שגויים. תקן את הארכיטקטורה במקום זאת.

פשטות היא ניתנת להרחבה (scales). בחר בפתרון הפשוט ביותר שעובד עבור מקרה הבוחן הספציפי שלך.

מקור: https://dev.to/debmalyasen34/designing-helium-agent-1b39

קהילת למידה אופציונלית: https://t.me/GyaanSetuAi