Skip to content

חקירת קוד

כלי explore נותן לסוכן הבנה מהירה ומובנית של קודים וספריות. במקום לקרוא ידנית ל-read_file, list_directory ו-search_files ברצף, הסוכן קורא ל-explore פעם אחת ומקבל דוח מובנה שמיוצר על ידי תת-סוכנים מקבילים.

כלי

explore

חקירת ספרייה או קוד להבנת מבנה, דפוסים ומוסכמות. קריאה בלבד.

פרמטרסוגנדרשתיאור
pathstringכןספרייה או קובץ לחקור
focusstringלאמה לחפש (למשל "auth patterns", "test structure")
depthstringלאכמה יסודי: shallow, standard (ברירת מחדל), או deep

רמות עומק

עומקסוכנים שנוצריםמה מנותח
shallow2עץ ספריות + מניפסטים של תלויות
standard3-4עץ + מניפסטים + דפוסי קוד + מיקוד (אם צוין)
deep5-6הכל מעל + מעקב גרף ייבואים + היסטוריית git

כיצד זה עובד

כלי explore יוצר תת-סוכנים מקבילים, כל אחד ממוקד בהיבט שונה:

  1. סוכן עץ -- ממפה מבנה ספריות (3 רמות עומק), מזהה קבצי מפתח לפי מוסכמה (mod.ts, main.ts, deno.json, README.md, וכו')
  2. סוכן מניפסט -- קורא קובצי תלויות (deno.json, package.json, tsconfig.json), מפרט תלויות, סקריפטים ונקודות כניסה
  3. סוכן דפוסים -- דוגם קובצי מקור לזיהוי דפוסי קוד: מבנה מודולים, טיפול בשגיאות, מוסכמות סוגים, סגנון ייבוא, שמות, בדיקות
  4. סוכן מיקוד -- מחפש קבצים ודפוסים הקשורים לשאילתת המיקוד
  5. סוכן ייבואים (deep בלבד) -- עוקב אחר גרפי ייבוא מנקודות כניסה, מזהה תלויות מעגליות
  6. סוכן git (deep בלבד) -- מנתח commits אחרונים, ענף נוכחי, שינויים שלא בוצע להם commit

כל הסוכנים רצים במקביל. התוצאות מורכבות ל-ExploreResult מובנה:

json
{
  "path": "src/core",
  "depth": "standard",
  "tree": "src/core/\n├── types/\n│   ├── classification.ts\n│   ...",
  "key_files": [
    { "path": "src/core/types/classification.ts", "role": "Classification levels" }
  ],
  "patterns": [
    { "name": "Result pattern", "description": "Uses Result<T,E> for error handling", "examples": [...] }
  ],
  "dependencies": "...",
  "focus_findings": "...",
  "summary": "Core module with classification types, policy engine, and session management."
}

מתי הסוכן משתמש בו

הסוכן מונחה להשתמש ב-explore במצבים הבאים:

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

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

דוגמאות

# סקירה מהירה של ספרייה
explore({ path: "src/auth" })

# חיפוש ממוקד לדפוסים ספציפיים
explore({ path: "src/auth", focus: "how tokens are validated" })

# ניתוח עמוק כולל היסטוריית git וגרפי ייבוא
explore({ path: "src/core", depth: "deep" })

# הבנת מוסכמות בדיקה לפני כתיבת בדיקות
explore({ path: "tests/", focus: "test patterns and assertions" })