رفتن به محتوا
پیکسول

ریشه‌های PI agent و فلسفه مینیمالیسم

محمدامین شریفی مینابی9 دقیقه مطالعه
ریشه‌های  PI agent و فلسفه مینیمالیسم

تحلیل جامع معماری و فلسفه Pi Agent و مقایسه با Claude Code، Codex، OpenCode و Prime Agent. ببین چطور با اشتراک ChatGPT یا Kimi از مدل‌های قوی داخل Pi استفاده کنی.

سخنران میت‌آپ AI Engineer لندن جلوی ترمینال Pi Agent

ویدیوی سازنده‌ش، pi agent (I Hated Every Coding Agent, So I Built My Own — Mario Zechner (Pi))، همونی بود که منو مجاب کرد.

Pi Agent چیه؟ تحلیل کامل معماری و مقایسه با Claude Code، Codex، OpenCode و Prime Agent

پیکسول فروشگاه آنلاین تخصصیه برای محصولات دیجیتال با تحویل آنی: گیفت‌کارت، اشتراک هوش مصنوعی، ابزارهای برنامه‌نویسی و خدمات تلگرام. این مطلب رو نوشتم چون خیلی از بچه‌های برنامه‌نویس این روزا دنبال یه هارنس واقعی و شفافن، نه یه ابزار بسته که هر چند وقت یه‌بار رفتارش عوض بشه.

چند سالیه که هوش مصنوعی از حالت تکمیل کد ساده خارج شده و رفته سمت عامل‌های خودکار. لایه‌ای که همه‌چیز رو مدیریت می‌کنه اسمش شده Agent Harness؛ این لایه مسئول گرفتن مسئله، مدیریت بافت، فراخوانی ابزارها و کنترل سشن‌هاست. توی این بازار شلوغ، Pi Agent، که دامنه‌ش pi.dev هست و ماریو زکنر ساختتش، یه جورایی واکنشیه به همون پیچیدگی‌های الکی و عدم شفافیت ابزارهای تجاری.

شعارش رو دوست دارم: هارنس‌های کدنویسی زیادن، ولی این یکی مال خودته. این فقط یه شعار نیست؛ یه جور بیانیه‌ی معماریه. توی این مطلب بلند می‌خوام معماری، فلسفه، ویژگی‌ها و مقایسه‌ش با بقیه رو کامل باز کنم. آخرش هم نشون می‌دم چطور با اشتراک ChatGPT (که Codex داره) یا Kimi Code یا Claude می‌تونی همین Pi رو حسابی قوی‌تر کنی.

از کجا شروع شد و چرا زکنر این کارو کرد

داستان از آوریل ۲۰۲۵ شروع می‌شه. ماریو زکنر، همون سازنده‌ی libGDX معروف، توی یه هاکاتون شبانه‌ی هوش مصنوعی شرکت کرد. دعوت‌کننده‌ها پیتر اشتاینبرگر (سازنده‌ی OpenClaw) و آرمین روناخر (سازنده‌ی Flask و Sentry) بودن. اونجا فهمید عامل‌های کدنویسی چقدر می‌تونن قوی باشن و بعدش چند هفته Claude Code رو ابزار اصلی خودش کرد.

ولی کم‌کم اذیت شد. پیچیدگی‌های اضافه هر روز بیشتر می‌شد، شرکت یهو پرومپت سیستم رو عوض می‌کرد و رفتار عامل غیرقابل پیش‌بینی می‌شد، ترمینال پرپر می‌زد، و بدتر از همه، نمی‌تونست ابزارو برای کار خودش توسعه بده. قبل از اینکه خودش دست‌به‌کار بشه، Codex CLI و Amp و OpenCode رو هم امتحان کرد.

نقطه‌ی عطف وقتی بود که با پروژه‌ی Terminus آشنا شد. اون عامل فقط یه جلسه‌ی tmux و کلیدهای خام ترمینال در اختیار مدل می‌ذاشت. زکنر دید مدل با همون دسترسی ساده هم خیلی از کارها رو درست انجام می‌ده. این سوال براش پیش اومد: اگه مدل با یه شل خام کارش رو راه می‌ندازه، این همه ابزار از پیش ساخته و حالت برنامه‌ریزی سنگین اصلاً برای چیه؟

