پرش به محتوای اصلی
پرش به محتوای مقاله

درون معماری Persephone؛ تبدیل کد منبع به محیط زندگی عامل‌ها

·۱۵ تیر ۱۴۰۵۷ دقیقه مطالعه
توسعه اپلیکیشن درون خود اپلیکیشن — دفترچه توسعه‌دهنده برای کار با هوش مصنوعی
توسعه اپلیکیشن درون خود اپلیکیشن — دفترچه توسعه‌دهنده برای کار با هوش مصنوعی
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی مفهومی به نام «بردهای قابل توسعه توسط AI» که در آن مدل نه‌تنها کد می‌زند، بلکه ابزارهای رابط کاربری (UI) مورد نیازش را در لحظه ساخته و در محیط میزبان مستقر می‌کند.

تصور کنید برنامه‌نویسی هستید که در تنها هشت ماه، ۵۸ نسخه از یک اپلیکیشن پیچیده را منتشر کرده است؛ این سرعت خیره‌کننده زمانی ممکن شد که هوش مصنوعی را نه به عنوان یک مشاور خارجی، بلکه به عنوان هم‌کاری مستقر در دل نرم‌افزار تعریف کرد. برای رسیدن به این هدف، اندری ویاتیک (Andriy Viyatyk) ابزاری به نام پرسفونی (Persephone) را توسعه داد: یک دفترچه یادداشت متن‌باز برای ویندوز که هدفش تبدیل هوش مصنوعی از یک «پنجره چت» به یک «اپراتور مقیم» است که مستقیماً در داخل خود اپلیکیشن جای گرفته است.

بیشتر گردش‌های کاری فعلی در کدنویسی با AI، شامل چرخه خسته‌کننده کپی-پاست کردن قطعات کد و اسکرین‌شات‌ها بین ویرایشگر و مرورگر است. این اصطکاک اغلب باعث شکست جریان ذهنی (Mental Flow) برنامه‌نویس می‌شود. پرسفونی با هدف حذف این اصطکاک طراحی شده است؛ با ایجاد پنجره‌ای واحد که در آن کاربر و عامل (Agent) — شبیه دستیاری که دقیقاً همان وضعیت پروژه را می‌بیند که شما می‌بینید — هم‌زمان یک وضعیت واحد و دقیق از پروژه را مشاهده می‌کنند.

طبق گزارشی در وب‌سایت dev.to که در ۵ ژوئیه ۲۰۲۶ منتشر شد، این اپلیکیشن با استفاده از الکترون (Electron) و موتور ویرایشگر موناکو (Monaco) — همان موتور محرک VS Code — ساخته شده است. ویاتیک اواخر سال گذشته ساخت این ابزار را با یک ایده ساده آغاز کرد: اینکه فضای یادداشت‌برداری (Scratchpad) که برنامه‌نویسان برای چسباندن فایل‌های JSON، پیش‌نویس یادداشت‌ها و تست اسکریپت‌ها از آن استفاده می‌کنند، باید به اندازه کل زنجیره ابزارهایشان قدرتمند باشد. او این فضای ساده را به یک محیط توسعه کامل تبدیل کرد. این ابزار امکانات ضروری مانند جداول JSON/CSV، رندرکننده Markdown و یک کلاینت REST داخلی را یکپارچه کرده است.

زمینه: فضای کاری یکپارچه

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

  • کد: بهره‌گیری از موتور موناکو برای هایلایت کامل نحو (Syntax Highlighting)، سیستم IntelliSense، پشتیبانی از چند نشانگر (Multi-cursor) و نمایش نقشه کوچک (Minimap) از کد.
  • مستندات: رندر زنده Markdown که شامل پشتیبانی از نمودارهای Mermaid برای ترسیم جریان‌ها و ساختارهاست.
  • ماک‌آپ‌ها: فایل‌های HTML ساده که به صورت فوری در یک نمایشگر HTML داخلی رندر می‌شوند.
  • داده‌ها: فایل‌های JSON و CSV که به صورت جداول قابل فیلتر و مرتب‌سازی باز می‌شوند و از کپی-پاست سبک اکسل پشتیبانی می‌کنند.
  • مرورگر: یک مرورگر واقعی تعبیه شده برای دسترسی مستقیم به داشبوردها و مستندات وب.
  • طراحی: ادغام ویرایشگر اکس‌کالیدرائو (Excalidraw) برای رسم سریع معماری سیستم و نمودارهای مفهومی.

