تیپ #۱۰

خطای ابزار را طوری برگردان که مدل از آن یاد بگیرد

وقتی ابزار فقط یک خطای مبهم مثل «500» برمی‌گرداند، مدل چاره‌ای جز تکرار همان فراخوانی ندارد و در حلقه می‌افتد. خطا را ساخت‌یافته برگردان: کد خطا، فیلد مشکل‌دار، دلیل شکست و مقادیر مجاز. مثلاً به‌جای پیام خالی، فیلدی مثل expected با قالب درست تاریخ و یک پرچم retryable بفرست 🍎 تا مدل آن را مثل یک دستور بخواند و در نوبت بعد خودش اصلاح کند. خطاهای پایدار را هم صریح غیرقابل‌تکرار علامت بزن تا ایجنت بی‌دلیل تلاش مجدد نکند.

توضیح کامل‌تر

در ساخت ایجنت‌ها، خروجی ابزار تن‌ها منبع حقیقتی است که مدل در اختیار دارد؛ پس کیفیت پیام خطا مستقیماً روی توانایی خودتصحیحی مدل اثر می‌گذارد. یک پیام خطای خوب سه چیز دارد: چه چیزی شکست خورد، چرا شکست خورد، و قدم بعدی چیست. وقتی این اطلاعات در متن خطا نباشد، مدل یا همان فراخوانی را بی‌هدف تکرار می‌کند یا با حدس و گمان پارامترها را عوض می‌کند و در بدترین حالت موفقیت را توهم می‌کند. تجربه نشان می‌دهد افزودن فیلدهای ساخت‌یافته مثل کد خطا، نام فیلد، مقدار دریافتی، مقدار مورد انتظار و پرچم retryable، نرخ حل موفق را در چند نوبت بالا می‌برد و مصرف توکن را کم می‌کند. یک مثال ساده: اگر ابزار جست‌وجو بازه تاریخ نامعتبر بگیرد، به‌جای «bad request» بنویس که قالب درست ISO 8601 است و یک نمونه هم بده. نکته مهم دیگر تفکیک خطاهای گذرا از خطاهای پایدار است تا ایجنت برای خطای احراز هویت یا ورودی نامعتبر وارد حلقه بی‌پایان نشود. پیام خطا را کوتاه نگه دار هم، چون هر کلمه اضافه در هر نوبت دوباره به context اضافه می‌شود و هم هزینه و هم شلوغی می‌سازد.

نکته پیشرفته
← بازگشت به همهٔ نکته‌های روز