مقاله حسین نریمانی ۱۴۰۵/۰۳/۳۱ AI & Intelligent Systems

معماری Agentic در برابر Workflow-Based: تحلیل trade-off بین خودمختاری و کنترل‌پذیری در سیستم‌های عمل

بیشتر بحث‌هایی که درباره‌ی «هوش مصنوعی عملیاتی» می‌شنوید، یک سوال اساسی را نادیده می‌گیرند: آیا این سیستم باید خودش تصمیم بگیرد، یا فقط دستورالعمل‌های از پیش تعریف‌شده را اجرا کند؟ این انتخاب — Agentic در برابر...

بیشتر بحث‌هایی که درباره‌ی «هوش مصنوعی عملیاتی» می‌شنوید، یک سوال اساسی را نادیده می‌گیرند: آیا این سیستم باید خودش تصمیم بگیرد، یا فقط دستورالعمل‌های از پیش تعریف‌شده را اجرا کند؟ این انتخاب — Agentic در برابر Workflow-Based — نه یک ترجیح ابزاری است، نه یک مسئله‌ی فنی صرف. یک تصمیم معماری است که روی قابلیت اطمینان، هزینه‌ی عملیاتی و ریسک سیستم شما اثر مستقیم می‌گذارد.

بیشتر مردم چه چیزی را اشتباه می‌فهمند

اشتباه رایج این است: «Agentic یعنی هوشمندتر، Workflow یعنی ابتدایی‌تر.» این تعبیر کاملاً غلط است.

یک سیستم Workflow-Based که به‌خوبی طراحی شده، می‌تواند صدها هزار تراکنش روزانه را با قابلیت اطمینان بالا، هزینه‌ی پایین و قابلیت audit کامل پردازش کند. یک سیستم Agentic بدطراحی‌شده می‌تواند در یک حلقه‌ی استدلال گیر کند، منابع گران‌قیمت API را مصرف کند، و خروجی‌هایی تولید کند که هیچ‌کس نمی‌تواند توضیح دهد چرا آن‌طور شدند.

مسئله قدرت نیست. مسئله‌ی تناسب ساختار با مسئله است.

تعریف دقیق: Agentic چیست و Workflow چیست؟

سیستم‌های Workflow-Based

یک سیستم Workflow-Based یک گراف جهت‌دار (DAG) از مراحل از پیش تعریف‌شده است. هر گره یک عملیات مشخص انجام می‌دهد. مسیر اجرا در زمان طراحی مشخص است. تصمیم‌گیری یا اصلاً وجود ندارد، یا در قالب شرط‌های صریح (if/else) تعریف شده است.

ابزارهایی مثل Apache Airflow، n8n، Zapier، و حتی pipeline‌های ML سنتی در این دسته قرار می‌گیرند. مشخصه‌ی اصلی: رفتار سیستم از روی کد قابل پیش‌بینی است.

سیستم‌های Agentic

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

چارچوب‌هایی مثل LangGraph، CrewAI، AutoGen، و OpenAI Assistants در این فضا قرار دارند. مشخصه‌ی اصلی: رفتار سیستم از روی کد به‌تنهایی قابل پیش‌بینی نیست.

تحلیل Trade-off: پنج محور اصلی

۱. قابلیت پیش‌بینی (Predictability)

Workflow: بالا. همان ورودی، همان خروجی. این برای سیستم‌های مالی، compliance، و هر جایی که audit trail اهمیت دارد، حیاتی است.

Agentic: پایین تا متوسط. حتی با همان prompt، یک agent در دو اجرای مختلف ممکن است مسیرهای متفاوتی انتخاب کند. این در سیستم‌های تولید، ریسک عملیاتی واقعی ایجاد می‌کند.

۲. انعطاف‌پذیری (Flexibility)

Workflow: کم. تغییر در منطق کسب‌وکار مستلزم تغییر در کد است. برای مسائل جدید یا ساختارنیافته، باید workflow جدیدی بسازید.

Agentic: بالا. یک agent می‌تواند با تغییر context یا ابزارهای در دسترس، رفتار خود را تطبیق دهد. برای مسائل اکتشافی و open-ended این مزیت بزرگی است.

