۴ بُعد طراحی در جریانهای کاری عاملمحور (Agentic Workflows)
مردم اغلب عاملهای هوش مصنوعی (AI agents) و جریانهای کاری هوش مصنوعی (AI workflows) را با هم اشتباه میگیرند. برخی میگویند هر LLM که ابزارهایی داشته باشد یک عامل است. برخی دیگر میگویند یک عامل باید بتواند برای مدت طولانی به تنهایی کار کند. این بحثها به شما کمکی نمیکنند تا سیستمهای بهتری بسازید.
دست از پرسیدن این سوال که «آیا یک سیستم عاملمحور (agentic) هست یا نه» بردارید. در عوض، به این چهار بُعد طراحی توجه کنید:
۱. چه کسی مرحله بعدی را تصمیم میگیرد؟
- کد-محور (Code-driven): کد، توالی مراحل را کنترل میکند. از این روش برای وظایف حساس با قوانین مشخص استفاده کنید.
- مدل-محور (Model-driven): مدل زبانی بزرگ (LLM) مراحل را برنامهریزی میکند. از این روش برای وظایف باز و بدون ساختار مشخص استفاده کنید.
- ترکیبی (Hybrid): کد چارچوب کلی را تعیین میکند و LLM تصمیمات کوچک را میگیرد. این کاربردیترین انتخاب است.
۲. آیا مسیر ثابت است؟
- ثابت (Fixed): مراحل از یک ترتیب مشخص پیروی میکنند.
- شرطی (Conditional): سیستم بر اساس نتایج، از شاخهها یا تلاش مجدد (retries) استفاده میکند.
- تطبیقپذیر (Adaptive): مسیر در زمان اجرا تغییر میکند. از این روش برای تحقیق یا عیبیابی استفاده کنید.
۳. عاملها چگونه با هم کار میکنند؟
- تکعاملی (Single Agent): یک عامل از چندین ابزار استفاده میکند. این روش ساده است اما بافت (context) میتواند آشفته شود.
- مدیر-کارگر (Manager-Worker): یک عامل وظایف را خرد کرده و به دیگران میسپارد.
- تحویل (Handoff): یک عامل کنترل را به یک متخصص میسپارد.
- همتا (Peer): چندین عامل بدون یک رهبر مرکزی با هم همکاری میکنند. عیبیابی این حالت از همه سختتر است.
۴. انسانها کجا وارد عمل میشوند؟
- با تحریک انسانی (Human-triggered): شما هر اقدام اصلی را تأیید میکنید.
- نقطهگذاریشده (Checkpointed): سیستم به تنهایی کار میکند اما در مراحل پرخطر برای تأیید متوقف میشود.
- هدفمحور با حفاظ (Goal-driven with guardrails): شما هدف را تعیین میکنید و سیستم در محدودیتهایی مانند بودجه و مجوزها کار میکند.
فقط برای خودنمایی عامل اضافه نکنید. اضافه کردن یک عامل باعث افزایش تأخیر (latency)، هزینه و دشواری عیبیابی میشود. تنها زمانی از چندین عامل استفاده کنید که بتوانید وظایف را به صورت موازی اجرا کنید یا اگر یک عامل واحد با بافت (context) بیش از حد سنگینی روبرو است.
معماری خود را با وظیفه مطابقت دهید. اگر وظیفه پرخطر است، از نقاط بازرسی (checkpoints) استفاده کنید. اگر وظیفه ساده است، از کد استفاده کنید.
قبل از ساختن، این شش سوال را از خود بپرسید:
- آیا کد معمولی میتواند این را حل کند؟
- چقدر تنوع در ورودی وجود دارد؟
- آیا وظیفه قابل تقسیم است؟
- هزینه شکست چقدر است؟
- آیا میتوانید ببینید کجا خراب میشود؟
- آیا پیچیدگی اضافی ارزش نتیجه را دارد؟
یک جریان کاری خوب در جایی که لازم است منعطف و در جایی که نیاز است قابل پیشبینی باقی میماند.
Source: https://dev.to/whchi/4-design-dimensions-of-agentic-workflows-1i0m
Optional learning community: https://t.me/GyaanSetuAi
