در برنامهنویسی همیشه یک خورهی تمامعیار بودهام. راستش را بخواهید، منِ ۹ ساله به هر دلیلی به این نتیجه رسیده بودم که نشستن و یادگرفتن Python بهتر از هر کار دیگری است که یک کودک معمولی ۹ ساله در اوقات فراغتش انجام میدهد. وقتی بچههای دیگر سرگرم بازی بودند، من تلاش میکردم برنامههای خودم را بنویسم؛ برنامههایی که انصافاً افتضاح بودند.
شیفتگیام به برنامهنویسی هیچوقت واقعاً از میان نرفت؛ چهبسا ظهور دستیارهای برنامهنویسی هوش مصنوعی آن را شدیدتر هم کرده باشد. درست است که با این ابزارها حالا زمان کمتری را صرف نوشتن کد میکنم و دیگر تقریباً نیازی نیست نگران حفظکردن دستور زبان زبانهای برنامهنویسی باشم؛ اما در عوض، برنامهنویسی را برایم بسیار هیجانانگیزتر کردهاند. اکنون میتوانم روی آزمودن ایدههایی تمرکز کنم که مدام در ذهنم جرقه میزنند، چیزهایی بسازم که شاید در حالت عادی هرگز سراغشان نمیرفتم و ببینم تا کجا میتوانم توان این ابزارها را به چالش بکشم.
البته بهجای آنکه به یک ابزار برنامهنویسی هوش مصنوعی مشخص بسنده کنم، عاشق آزمودن گزینههای گوناگون موجودم. در میانهی همین آزمونوخطاها به ابزاری برخوردم که Claude Code، Codex و Antigravity را در بازی خودشان شکست میدهد.
پی؛ عامل برنامهنویسیای که احتمالاً نامش را نشنیدهاید
رقیب گمنامی که ارزش حمایت دارد

نامهای بزرگی که بر بازار عاملهای برنامهنویسی چیره شدهاند، یک مشکل اساسی دارند. مانند هر دستهی دیگری از ابزارهای هوش مصنوعی، رقابت برای عرضهی بیشترین امکانات کمی از کنترل خارج شده است. انگار هر بهروزرسانی چند قابلیت تازه میآورد، لایههای بیشتری از پیچیدگی میافزاید یا چیز دیگری معرفی میکند که بیشتر کاربران احتمالاً هرگز به آن نیاز نخواهند داشت.
البته امکانات بیشتر بهخودیخود بد نیست و بسیاری معتقدند بهرهمندی از ارزش بیشتر در ازای اشتراکی که از پیش خریدهاید همیشه خوشایند است؛ بااینحال، به باور من همین روند باعث شده این ابزارها روزبهروز سنگینتر و شلوغتر شوند. متأسفانه این مشکل فقط به عاملهای برنامهنویسی شرکتهای بزرگ هوش مصنوعی، مانند Claude Code، Codex و Antigravity، محدود نمیشود.
حتی جایگزینهای رایگان و متنبازی مانند OpenCode نیز ظاهراً در همین مسیر گام برمیدارند. اینجا است که به Pi میرسیم؛ عامل برنامهنویسی بسیار دستکمگرفتهشدهای که با ابزارهای یادشده رقابت میکند، اما برای شیوهی کار یک عامل برنامهنویسی رویکردی کاملاً متفاوت دارد. Pi را Mario Zechner ساخته است؛ عاملی رایگان و متنباز که سادگی و کمینهگرایی را در اولویت میگذارد. سازندهاش آن را «چارچوبی توسعهپذیر برای عاملها که میتوانید مطابق نیاز خود شکلش دهید» توصیف میکند.
اگر Node.js روی رایانهتان نصب باشد، میتوانید Pi را از راه npm نصب و امتحان کنید. کافی است پایانه را باز کنید و فرمان زیر را اجرا کنید:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
پس از نصب، برای راهاندازی Pi پایانه را باز کنید، به پوشهای بروید که میخواهید Pi در آن کار کند و فرمان pi را اجرا کنید.
پی بهطور پیشفرض فقط چهار ابزار را فعال میکند
بقیهاش به خودتان بستگی دارد

