پشته دقیقی که من برای ساخت عامل‌های (agent) هوش مصنوعی در محیط عملیاتی استفاده می‌کنم

دموها یک چیز را نشان می‌دهند. سیستم‌های عملیاتی چیز دیگری را نشان می‌دهند. شکافی بین آن‌ها وجود دارد که بسیاری از افراد آن را نادیده می‌گیرند.

امروزه مردم هر چیزی را یک agent می‌نامند. یک چت‌بات با حافظه، یک agent است. یک اسکریپت با یک حلقه، یک agent است. این اشتباه منجر به مهندسی ضعیف می‌شود. در نهایت، شما کارهای ساده را بیش از حد مهندسی می‌کنید و کارهای پیچیده را کمتر از حد لازم مهندسی می‌کنید.

یک agent باید هدف داشته باشد. نباید صرفاً از یک دستور پیروی کند. یک agent واقعی تصمیم می‌گیرد که مرحله بعدی چیست. او با شکست‌ها مقابله می‌کند و می‌داند چه زمانی کار تمام شده است.

سیستم خود را با این قوانین بسنجید:

  • اگر یک انسان باید هر مرحله را هدایت کند، این یک رابط چت است، نه یک agent.
  • اگر سیستم از یک tool call ناموفق بازیابی شود، شما در حال ساخت یک agent هستید.
  • اگر سیستم یک هدف را به زیروظایف تقسیم کند، شما یک agent واقعی دارید.

تیم‌های موفق موتورهای استدلال عمومی نمی‌سازند. آن‌ها pipelineهای محدود و هدفمند می‌سازند. آن‌ها بر سه مورد تمرکز می‌کنند:

  • طراحی ابزار (Tool design): ساخت رابط‌های تمیز برای فراخوانی توسط agent.
  • مدیریت شکست (Failure handling): تصمیم‌گیری در مورد اینکه وقتی یک ابزار چیزی برنمی‌گرداند، چه باید کرد.
  • مشاهده‌پذیری (Observability): ردیابی اینکه چرا یک agent تصمیم خاصی گرفته است.

فریم‌ورک‌هایی مانند LangChain یا CrewAI هر ماه تغییر می‌کنند. فریم‌ورک اهمیت کمتری نسبت به الگوها دارد. برای موفقیت از این الگوها استفاده کنید:

  • برنامه‌ریزی و سپس اجرا: از یک مرحله برای ایجاد برنامه و از مرحله‌ای مجزا برای دنبال کردن آن استفاده کنید.
  • جداسازی بازیابی از استدلال: واکشی context وظیفه‌ای متفاوت از استفاده از آن است.
  • تحویل صریح (Explicit handoffs): هنگام انتقال کار از یک agent به agent دیگر، از لاگ‌های ساختاریافته استفاده کنید.

RAG یک استاندارد است، اما اکثر افراد در chunking شکست می‌خورند. اگر متن را به درستی تقسیم نکنید، مدل context را از دست می‌دهد و دچار hallucination می‌شود. اگر نتایج شما بی‌فایده است، قبل از سرزنش کردن مدل، استراتژی‌های metadata و chunking خود را بررسی کنید.

چالش، دنبال کردن benchmarkها نیست. چالش، ساخت سیستم‌هایی است که بتوانید وقتی نظارتی ندارید، به کار کردن آن‌ها اعتماد کنید. بر governance، observability و استفاده قابل اعتماد از ابزارها تمرکز کنید.

بهترین مهندسان بر طراحی سیستم تمرکز خواهند کرد، نه فقط prompt engineering. سیستم‌هایی بسازید که افراد دیگر بتوانند آن‌ها را نگهداری کنند.

منبع: https://dev.to/aibughunter/the-exact-stack-i-use-to-build-production-ai-agents-no-fluff-2lmp