سه پروژهی Pi و SoL-Pi و mini-swe-agent از سه مسیر متفاوت دنبال یک هدفن: کمکردن token مصرفی Coding Agent، بدون اینکه کارایی واقعی قربانی بشه.
پروژهی Pi یک harness مینیمال و قابلگسترشه. ابزارهای پایه مثل خواندن و نوشتن فایل، جستوجو و اجرای shell commandها رو میده، ولی planning، subagent و رفتارهای پیچیدهتر رو به core تحمیل نمیکنه. این قابلیتها رو میشه با Extension، Skill و Package اضافه کرد.
نکتهی مهمتر، مدیریت state و context در Piه. Sessionها به شکل JSONL ذخیره میشن، history ساختار درختی داره و با id و parentId میشه از یک نقطه branch گرفت. وقتی context بزرگ میشه، بخشهای قدیمیتر compact میشن و برای پاسخ بعدی فضا باقی میمونه.
پروژهی SoL-Pi ساخت Nvidia هست و به عنوان extension روی Pi ساخته شده و تمرکزش روی ارزmنترکردن trajectoryهای طولانیه. چند ایدهی اصلیاش اینها هستن:
ایدهی Action Fusion: بعد از edit، تست یا command قابلپیشبینی رو بدون یک model call اضافه اجرا میکنه.
ایدهی ObservationPack:لاگ های بزرگ رو در archive محلی نگه میداره و هر بار کلشون رو دوباره به مدل نمیفرسته.
ایدهی Online Context Compact: هیستوری رو در مرزهای منطقی subtask compact میکنه، نه فقط وقتی context تقریباً پر شده.
ایدهی Evidence-Preserving Reducer: لاگ های طولانی رو با یک مدل ارزانتر بررسی میکنه، ولی evidence استخراجشده رو با log اصلی تطبیق میده.
نتیجهی EdgeBench جالبه: SoL-Pi حدود ۹۴٪ امتیاز میانگین Pi رو حفظ کرده، با ۴۵ تا ۴۹٪ مصرف توکن کمتر.
پروژهی mini-swe-agent از مسیر مخالف میره: کمکردن abstraction تا جای ممکن. Agent اصلی تقریباً یک loop سادس. پیام رو به مدل میده، command پیشنهادی رو اجرا میکنه، observation رو به history اضافه میکنه و دوباره ادامه میده.
قابلیت اصلی اینجا عملاً bashه. مدل با کامند های معمولی repository رو میخونه، فایل تغییر میده، تست اجرا میکنه و Git رو صدا میزنه. خبری از یک مجموعهی بزرگ ابزارهای اختصاصی برای navigation و editing نیست.
تاریخچه در mini-swe-agent عمدتاً linearه. این طراحی شاید از session treeهای Pi سادهتر باشه، ولی برای debugging، Evals، fine-tuning و RL مزیت مهمی داره: trajectory راحتتر بررسی میشه و رفتار پنهان کمتری بین مدل و environment قرار میگیره.
خلاصهاش اینه:
گزینهی اول، Pi: وقتی harness قابلبرنامهریزی و session management میخوای.
گزینهی دوم، SoL-Pi: وقتی میخوای context، observation و model callهای اضافه رو در Pi کم کنی.
گزینهی سوم، mini-swe-agent: وقتی سادگی، observability و یک مسیر مستقیم تا shell برات مهمتره.
مسیر این سه پروژه فرق داره، ولی سؤال یکیه: از چه نقطهای به بعد، هر feature جدید فقط token، latency و پیچیدگی اضافه میکنه؟
🛠 Join @LLMEngineers Community
Post #503
1.58K
- ❤ 1