نتیجه‌ش شد Pi؛ یه هارنس با حداقل فرضیات پیش‌فرض و حداکثر آزادی برای توسعه‌دهنده. بعد از اینکه زکنر به شرکت Earendil پیوست، هسته‌ی اصلی همچنان MIT موند؛ بعضی ویژگی‌های اضافه شدن Fair Source و بخش‌های سازمانی هم تجاری شدن. ولی اصل قضیه همون موند: ابزار مال خودته.

معماری فنی چطوریه

معماری ماژولار Pi Agent با چهار پکیج اصلی

Pi برخلاف خیلی از ابزارهای دیگه یه تیکه کد یکپارچه نیست؛ یه مونو-ریپوئه و چند پکیج جدا داره که هر کدوم کار خودشو می‌کنه.

لایه‌ی pi-ai مسئول ارتباط با مدل‌هاست و بیش از ۱۵ ارائه‌دهنده رو ساپورت می‌کنه: Anthropic، OpenAI، Google، xAI، Groq، Ollama، Azure، Bedrock، Kimi For Coding و چندتای دیگه. نکته‌ی جالبش اینه که می‌تونی جلسه رو با یه مدل شروع کنی و بدون از دست دادن بافت، وسط راه بری سراغ یه مدل دیگه. توکن‌های تفکر و هزینه‌ی لحظه‌ای رو هم دقیق حساب می‌کنه.

لایه‌ی pi-agent-core چرخه‌ی اصلی عامل رو می‌چرخونه؛ ابزارها رو اجرا می‌کنه و اگه خطایی پیش بیاد، برنامه رو کرش نمی‌کنه، بلکه خطا رو به‌عنوان نتیجه‌ی ابزار برمی‌گردونه تا مدل بتونه خودشو اصلاح کنه. همین باعث می‌شه سشن‌های طولانی خیلی پایدارتر بمونن.

pi-tui هم رابط ترمینالشه؛ با رندرینگ تفاضلی ساخته شده تا پرپر نزنه، و یه ویرایشگر متن و مارک‌داون سبک هم داره.

لایه‌ی آخر یعنی pi-coding-agent همون CLI نهاییه که همه‌چیزو به هم وصل می‌کنه؛ سشن‌ها، فایل‌های کانتکست پروژه، تم‌ها و افزونه‌ها از همین‌جا مدیریت می‌شن.

منطقه‌ی گنگ و مدیریت پنجره‌ی کانتکست

این بخش واقعاً برام جالب بود. یه مفهومی هست به اسم منطقه‌ی گنگ یا Dumb Zone؛ وقتی پنجره‌ی کانتکست مدل حدود ۴۰ تا ۶۰ درصد پر می‌شه، دقت استدلال، پیروی از دستور و فراخوانی ابزارها افت محسوسی پیدا می‌کنه.

Claude Code پرومپت سیستمش رو بالای ۱۰ هزار توکن نگه می‌داره؛ یعنی یه تیکه‌ی بزرگ از پنجره‌ی کانتکست رو از همون اول اشغال می‌کنه و مدل زودتر وارد منطقه‌ی گنگ می‌شه. Pi اما کل پرومپت سیستمش رو زیر هزار توکن نگه داشته؛ فقط نقش بنیادی عامل رو تعریف می‌کنه و بقیه‌ی فضا رو برای کد واقعی پروژه آزاد می‌ذاره. نتیجه‌ش اینه که مدل توی پروژه‌های بزرگ هم هوشمند می‌مونه و هزینه‌ی API هم کمتر می‌شه.

همین مدیریت درست context window و توکن، یکی از دلایلیه که خیلی‌ها از Claude Code میان سمت Pi.

چهار ابزار و فلسفه‌ی کمینه‌گرایی

اینفوگرافیک چهار ابزار Pi Agent: خواندن، نوشتن، ویرایش و Bash

Pi فقط چهارتا ابزار پیش‌فرض داره:

  • read برای خوندن فایل و تصویر

  • write برای ساختن فایل جدید

  • edit برای ویرایش دقیق و جراحی‌گونه

  • bash برای اجرای مستقیم دستورات شل

