Hypermedia as the Engine of Application State: سبک طراحی API که منتظر هوش مصنوعی بود
شما احتمالاً دربارهی عوامل هوش مصنوعی (AI Agents) شنیدهاید. شاید همچنین با مفهوم هایپرمدیا به عنوان موتور وضعیت برنامه (HATEOAS) آشنا باشید، یکی از محدودیتها و سبکهای طراحی شناختهشدهی API در معماری REST.
اما آیا تا به حال به ارتباط میان HATEOAS و عوامل هوش مصنوعی فکر کردهاید؟
هایپرمدیا میتواند پاسخگوی بسیاری از چالشهای عوامل هوش مصنوعی باشد، بهویژه در زمینهی فراخوانی ابزارها، حفظ زمینه (Context) و مدیریت محیطهای اجرایی (Runtime).
در ادامه بررسی میکنیم که HATEOAS چگونه میتواند به عوامل هوش مصنوعی کمک کند تا بر این چالشها غلبه کنند.
HATEOAS چیست؟
HATEOAS یک محدودیت معماری در طراحی API است که معمولاً در APIهای هایپرمدیا به کار میرود و در بحثهای پیرامون تعریف دقیق REST نقش مهمی دارد.
این روش به توسعهدهندگان اجازه میدهد APIهایی خودتوصیفگر ایجاد کنند که در پاسخها شامل پیوندهای هایپرمدیا هستند و به کلاینتها امکان کشف مسیرهای جدید را بهصورت پویا میدهند. بنابراین، کلاینت نیازی به
دانستن تمام مسیرهای سختکدشده ندارد.
ساختار HATEOAS باعث ایجاد APIهایی انعطافپذیر و سازگار با نسخههای قبلی میشود. اما این مزیت با پیچیدگی در طراحی همراه است، زیرا توسعهدهنده باید روابط میان لینکها و منابع را در نظر بگیرد و پیوندهای لازم را
بهدرستی در پاسخها بگنجاند. همین موضوع موجب افزایش زمان طراحی API و مقاومت بسیاری از توسعهدهندگان در برابر استفاده از آن میشود.
فراخوانی ابزارها و حفظ زمینه: عناصر حیاتی برای عوامل خودگردان
پیش از بررسی ارتباط HATEOAS با عوامل هوش مصنوعی، لازم است دو مؤلفهی کلیدی در سامانههای خودگردان را توضیح دهیم: فراخوانی ابزارها (Tool Calling) و حفظ زمینه (Context Maintenance).
عوامل هوش مصنوعی بر اساس دانش زمینهای و استدلال خود تصمیمگیری میکنند. این قابلیت “استدلال” از مدلهای زبانی بزرگ (LLM) ناشی میشود و دانش زمینهای آنها از منابع مختلفی مانند دادههای پیشتمرینشده یا
ابزارهای خارجی مثل APIها و سرورهای MCP تأمین میگردد.
فراخوانی ابزار به این معناست که سیستم هوش مصنوعی بتواند بهصورت پویا به ابزارهای بیرونی دسترسی پیدا کند و از آنها برای انجام وظایف استفاده کند.
برای نمونه، یک سرور MCP ممکن است فهرستی از ابزارها شامل یک API آبوهوا را در اختیار مدل قرار دهد تا بتواند بهصورت خودکار اطلاعات مربوط به وضعیت جوی را استخراج کند.
برای آنکه یک عامل هوش مصنوعی واقعاً خودگردان باشد، مدل زبانی باید بتواند زمینه را در طول مکالمهها و اقدامات حفظ کند. همچنین لازم است درک کند هر ابزار در چه شرایطی و برای چه هدفی باید به کار رود.
سامانههای فعلی در انتخاب ابزارها، بهویژه زمانی که گزینههای زیادی وجود دارد یا توضیحات کافی ارائه نشده، دچار مشکل هستند.
نقش هایپرمدیا در حل چالشهای عوامل هوش مصنوعی
دو چالش اصلی در طراحی عوامل هوش مصنوعی عبارتاند از: فراخوانی ابزارها و حفظ زمینه.
چالش دیگر، مدیریت محیط اجرایی است، زیرا عوامل هوش مصنوعی ابزارها را در یک چرخهی پیوسته به کار میگیرند. هایپرمدیا میتواند به رفع این سه چالش کمک کند.
فراخوانی ابزار و حفظ زمینه:
هایپرمدیا امکان ارائهی زمینهی بهتر برای ابزارها در زمان اجرا را فراهم میکند.
دارل میلر، معمار API در مایکروسافت، گفته است:
“عاملهای هوش مصنوعی مشکل هایپرمدیا را حل نمیکنند، بلکه این هایپرمدیا است که مشکل انتخاب ابزار و حفظ مؤثر زمینه را برای آنها حل میکند.”
او توضیح میدهد که هایپرمدیا با انباشتن نتایج تصمیمات گذشته، دامنهی انتخاب ابزارهای مفید برای تعامل بعدی را محدود میکند.
کوین سویبر نیز بیان کرده است که رفتار ساختاری مدلهای زبانی و الگوهای فراخوانی ابزار، در واقع بازتولید همان الگوهای هایپرمدیاست.
او میگوید:
“من به مرحلهای رسیدهام که میتوانم APIهای هایپرمدیا را مستقیماً پیرامون عاملهای LLM بسازم.”
مدیریت محیطهای اجرایی
عاملهای هوش مصنوعی باید در زمان اجرا بفهمند که کدام APIها را میتوانند فراخوانی کنند. میلر اشاره میکند که همین حالا نیز این نوع فراخوانی در ارکستراتورهای هوش مصنوعی اتفاق میافتد:
“توصیفهای فراخوانی تابع در OpenAI در واقع همان ویژگیهای هایپرمدیا هستند که LLM برای انتخاب از آنها استفاده میکند.”
مایک آموندسن نیز چارچوبی به نام GRAIL (Goal-Resolution through Affordance-Informed Logic) ساخته است که استفاده از هایپرمدیا را در عاملهای هوش مصنوعی نشان میدهد.
او توضیح میدهد که GRAIL به عامل اجازه میدهد “اشتباه کند، بیاموزد و ادامه دهد” — بدون نیاز به دانستن اطلاعات قبلی در زمان اجرا.
آموندسن میگوید:
“امیدوارم چنین آزمایشهایی منجر به خلق ابزارهای کارآمدتر و محیطهای هایپرمدیای قابل اعتمادتر شود.”
در مجموع، هایپرمدیا میتواند چالشهای مربوط به فراخوانی ابزار، حفظ زمینه و مدیریت محیط اجرا را حل کند. اما برای بهرهگیری از آن، طراحان API باید رویکرد خود را بازاندیشی کنند.
طراحی API با در نظر گرفتن عاملهای هوش مصنوعی
با افزایش استفاده از عوامل هوش مصنوعی، توسعهدهندگان API باید تجربهی عاملها (Agent Experience) را نیز در نظر بگیرند. در اینجا HATEOAS نقش کلیدی ایفا میکند.
تون دانکر، معمار سامانه در شرکت Enexis Groep، میگوید:
“HATEOAS در عصر هوش مصنوعی دوباره اهمیت یافته است. چون وقتی عاملها به کاربران اصلی API تبدیل میشوند، توانایی API در توصیف خود از طریق پیوندهای هایپرمدیا حیاتی میشود.”
او اضافه میکند:
“با استفاده از لینکهای HATEOAS یا Arazzo میتوان تجربهی عامل را بهبود داد، ابهام را کاهش داد و فرایندهای چندمرحلهای را هدایت کرد.”
کوین دافی نیز میگوید:
“من واقعاً باور دارم HATEOAS فقط منتظر فناوری مناسب بود. اگر بیست سال پیش LLMها و پروتکلهایی مثل MCP را داشتیم، فلسفهی طراحی API بهکلی متفاوت میبود.”
او تصور میکند که اگر لینکهای HATEOAS با توضیحات زبانی طبیعی ترکیب شوند، عاملهای هوش مصنوعی میتوانند همانند مرورگرهای هوشمند، اهداف را شناسایی و مسیرها را بهطور خودکار پیمایش کنند.
کنترل بیشتر با APIهای HATEOAS
ارائهدهندگان API و صاحبان وبسایت نگران افزایش مصرف توسط عاملهای خودکار هستند. آنها میخواهند مانع از آن شوند که عاملها منابع را بیشازحد مصرف یا بهشکل غیرقابلکنترل استفاده کنند.
HATEOAS میتواند در این زمینه نیز راهحل باشد.
APIها میتوانند عاملهای هوش مصنوعی را از طریق پیوندهای هایپرمدیا هدایت کنند و نرخ دسترسی را بهصورت پویا تنظیم نمایند. به این ترتیب، تنها لینکهایی که در پاسخ API آمدهاند قابل پیگیری خواهند بود.
تام آکهورست، مدیر فنی WireMock، میگوید:
“HATEOAS مشابه تعامل انسان با وب است — دریافت منبع، بررسی لینکها، تصمیمگیری و انجام گام بعدی. عاملهای هوش مصنوعی نیز همین رفتار را دارند و HATEOAS میتواند آن را به شکلی کارآمد و قابلکنترل اجرا کند.”
HATEOAS: جلوتر از زمان خود
عاملهای هوش مصنوعی بیش از هر مصرفکنندهی دیگری از APIها انتظار دارند. آنها به APIهایی نیاز دارند که زمینهی معنایی، راهنمایی در اجرا و پشتیبانی از فراخوانی پویا را فراهم کنند.
HATEOAS تمام این ویژگیها را داراست.
این سبک طراحی API تنها منتظر فناوری مناسب بود — و آن فناوری، هوش مصنوعی است.