Pi نیز مانند دیگر ابزارهای مشابه مستقیماً در پایانه اجرا میشود و همهی تواناییهای عاملمحوری را دارد که از یک دستیار برنامهنویسی امروزی انتظار میرود. میتواند فایلها را بخواند، کد بنویسد و ویرایش کند، فرمانها را اجرا کند و کارهای پیچیدهی برنامهنویسی را به نمایندگی از شما پیش ببرد.
آنچه Pi را متمایز میکند، این است که همهی این کارها را تنها با چهار ابزارِ فعال در حالت پیشفرض انجام میدهد: read، write، edit و bash. همانطور که از نامشان پیدا است، این ابزارها به Pi امکان میدهند فایلها را بخواند، فایلهای تازه بسازد، کدهای موجود را ویرایش کند و فرمانهای پایانه را اجرا کند. در عمل، برای ایفای نقش یک عامل برنامهنویسی به چیزی بیش از این نیاز ندارد.
البته این به آن معنا نیست که Pi فقط از چهار ابزار پشتیبانی میکند. این برنامه چندین ابزار داخلی دیگر نیز دارد؛ از جمله grep، find و ls که هر زمان لازم باشد میتوانید آنها را فعال کنید. تفاوت در این است که Pi از همان آغاز همهی این ابزارها را به شما تحمیل نمیکند. بنابراین پنجرهی زمینه بیدلیل با تعریف ابزارهایی که شاید هرگز به کار نبرید شلوغ نمیشود و فضای بیشتری برای انجام کار اصلی باقی میماند.
پی ابزار ساخت ابزارهای دلخواهتان را در اختیارتان میگذارد
پی بهجای شما تصمیم نمیگیرد چه میخواهید





یکی از برجستهترین مزیتهای Pi سامانهی افزونههای آن است که اجازه میدهد تقریباً هر قابلیت دلخواهی را که جایش خالی است به برنامه بیفزایید. افزونهها با TypeScript نوشته میشوند و میتوانند ابزارها، فرمانها و میانبرهای صفحهکلید سفارشی، و حتی تغییراتی در نمای پایانهای Pi ایجاد کنند. همچنین میتوانید با آنها رفتار عامل را تغییر دهید، با فراهمکنندگان گوناگون مدل ارتباط برقرار کنید یا بخشهای مشخصی از روند کارتان را خودکار سازید.
در اصل، در Pi این شما هستید که باید عامل کدنویسی دلخواهتان را بسازید. بهجای اینکه توسعهدهندگان دربارهٔ امکانات موردنیازتان تصمیم بگیرند و آنها را با هر بهروزرسانی عرضه کنند، Pi زیرساخت لازم را در اختیارتان میگذارد تا ادامهٔ مسیر را خودتان تعیین کنید. بهترین بخش ماجرا این است که برای آغاز ساخت افزونهها حتی لازم نیست TypeScript بلد باشید.
ازآنجاکه Pi خودش یک عامل کدنویسی است، کافی است قابلیت موردنظرتان را توصیف کنید و از آن بخواهید افزونهای برایتان بسازد. راه دیگر نیز نصب افزونهها و بستههایی است که توسعهدهندگان دیگر پیشتر ساختهاند.
برای نمونه، Claude Code بهصورت پیشفرض «حالت برنامهریزی» را در خود دارد؛ قابلیتی که به شما امکان میدهد پیش از هر تغییری، پایگاه کد را بررسی و مراحل انجام کار را ترسیم کنید. Pi بهطور پیشفرض قابلیت مشابهی را فعال نمیکند، اما این به معنای محرومماندن از آن نیست. کافی است از Pi بخواهید افزونهای برای حالت برنامهریزی بسازد که فرمان اختصاصی، محدودیت ویرایش فایلها و حتی پیگیریکنندهٔ پیشرفت داشته باشد.
مدل هوش مصنوعی دلخواهتان را به کار بگیرید
بدون وابستگی اجباری به ارائهدهنده

