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

چطور Ordewell برنامه‌ریزی کدنویسی را از اجرای آن جدا می‌کند؟

·۲۴ شهریور ۱۴۰۵۱۱ دقیقه مطالعه۲ بازدید
هماهنگسازی چندعاملی وظایف برای عامل‌های کدنویسی: تبدیل یک هدف به برنامه‌ای مرحله‌ای با اجرا و تأیید خودکار
هماهنگسازی چندعاملی وظایف برای عامل‌های کدنویسی: تبدیل یک هدف به برنامه‌ای مرحله‌ای با اجرا و تأیید خودکار
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

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

تصور کنید هدفی برای کدنویسی دارید که به‌جای سپردن کورکورانه به یک هوش مصنوعی، ابتدا به یک نقشهٔ دقیق، ساختاریافته و قابل ویرایش تبدیل می‌شود و هر تسک در این نقشه، مدل و اجراکننده (Runner) مخصوص به خود را دارد. این دقیقاً همان رویکرد Ordewell است که در ۱۵ سپتامبر ۲۰۲۶ عرضه شد تا ماهیت «جعبه سیاه» در وضعیت‌های داخلی عامل‌ها را از بین ببرد. در این سیستم، نقشه به عنوان یک مصنوع تایپ‌شده (Typed Artifact) در نظر گرفته می‌شود که توسعه‌دهندگان می‌توانند پیش از صرف حتی یک توکن، آن را بازنویسی کنند.

بسیاری از عامل‌های کدنویسی فعلی در حلقه‌ای عمل می‌کنند که در آن برنامه در پنجرهٔ زمینه (Context Window) — شبیه میز کاری که جا برای چند ورق دارد، نه برای کل کتابخانه — پنهان است. این محدودیت‌های حافظه باعث می‌شود مدل‌ها سریعاً دچار سردرگمی شوند، هرچند راهکارهای جدیدی مانند حافظه Git-native در OKF توانسته‌اند مصرف توکن‌ها را تا ۸۰٪ کاهش دهند تا مدیریت زمینه بهینه‌تر شود. طبق گزارش مستندات این پروژه، اگر عامل از مسیر خارج شود، توسعه‌دهنده اغلب مجبور است کل جلسه را بازنشانی کند یا از طریق پرامپت‌های مکرر با مدل بجنگد. Ordewell با جداسازی برنامه‌ریز (Planner) از اجراکنندگان (Executors)، این مشکل را حل کرده است؛ بنابراین شما می‌توانید وابستگی‌ها را تغییر دهید یا مدل یک تسک خاص را عوض کنید، بدون اینکه کارهای انجام‌شده را از دست بدهید یا نیاز به رفت‌وبرگشت‌های طولانی با هوش مصنوعی داشته باشید.

هماهنگی چندعاملی وظایف برای عامل‌های کدنویسی: تبدیل یک هدف به برنامه‌ای مرحله‌ای با اجرا و تأیید نتایج

مکانیزم برنامه‌ریزی

فرآیند با یک برنامه‌ریز آغاز می‌شود که می‌تواند Claude Code، Codex یا OpenCode باشد. این برنامه‌ریز در حالت «فقط خواندنی» (Read-only) مخزن کد را بررسی و تحقیق می‌کند. برنامه‌ریز در یک گفتگوی مستمر با کاربر قرار می‌گیرد و زمانی که اهداف مبهم هستند، پیش از متعهد شدن به یک نقشه نهایی، سوالات شفاف‌ساز می‌پرسد. طبق استاندارد ADR-0008، عملیات خواندن به‌صورت موازی اجرا می‌شوند و هر دستوری که بخواهد در فضای کاری چیزی بنویسد، به‌طور کامل رد می‌شود.

بر اساس مستندات گیت‌هاب، برنامه‌ریز یک «تصمیم سبد سهام» (Portfolio Decision) برای کل برنامه می‌گیرد. برای مثال، یک بازسازی امنیتی پیچیده به یک مدل استدلالی (Reasoning Model) — مدلی که قبل از جواب، یک قدم درنگ می‌کند و فکر می‌کند، شبیه شطرنج‌بازی که چند حرکت جلوتر را می‌بیند — سپرده می‌شود، در حالی که به‌روزرسانی یک فایل README ساده به مدلی سریع‌تر و ارزان‌تر واگذار می‌گردد. برنامه‌ریز تمام این تخصیص‌ها را پیش از هرگونه اجرا نمایش می‌دهد تا اطمینان حاصل شود که مدل مناسب در فضای باز انتخاب شده است.