استدلال زکنر ساده‌ست: وقتی مدل به bash دسترسی داره، خودش می‌تونه فایل پیدا کنه، گیت بزنه، پکیج نصب کنه و تست اجرا کنه. دیگه نیازی به صدتا ابزار اختصاصی نیست، توکن کمتری هم صرف توصیف ابزارها می‌شه و اجرا هم قطعی‌تر می‌شه.

برای کانتکست پروژه هم یه سیستم هرمی داره: SYSTEM.md دستورات کلی رو نگه می‌داره و AGENTS.md دستورات مخصوص پروژه رو. Pi خودش از پوشه‌ی سراسری، پوشه‌های والد و پوشه‌ی فعلی این فایل‌ها رو می‌خونه و باهم ترکیبشون می‌کنه؛ یعنی می‌تونی استانداردهای کدنویسی و قوانین تست رو بدون دست زدن به پرومپت سیستم اصلی به مدل بدی.

سشن‌ها به شکل گراف درختی (DAG)

این بخش واقعاً با بقیه فرق داره. تاریخچه‌ی جلسه خطی نیست؛ ساختارش یه گراف جهت‌دار بدون چرخه یا همون DAG‌ه، و همه‌چیز توی فایل‌های JSONL به‌صورت append-only ذخیره می‌شه.

می‌تونی هرجا خواستی شاخه بزنی، برگردی عقب و یه مسیر دیگه رو امتحان کنی بدون اینکه تاریخچه‌ی قبلی از بین بره؛ دقیقاً مثل branch توی گیت. دستور /tree برای دیدن و جابه‌جایی بین شاخه‌هاست. /export کل جلسه رو به‌صورت HTML تعاملی می‌ده و /share هم یه gist امن می‌سازه. با /reload هم می‌تونی افزونه‌ها رو بدون ری‌استارت داغ بارگذاری کنی، و Ctrl+L هم برای سوییچ سریع مدل وسط جلسه‌ست.

هدایت زنده هم خوب جواب می‌ده. Enter پیام هدایت می‌فرسته و ابزارهای باقی‌مونده رو متوقف می‌کنه؛ Alt+Enter پیام رو می‌ذاره توی صف تا بعد از تموم شدن نوبت جاری پردازش بشه.

توسعه‌پذیری واقعی

Pi بیش از ۲۰ هوک توی چرخه‌ی حیات داره. می‌تونی با TypeScript افزونه بنویسی، پرومپت رو قبل از ارسال دستکاری کنی، فراخوانی ابزارها رو رهگیری کنی، قوانین سخت بذاری یا حتی UI ترمینال رو عوض کنی.

جالب‌ترین بخش، خودمیزبانی‌شه. می‌تونی از خود Pi بخوای سورس افزونه‌ت رو ویرایش کنه، بعد /reload بزنی و بلافاصله فعال بشه. مهارت‌ها هم با الگوی افشای تدریجی کار می‌کنن؛ یعنی فقط وقتی مدل لازم داره بارگذاری می‌شن و پرومپت سیستم رو سنگین نمی‌کنن.

خیلی از ویژگی‌هایی که بقیه‌ی ابزارها به‌زور داخل هسته گذاشتن (مثل MCP، ساب‌ایجنت یا پلن مود) رو Pi عمداً حذف کرده تا هسته سبک بمونه. جامعه‌ی کاربریش خودش اینا رو به‌صورت پکیج ساخته و استفاده می‌کنه.

امنیت و حالت YOLO

Pi پاپ‌آپ تأیید مجوز نداره. زکنر می‌گه این پاپ‌آپ‌ها فقط یه حس امنیت کاذب می‌دن؛ بعد از چند ده بار تأیید، آدم دیگه نمی‌خونه و فقط تأیید می‌زنه. پس به نظرش مرز امنیت نباید توی لایه‌ی هارنس پیاده بشه، بلکه باید سراغ ایزوله کردن با داکر یا ماشین مجازی یا ابزارهایی مثل leash و pi-guardrails رفت.

برای همین پیش‌فرض روی حالت YOLO کار می‌کنه: سریع و بدون اصطکاک. مسئولیت ایزوله کردن با خود توسعه‌دهنده‌ست.

مقایسه با رقبا

