FullAgenticStack چیست؟

من اولین مقاله‌ام درباره FullAgenticStack را در سال ۲۰۲۵ نوشتم. در آن زمان، سیستم من ساده بود. من برای همه چیز از TypeScript استفاده می‌کردم. هدف من این بود که عامل‌ها (agents) را در لایه‌های فرانت‌اند، بک‌اند و داده قرار دهم.

معماری از آن زمان تاکنون تغییر کرده است.

در ابتدا فکر می‌کردم هوش مصنوعی (AI) باید در هسته هر عملیاتی قرار داشته باشد. این رویکرد برای سیستم‌های کوچک و «اول-هوش‌مصنوعی» (AI-first) جواب می‌داد. هوش مصنوعی تصمیم‌گیری‌ها و هماهنگی‌ها را مدیریت می‌کرد.

با بزرگ‌تر شدن سیستم، درسی آموختم.

هر وظیفه‌ای به هوش مصنوعی نیاز ندارد. بسیاری از وظایف باید قابل پیش‌بینی باشند. شما برای موارد زیر به قوانین نیاز دارید:

  • احراز هویت (Authentication)
  • مسیریابی (Routing)
  • مجوزها (Permissions)
  • اعتبارسنجی داده‌ها (Data validation)
  • گزارش‌های بازرسی (Audit logs)
  • تلاش‌های مجدد (Retries)
  • مدیریت حافظه پنهان (Cache management)

این وظایف به قطعیت نیاز دارند، نه احتمال.

من از دیدگاه «اول-هوش‌مصنوعی» به دیدگاه «اول-عامل‌محور» (agentic-first) تغییر مسیر دادم. در این مدل جدید، عامل (agent) بلوک اصلی ساختار است. یک عامل همیشه به LLM نیاز ندارد. می‌تواند با استفاده از قوانین، رویدادها، طرحواره‌ها (schemas) و ماشین‌های حالت (state machines) کار کند. شما تنها زمانی از هوش مصنوعی استفاده می‌کنید که نیاز به مدیریت زبان طبیعی یا ابهام داشته باشید.

همچنین از محدوده‌ی TypeScript فراتر رفتم.

اکنون بر اساس نقاط قوت خاص هر زبان، از چندین زبان مختلف استفاده می‌کنم. TypeScript بخش فرانت‌اند و SDKها را مدیریت می‌کند. زبان‌های دیگر امنیت، هم‌روندی (concurrency) و زیرساخت را بر عهده دارند.

روند تکامل به این صورت است:

فاز ۱:

  • اول-TypeScript
  • اول-هوش‌مصنوعی
  • سیستم‌های ساده
  • عامل‌ها به عنوان افزونه‌های اپلیکیشن

فاز فعلی:

  • معماری چندزبانه
  • اول-عامل‌محور
  • عملیات هسته‌ای تعیین‌پذیر (Deterministic)
  • هوش مصنوعی به عنوان یک ابزار تخصصی
  • عامل‌ها به عنوان زیرساختِ استک (stack)

FullAgenticStack رشد کرد. این مسیر زمانی شروع شد که من عامل‌ها را در هر لایه از یک استک قرار دادم. زمانی به بلوغ رسید که متوجه شدم عامل‌ها لزوماً نباید LLM باشند. یک معماری حرفه‌ای، آنچه را که باید هوشمند باشد از آنچه باید کنترل شود، جدا می‌کند.

منبع: https://dev.to/fullagenticstack/o-que-e-fullagenticstack-4i7e