𝗔𝗜𝗖𝗵𝗮𝗶𝗻 𝗔𝗴𝗲𝗻𝘁: 𝗣𝗹𝗮𝗻, 𝗔𝗰𝘁, 𝗥𝗲𝗳𝗹𝗲𝗰𝘁
یک Chain مسیر مشخصی را دنبال میکند. شما مرحله اول، دوم و سوم را تعریف میکنید. اگر مراحل را از قبل بدانید، این روش کار میکند.
اما وظایف واقعی بهندرت قابل پیشبینی هستند. اگر یک جستجو نتیجهای نداشت چه؟ اگر یک نتیجه، کل برنامه شما را تغییر داد چه؟
اینجاست که یک Agent وارد عمل میشود. یک Agent برنامهریزی میکند، مشاهده میکند و تصمیم میگیرد. یک Chain در واقع یک اسکریپت است، اما یک Agent در حال فکر کردن است.
بر اساس وظیفه خود، حالت (Mode) مناسب را انتخاب کنید:
حالت Waterfall (آبشاری): ایجنت قبل از شروع، یک برنامه کامل میسازد. مراحل را به ترتیب اجرا میکند. میتواند یک مرحله را دوباره امتحان کند یا زودتر متوقف شود، اما نمیتواند برنامه اصلی را تغییر دهد. از این حالت برای وظایف قابل پیشبینی مانند «جستجو، سپس خلاصهسازی» استفاده کنید.
حالت Agile (چابک): ایجنت به نتیجه هر مرحله نگاه میکند. میتواند برنامه باقیمانده را در لحظه بازنویسی کند. اگر یک جستجو اطلاعات جدیدی را فاش کند، مراحل جدیدی اضافه میکند. اگر وظیفهای زودتر تمام شود، بقیه مراحل را نادیده میگیرد. از این حالت برای وظایف غیرقابل پیشبینی استفاده کنید.
برای پایین نگه داشتن هزینهها و جلوگیری از حلقهها، همیشه یک محدودیت max_steps تعیین کنید. ایجنتی بدون محدودیت، بودجه شما را تمام میکند یا تا زمانی که کرش (crash) کند به کار خود ادامه میدهد.
همچنین میتوانید با استفاده از executors هزینهها را بهینه کنید. از یک مدل با کیفیت بالا به عنوان orchestrator برای مدیریت استدلال استفاده کنید. از یک مدل ارزانتر و سریعتر به عنوان executor برای مدیریت فراخوانیهای ساده ابزار (tool calls) استفاده کنید.
یک قانون ساده برای پیروی:
- اگر میتوانید گردش کار (workflow) را روی یک وایتبرد رسم کنید، از یک Chain استفاده کنید.
- اگر نیاز دارید بین مسیرهای مختلف، فلشهای «بستگی دارد» رسم کنید، از یک Agent استفاده کنید.
Source: https://dev.to/yait/aichain-agent-plan-act-reflect-2n71
Optional learning community: https://t.me/GyaanSetuAi