Connect with us

ืกื•ื›ื ื™ื ืื•ื˜ื•ื ื•ืžื™ื™ื ืขื AgentOps: ืชืฆืคื™ืช, ืขืงื™ื‘ื” ื•ืžืขื‘ืจ ืœื›ืš ืขื‘ื•ืจ ื™ื™ืฉื•ืžื•ืŸ ื”ืื™ื ื˜ืœื™ื’ื ืฆื™ื” ื”ืžืœืื›ื•ืชื™ืช ืฉืœืš

ื‘ื™ื ื” ืžืœืื›ื•ืชื™ืช

ืกื•ื›ื ื™ื ืื•ื˜ื•ื ื•ืžื™ื™ื ืขื AgentOps: ืชืฆืคื™ืช, ืขืงื™ื‘ื” ื•ืžืขื‘ืจ ืœื›ืš ืขื‘ื•ืจ ื™ื™ืฉื•ืžื•ืŸ ื”ืื™ื ื˜ืœื™ื’ื ืฆื™ื” ื”ืžืœืื›ื•ืชื™ืช ืฉืœืš

mm
AgentOps: Enabling Observability and Traceability for Autonomous Agents

הצמיחה של סוכנים אוטונומיים על ידי מודלים יסודיים (FMs) כמו מודלי שפה גדולים (LLMs) השפיעה מחדש על הדרך בה אנו פותרים בעיות מורכבות ורב-שלביות. סוכנים אלה מבצעים משימות החל מתמיכת לקוחות ועד הנדסת תוכנה, תוך ניווט בזרימות עבודה מורכבות המשלבות היגיון, שימוש בכלים וזיכרון.

היות שמערכות אלה גדלות ביכולת ובמורכבות, אתגרים בתצפית, אמינות וציות מתעוררים.

זהו המקום בו AgentOps נכנס לתמונה; מושג המבוסס על DevOps ו-MLOps אך מותאם במיוחד לניהול מחזור החיים של סוכנים המבוססים על FM.

כדי לספק הבנה יסודית של AgentOps ותפקידו הקריטי באפשרת תצפית ועקיבה עבור סוכנים אוטונומיים המבוססים על FM, שאבתי רעיונות מהמאמר האחרון טקסונומיה של AgentOps להאפשרת תצפית של סוכנים המבוססים על מודלים יסודיים מאת Liming Dong, Qinghua Lu, ו-Liming Zhu. המאמר מציע חקירה מקיפה של AgentOps, מודגש את הצורך בו בניהול מחזור החיים של סוכנים אוטונומיים – מיצירה וביצוע ועד הערכה ומעקב. המחברים מסווגים ארטיפקטים עקיבים, מציעים מאפיינים מפתח עבור פלטפורמות תצפית, ומתמודדים עם אתגרים כמו סיבוכיות החלטות וציות רגולטורי.

כאשר AgentOps (הכלי) זכה לתשומת לב משמעותית כאחד הכלים המובילים למעקב, ניפוי תקלות ואופטימיזציה של סוכנים AI (כמו autogen, crew ai), מאמר זה מתמקד במושג הרחב יותר של AI Operations (Ops).

זאת אומרת, AgentOps (הכלי) מספק למפתחים תובנות לזרימות עבודה של סוכנים עם מאפיינים כמו שיחזורי מושב, עקיבת עלות LLM, ומעקב ציות. כאחד מכליהם הפופולריים ביותר ב-AI, מאוחר יותר במאמר נעבור דרך תכונותיו עם הדרכה.

מהו AgentOps?

AgentOps מתייחס לתהליכים, כלים ומסגרות הנדרשים מקצה לקצה כדי לעצב, לפרוס, לפקח ולאופטימיזציה של סוכנים אוטונומיים המבוססים על FM בייצור. מטרותיו הן:

  • תצפית: מתן תצפית מלאה על תהליכי ביצוע וקבלת החלטות של הסוכן.
  • עקיבה: תיעוד ארטיפקטים מפורטים ברחבי מחזור החיים של הסוכן לצורך ניפוי תקלות, אופטימיזציה וציות.
  • אמינות: הבטחת פלטים עקביים ואמינים דרך מעקב וזרימות עבודה חזקות.