۳. هزینه‌ی عملیاتی (Operational Cost)

Workflow: قابل پیش‌بینی و معمولاً پایین‌تر. تعداد فراخوانی‌های API مشخص است. هزینه‌ی محاسباتی قابل بودجه‌بندی دقیق است.

Agentic: متغیر و بالقوه بالا. یک agent ممکن است چندین بار برای حل یک مسئله‌ی ساده ابزار فراخوانی کند. در سیستم‌های با حجم بالا، این می‌تواند به هزینه‌های غیرمنتظره منجر شود.

۴. قابلیت مشاهده (Observability)

Workflow: ذاتاً قابل مشاهده است. هر مرحله یک ورودی و خروجی مشخص دارد. debug کردن آن مثل trace کردن یک call stack سنتی است.

Agentic: چالش‌برانگیز. chain-of-thought یک LLM برای اهداف عملیاتی کافی نیست. به ابزارهای تخصصی مثل LangSmith، Langfuse، یا Helicone نیاز دارید تا بفهمید سیستم واقعاً چه کرده است.

۵. مقیاس‌پذیری (Scalability)

Workflow: با infrastructure استاندارد به‌خوبی مقیاس می‌گیرد. صف‌بندی، parallelism، و retry logic همه قابل پیاده‌سازی با ابزارهای بالغ هستند.

Agentic: مقیاس‌گذاری پیچیده‌تر است. هر agent instance ممکن است state مستقل نگه دارد. مدیریت concurrency و consistency در سیستم‌های multi-agent به طراحی دقیق نیاز دارد.

جدول مقایسه‌ی سریع

معیار Workflow-Based Agentic
قابلیت پیش‌بینی بالا پایین تا متوسط
انعطاف‌پذیری پایین بالا
هزینه‌ی عملیاتی قابل پیش‌بینی متغیر
قابلیت مشاهده ذاتی نیاز به ابزار خاص
مقیاس‌پذیری بالغ و ساده پیچیده
مناسب برای مسائل ساختارمند، تکراری مسائل اکتشافی، پیچیده
ریسک در production پایین متوسط تا بالا

چه زمانی Agentic انتخاب درستی است؟

قبل از هر چیز، یک سوال ساده بپرسید: آیا فضای مسئله‌ی شما واقعاً open-ended است؟

اگر پاسخ «نه» است — یعنی مسئله قابل decompose شدن به مراحل مشخص است — احتمالاً به Agentic نیاز ندارید. اگر با یک workflow خوب می‌توانید آن را حل کنید، این گزینه را انتخاب کنید. ساده‌تر، ارزان‌تر، و قابل اطمینان‌تر است.

Agentic واقعاً مناسب است زمانی که:

  • فضای تصمیم‌گیری در زمان طراحی قابل شمارش نیست
  • مسئله به retrieval، synthesis، و reasoning در چند مرحله‌ی غیرخطی نیاز دارد
  • شما یک انسان را جایگزین می‌کنید که کارهای اکتشافی انجام می‌دهد، نه یک process مکانیکی
  • کیفیت مهم‌تر از سرعت و هزینه‌ی پیش‌بینی‌پذیر است

الگوی ترکیبی: Supervised Agentic Architecture

در سیستم‌های production واقعی، بهترین معماری‌ها معمولاً ترکیبی هستند: یک لایه‌ی workflow که orchestration کلی را مدیریت می‌کند، با agent‌هایی که فقط در گره‌های مشخصی از آن workflow فراخوانی می‌شوند.

این الگو را «Supervised Agentic Architecture» می‌نامم. مشخصه‌های آن:

  • Workflow skeleton: مسیر اصلی اجرا deterministic است
  • Agent as a node: agent فقط در نقاط از پیش‌تعریف‌شده اجرا می‌شود
  • Bounded autonomy: agent محدوده‌ی عمل مشخصی دارد — ابزارهایش، budget توکن‌هایش، و timeout آن محدود است
  • Human-in-the-loop checkpoints: در گره‌های با ریسک بالا، خروجی agent قبل از ادامه‌ی اجرا تأیید می‌شود

