به محتوای اصلی بروید

مبانی

فراخوانی ابزار در هوش مصنوعی واقعاً چگونه کار می‌کند؟

مدلی که ابزاری را فرامی‌خواند هرگز خودش چیزی اجرا نمی‌کند — نامی و آرگومان‌هایی پیشنهاد می‌دهد، و اپلیکیشن شما تصمیم می‌گیرد که آیا آن فراخوانی را اجرا کند یا نه. چرخهٔ درخواست-پاسخ چگونه کار می‌کند، و چرا پیشنهاد یک حدس است، نه یک تضمین.

همهٔ توضیح‌ها · آخرین بازبینی:

به مدل یک منو داده می‌شود، نه یک صفحه‌کلید

پیش از ارسال یک درخواست، اپلیکیشن ابزارهای موجود را برای مدل توصیف می‌کند: یک نام، توضیحی از کاری که هر ابزار انجام می‌دهد، و یک طرح‌واره برای آرگومان‌های مورد انتظار. مدل کد کارکردی یا اتصال زنده به چیزی دریافت نمی‌کند — یک توصیف دریافت می‌کند، درست مثل کسی که منویی را می‌خواند بدون اینکه به آشپزخانه دسترسی داشته باشد.

مدل هرگز خودش چیزی اجرا نمی‌کند

وقتی مدل تصمیم می‌گیرد یک ابزار کمک می‌کند، خروجی ساخت‌یافته‌ای تولید می‌کند — معمولاً نام یک ابزار و مجموعه‌ای از آرگومان‌ها — و همان‌جا متوقف می‌شود. هنوز چیزی جست‌وجو، فراخوانی یا تغییر داده نشده است. اپلیکیشنی که درخواست را فرستاده آن خروجی ساخت‌یافته را می‌خواند، تصمیم می‌گیرد که آیا بر اساس آن عمل کند، و در صورت مثبت بودن، تابع واقعی یا فراخوانی API را روی زیرساخت خودش اجرا می‌کند.

یک تبادل کامل یک چرخه است، نه یک گام واحد

توالی معمول چنین است: اپلیکیشن یک پرامپت به‌همراه فهرست ابزارهای موجود می‌فرستد؛ مدل یا با یک پاسخ یا با یک فراخوانی ابزار پیشنهادی پاسخ می‌دهد؛ اگر فراخوانی ابزار باشد، اپلیکیشن آن را اجرا می‌کند و نتیجه را به‌عنوان بخشی از گفت‌وگو بازمی‌گرداند؛ سپس مدل ادامه می‌دهد و اغلب پاسخی نهایی تولید می‌کند که از آن نتیجه استفاده می‌کند. وظایف چندمرحله‌ای می‌توانند این چرخه را چندین بار پیش از رسیدن پاسخ به کاربر تکرار کنند.

یک فراخوانی پیشنهادی حدسی معقول است، نه لزوماً درست

یک مدل می‌تواند ابزار نادرستی پیشنهاد دهد، آرگومانی بسازد که هرگز در طرح‌واره نبوده، یا ابزاری را فراخوانی کند درحالی‌که اصلاً چیزی برای فراخوانی نبوده — همان تولید احتمالاتی که هر خروجی دیگری را می‌سازد، فراخوانی ابزار را هم می‌سازد. هیچ‌چیز در این سازوکار یک فراخوانی پیشنهادی را ذاتاً برای اجرا امن نمی‌کند. اپلیکیشنی که آرگومان‌ها را بدون بررسی در برابر طرح‌واره اجرا می‌کند، و بدون تعیین اینکه فراخوانی واقعاً به چه چیزی می‌تواند دسترسی داشته باشد، دسترسی واقعی را به یک حدس می‌سپارد.

طرح‌واره تنها رابطی است که مدل واقعاً می‌بیند