בליבתו, AgentOps מרחיב את גבולות MLOps המסורתי על ידי הדגשת זרימות עבודה איטרטיביות, רב-שלביות, אינטגרציה של כלים וזיכרון אדפטיבי, תוך שמירה על עקיבה ומעקב קפדני.

אתגרים מרכזיים המתומרים על ידי AgentOps

1. סיבוכיות מערכות אגנטיות

סוכנים אוטונומיים מעבדים משימות ברחבי מרחב פעולה רחב, דורשים החלטות בכל שלב. סיבוכיות זו דורשת מנגנוני תכנון ומעקב מתוחכמים.

2. דרישות תצפית

מקרי שימוש בעלי סיכונים גבוהים – כגון אבחון רפואי או ניתוח משפטי – דורשים עקיבה גרנולרית. ציות לרגולציות כמו חוק ה-AI של האיחוד האירופי מדגיש את הצורך במסגרות תצפית חזקות.

3. ניפוי תקלות ואופטימיזציה

זיהוי שגיאות בזרימות עבודה רב-שלביות או הערכת פלטים ביניימיים הוא אתגרי בלי עקיבה מפורטת של פעולות הסוכן.

4. גמישות וניהול עלויות

הגברת סוכנים לייצור דורשת מעקב אחר מדדים כמו עיכוב, שימוש בטוקנים ועלויות מבצעיות כדי להבטיח יעילות בלי לפגוע באיכות.

מאפיינים מרכזיים של פלטפורמות AgentOps

1. יצירה והתאמה של סוכנים

מפתחים יכולים לקפד את הסוכנים באמצעות רישום של רכיבים:

  • תפקידים: הגדרת אחריות (למשל, חוקר, מתכנן).
  • מגבלות: הגדרת מגבלות כדי להבטיח התנהגות אתית ואמינה.
  • קופסאות כלים: איפשור אינטגרציה עם API, מסדי נתונים או גרפים של ידע.

סוכנים נבנים ליצור אינטראקציה עם מערכי נתונים, כלים ופרומפטים ספציפיים תוך שמירה על ציות לכללים מוגדרים מראש.

2. תצפית ועקיבה

AgentOps תופס את הלוגים המפורטים של ביצוע:

  • עקיבות: רישום כל שלב בזרימת העבודה של הסוכן, מקריאות LLM ועד שימוש בכלים.
  • טווחים: פיצול עקיבות לשלבים גרנולריים, כגון אחזור, יצירת אינבדינג, או הפעלת כלים.
  • ארטיפקטים: עקיבה אחר פלטים ביניימיים, מצבי זיכרון ותבניות פרומפט כדי לסייע בניפוי תקלות.

כלים לתצפית כמו Langfuse או Arize מספקים לוחות בקרה המוויזואליזים את העקיבות האלה, מסייעים בזיהוי צווארי בקבוק או שגיאות.

3. ניהול פרומפט

הנדסת פרומפט ממלאת תפקיד חשוב בעיצוב התנהגות הסוכן. מאפיינים מרכזיים כוללים:

  • גרסאות: עקיבה אחר גרסאות של פרומפטים לצורך השוואת ביצועים.
  • גילוי הזרקה: זיהוי קוד זדוני או שגיאות קלט בתוך פרומפטים.
  • אופטימיזציה: טכניקות כמו Chain-of-Thought (CoT) או Tree-of-Thought משפרות יכולות היגיון.

4. אינטגרציה של משוב

משוב אנושי נותר חיוני לשיפורים איטרטיביים:

  • משוב מפורש: משתמשים מדרגים פלטים או מספקים הערות.
  • משוב מרמז: מדדים כמו זמן-על-משימה או שיעורי קליקים נותחים כדי לבדוק יעילות.

לופ המשוב הזה משפר הן את ביצועי הסוכן והן את הנורמות לבדיקה המשמשות לטעינה.

5. הערכה ובדיקה

פלטפורמות AgentOps מקלות על בדיקה קפדנית ברחבי:

  • סטנדרטים: השוואת ביצועי הסוכן לסטנדרטים תעשייתיים.
  • הערכות שלב-אחר-שלב: הערכת שלבים ביניימיים בזרימות עבודה כדי לוודא נכונות.
  • הערכת מסלול: אימות המסלול התפיסתי שנלקח על ידי הסוכן.

