
شرکت Anthropic در مقالهی «Building Effective Agents» تجربیات خود را از توسعهی سیستمهای مبتنی بر مدلهای زبانی منتشر کرده است. پیام اصلی شفاف است: موفقترین سیستمها بهجای فریمورکهای پیچیده، از الگوهای ساده و ترکیبپذیر استفاده میکنند. اگر میخواهید ساخت ایجنت هوش مصنوعی را درست شروع کنید، اول همین تمایز را بفهمید.
تفاوت ورکفلو و ایجنت
Anthropic بین دو رویکرد اصلی تمایز میگذارد:
- ورکفلو (Workflow): سیستمی که در آن مدلها و ابزارها در مسیرهای ازپیشتعیینشدهی کد هدایت میشوند.
- ایجنت (Agent): سیستمی پویا که خود مدل تصمیم میگیرد چگونه برنامهریزی کند، چه زمانی از ابزارها استفاده کند و مسیر کار را کنترل کند.
این تمایز فقط لفظی نیست. انتخاب بین این دو، مستقیم روی هزینه، تأخیر و قابلیت اطمینان سیستم اثر میگذارد.
چه زمانی از ایجنت استفاده کنیم؟
همیشه سادهترین معماری ممکن را انتخاب کنید. سیستمهای ایجنتی معمولاً هزینه و تأخیر بیشتری دارند.
برای کارهای مشخص و تکرارپذیر، یک فراخوانی سادهی مدل همراه با بازیابی اطلاعات یا یک ورکفلوی خطی، اغلب بهینهتر و پایدارتر است. ایجنتها بیشتر برای شرایطی مناسباند که مسئله باز است و به انعطاف و تصمیم لحظهای نیاز دارید.
پرهیز از فریمورکهای اضافه
ابزارهای توسعه و SDKها کار را در ظاهر سادهتر میکنند، اما لایههای انتزاعی معمولاً دیباگ را سختتر میکنند. توصیهی Anthropic این است که کار را مستقیم با API مدل زبانی شروع کنید و فقط وقتی سراغ فریمورک بروید که معماری زیرین آن را خوب بفهمید.
پنج الگوی اصلی ورکفلو
پایهی این سیستمها یک مدل زبانی تقویتشده است که به ابزارها، حافظه و داده وصل شده. برای مدیریتشان معمولاً از پنج الگو استفاده میشود:
۱. زنجیرهی پرامپتها (Prompt Chaining)
کار به مراحل متوالی تقسیم میشود. خروجی مدل اول، ورودی مدل دوم است. برای کارهای قابلتجزیه مثل نوشتن متن و سپس ترجمه یا ویرایش آن مناسب است.
۲. مسیریابی (Routing)
ورودی بررسی میشود و به زیرفرآیند مناسب میرود. کاربرد رایج: کارهای ساده به مدل سبکتر، کارهای پیچیده به مدل قویتر.
۳. موازیسازی (Parallelization)
اجرای همزمان تسکها. یا کار را به زیرتسکهای مستقل میشکنید، یا یک کار را چند بار اجرا میکنید و خروجیها را مقایسه میکنید تا دقت بالاتر برود.
۴. ارکستراتور و کارگرها (Orchestrator-Workers)
یک مدل مرکزی مسئله را پویا تحلیل میکند، به چند زیرتسک تقسیم میکند، به مدلهای کارگر میسپارد و نتایج را جمع میکند. وقتی زیرتسکها از قبل مشخص نیستند، این الگو مفید است.
۵. ارزیاب-بهینهساز (Evaluator-Optimizer)
یک مدل محتوا میسازد و مدل دوم در حلقهی بازخورد آن را نقد و اصلاح میکند. وقتی معیار ارزیابی مشخص است — مثل ترجمه ادبی یا بهینهسازی کد — خوب جواب میدهد.
طراحی ایجنتهای خودمختار
ایجنتها بعد از دستور کاربر، خودشان برنامهریزی و اجرا را شروع میکنند. موفقیتشان به دریافت پیوستهی اطلاعات واقعی از محیط وابسته است؛ مثلاً خروجی اجرای کد یا پاسخ یک API.
بهخاطر همین خودمختاری، خطر خطای زنجیرهای بالاست. تست در محیط ایزوله و تعیین شرط توقف — مثل محدودیت تعداد مراحل — الزامی است.
کاربردهای موفق
ایجنتها معمولاً در دو حوزه نتیجهی قابلقبول نشان دادهاند:
- پشتیبانی مشتری: گفتوگوهایی که باید پیوسته از پایگاه دانش یا دیتابیس کاربر داده بردارند.
- کدنویسی: مسائل نرمافزاری که ایجنت میتواند کد بنویسد، تست اجرا کند و با دیدن خطا، کد را اصلاح کند.
مهندسی ابزارها
طراحی ابزاری که مدل صدا میزند، بهاندازهی پرامپتنویسی مهم است:
- قبل از فراخوانی ابزار، به مدل فضای کافی برای تحلیل بدهید.
- ورودی و خروجی ابزار را شبیه دادههای آموزشی مدل طراحی کنید. انتقال کد با مارکداون معمولاً از JSON پیچیده بهتر کار میکند.
- ابزار را طوری محدود کنید که مدل نتواند راحت اشتباه استفاده کند. مثلاً اجبار مسیر مطلق فایل بهجای مسیر نسبی، از گم شدن در پوشهها جلوگیری میکند.
سه اصل کلیدی
- سادگی: با پرامپت پایه شروع کنید. معماری چندمرحلهای را فقط وقتی بسازید که راه سادهتر جواب ندهد.
- شفافیت: مراحل فکر و برنامهریزی ایجنت باید قابل ردیابی باشد.
- طراحی دقیق رابط ایجنت-کامپیوتر: ابزارها باید مستند شفاف، ساختار ساده و تست دقیق داشته باشند.
موفقیت یعنی ساختن سیستم درست برای نیاز واقعی؛ نه پیچیدهترین سیستم.