نام، توضیح و طرح‌وارهٔ آرگومان یک ابزار کل مشخصاتی است که مدل با آن کار می‌کند — راه دیگری برای دانستن اینکه یک ابزار چه می‌کند یا چگونه پارامترهای آن را درست پر کند، ندارد. همان تابع زیربنایی که واضح و دقیق توصیف شده باشد، معمولاً بسیار بیشتر از تابعی که مبهم توصیف شده یا با گزینه‌های بی‌ربط بسته‌بندی شده، درست فراخوانی می‌شود، چون مدل انتخاب و پرکردن آرگومان‌ها را فقط از روی همان توصیف انجام می‌دهد.

چرا این با درخواست نوشتن کد از مدل فرق دارد

درخواست از یک مدل برای تولید یک اسکریپت کارکردی و درخواست برای فراخوانی یک ابزار از پیش تعریف‌شده یک درخواست نیستند. یک فراخوانی ابزار به یک نام و آرگومان‌هایی محدود است که اپلیکیشن شما از پیش می‌داند چگونه با آن‌ها ایمن رفتار کند؛ کد تولیدشدهٔ آزاد می‌تواند هر کاری را که محیط اجرا اجازه می‌دهد امتحان کند، که مشکل امنیتی بزرگ‌تر و متفاوتی است. فراخوانی ابزار آنچه را مدل می‌تواند درخواست کند به مجموعه‌ای ثابت و قابل‌بازرسی از گزینه‌ها محدود می‌کند.

پرسش‌های پرتکرار

آیا مدل خودش ابزار را اجرا می‌کند؟
نه. مدل یک درخواست ساخت‌یافته تولید می‌کند که نام یک ابزار و آرگومان‌های آن را مشخص می‌کند. اپلیکیشنی که درخواست را فرستاده تصمیم می‌گیرد که آیا آن را اجرا کند، و تابع واقعی یا فراخوانی API روی زیرساخت خودِ اپلیکیشن اجرا می‌شود، نه درون مدل.
آیا مدل می‌تواند ابزاری را با آرگومان‌های ساختگی فراخوانی کند؟
بله. مدل می‌تواند مقداری بدهد که هرگز بخشی از طرح‌واره نبوده، یا برای آن ابزار معنایی ندارد، چون فراخوانی همان‌طور تولید می‌شود که هر خروجی دیگر تولید می‌شود. اعتبارسنجی آرگومان‌ها پیش از اجرای هر چیز واقعی مسئولیت اپلیکیشن است، نه چیزی که مدل تضمین کند.
اگر مدل ابزار نادرستی را فراخوانی کند چه اتفاقی می‌افتد؟
این کاملاً بستگی به نحوهٔ ساخته‌شدن اپلیکیشن دارد. یک اپلیکیشن خوب‌ساخته پیش از اجرای فراخوانی بررسی می‌کند که آیا منطقی است، و می‌تواند به‌جای عمل بر اساس یک درخواست نامتناسب، خطا یا نتیجه‌ای روشن‌کننده به مدل بازگرداند؛ اپلیکیشنی که ضعیف ساخته شده هر چه را دریافت کند اجرا می‌کند.
آیا فراخوانی ابزار همان عامل هوش مصنوعی (agent) است؟
نه، اما عامل‌ها معمولاً روی آن ساخته می‌شوند. فراخوانی ابزار سازوکار زیربنایی درخواست-پاسخ است؛ یک عامل معمولاً آن چرخه را چندین بار تکرار می‌کند، با منطقی اضافه که بر اساس هر نتیجه تصمیم می‌گیرد چه چیزی را بعد امتحان کند.

به‌جای خواندن، امتحانش کنید

ClawAI اتصال‌دهنده‌های فضای کار و اقدامات دیگر را در طول یک درخواست گفت‌وگو به‌عنوان ابزارهای قابل‌فراخوانی در اختیار مدل‌ها قرار می‌دهد؛ یک فراخوانی پیشنهادی پیش از آنکه ClawAI هر کاری روی یک اتصال‌دهندهٔ واقعی از طرف شما انجام دهد، در برابر طرح‌وارهٔ خود بررسی می‌شود.