6. אינטגרציה של זיכרון וידע

סוכנים מנצלים זיכרון קצר-טווח עבור הקשר (למשל, היסטוריית שיחה) וזיכרון ארוך-טווח עבור אחסון תובנות ממשימות עבר. זה מאפשר לסוכנים להסתגל באופן דינאמי תוך שמירה על שלמות לאורך זמן.

7. מעקב ומדדים

מעקב מקיף עוקב אחר:

  • עיכוב: מדידת זמני תגובה לאופטימיזציה.
  • שימוש בטוקנים: מעקב אחר צריכת משאבים כדי לשלוט בעלויות.
  • מדדי איכות: הערכת רלוונטיות, דיוק ורעילות.

מדדים אלה מוויזואליזים בממדים כמו מושבי משתמש, פרומפטים וזרימות עבודה, מאפשרים התערבויות בזמן אמת.

טקסונומיה של ארטיפקטים עקיבים

המאמר מציג טקסונומיה שיטתית של ארטיפקטים המהווים את הבסיס לתצפית של AgentOps:

  • ארטיפקטים של יצירת סוכנים: מטא-נתונים על תפקידים, מטרות ומגבלות.
  • ארטיפקטים של ביצוע: רישומים של קריאות כלי, תורים של משימות וצעדי היגיון.
  • ארטיפקטים של הערכה: סטנדרטים, לופים של משוב ומדדי ציון.
  • ארטיפקטים של עקיבה: מזהי מושב, מזהי עקיבה וטווחים למעקב גרנולרי.

טקסונומיה זו מבטיחה עקביות ובהירות ברחבי מחזור החיים של הסוכן, הופכת ניפוי תקלות וציות לנוחים יותר.

הדרכה של AgentOps (כלי)

הדרכה זו תוביל אותך דרך התקנה ושימוש ב-AgentOps כדי למעקב ולאופטימיזציה של סוכנים AI שלך.

שלב 1: התקנת AgentOps SDK

התקן AgentOps באמצעות מנהל החבילות של Python:

pip install agentops

שלב 2: אתחול AgentOps

ראשית, ייבא AgentOps ואתחל אותו באמצעות מפתח API. אחסן את מפתח ה-API בקובץ .env לביטחון:

# אתחול AgentOps עם מפתח API
import agentops
import os
from dotenv import load_dotenv

# טעינת משתנים סביבתיים
load_dotenv()
AGENTOPS_API_KEY = os.getenv("AGENTOPS_API_KEY")

# אתחול לקוח AgentOps
agentops.init(api_key=AGENTOPS_API_KEY, default_tags=["my-first-agent"])

שלב זה מגדיר תצפית עבור כל אינטראקציות LLM ביישומך.

שלב 3: רישום פעולות עם דקורטורים

אתה יכול לכלי פונקציות ספציפיות באמצעות הדקורטור @record_action, המעקב אחר פרמטרים, זמן ביצוע ופלט. דוגמה:

from agentops import record_action

@record_action("custom-action-tracker")
def is_prime(number):
"""בדיקה אם מספר הוא ראשוני."""
if number < 2:
return False
for i in range(2, int(number**0.5) + 1):
if number % i == 0:
return False
return True

הפונקציה תועבר כעת ללוח הבקרה של AgentOps, מספק מדדים לזמן ביצוע ועקיבת קלט-פלט.

שלב 4: עקיבה אחר סוכנים מונעים

אם אתה משתמש בסוכנים מונעים, השתמש בדקורטור @track_agent כדי לקשור את כל הפעולות ואירועים לסוכנים ספציפיים.

from agentops import track_agent

@track_agent(name="math-agent")
class MathAgent:
def __init__(self, name):
self.name = name

def factorial(self, n):
"""חישוב פקטוריאל באופן רקורסיבי."""
return 1 if n == 0 else n * self.factorial(n - 1)

כל פעולה או קריאת LLM בתוך סוכן זה כעת מקושרת לתג “math-agent”.

שלב 5: תמיכה במספר סוכנים

עבור מערכות המשתמשות במספר סוכנים, אתה יכול לעקוב אחר אירועים ברחבי סוכנים לתצפית טובה יותר. דוגמה:

