پرش به محتوای اصلی
پشتهٔ ایجنت

پشتهٔ ایجنت — چگونه agent می‌سازم

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

01

Orchestration

framework

LangGraph

کنترل جریان صریح مبتنی بر گراف برای agentهایی که شاخه‌بندی، حلقه‌ها و حالت‌های واقعی دارند.

دیدگاهگراف‌های صریح بر زنجیره‌های ضمنی برتری دارند؛ وقتی agent شما جریان کنترل واقعی دارد، آن را به‌صورت گراف مدل کنید، نه prompt.

گردش‌کارهای پایدار

Temporal

اجرای پایدار و قابل‌ازسرگیری workflow برای وظایف طولانی‌مدت agent.

دیدگاهکار agent کار سیستم‌های توزیع‌شده است؛ اگر مرحله‌ای می‌تواند کرش کند، جریان کار را پایدار و قابل‌ازسرگیری کنید.

محاسبات و سرویس‌دهی

Ray

محاسبات توزیع‌شده و serving برای اجرای موازی agentها.

دیدگاهاجرای موازی در مقیاس ازدحامی اول از همه یک مسئله محاسباتی است؛ پیش از توسل به هوشمندی بیشتر، به سراغ Ray بروید.

runtime

K8s / Fly.io

اجرای agentها جایی که بتوانند مقیاس بگیرند و تمیز از بین بروند.

دیدگاهagentها را جایی اجرا کنید که بتوانند مقیاس بگیرند و تمیز از بین بروند؛ هماهنگ‌سازی‌ای که نمی‌تواند یک worker را دوباره راه‌اندازی کند، تولید نیست.

02

استفاده از ابزار و فراخوانی تابع

contract

فراخوانی تابع/ابزار + خروجی‌های ساخت‌یافته (JSON schema)

امضاهای نوع‌دار ابزار با خروجی‌های اجباری JSON-schema.

دیدگاهبه مدل یک قرارداد بدهید، نه نثر؛ کل agent تنها به‌اندازه امضای ابزارهایش قابل اعتماد است.

environment

First-class action API

یک API ماکرو/اکشن برای محیطی که agent در آن عمل می‌کند (الگوی برگرفته از کارهای agent مبتنی بر بینایی).

دیدگاهبرای عمل در یک جهان، به یک API اقدام درجه‌یک نیاز دارید — به عامل دستگیره‌های واقعی و یک وریفایر بدهید، در هر حوزه‌ای.

protocol

MCP — پروتکل زمینه مدل

یک باس استاندارد که مدل‌ها را به ابزارها و منابع داده متصل می‌کند.

دیدگاهنحوه دسترسی مدل به جهان را استاندارد کنید؛ یک باس ابزار مشترک بهتر از بیست کانکتور اختصاصی است.

03

حافظه و زمینه

context

زمینه کوتاه‌مدت + بازیابی برداری (RAG)

ماندگار کردن آنچه agent باید در طول نوبت‌ها بداند، بازیابی‌شده از یک پایگاه دانش.

دیدگاهآنچه agent باید بداند را ماندگار کن؛ یک agent بی‌حافظه یک حلقه بازپخش است، نه یک کارگر.

memory

Scratchpad و حافظه کاری

وضعیت میانی ساختاریافته برای برنامه‌ریزی چندمرحله‌ای و نتایج ابزار.

دیدگاههمه‌چیز را در پنجره جا ندهید؛ یک حافظهٔ کاری نگه دارید که agent آگاهانه می‌خواند و می‌نویسد.

04

ارزیابی و قابلیت مشاهده

verifier

تأییدکننده‌های مبتنی بر محیط

سندباکس‌ها، شبیه‌سازها و بازی‌هایی که عامل را در همان جهانی که در آن عمل می‌کند ارزیابی می‌کنند.

دیدگاهagent را در جهانی که در آن عمل می‌کند ارزیابی کنید، نه بر اساس حس‌وگمان. ارزیابی یک مسئله محیطی است، نه یک مسئله rubric.

judge

LLM-as-judge (به‌ندرت، با حسابرسی)

امتیازدهی مبتنی بر مدل، با بررسی‌های قطعی دوباره بررسی شده.

دیدگاهداورها خط پایه‌اند، نه حقیقت؛ آن‌ها را با بررسی‌های قطعی دوباره راستی‌آزمایی کنید.

debuggability

طبقه‌بندی‌های شکست + یک بنچمارک که خودتان مالک آن هستید

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

دیدگاهحالت‌های شکست خود را در قالب یک تاکسونومی تحویل دهید — این‌گونه است که باگ‌های سخت قابل دیباگ می‌شوند و از هر کدام‌شان یاد می‌گیرید. یک شکست بازتولیدپذیر، یک نتیجه پژوهشی است.

cost

Cost/latency budgets as first-class metrics

هزینه و تأخیر هر اجرا را مثل هر متریک دیگری ردیابی کن.

دیدگاهیک اجرای کارآمد با هزینه معقول بهتر از اجرایی زیباتر با ده برابر قیمت است.

observability

ردیابی‌ها (OpenTelemetry / به سبک LangSmith)

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

دیدگاهچیزی را که نمی‌توانید بازپخش کنید نمی‌توانید تنظیم کنید؛ ردها (traces) ضبط‌کنندهٔ پرواز عامل هستند.

operate

داشبوردهایی برای نرخ موفقیت، هزینه، تأخیر، توزیع خطا

داشبوردهای سبک SLO برای سلامت agent.

دیدگاهآن را مثل یک SLO اجرا کنید، وگرنه آن را مثل یک دمو اجرا می‌کنید. اطمینان در رونوشت‌ها زندگی می‌کند، نه در خلاصه.

05

Deployment

packaging

کانتینرها + استقرارهای تغییرناپذیر

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

دیدگاهاگر نمی‌توانید آن را دو بار از همان artifact بازسازی کنید، شما deploy ندارید — دارید حدس می‌زنید.

release

CI/CD با دروازه‌های ارزیابی

مجموعهٔ ارزیابی agent را قبل از ارتقای نسخهٔ جدید به تولید اجرا می‌کند.

دیدگاهارتقای مدل یک ریسک رگرسیون است، نه یک ویژگی؛ هر انتشار را به مجموعه eval گره بزنید، نه به شهود.

scaling

زمان اجرای مدیریت‌شدهٔ 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 نسازید.

بیایید صحبت کنیم!