مشکل از جایی شروع میشه که چند Agent همزمان درست عمل میکنن، اما نتیجهای که کنار هم میسازن اشتباهه.
یکی هزینه رو کم میکنه، یکی کیفیت رو بالا میبره، یکی سرعت انتشار رو بیشتر میکنه و یکی ریسک رو پایین نگه میداره. هیچکدوم لزوماً تصمیم بدی نگرفتن، اما چون هرکدوم فقط بخشی از مسئله رو میبینن، خروجی نهایی ممکنه نه سریع باشه، نه کمهزینه و نه حتی قابل انتشار.
این همان نقطهایه که داشتن یک Graph خوب دیگه کافی نیست.
گراف میتونه مشخص کنه چه Agentهایی وجود دارن، اطلاعات از چه مسیری بین اونها حرکت میکنه و هر مرحله به کدوم مرحله وابسته است. اما در یک سیستم واقعی، مسئله فقط عبور اطلاعات از یک Node به Node بعدی نیست. Agentها باید دائماً بین هدفهایی که با هم تضاد دارن، منابع محدودی که در اختیار دارن و شرایطی که وسط اجرا تغییر میکنه، تصمیم بگیرن.
فرض کنید یک تیم میخواد نسخه جدیدی از محصول رو منتشر کنه. Agent مربوط به Quality اعلام میکنه که چند Edge Case هنوز بررسی نشده، Agent مربوط به Business تأکید میکنه که تأخیر در انتشار میتونه یک قرارداد مهم رو به خطر بندازه، Agent امنیتی یک ریسک متوسط پیدا کرده و Agent پشتیبانی هم گزارش میده که نسخه فعلی باعث افزایش تیکتها شده است.
اینجا هیچ مسیر از پیش تعریفشدهای بهتنهایی جواب نمیده. سیستم باید تصمیم بگیره کدوم ریسک قابل قبولتره، کدوم کار باید متوقف بشه، چه بخشی میتونه بعداً اصلاح بشه و در چه نقطهای تصمیم باید به انسان واگذار بشه.
این مسئله دیگر طراحی جریان نیست؛ طراحی قواعد همکاری و تصمیمگیری است.
مهندسی هماهنگی دقیقاً روی همین بخش تمرکز میکنه. اینکه Agentها فقط خروجی تولید نکنن، بلکه بدونن چه زمانی باید صبر کنن، چه زمانی باید تصمیم خودشون رو اصلاح کنن، چه زمانی باید اطلاعات بیشتری درخواست کنن و چه زمانی باید به تصمیم یک Agent دیگر اولویت بدن.
در عمل، Coordination یعنی سیستم بدونه همه هدفها ارزش یکسانی ندارن. گاهی امنیت مهمتر از سرعت انتشار است، گاهی هزینه باید فدای کیفیت شود و گاهی هم بهترین تصمیم این است که سیستم بهجای ادامه دادن، متوقف شود و از انسان کمک بگیرد.
این تفاوت مهمیه، چون یک Graph معمولاً روابط بین اجزای سیستم رو نشان میده، اما Coordination مشخص میکنه این روابط در شرایط واقعی چطور اداره بشن. درست شبیه یک سازمان که داشتن چارت سازمانی بهتنهایی باعث همکاری درست تیمها نمیشه. چارت فقط میگه چه کسانی به هم مرتبط هستن؛ اما اولویتها، تعارضها، مسئولیت نهایی و نحوه تصمیمگیری باید جداگانه طراحی بشن.
به همین دلیل، هرچه سیستمهای Agentic پیچیدهتر میشن، مسئله اصلی کمتر به تعداد Agentها مربوط میشه و بیشتر به این برمیگرده که آیا این Agentها میتونن مثل یک سیستم واحد رفتار کنن یا نه.
ممکنه هر Agent بهتنهایی دقیق، سریع و قابل اعتماد باشه، اما اگر Context مشترکی وجود نداشته باشه، اگر مسئولیت تصمیم نهایی مشخص نباشه یا اگر چند Agent برای یک منبع محدود رقابت کنن، کیفیت کل سیستم از کیفیت تکتک اجزاش پایینتر میاد.
Coordination Engineering تلاش میکنه این فاصله رو کم کنه؛ فاصله بین «چند Agent خوب» و «یک سیستم خوب».
در نسل بعدی محصولات AI، احتمالاً تفاوت اصلی بین سیستمها فقط در مدل قویتر یا Graph پیچیدهتر نیست. تفاوت واقعی در اینه که سیستم چطور تعارضها رو حل میکنه، اولویتها رو تغییر میده، منابعش رو تقسیم میکنه و تشخیص میده چه زمانی نباید خودش تصمیم بگیره.
چون ساختن Agentی که یک کار را خوب انجام دهد، دیگر سختترین بخش مسئله نیست. سختترین بخش این است که چند Agent با هدفهای متفاوت بتوانند کنار هم یک تصمیم درست بگیرند.
کامنتها
…