پشتهٔ ایجنت — چگونه agent میسازم
پاسخ صریح من به پرسشی که سازندگان بیشتر از همه از من میپرسند. این یک سند زنده است — هر زمان حوزه پیش برود آن را بهروزرسانی میکنم. هر انتخاب یک نظر یکخطی دارد، و همین نظرها اصل ماجرا هستند.
Orchestration
LangGraph
کنترل جریان صریح مبتنی بر گراف برای agentهایی که شاخهبندی، حلقهها و حالتهای واقعی دارند.
دیدگاهگرافهای صریح بر زنجیرههای ضمنی برتری دارند؛ وقتی agent شما جریان کنترل واقعی دارد، آن را بهصورت گراف مدل کنید، نه prompt.
Temporal
اجرای پایدار و قابلازسرگیری workflow برای وظایف طولانیمدت agent.
دیدگاهکار agent کار سیستمهای توزیعشده است؛ اگر مرحلهای میتواند کرش کند، جریان کار را پایدار و قابلازسرگیری کنید.
Ray
محاسبات توزیعشده و serving برای اجرای موازی agentها.
دیدگاهاجرای موازی در مقیاس ازدحامی اول از همه یک مسئله محاسباتی است؛ پیش از توسل به هوشمندی بیشتر، به سراغ Ray بروید.
K8s / Fly.io
اجرای agentها جایی که بتوانند مقیاس بگیرند و تمیز از بین بروند.
دیدگاهagentها را جایی اجرا کنید که بتوانند مقیاس بگیرند و تمیز از بین بروند؛ هماهنگسازیای که نمیتواند یک worker را دوباره راهاندازی کند، تولید نیست.
استفاده از ابزار و فراخوانی تابع
فراخوانی تابع/ابزار + خروجیهای ساختیافته (JSON schema)
امضاهای نوعدار ابزار با خروجیهای اجباری JSON-schema.
دیدگاهبه مدل یک قرارداد بدهید، نه نثر؛ کل agent تنها بهاندازه امضای ابزارهایش قابل اعتماد است.
First-class action API
یک API ماکرو/اکشن برای محیطی که agent در آن عمل میکند (الگوی برگرفته از کارهای agent مبتنی بر بینایی).
دیدگاهبرای عمل در یک جهان، به یک API اقدام درجهیک نیاز دارید — به عامل دستگیرههای واقعی و یک وریفایر بدهید، در هر حوزهای.
MCP — پروتکل زمینه مدل
یک باس استاندارد که مدلها را به ابزارها و منابع داده متصل میکند.
دیدگاهنحوه دسترسی مدل به جهان را استاندارد کنید؛ یک باس ابزار مشترک بهتر از بیست کانکتور اختصاصی است.
حافظه و زمینه
زمینه کوتاهمدت + بازیابی برداری (RAG)
ماندگار کردن آنچه agent باید در طول نوبتها بداند، بازیابیشده از یک پایگاه دانش.
دیدگاهآنچه agent باید بداند را ماندگار کن؛ یک agent بیحافظه یک حلقه بازپخش است، نه یک کارگر.
Scratchpad و حافظه کاری
وضعیت میانی ساختاریافته برای برنامهریزی چندمرحلهای و نتایج ابزار.
دیدگاههمهچیز را در پنجره جا ندهید؛ یک حافظهٔ کاری نگه دارید که agent آگاهانه میخواند و مینویسد.
ارزیابی و قابلیت مشاهده
تأییدکنندههای مبتنی بر محیط
سندباکسها، شبیهسازها و بازیهایی که عامل را در همان جهانی که در آن عمل میکند ارزیابی میکنند.
دیدگاهagent را در جهانی که در آن عمل میکند ارزیابی کنید، نه بر اساس حسوگمان. ارزیابی یک مسئله محیطی است، نه یک مسئله rubric.
LLM-as-judge (بهندرت، با حسابرسی)
امتیازدهی مبتنی بر مدل، با بررسیهای قطعی دوباره بررسی شده.
دیدگاهداورها خط پایهاند، نه حقیقت؛ آنها را با بررسیهای قطعی دوباره راستیآزمایی کنید.
طبقهبندیهای شکست + یک بنچمارک که خودتان مالک آن هستید
یک کاتالوگ طبقهبندیشده از شکستها (دستور اشتباه، مرحله جاافتاده، خطای منطقی) و یک بنچمارکی که خودتان نگه میدارید.
دیدگاهحالتهای شکست خود را در قالب یک تاکسونومی تحویل دهید — اینگونه است که باگهای سخت قابل دیباگ میشوند و از هر کدامشان یاد میگیرید. یک شکست بازتولیدپذیر، یک نتیجه پژوهشی است.
Cost/latency budgets as first-class metrics
هزینه و تأخیر هر اجرا را مثل هر متریک دیگری ردیابی کن.
دیدگاهیک اجرای کارآمد با هزینه معقول بهتر از اجرایی زیباتر با ده برابر قیمت است.
ردیابیها (OpenTelemetry / به سبک LangSmith)
ردیابیهای سطح گام و بازپخش کامل اجرای عامل.
دیدگاهچیزی را که نمیتوانید بازپخش کنید نمیتوانید تنظیم کنید؛ ردها (traces) ضبطکنندهٔ پرواز عامل هستند.
داشبوردهایی برای نرخ موفقیت، هزینه، تأخیر، توزیع خطا
داشبوردهای سبک SLO برای سلامت agent.
دیدگاهآن را مثل یک SLO اجرا کنید، وگرنه آن را مثل یک دمو اجرا میکنید. اطمینان در رونوشتها زندگی میکند، نه در خلاصه.
Deployment
کانتینرها + استقرارهای تغییرناپذیر
عاملها را بهصورت کانتینر با آرتیفکتهای نسخهبندیشده و بازتولیدپذیر تحویل دهید.
دیدگاهاگر نمیتوانید آن را دو بار از همان artifact بازسازی کنید، شما deploy ندارید — دارید حدس میزنید.
CI/CD با دروازههای ارزیابی
مجموعهٔ ارزیابی agent را قبل از ارتقای نسخهٔ جدید به تولید اجرا میکند.
دیدگاهارتقای مدل یک ریسک رگرسیون است، نه یک ویژگی؛ هر انتشار را به مجموعه eval گره بزنید، نه به شهود.
زمان اجرای مدیریتشدهٔ serverless / container
مقیاسدهی عاملها تا صفر و بازگشت، بدون نیاز به مراقبت مداوم از زیرساخت.
دیدگاهعاملها ذاتاً انفجاری هستند — آنها را جایی مستقر کنید که بتوانند تا صفر مقیاسپذیر باشند و سریع بازگردند.
پاسخهای صریح.
ازدحام AI چیست؟+
An AI swarm is a coordinated system of multiple independent agents that share goals, decompose tasks, and negotiate solutions together. Unlike a single agent — one loop with one bottleneck and one point of failure — a swarm gets resilience and scale from redundancy and division of labor: parallel exploration, no single point of failure, and answers that emerge from collective reasoning rather than one model's guess. My thesis: intelligence emerges from structured interaction among many agents, not from a single bigger brain.
سیستمهای چندعاملی را چگونه ارزیابی میکنید؟+
Evaluation is the bottleneck, not the model. I grade agents in the environment they act in — sandboxes, simulators, games — not against intuition. I use LLM-as-judge sparingly and audited, backed by deterministic checks; I ship failure taxonomies plus a benchmark I own; and I treat cost and latency as first-class metrics. A feedback loop is only as smart as its verifier.
چه زمانی باید از agentها استفاده کرد و چه زمانی از یک فراخوانی تکمدلی؟+
برای تبدیلهای یکمرحلهای بدون حالت، بدون ابزار و بدون چیزی برای راستیآزمایی، از یک فراخوانی مدل استفاده کنید. وقتی کار به برنامهریزی چندمرحلهای، فراخوانی ابزار در دنیای واقعی، حافظه در طول نوبتها، یا راستیآزمایی اینکه کار واقعاً انجام شده نیاز دارد، به سراغ agent بروید. و اگر راستیآزما ندارید، هنوز agent نسازید.