איך AgentLens קורא ריפוזיטורי
6 בנובמבר 2026 · 4 דקות קריאה
AgentLens התחיל מדרישה שנשמעת פשוטה: מדביקים כתובת של ריפוזיטורי ומקבלים בחזרה מפה של המערכת, ועוד רשימה מתודרגת של המקומות שבהם סוכני AI משתלמים. הפוסט הזה עוסק בצינור שגורם לזה לעבוד, ובסיבה שהמנוע הדטרמיניסטי הוא החלק שאני סומך עליו הכי הרבה.
הצינור
1. חילוץ. הקלט הוא כתובת ריפו, דיאגרמת ארכיטקטורה, PDF או מסמך. הסורק שולף את המקור ומפיק את מלאי המערכת: עמודים, נתיבים, שירותים, מאגרי נתונים, אינטגרציות. השלב הזה דטרמיניסטי לחלוטין. אותו קלט, אותו מלאי, בכל פעם.
2. גרף הזרימה. המלאי הופך לגרף מכוון בפריסת Dagre. בחרתי בגרף זרימה אמיתי על פני "עץ עמודים", שהרבה יותר קל לבנות, כי השאלה שהכלי עונה עליה היא איפה העבודה זורמת ואיפה היא נתקעת, ואת זה אי אפשר לראות בעץ. סוכנים מוצעים מצוירים על אותו גרף, מעוגנים לצומת המדויק שהם נוגעים בו, כך שהמלצה היא מקום, לא סלוגן. טסט פריסה מפיל את הבילד אם שני צמתים חופפים, כי מפה שלא ניתן לקרוא גרועה מחוסר מפה.
3. מנוע ההזדמנויות. המנוע הדטרמיניסטי מטייל על הגרף ומחפש את הדפוסים שבדרך כלל מסתירים הזדמנויות לסוכנים: העברות ידניות, לולאות polling, CRUD חוזר על פני מערכות, נתיבי API לא מוגנים, תלויות מתות, CI חסר. כל ממצא הופך לתובנה מתודרגת, השפעה מול מאמץ, עם הראיות מצורפות.
4. העשרה ב-LLM, אופציונלית. מעל הממצאים הדטרמיניסטיים, שכבת LLM (לא תלוית ספק: OpenRouter חינמי, Ollama מקומי, או בכלל לא) כותבת את הסיכום ומעמיקה את התובנות. כשהמודל לא זמין או שהתוכנית החינמית עמוסה, הסריקה עדיין מסתיימת על המנוע הדטרמיניסטי, והתוצאה מתויגת עם המנוע שהפיק אותה. סריקה שלא יכולה לרוץ בלי מפתח API היא דמו, לא כלי.
5. פלט. הניתוח מוצג כמפה אינטראקטיבית עם דיאגרמות לפני/אחרי לכל המלצה, מיוצא לדוח PDF, ויכול לייצא מפרט סוכן ל-LangGraph, OpenAI Agents, CrewAI או Hermes. כפתור "Create PR" הולך צעד אחד קדימה ומכניס שלד של הסוכן המומלץ לתוך הריפוזיטורי עצמו.
למה דטרמיניסטי קודם
מודלי שפה הם קוראים מצוינים ורואי חשבון לא אמינים. אם הגרף, הממצאים והציונים מגיעים מהמודל, כל ריצה היא דעה חדשה. מנוע דטרמיניסטי מתחת אומר שהמבנה יציב, המודל רק מוסיף שפה ועומק, וכל המוצר עובד אופליין. ה-AI הוא שכבת העשרה. ההנדסה היא המוצר.
הסיפור המלא במקרה הבוחן של AgentLens, והמוצר חי ב-agent-lens-neon.vercel.app.