توسعه اپلیکیشن درون خود اپلیکیشن — دفترچه توسعه‌دهنده برای کار با عامل‌های هوش مصنوعی

مکانیزم میزکار مشترک

نوآوری اصلی پرسفونی در ادغام آن با یک سرور پروتکل زمینهٔ مدل (Model Context Protocol یا MCP) است. با اتصال مدل کلود (Claude) از طریق Claude Code, Claude Desktop یا هر کلاینت MCP دیگر، عامل به طور مستقیم به جلسه (Session) فعال کاربر دسترسی می‌یابد. این یعنی عامل به جای اینکه یک پنجره چت در کنار محیط کار باشد، به یک کنشگر (Actor) در درون محیط کار تبدیل می‌شود. این رویکرد یادآور تلاش‌های پیشین برای حذف محدودیت‌های رابط کاربری است، مشابه آنچه در کالبدشکافی Sentience و ابزارهای محلی آن برای شفافیت بیشتر در عملکرد هوش مصنوعی دیدیم.

توسعه اپلیکیشن درون اپلیکیشن — دفترچه توسعه‌دهنده برای کار با هوش مصنوعی

بر اساس مستندات پروژه، به این عامل ابزارهای خاصی برای تعامل با محیط داده شده است:

  • خواندن صفحات باز: عامل می‌تواند هر تب باز، چه کد باشد، چه مارک‌داون یا جداول داده، را بخواند. در این فرآیند، اسکرین‌شات‌ها به عنوان تصاویر واقعی به عامل بازگردانده می‌شوند.
  • تولید بصری: توانایی ایجاد کدهای هایلایت‌شده، نمودارهای Mermaid، جداول و نماهای لاگ برای نمایش به کاربر.
  • اجرای اسکریپت‌ها: دسترسی کامل به Node.js از طریق یک موتور اسکریپت‌نویسی برای اجرای عملیات‌های سیستمی.
  • اتوماسیون مرورگر: هدایت مرورگر داخلی با ابزارهایی شبیه به Playwright برای ثبت snapshot، کلیک کردن، تایپ کردن و گرفتن اسکرین‌شات از صفحات وب.
  • ناوبری رابط کاربری: با هدف قرار دادن pageId اپلیکیشن، عامل می‌تواند نوار تب‌ها را ببیند، صفحه فعال را شناسایی کند و روی تب‌ها کلیک کند تا به کاربر در جابه‌جایی بین بخش‌های اپلیکیشن کمک کند.

یک قابلیت حیاتی، توانایی عامل در تحلیل زنده محتوای وب است. ویاتیک توصیف می‌کند که در یک جلسه، سایتی از دایرکتوری ابزارها را در تب مرورگر باز کرد. او به جای کپی-پاست کردن محتوا، از عامل خواست سایت را تحلیل کند. عامل یک snapshot از دسترسی‌پذیری (Accessibility) صفحه رندر شده گرفت و بخش نظرات را خواند — داده‌هایی که یک fetch ساده HTTP هرگز نمی‌توانست استخراج کند — و بدین ترتیب بدون تغییر بستر ذهنی (Context Switching)، تحلیل کاملی را ارائه داد. این توانایی در تعامل با محیط‌های واقعی، شباهت زیادی به نحوه عملکرد عامل Hermes در رفع خطاهای پیچیده لینوکس دارد که با دسترسی مستقیم به ترمینال توانست چالش‌های عملیاتی را حل کند.

توسعه‌پذیری عامل‌محور: بردها (Boards)