برنامه‌ریزی در اینجا یک گفتگوی مستمر است. برنامه‌ریز کدها را می‌کاود، برای شفافیت سوال می‌پرسد و آخرین پیام او در چت، همان نقشه تولید شده است (ADR-0002). این روند باعث می‌شود تبدیل یک هدف مبهم به یک نقشه راه فنی، کاملاً شفاف و مشارکتی باشد.

هماهنگسازی چندعاملی وظایف برای عامل‌های کدنویسی: تبدیل یک هدف به برنامه‌ای مرحله‌ای با اجرا و تأیید خودکار

اجرا و موتور حکم (VerdictEngine)

پس از تأیید برنامه، Ordewell برای هر تسک هوش مصنوعی، جلسات واقعی کدنویسی ایجاد می‌کند. این سیستم از یک گراف وابستگی پیروی می‌کند تا نتایج تسک‌های پیش‌نیاز به‌طور دقیق به تسک‌های بعدی منتقل شود. به طور پیش‌فرض، سیستم اجازه اجرای ۳ جلسه هم‌زمان را می‌دهد که از طریق متغیر محیطی ORDEWELL_MAX_PARALLEL (در بازه ۱ تا ۵) قابل تغییر است.

نکته کلیدی در اینجا استفاده از VerdictEngine برای تعیین وضعیت اتمام تسک است. یک تسک تنها زمانی «انجام‌شده» تلقی می‌شود که یک نشانگر تکمیل منحصربه‌فرد (Unique Completion Marker) در خروجی اجراکننده ظاهر شود؛ بنابراین تسک صرفاً به این دلیل که هوش مصنوعی ادعا می‌کند تمام شده، بسته نمی‌شود. به نقل از توسعه‌دهندگان، کد خروجی (Exit Code) به عنوان مدرک تشخیصی ذخیره می‌شود تا احکام بر اساس شواهد باشد، نه نظر شخصی مدل. اگر تسکی به اشتباه «انجام‌شده» علامت بخورد، می‌توان با دستور "Mark not done" آن را بازگرداند و تسک‌های متوقف شده را با "Mark complete" پیش برد.

اجرا به‌طور کامل از برنامه‌ریزی جدا شده است. تغییرات (Mutation) همیشه در اختیار اجراکنندگان است؛ برنامه‌ریز فقط کاوش و استدلال می‌کند. این جداسازی مانع از آن می‌شود که برنامه‌ریز در مرحله تحقیق، به‌طور تصادفی کدها را تغییر دهد. تمام جلسات برای بررسی‌های بعدی به‌طور خودکار در مسیر .ordewell/sessions/ ذخیره می‌شوند.

هماهنگسازی چندعاملی وظایف برای عامل‌های کدنویسی: تبدیل یک هدف به برنامه‌ای مرحله‌ای با اجرا و تأیید خودکار

معماری چند-اجراکننده

Ordewell به‌گونه‌ای طراحی شده که به نوع اجراکننده وابسته نباشد (Runner-agnostic). این ابزار از Claude Code، Codex و OpenCode پشتیبانی می‌کند، اما ابزارهای دیگر مثل Aider یا عامل‌های CLI سفارشی را هم از طریق یک مانیفست پلاگین، بدون تغییر در کد اصلی، می‌پذیرد. کاربران می‌توانند با دستور ordewell plugins create یک مانیفست بسازند و آن را از GitHub، GitLab, Bitbucket یا Codeberg نصب کنند. نصب پلاگین‌های راه دور مخازن HTTPS این پلتفرم‌ها را می‌پذیرد؛ هر منبع دیگری باید ابتدا به‌صورت محلی کلون شده و از دایرکتوری خود نصب شود.