در Claude Code تنها میتوانید از مدلهای خود Anthropic استفاده کنید. Codex نیز شما را به مدلهای OpenAI محدود میکند و در Antigravity عمدتاً به مدلهای Google دسترسی دارید، هرچند چند مدل قدیمیتر از ارائهدهندگان دیگر نیز عرضه میشود. البته راههایی برای دورزدن این محدودیتها وجود دارد، اما این ابزارها عموماً با محوریت مدلهای شرکت سازندهٔ خود طراحی شدهاند.
در مقابل، Pi شما را به هیچ ارائهدهندهٔ خاصی از خدمات هوش مصنوعی وابسته نمیکند. میتوانید از میان مدلهای Anthropic، OpenAI، Google، DeepSeek، Mistral، Groq، xAI، Cerebras و چندین ارائهدهندهٔ دیگر انتخاب کنید. این ابزار از خدماتی مانند OpenRouter نیز پشتیبانی میکند که از راه یک API واحد، مدلهای چندین ارائهدهنده را در دسترس میگذارد. اگر ترجیح میدهید مدلهای ابری را بهکلی کنار بگذارید، حتی میتوانید با ابزارهایی مانند Ollama، LM Studio، llama.cpp یا vLLM، Pi را به مدلهای میزبانیشده روی سامانهٔ محلی متصل کنید؛ در نتیجه، مدلها روی سختافزار خودتان اجرا میشوند و نیازی به API شخص ثالث نخواهید داشت.
راهاندازی اولیه نیز نسبتاً ساده است. میتوانید با فرمان /login هویت خود را نزد یکی از ارائهدهندگان پشتیبانیشده تأیید کنید یا یک کلید API را پیکربندی کنید. پس از اتصال ارائهدهندگان، با فرمان /model میتوانید بدون خروج از Pi یا آغاز دوبارهٔ کار با عاملی کاملاً متفاوت، میان مدلها جابهجا شوید.
بنابراین میتوانید برای هر کار، مناسبترین مدل را برگزینید؛ خواه مدلی قدرتمند در استدلال برای پروژهای پیچیده باشد، خواه گزینهای ارزانتر و سریعتر برای کارهای سادهتر کدنویسی. دیگر در زیستبوم یک شرکت گرفتار نیستید و خودتان تعیین میکنید که چقدر هزینه بپردازید.
رویکرد مینیمال Pi بیهزینه نیست
امنیت را هم باید خودتان جدی بگیرید

البته چنین آزادی گستردهای برای کاربران، کاستیهایی هم دارد. برخلاف برخی رقیبان، Pi سامانهٔ مجوز داخلی ندارد که پیش از اجرای فرمانهای بالقوه خطرناک از شما تأیید بگیرد. این ابزار بهطور پیشفرض با مجوزهای همان حساب کاربری اجراکننده کار میکند؛ بنابراین، برداشت نادرست از یک درخواست ممکن است فایلهایی را تغییر دهد یا پاک کند که هرگز قصد دستزدن به آنها را نداشتهاید.
خوشبختانه سامانهٔ افزونههای Pi در این زمینه نیز به کمک میآید. برای نمونه، افزونهای ساختهٔ جامعه با نام pi-permission-system وجود دارد که به شما امکان میدهد برای کارهایی که Pi مجاز یا غیرمجاز به انجامشان است، قانون تعیین کنید. میتوانید مشخص کنید فرمانها خودکار اجرا شوند، به تأیید شما نیاز داشته باشند یا بهکلی مسدود شوند. همچنین میتوانید دسترسی به فایلها و پوشههای حساس را محدود کنید تا کنترل بیشتری بر محدودهٔ دسترسی عامل کدنویسی خود داشته باشید.
بااینحال، باید به یاد داشت که سامانهٔ مجوز مبتنی بر افزونه، جای اجرای Pi در محیطی بهدرستی ایزولهشده را نمیگیرد. اگر با فایلهای حساس کار میکنید یا نمیخواهید خطر دستکاری سامانهتان بهدست یک عامل هوش مصنوعی را بپذیرید، اجرای Pi درون کانتینر یا محیط قرنطینه گزینهٔ امنتری است.
با همهٔ اینها، منظورم این نیست که Claude Code، Codex، Antigravity یا حتی OpenCode ابزارهای بدی هستند؛ بههیچوجه. ساعتهای بیشماری را صرف آزمودن همهٔ آنها کردهام و بیدلیل نیست که بارها به سراغشان بازمیگردم. داشتن عاملی سرشار از امکانات لزوماً بد نیست، بهویژه وقتی این قابلیتها واقعاً کار و زندگی را آسانتر میکنند.
اما بهگمانم رویکرد Pi طراوت خاصی دارد: میتوانید مدلهای گوناگون را بیازمایید و عامل کدنویسی دلخواهتان را بسازید، بیآنکه منتظر بمانید توسعهدهندگان قابلیتهای تازهای ارائه کنند. این شما هستید که دقیقاً تعیین میکنید عامل کدنویسیتان چه ظاهری داشته باشد، چگونه رفتار کند و از انجام چه کارهایی برآید.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Mahnoor Faisal است. مشاهده مقاله اصلی