معیارPi AgentClaude CodeCodex CLIOpenCodePrime Agent
مجوزMIT + Fair Sourceبستهبستهمتن‌بازMIT
ابزار پیش‌فرضفقط ۴ تازیاد و متصلزیاداستانداردمفسر پایتون
حجم پرومپت سیستمزیر ۱۰۰۰ توکنبالای ۱۰ هزارسنگینمتوسطمتغیر
تعداد ارائه‌دهندهبیش از ۱۵ تا + محلیفقط Anthropicفقط OpenAIمحدودچندتا
ساختار جلسهگراف DAGخطیخطیخطیJSONL + REPL
سوییچ مدل وسط جلسهدارهندارهندارهمحدودداره
توسعه‌پذیریTypeScript، هوک، خودمیزبانبستهندارهمحدودخوداصلاحی
مدل امنیتYOLO + ایزوله خارجیپاپ‌آپ تأییدپاپ‌آپ تأییدپاپ‌آپ تأییدبدون سندباکس قوی

Prime Agent رویکرد متفاوتی داره؛ بافت رو به‌عنوان متغیر توی مفسر پایتون نگه می‌داره و از مدل‌های بازگشتی استفاده می‌کنه. توی بنچمارک‌های طولانی خوب کار می‌کنه، ولی سنگین و پرهزینه‌ست و امنیتش هم جای بحث داره. Pi برای کار روزمره سبک‌تر و قابل‌پیش‌بینی‌تره.

چطور ChatGPT Codex یا Kimi Code رو توی Pi استفاده کنیم

Pi چندارائه‌دهنده‌ایه؛ می‌تونی کلید API یا اکانت اشتراکی رو وصل کنی و مدل رو وسط جلسه عوض کنی.

  • برای Codex و مدل‌های GPT از اشتراک ChatGPT پیکسول استفاده کن؛ تحویل آنی و اصل، و سازگاریش با pi.dev هم تأیید شده.

  • برای مدل‌های قوی با کانتکست بزرگ و سانسور کمتر، اشتراک Kimi AI رو بگیر.

  • اگه قبلاً با Claude Code کار می‌کردی و حالا می‌خوای کنترل بیشتری داشته باشی، اشتراک Claude رو فعال کن و مدل‌های Anthropic رو توی Pi ران کن.

  • برای تجربه‌ی IDE کامل در کنار ترمینال، اشتراک Cursor گزینه‌ی خوبیه.

پیکسول تحویل آنی داره، اصل می‌ده و پشتیبانی واقعی هم داره؛ چند دقیقه بعد از خرید می‌تونی مدل رو توی Pi استفاده کنی.

چرا ارزش داره Pi رو انتخاب کنی

اول اینکه مالک ابزار خودتی؛ پرومپت سیستم یهو عوض نمی‌شه. می‌تونی کدشو ببینی، هوک بنویسی و حتی خود ابزارو با خودش توسعه بدی.

دوم اینکه با نگه داشتن پرومپت زیر هزار توکن و مدیریت درست context window، هم هزینه‌ی کمتری می‌دی و هم مدل دیرتر گیج می‌شه.

سوم اینکه آزادی مدل داری: مدل محلی با Ollama برای کارهای حساس، یا سوییچ به هر مدل ابری که دوست داری. برای بچه‌های ایرانی این موضوع خیلی مهمه، چون با اشتراک‌های پیکسول بدون دردسر به مدل‌های قوی دسترسی پیدا می‌کنن و برای بخش‌های خصوصی هم می‌تونن محلی کار کنن.

چهارم اینکه تعاملش انعطاف‌پذیره. شاخه زدن توی جلسه، سوییچ مدل و هدایت زنده باعث می‌شه راننده باشی، نه مسافر.

جمع‌بندی

Pi یه هارنس بالغ و قابل‌مالکیته برای کسایی که از تورم ویژگی و عدم شفافیت خسته شدن؛ سبک، شفاف و قابل‌توسعه‌ست. اگه می‌خوای همین امروز شروع کنی، نصبش ساده‌ست و بعدش فقط کافیه یکی از اشتراک‌های پیکسول رو فعال کنی:

پیکسول فروشگاه آنلاین تخصصیه برای محصولات دیجیتال با تحویل آنی: آنی، اصل، امن و با پشتیبانی واقعی. انتخاب با خودته.

این مطلب را بفرستید

لینک، تلگرام، یا منابع منتخب گوگل

همه مطالب