این پلتفرم مفهومی به نام «بردها» (Boards) را معرفی می‌کند که در واقع اپلیکیشن‌های وب کوچک هستند که در یک پوشه زندگی می‌کنند. هر برد شامل یک صفحه HTML برای رابط کاربری (UI) و اسکریپت‌های بک‌اندی است که به هر زبانی نوشته شده‌اند. این اسکریپت‌ها از طریق یک پل ارتباطی به نام persephone.execute() به عنوان پردازش‌های واقعی سیستم‌عامل اجرا می‌شوند. پرسفونی این صفحات را در یک iframe ایزوله (Locked-down) میزبانی کرده و تم آن‌ها را برای هماهنگی با اپلیکیشن اصلی اعمال می‌کند.

توسعه اپلیکیشن درون اپلیکیشن خودم — دفترچه توسعه‌ای برای کار با هوش مصنوعی

از آنجکی که عامل قادر به نوشتن HTML و اسکریپت است، می‌تواند ابزارهای مورد نیاز خود را طراحی و مستقر کند. ویاتیک اشاره می‌کند که کلود یک «برد وظایف» (Tasks Board) را از طریق MCP برای او ساخت. این برد، مستندات مارک‌داونِ ردیابی وظایف مخزن پروژه — شامل کارهای فعال، وظایف تکمیل شده، اپیک‌ها و بک‌لاگ‌ها — را تحلیل کرده و آن‌ها را در یک جدول قابل فیلتر نمایش می‌دهد که هر ID در آن به سند اصلی لینک شده است. عامل نه تنها کد را نوشت، بلکه با هدایت رابط کاربری از طریق اتوماسیون، برد را تست کرد و یک باگ تجزیه (parsing bug) را که کشف کرده بود، تنها در یک جلسه اصلاح نمود.

توسعه اپلیکیشن درون خود اپلیکیشن — دفترچه توسعه‌دهنده برای کار با هوش مصنوعی

سایر کاربردهای عملی بردها عبارتند از:

  • دانلود نسخه‌ها: بردی که آمارهای انتشار گیت‌هاب را می‌گیرد تا نموداری برای هر نسخه و یک جدول از دارایی‌ها (Assets) رندر کند.
  • محیط محلی (Local Env): صفحه‌ای تک‌صفحه با دکمه‌های Start/Stop برای سرورهای توسعه بک‌اند و فرانت‌اند، همراه با نمایش لاگ‌های زنده. این پردازش‌ها می‌توانند پس از بستن صفحه نیز فعال بمانند و وضعیت «مشغول» (Busy) را اعلام کنند تا سرورها در حین جابه‌جایی کاربر بین تب‌ها به کار خود ادامه دهند.
  • تریگر Azure Function: بردی تک-دکمه‌ای که یک تابع Azure را در لحظه اجرا می‌کند و نیاز به انتظار برای تایمرهای ۱۰ دقیقه‌ای در حین توسعه را از بین می‌برد.

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

کنترل نسخه و حافظه

پرسفونی دارای یک نمای Git داخلی است که تاریخچه کامیت‌ها را به صورت یک گراف بصری نمایش می‌دهد. این نما شامل شاخه‌ها (Branches)، تگ‌ها، تغییرات Stage شده و نشده، و یک پنل Diff داخلی است. این قابلیت اجازه می‌دهد برنامه‌نویس و عامل، هر فایل تغییر یافته را پیش از کامیت کردن، به صورت side-by-side بررسی کنند.

توسعه اپلیکیشن درون اپلیکیشن خودم — دفترچه توسعه‌ای برای کار با هوش مصنوعی

برای حل مشکل «فراموشی» یا فقدان حافظه در عامل‌ها، سیستم از دو لایه حافظه تخصصی استفاده می‌کند:

  • ابزارهای عامل: وقتی عامل یک اسکریپت یکپارچه‌ساز مفید (مانند یک فراخوانی API یا تبدیل داده) می‌نویسد، می‌تواند آن را به عنوان یک ابزار قابل استفاده مجدد در پوشه‌ای همراه با یک Manifest ذخیره کند. جلسات بعدی عامل می‌توانند این ابزارها را از طریق search_tools کشف و با execute_tool اجرا کنند. این لایه به عنوان حافظه اجرایی عامل عمل می‌کند؛ نکته مهم این است که ثبت این ابزارها مستلزم تصمیم کاربر است تا از نصب‌های بی‌صدا و ناخواسته جلوگیری شود.
  • منمه (Mneme): یک پایگاه دانش محلی که توسط یک سرویس جانبی (Sidecar) با زبان Rust مدیریت می‌شود. این بخش جست‌وجوی متنی کامل و جست‌وجوی بردار معنایی (Semantic Vector Search) را روی پوشه‌های مارک‌داون فراهم می‌کند. این امر اجازه می‌دهد یادداشت‌ها، لاگ‌های کاری و ویکی‌های پروژه به عنوان حافظه دانشی عامل عمل کنند که بر اساس «معنا» و نه فقط کلمات کلیدی، قابل جست‌وجو هستند.