توسعه‌دهندگان می‌توانند از سه رابط مختلف استفاده کنند:

  • افزونه VS Code: یک خط زمانی استریم‌شده از مراحل تحقیق، تفکر زنده و کارت‌های تسک قابل گسترش برای خروجی اجراکننده را ارائه می‌دهد. این افزونه اجازه می‌دهد اجراکننده یک تسک را تغییر دهید که در این صورت مدل و حالت (Mode) در همان لحظه بازبینی می‌شوند. این افزونه هسته (Core) خود را حمل می‌کند، بنابراین نیازی به نصب npm نیست.
  • رابط ترمینال (TUI): تجربه‌ای تمام‌صفحه که برای ثبت زنده ترمینال به tmux نیاز دارد. این رابط از سیستم تب-سوئیچ برای پانل‌های چت و نقشه استفاده می‌کند و با کلیدهای تک‌کاراکتری مدیریت می‌شود (مثلاً f برای شروع، E برای اجرای همه، m برای تغییر وضعیت اتمام، R برای تغییر اجراکننده و o برای تغییر مدل). TUI از اسکرول چرخ موس برای متن‌ها پشتیبانی می‌کند، هرچند این کار قابلیت native drag-to-select ترمینال را غیرفعال می‌کند مگر اینکه از /mouse off استفاده شود. برای کاربران لینوکس، نصب wl-copy یا xclip یا xsel برای پشتیبانی از کلیپ‌بورد توصیه می‌شود، در غیر این صورت سیستم به OSC 52 escapes بازمی‌گردد.
  • رابط خط فرمان (CLI): حالتی بدون رابط گرافیکی (Headless) که در آن هر دستور اسلش (Slash Command) به عنوان یک زیردستور برای اتوماسیون در دسترس است. برای مثال، دستور ordewell plan --goal "Add rate limiting to the public API" && ordewell run اجازه اتوماسیون کامل را بدون نیاز به TUI می‌دهد.

هماهنگسازی چندعاملی وظایف برای عامل‌های کدنویسی: تبدیل یک هدف به برنامه‌ای مرحله‌ای با اجرا و تأیید خودکار

جزئیات فنی و پیکربندی