@track_agent(name="qa-agent")
class QAAgent:
def generate_response(self, prompt):
return f"Responding to: {prompt}";

@track_agent(name="developer-agent")
class DeveloperAgent:
def generate_code(self, task_description):
return f"# Code to perform: {task_description}";

qa_agent = QAAgent()
developer_agent = DeveloperAgent()

response = qa_agent.generate_response("Explain observability in AI.")
code = developer_agent.generate_code("calculate Fibonacci sequence")

כל קריאה תופיע בלוח הבקרה של AgentOps תחת הסוכן המתאים.

שלב 6: סיום המושב

כדי לסמן את סוף המושב, השתמש בשיטה end_session. אופציונלית, כלול מצב המושב (Success או Fail) וסיבה:

# סוף המושב
agentops.end_session(state="Success", reason="Completed workflow")

זה מבטיח כי כל הנתונים מתועדים וזמינים בלוח הבקרה של AgentOps.

שלב 7: ויזואליזציה בלוח הבקרה של AgentOps

בקר בלוח הבקרה של AgentOps כדי לחקור:

  • שיחזורי מושב: עקיבות שלב-אחר-שלב.
  • ניתוח: מדדי עלות LLM, שימוש בטוקנים ועיכוב.
  • גילוי שגיאות: זיהוי וניפוי תקלות או לופים רקורסיביים.

דוגמה משופרת: גילוי מחשבה רקורסיבית

AgentOps תומך גם בגילוי לופים רקורסיביים בזרימות עבודה של סוכנים. בואו נרחיב את הדוגמה הקודמת עם גילוי רקורסיבי:

@track_agent(name="recursive-agent")
class RecursiveAgent:
def solve(self, task, depth=0, max_depth=5):
"""דימוי פתרון משימה רקורסיבי עם בקרת עומק."""
if depth >= max_depth:
return f"Max recursion depth reached for task: {task}"
return self.solve(task, depth + 1)

recursive_agent = RecursiveAgent()
output = recursive_agent.solve("Optimize database queries")
print(output)

AgentOps ירשום את הרקורסיביות כחלק מהמושב, מאפשר לך לזהות לופים אינסופיים או עומק מוגזם.

מסקנה

סוכנים אוטונומיים AI המונעים על ידי מודלים יסודיים כמו LLMs הגדירו מחדש כיצד אנו ניגשים לבעיות מורכבות ורב-שלביות בתעשיות. אולם, התוחלת שלהם מביאה אתגרים ייחודיים בתצפית, עקיבה ואמינות. זהו המקום בו AgentOps נכנס כמסגרת בלתי ניתנת להחלפה, מציעה למפתחים כלים למעקב, אופטימיזציה והבטחת ציות לסוכנים AI ברחבי מחזור חייהם.

ื‘ื™ืœื™ืชื™ ืืช ื—ืžืฉ ื”ืฉื ื™ื ื”ืื—ืจื•ื ื•ืช ื‘ื˜ื‘ื™ืœื” ื‘ืขื•ืœื ื”ืžืจืชืง ืฉืœ ืœืžื™ื“ืช ืžื›ื•ื ื” ื•ืœืžื™ื“ื” ืขืžื•ืงื”. ืชืฉื•ืงืชื™ ื•ืžื•ืžื—ื™ื•ืชื™ ื”ื•ื‘ื™ืœื• ืื•ืชื™ ืœืชืจื•ื ืœื™ื•ืชืจ ืž-50 ืคืจื•ื™ืงื˜ื™ื ืฉื•ื ื™ื ืฉืœ ื”ื ื“ืกืช ืชื•ื›ื ื”, ืขื ื“ื’ืฉ ืžื™ื•ื—ื“ ืขืœ AI/ML. ืกืงืจื ื•ืชื™ ื”ืžืชืžืฉื›ืช ื’ื ื”ื•ื‘ื™ืœื” ืื•ืชื™ ืœืขื‘ืจ ืขื™ื‘ื•ื“ ืฉืคื” ื˜ื‘ืขื™ืช, ืชื—ื•ื ืฉืื ื™ ืฉื•ืืฃ ืœื—ืงื•ืจ ืขื•ื“.