نتیجه‌گیری: مهندسی محیط

برای مخاطب، این رویکرد نشان‌دهنده تغییر پارادایم از «مهندسی پرامپت» (Prompt Engineering) به «مهندسی محیط» (Environment Engineering) است. ارزش دیگر تنها در کیفیت یا دقت پرامپت نیست، بلکه در این است که عامل چقدر دید (Visibility) نسبت به ابزارهایی دارد که در حال استفاده هستند. با دادن یک «صندلی» به هوش مصنوعی در داخل خود اپلیکیشن، مرز بین IDE و دستیار دیجیتال از بین می‌رود.

این رویکرد گامی به سمت تجربه یک «سیستم‌عامل عامل‌محور» (Agentic OS) است. اگرچه پروژه فعلاً فقط برای ویندوز است، کمتر از یک سال از عمر آن می‌گذرد و تعداد دانلودهای محدودی دارد، اما نقشه‌ای جامع برای نحوه عملکرد ابزارهای توسعه در آینده ارائه می‌دهد. در اینجا AI دیگر یک مشاور نیست؛ بلکه اپراتوری است که موس و کیبورد در دست دارد.

برنامه‌نویسان علاقه‌مند می‌توانند پروژه را در گیت‌هاب تحت لایسنس MIT بررسی کنند، اتصال MCP را از طریق راهنمای docs/mcp-setup.md برقرار کنند یا درباره ساخت بردها در docs/boards.md مطالعه نمایند. جالب است که عامل هوش مصنوعی، کلود، حتی یک پس‌گفتار به معرفی اصلی اضافه کرد و تأیید کرد که متن را از داخل اپلیکیشن و با استفاده از ابزارهای مرورگری که خودش به ساخت آن‌ها کمک کرده بود، تایپ کرده است.

گام بعدی شما

  • اگر از Claude Desktop استفاده می‌کنید، پروتکل MCP را برای اتصال مدل به محیط‌های محلی مطالعه کنید.
  • ساختار «بردهای کوچک» را برای خودکارسازی تکرارهای خسته‌کننده در محیط توسعه (مثل ری‌استارت سرورها) امتحان کنید.
  • مدل‌های حافظه اجرایی (ذخیره اسکریپت‌ها به عنوان ابزار) را برای کاهش تکرار دستورات در جلسات طولانی پیاده‌سازی کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این رویکرد با تکیه بر تجربه عملی در کاهش اصطکاک گردش کار، استانداردهای جدیدی برای تعامل انسان و ماشین تعریف می‌کند. اعتبار این روش در توانایی عامل برای «خود-اصلاحی» (Self-correction) از طریق مشاهده مستقیم خروجی‌هاست.

تأثیر برای ایران

برنامه‌نویسان ایرانی می‌توانند با استفاده از نسخه متن‌باز این ابزار و مدل‌های جایگزین از طریق MCP، محیط توسعه خود را بدون نیاز به اشتراکات گران‌قیمت IDEهای تجاری عامل‌محور کنند.

·نگاه ما
تحریریه دات‌هوش

جایگزینی پرامپت با محیط (Environment Engineering) نشان می‌دهد که محدودیت‌های فعلی LLMها نه در استدلال، بلکه در دسترسی به داده‌های زنده است. پرسفونی با تبدیل IDE به یک «پلتفرم میزبانی» برای عامل، ثابت می‌کند که آینده توسعه نرم‌افزار نه در چت‌بات‌های جانبی، بلکه در ابزارهایی است که به عامل اجازه می‌دهند تغییرات را در لحظه مشاهده و اصلاح کنند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

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