ادعای ناسازگاری
شکایت مکرر درباره عاملهای LLM این است که بیثبات هستند: همان درخواست، دو بار وارد شده، دو تصمیم متفاوت تولید میکند. چارچوببندی تقریباً همیشه یکسان است — مدل نامطمئن است، نمونهگیری بیش از حد داغ است، پرامپت شکننده است. کار Concordance از CTGT دقیقاً به این دلیل مفید است که از این چارچوببندی امتناع میکند. مسیری را که عامل تا رسیدن به یک نتیجه طی میکند ردیابی میکند و میپرسد چرا دو اجرا واگرا شدند، نه اینکه ادعا کند واگرا شدند. پاسخ، بیشتر اوقات، این است که اجراها هرگز یک اجرا نبودند.
در انتهای دیگر زنجیره ابزار، هارنسهای سبک DeepEval امتیازدهی خروجی را در مقیاس روتین کردهاند. میتوانید مجموعهای از موارد را اجرا کنید، معیارها را پیوست کنید و نرخ قبولی بگیرید. آنچه این هارنسها بهتنهایی نمیتوانند انجام دهند، مکانیابی علت یک شکست است: امتیاز صفر در یک مورد به شما میگوید پاسخ اشتباه بود، نه اینکه کدام گام در مسیر خطا را وارد کرده است. شکاف بین ردیابی سبک Concordance و امتیازدهی سبک DeepEval شکافی در طراحی معیار نیست. شکافی در ثبت زمینه است. ابزار ردیابی میتواند واگرایی را توضیح دهد چون ورودیها را نگه میدارد؛ هارنس امتیازدهی واگرایی را گزارش میکند چون آنها را دور میریزد.
منابع واریانس پنهان
تصمیم یک عامل تابعی است از بسیار بیشتر از پیام کاربر. بین دو اجرا که از بیرون یکسان به نظر میرسند، همه موارد زیر میتوانند متفاوت باشند:

- زمینه بازیابیشده. جستجوی برداری مجموعهای رتبهبندیشده برمیگرداند که با بهروزرسانیهای ایندکس، نسخههای مدل embedding و شکستن تساویها تغییر میکند. دو اجرا ممکن است اسنادی با همپوشانی اما غیریکسان بازیابی کنند و مدل روی هر آنچه به آن داده شده استدلال میکند.
- پاسخهای ابزار. یک API آبوهوا، یک پرسوجوی پایگاه داده، یک فراخوانی جستجو — هر کدام داده زنده برمیگردانند. یک برچسب زمانی در بار داده ابزار، یک نشانگر صفحهبندی، یا یک مجموعه نتیجه بازچینیشده برای تغییر گام بعدی کافی است.
- ترتیب و برچسبهای زمانی. ترتیب پیامها در یک مکالمه طولانی، زمان ساعت دیواری تزریقشده به پرامپت سیستم، و ترتیبی که فراخوانیهای موازی ابزار حل میشوند همگی به پرامپت تغذیه میشوند.
- پارامترهای نمونهگیری. دما، top-p، seed و حداکثر توکنها اغلب بهازای هر محیط تنظیم میشوند و بهندرت همراه با پرامپتی که به آنها وابسته است نسخهگذاری میشوند.
- رانش مونتاژ پرامپت. پرامپتهای سیستم از قالبها، مثالهای few-shot و زمینه تزریقشده مونتاژ میشوند. استقراری که یک قطعه را تغییر میدهد، ورودی مؤثر را برای هر درخواست تغییر میدهد و هیچ چیز در امتیاز خروجی ثبت نمیکند که این اتفاق افتاده است.
نتیجه ناراحتکننده این است که بسیاری از «ورودیهای بهظاهر یکسان» پس از بررسی هارنس یکسان نیستند. عامل با توجه به ورودیهایش بهصورت قطعی رفتار میکند؛ ورودیها بهسادگی ثابت نگه داشته نمیشوند، یا ثبت نمیشوند، یا مقایسه نمیشوند. پوشش اخیر ارزیابی عامل مدام دور این نکته میچرخد — که واریانس جالب در خط لوله اطراف مدل زندگی میکند، نه فقط در خود مدل — و پیامد عملی این است که امتیازدهی خروجی بهتنهایی به اشتباه علت را نسبت میدهد.
قرارداد بازپخش
راهحل یک قرارداد است: هر تصمیم زمینه کافی برای بازپخش دقیق را ثبت میکند. بهطور مشخص، یک رکورد ردیابی باید حمل کند:
{
"run_id": "...",
"model": { "name": "...", "version": "...", "params": { "temperature": 0.0, "top_p": 1.0, "seed": 42 } },
"prompt": { "template_hash": "...", "assembled": "...", "fragments": ["..."] },
"retrieval": [
{ "doc_id": "...", "content_hash": "...", "score": 0.81, "rank": 1 }
],
"steps": [
{
"index": 0,
"tool": "search",
"args": { "query": "..." },
"response": { "...": "..." },
"response_hash": "..."
}
],
"output": "..."
}
پرامپت مونتاژشده عیناً در کنار هش قطعاتش ذخیره میشود، بنابراین تغییر قالب بدون diff کردن مگابایتها متن قابل تشخیص است. مجموعه بازیابی هش اسناد را حمل میکند، بنابراین ایندکس جابهجاشده قابل مشاهده است نه استنتاج. آرگومانها و پاسخهای ابزار در هر گام ثبت میشوند، که مسیر را به یک دنباله قابل بازپخش تبدیل میکند نه یک رشته پایانی.