این رویکرد به شما هم انعطاف اجرایی می‌دهد، هم قابلیت کنترل و مشاهده‌ای که برای production environments ضروری است.

مثال عملی: سیستم تحلیل و پاسخ به Ticket‌های پشتیبانی

فرض کنید یک شرکت SaaS می‌خواهد پاسخ‌دهی به ticket‌های پشتیبانی را خودکار کند.

رویکرد اشتباه: Fully Agentic

یک agent می‌گیرد که ticket بخواند، به کد برنامه دسترسی داشته باشد، با database query بزند، ایمیل بنویسد، و اگر لازم است refund صادر کند — همه را خودش تصمیم بگیرد.

در تئوری جذاب است. در عمل: یک خرابی در یک مرحله می‌تواند به refund‌های نادرست، داده‌های لیک‌شده، یا ایمیل‌های متناقض منجر شود. و شما نمی‌توانید به‌راحتی بفهمید چرا.

رویکرد درست: Supervised Agentic

  1. مرحله‌ی ۱ (Workflow): ticket دریافت، دسته‌بندی اولیه، و routing به نوع مسئله
  2. مرحله‌ی ۲ (Agent): agent در context محدود (فقط اسناد مربوطه و تاریخچه‌ی کاربر) پاسخ پیش‌نویس تولید می‌کند
  3. مرحله‌ی ۳ (Workflow): بررسی اتوماتیک: آیا پاسخ شامل اطلاعات حساس است؟ آیا درخواست action مالی دارد؟
  4. مرحله‌ی ۴ (Human checkpoint): اگر action مالی یا ریسک بالا شناسایی شد، به انسان ارجاع می‌شود
  5. مرحله‌ی ۵ (Workflow): ارسال پاسخ نهایی و ثبت در سیستم

نتیجه: ۷۰-۸۰٪ از ticket‌ها کاملاً خودکار رسیدگی می‌شوند، ریسک عملیاتی کنترل‌شده است، و هر action در سیستم قابل ردیابی و audit است.

خطاهای رایج در پیاده‌سازی

خطای ۱: Agentic بدون Bounded Context

دادن دسترسی نامحدود به agent برای فراخوانی هر ابزاری یکی از خطرناک‌ترین اشتباهات است. هر agent باید یک محدوده‌ی عمل صریح داشته باشد: کدام ابزارها، با چه budget توکن، تا چه timeout. بدون این محدوده‌ها، سیستم در production غیرقابل پیش‌بینی می‌شود.

خطای ۲: استفاده از Agentic برای مسائل ساختارمند

اگر می‌توانید منطق کارتان را در یک flowchart رسم کنید، به LLM برای orchestration نیاز ندارید. استفاده از Agentic برای data transformation ساده، ارسال ایمیل، یا ETL pipeline فقط هزینه و پیچیدگی اضافه می‌کند بدون هیچ مزیت واقعی.

خطای ۳: نادیده گرفتن Observability از ابتدا

بسیاری تیم‌ها ابتدا سیستم Agentic می‌سازند و بعد سعی می‌کنند observability را اضافه کنند. این برعکس است. ابزار tracing و logging باید از روز اول در معماری باشد. بدون آن، debugging در production شبیه کار کردن با چشمان بسته است.

خطای ۴: یکسان دیدن همه‌ی LLM‌ها

ظرفیت reasoning مدل‌های مختلف به‌شدت متفاوت است. یک agent که با GPT-4o خوب کار می‌کند، ممکن است با مدل ارزان‌تر در حلقه‌های reasoning گیر کند. معماری agentic شما نباید به یک مدل خاص گره خورده باشد — اما باید با ظرفیت واقعی مدل انتخابی‌تان طراحی شود.

ملاحظات عملیاتی برای تیم‌های فنی

چک‌لیست قبل از deploy یک سیستم Agentic

  • آیا برای هر agent یک max_iterations و timeout تعریف کرده‌اید؟
  • آیا همه‌ی tool call‌ها در یک observability platform log می‌شوند؟
  • آیا fallback mechanism برای failure modes تعریف کرده‌اید؟
  • آیا action‌های غیرقابل برگشت (مثل ارسال ایمیل، تغییر در database) پشت یک human checkpoint هستند؟
  • آیا هزینه‌ی token usage را در worst-case scenario تخمین زده‌اید؟
  • آیا می‌توانید یک agent session را از ابتدا تا انتها trace کنید؟