نیازمندی‌های سیستم و نصب

  • محیط: نیازمند Node.js نسخه ۲۰ یا بالاتر در macOS، لینوکس یا ویندوز است.
  • نصب: نصب جهانی از طریق npm install -g ordewell یا به‌صورت اسکوپ‌شده با @ordewell/cli. کاربران VS Code می‌توانند از مارکت‌پلیس یا دستور code --install-extension ordewell.ordewell استفاده کنند.
  • وابستگی TUI: رابط TUI در تمام پلتفرم‌ها (از جمله ویندوز از طریق WSL) برای پشتیبانی از ترمینال‌های زنده هر تسک به tmux نیاز دارد. کاربران باید پیش از اجرا، آن را از طریق apt install tmux یا brew install tmux نصب کنند.
  • ویژگی‌های ویندوز: برای اطمینان از رفتار سازگار دستوراتی مثل ls و grep از POSIX shell در Git for Windows استفاده می‌کند (ADR-0010). توصیه می‌شود کاربران از نصب‌کننده‌های بومی برای CLI عامل‌ها استفاده کنند (مانند دستور PowerShell irm https://claude.ai/install.ps1 | iex) تا با محدودیت ۸۱۹۱ کاراکتری خط فرمان در شیم‌های .cmd مواجه نشوند، زیرا این محدودیت می‌تواند پرامپت سیستم برنامه‌ریز را قطع کند. تمامی روش‌های نصب از جمله pnpm، Yarn، bun، Scoop، Chocolatey، WinGet و Volta پشتیبانی می‌شوند.

پشتیبانی از API و مدل‌ها

  • ارائه‌دهندگان: از ۲۵ ارائه‌دهنده شناخته شده از طریق متغیرهای محیطی پشتیبانی می‌کند، از جمله: OpenRouter, Anthropic, OpenAI, Gemini, xAI, Groq, DeepSeek, Mistral, Together, Fireworks, Perplexity, Cerebras, DeepInfra, Cohere, Novita, Kimi, Zhipu, Qwen, Doubao, Hunyuan, Baichuan, MiniMax, Yi, StepFun, و SiliconFlow.
  • مدل‌های محلی: هر سرور مدل محلی از طریق متغیر OPENAI_COMPATIBLE_BASE_URL پشتیبانی می‌شود.
  • یکپارچگی اشتراک: اگر از Claude Code، Codex یا OpenCode به عنوان برنامه‌ریز استفاده کنید، نیازی به کلید API جداگانه نیست زیرا بر اساس اشتراک موجود اجرا می‌شود. این مورد از طریق export AI_PROVIDER="claude-code" (یا codex/opencode) پیکربندی می‌شود.

تنظیمات کلیدی پیکربندی

  • ORCHESTRATOR_MODEL: به‌طور پیش‌فرض روی deepseek/deepseek-v4-flash تنظیم شده است. این مدل اقتصادی مسئول برنامه‌ریزی و تحقیق است اما هرگز کد نمی‌نویسد. تغییر آن از طریق ordewell model set <id> یا دستور /model امکان‌پذیر است.
  • ORDEWELL_PLANNER_EFFORT: میزان تلاش تفکر برای برنامه‌ریزهای عامل کدنویسی را کنترل می‌کند (مثلاً low، high، adaptive). این تنظیم برای برنامه‌ریزهای سازنده‌ای که تلاش آن‌ها در ID مدل تعبیه شده است، نادیده گرفته می‌شود. تغییر آن از طریق ordewell planner-effort <level> یا /planner-effort انجام می‌شود.
  • AI_PROVIDER: در صورتی که چندین کلید API تنظیم شده باشد، برای اجبار به استفاده از یک ارائه‌دهنده خاص به کار می‌رود.
  • ORDEWELL_TUI_MOUSE: متغیر محیطی برای فعال/غیرفعال کردن کپچر موس در TUI. مقدار false قابلیت drag-to-select ترمینال را برمی‌گرداند.

مرجع دستورات

Ordewell مجموعه‌ای جامع از دستورات را در تمام رابط‌های خود ارائه می‌دهد:

  • برنامه‌ریزی: ورودی هدف، /approve (تأیید)، /run (اجرا)، /stop (توقف).
  • تسک‌ها: /add-task (افزودن)، /remove-task (حذف)، /complete (تکمیل)، /uncomplete (لغو تکمیل)، /skip (پرش)، /retry (تلاش مجدد)، /cancel (لغو)، /force-start (اجبار به شروع).
  • مهارت‌ها: /grilling (بازجویی)، /tdd (توسعه آزمون‌محور)، /prd (سند نیازمندی‌ها)، /verify (تأیید).
  • مدل‌ها: /model (مدل)، /key (کلید)، /allowlist (لیست مجاز)، /runners (اجراکنندگان)، /auto (خودکار)، /refresh (به‌روزرسانی).
  • جلسات: /sessions (جلسات)، /new (جدید)، /save (ذخیره)، /load (بارگذاری)، /delete (حذف). جلسات بارگذاری شده توسط سرور پذیرفته می‌شوند تا قابل اجرا باقی بمانند.
  • سیستم: /help (راهنما)، /mouse (موس)، /quit (خروج).

گردش‌کارهای پیشرفته و یکپارچگی

برای بهبود کیفیت برنامه‌ها، Ordewell گردش‌کارهای تخصصی را که از مهارت‌های Matt Pocock اقتباس شده‌اند، ادغام کرده است. این‌ها به صورت بلوک‌های پرامپت در داخل پرامپت‌های برنامه‌ریز و اجراکننده پیاده شده‌اند. این رویکرد در واقع پیاده‌سازی عملی ۵ مهارت قابل‌حمل برای تبدیل پرامپت‌های تکراری به گردش‌کارهای بازرسی‌پذیر است که دقت خروجی عامل‌ها را افزایش می‌دهد:

  • Grilling: مهارت /grilling برنامه‌ریز را مجبور می‌کند پیش از طرح کلی، هدف را با حداقل سه سوال probing (کاوشگرانه) به چالش بکشد. این قابلیت با ordewell grilling on فعال می‌شود.
  • PRD Drafting: مهارت /prd باعث می‌شود برنامه‌ریز ابتدا یک پیش‌نمایش و سپس یک سند کامل نیازمندی‌های محصول (PRD) در مسیر .scratch/<slug>/PRD.md بنویسد. این قابلیت با ordewell prd on فعال می‌شود.
  • TDD Augmentation: مهارت /tdd تسک‌ها را با دستورالعمل‌های خاص «قرمز-سبز-بازسازی» (Red-Green-Refactor) تقویت می‌کند. این قابلیت با ordewell tdd on فعال می‌شود.

معماری و منطق داخلی

سیستم به چهار بسته اصلی تقسیم شده است:

  • core: شامل TypeScript خالص و شامل Session (جلسه)، PlanStore (ذخیره برنامه)، Planner (برنامه‌ریز)، TaskOrchestrator (ارکستراتور تسک)، VerdictEngine (موتور حکم)، ModelResolver (حل‌کننده مدل)، ModeResolver (حل‌کننده حالت) و RunnerRegistry (ثبت اجراکننده) است. همچنین شامل یک موتور قالب مانیفست است.
  • cli: مدیریت TUI (با استفاده از یک reducer که { state, effects } برمی‌گرداند و یک renderer که طبق ADR-0006 برای هر ردیف ترمینال یک رشته برمی‌گرداند) و رابط خط فرمان را بر عهده دارد.
  • vscode: مدیریت افزونه و webview را بر عهده دارد و برای کپچر TTY از script(1) استفاده می‌کند.
  • web: یک سرور Hono HTTP + WebSocket که روی 127.0.0.1:3742 اجرا می‌شود و به عنوان دیمون (Daemon) محلی برای CLI و TUI عمل می‌کند. این سرور JSON ارائه می‌دهد و استخر جلسات و اجرای بدون رابط (Headless) را مدیریت می‌کند.

تحلیل: تغییر پارادایم عامل‌ها

Ordewell نشان‌دهنده تغییری از «عامل‌های خودمختار» به «عامل‌های ارکستره‌شده» است. با تبدیل برنامه به یک شیء درجه اول و قابل ویرایش، این ابزار نقطه اصطکاک اصلی در کدنویسی AI یعنی «عدم قابلیت هدایت» (Lack of Steering) را حل می‌کند. توسعه‌دهندگان دیگر مجبور نیستند امیدوار باشند که عامل مسیر را بفهمد؛ آن‌ها می‌توانند صراحتاً مسیر و ابزارهای مورد استفاده برای هر مرحله را تعریف کنند.

این معماری همچنین هزینه و عملکرد را بهینه می‌کند. به‌جای استفاده از یک مدل پیشرو (Frontier Model) برای هر تسک پیش‌پاافتاده، ارکستراتور ابزار مناسب را برای هر کار تخصیص می‌دهد. این رویکرد «سبد سهام» در انتخاب مدل احتمالاً به استاندارد گردش‌کارهای عامل‌محور در سطح سازمانی تبدیل خواهد شد، جایی که هزینه توکن و قابلیت اطمینان حیاتی هستند. برای مثال، یک برنامه ممکن است Claude Sonnet 4.5 را برای منطق پیچیده، Claude Haiku 4.5 را برای سیم‌کشی (Wiring) و DeepSeek V4 Flash را برای پیاده‌سازی هدرهای مطابق با RFC ترکیب کند.

برای شروع، می‌توانید CLI را از طریق npm install -g ordewell نصب کنید یا افزونه را در مارکت‌پلیس VS Code جستجو نمایید.

گام بعدی شما

  • اگر از عامل‌های کدنویسی استفاده می‌کنید، Ordewell را نصب کنید تا کنترل دقیق‌تری روی «نقشه راه» مدل داشته باشید.
  • متغیر ORDEWELL_MAX_PARALLEL را بر اساس قدرت سخت‌افزاری خود تنظیم کنید تا سرعت اجرا را بهینه کنید.
  • قابلیت /grilling را فعال کنید تا متوجه شوید مدل در کجاها نیاز به شفاف‌سازی اهداف شما دارد.

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

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

این ابزار با تکیه بر اعتبار متدولوژی‌های مهندسی نرم‌افزار، اعتماد توسعه‌دهندگان را از طریق جایگزینی «نظر مدل» با «شواهد فنی» جلب می‌کند. این تغییر باعث کاهش چشمگیر نرخ خطای عامل‌های کدنویسی در پروژه‌های مقیاس‌بزرگ می‌شود.

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

به‌دلیل پشتیبانی از مدل‌های محلی از طریق OpenAI Compatible API، توسعه‌دهندگان ایرانی می‌توانند این ارکستراتور را با مدل‌های Llama یا DeepSeek روی سرورهای داخلی اجرا کنند.

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

جایگزینی «عامل‌های خودمختار» با «عامل‌های ارکستره‌شده» نقطه عطف جدیدی در توسعه نرم‌افزار است. Ordewell با تبدیل برنامه به یک شیء قابل ویرایش، مشکل اصلی یعنی عدم قابلیت هدایت (Steering) در AI را حل کرده است. این رویکرد سبد سهام در انتخاب مدل‌ها، احتمالاً استاندارد آینده برای محیط‌های سازمانی خواهد بود که در آن تعادل بین هزینه توکن و دقت حیاتی است.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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