با آن رکورد، بازپخش به یک آزمایش کنترلشده تبدیل میشود. ورودیها را ثابت کنید — همان پرامپت، همان مجموعه بازیابی، همان پاسخهای ابزار، همان نسخه مدل — و هر واگرایی باقیمانده واریانس مدل است. یک بُعد را در یک زمان آزاد کنید و میتوانید واگرایی را به بازیابی، به یک ابزار، یا به یک استقرار نسبت دهید. سپس امتیازدهی از پاسخ پایانی به مسیر حرکت میکند: هر گام مقایسه میشود و اولین نقطه واگرایی جایی است که بررسی شروع میشود. این تفاوت بین دانستن اینکه یک مورد شکست خورد و دانستن اینکه کدام تصمیم شکست خورد است.
مبادله واقعی است. ثبت کامل زمینه پرهزینه از نظر ذخیرهسازی است، مسیر نوشتن را کند میکند و تیمهایی را که در حال حاضر پرامپتها و پیکربندیهای بازیابی را بهعنوان متغیرهای محیطی در نظر میگیرند به انضباط وادار میکند. ثبت پاسخهای ابزار همچنین میتواند بارهای داده حساس را ثبت کند، که مستلزم حذف اطلاعات حساس در زمان نوشتن است نه در زمان تحلیل. هیچکدام از اینها رایگان نیست، و استودیویی که بازپخش را اتخاذ میکند باید انتظار داشته باشد قبل از دیدن سود، در سیاست نگهداری و حاکمیت طرحواره سرمایهگذاری کند. جایگزین — امتیازدهی خروجیهایی که نمیتوانید بازتولید کنید — به ازای هر اجرا ارزانتر و به ازای هر باگ گرانتر است.
آنچه این برای اپراتور به ارمغان میآورد
یک مورد شکستخورده قابل بازتولید میشود. بهجای یک اسکرینشات و خاطره مبهم از آنچه پرسیده شد، اپراتور ردیابی دارد که به همان پاسخ غلط بازپخش میشود، و یک diff که نشان میدهد کدام گام آن را وارد کرده است. بازتولیدپذیری پیششرط یک اصلاح است؛ بدون آن، اشکالزدایی حدس و گمان است.
هزینه ارزیابی قابل انتساب میشود. یک اجرای بازپخش در برابر ورودیهای ثابت، منطق تصمیم را بدون واکشی مجدد داده زنده یا اجرای مجدد بازیابی اکتشافی تمرین میکند. این کار اجرای مجموعههای رگرسیون را ارزانتر و استدلال دربارهشان را آسانتر میکند، زیرا هر اجرا یک چیز را آزمایش میکند نه کل خط لوله را. اجراهای اکتشافی تازه ارزشمند باقی میمانند، اما دیگر تنها گزینه نیستند.
سازگاری به یک ویژگی قابل اندازهگیری با یک خط پایه تبدیل میشود. بهجای برخورد با پایداری بهعنوان یک حکایت — «دیروز کار میکرد» — اپراتور میتواند نرخهای واگرایی را به ازای هر گام در استقرارها ردیابی کند و ببیند آیا تغییر پرامپت یا ارتقای مدل آنها را جابهجا کرده است. این همان تغییری است که رشتههای Concordance و DeepEval با هم به آن اشاره میکنند: زمینه را ردیابی کن، آن را تحت کنترل بازپخش کن، و مسیر را امتیاز بده. مدل بهندرت معماست. ورودیهای گمشده معما هستند.