ابزارهای توصیه‌شده برای هر رویکرد

Workflow-Based:

  • Orchestration: Apache Airflow، Prefect، n8n
  • Event-driven: Apache Kafka با consumer pipeline‌های deterministic
  • Low-code: Zapier، Make (برای automation‌های ساده)

Agentic:

  • Frameworks: LangGraph (برای graph-based control flow)، CrewAI (برای multi-agent)، AutoGen
  • Observability: LangSmith، Langfuse، Helicone
  • State management: Redis یا Postgres برای نگه‌داری agent state در محیط‌های distributed

چه زمانی از هیچ‌کدام استفاده نکنید

گاهی بهترین پاسخ این است: نه Agentic، نه Workflow پیچیده. یک API call ساده به یک LLM، با یک prompt خوب طراحی‌شده، می‌تواند ۸۰٪ از use case‌های اتوماسیون محتوا را با هزینه‌ای بسیار پایین‌تر پوشش دهد.

قبل از معماری کردن، ارزش دارد این سوال را بپرسید: آیا یک prompt تنها کافی است؟ اگر بله، همان را انتخاب کنید.

نکات کلیدی

  • Agentic بودن به معنای هوشمندتر بودن نیست — به معنای متفاوت بودن ساختار تصمیم‌گیری است
  • Workflow-Based برای مسائل ساختارمند، تکراری، و با ریسک بالا گزینه‌ی برتر است
  • Agentic واقعاً ارزش دارد وقتی فضای تصمیم در زمان طراحی قابل تعریف نیست
  • Supervised Agentic Architecture — ترکیب Workflow skeleton با Agent nodes — بهترین نقطه‌ی تعادل در production است
  • بدون Observability، هیچ سیستم Agentic در production قابل اعتماد نیست
  • Bounded autonomy: هر agent باید محدوده‌ی عمل صریح داشته باشد
  • هزینه‌ی token usage در Agentic systems می‌تواند در worst-case بسیار بالا باشد — از ابتدا budget تعریف کنید

سوالات متداول

تفاوت اصلی بین Agentic و Workflow-Based چیست؟

در سیستم‌های Workflow-Based، مسیر اجرا در زمان طراحی مشخص است و هر مرحله‌ای از پیش تعریف شده. در سیستم‌های Agentic، یک مدل زبانی بزرگ (LLM) در زمان اجرا تصمیم می‌گیرد چه ابزاری فراخوانی کند و چه مسیری طی شود. تفاوت اصلی در زمان تصمیم‌گیری است: compile-time در برابر runtime.

آیا سیستم‌های Agentic در production قابل اعتماد هستند؟

بله، اما با شرایط. سیستم‌های Agentic در production نیاز به Bounded autonomy (محدوده‌ی عمل مشخص)، observability کامل، fallback mechanisms، و Human-in-the-Loop checkpoints در نقاط پرریسک دارند. بدون این‌ها، قابلیت اطمینان آن‌ها در محیط‌های واقعی پایین خواهد بود.

LangGraph چه تفاوتی با AutoGen یا CrewAI دارد؟

LangGraph یک چارچوب graph-based است که به شما کنترل دقیق‌تری روی flow اجرا می‌دهد — مناسب برای سیستم‌هایی که ترکیب Agentic و deterministic دارند. CrewAI بر multi-agent collaboration تمرکز دارد با رابط کاربری ساده‌تر. AutoGen از Microsoft برای ساخت سیستم‌های multi-agent پیچیده‌تر با conversational architecture طراحی شده است. هیچ‌کدام ذاتاً بهتر نیستند — انتخاب به الزامات معماری شما بستگی دارد.

چگونه می‌توانم یک سیستم

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

نظرات (0)

اولین نفری باشید که نظر می‌دهد.

برای ثبت نظر باید وارد حساب کاربری خود شوید.

ورود / ثبت‌نام