در یک شرکت نرمافزاری کوچک در تهران، روال کار این شده است: توسعهدهندهٔ جوان تیم، اسکلت یک تابع را از مدل میگیرد، تحویل میدهد، و سرپرست تیم آن را میخواند و برمیگرداند. بار اول مینویسد «حالت لیست خالی را ندیدهای». بار دوم مینویسد «حالا درست است، اما پیچیدگیاش خطی شده؛ باید ثابت باشد». بار سوم مینویسد «خوب است، فقط نوع ورودی را اعلام کن». بار چهارم چیزی نمینویسد و کد میرود روی شاخهٔ اصلی. کل ماجرا بیست دقیقه طول کشیده و هیچکس هم آن را «فرایند» نمینامد؛ صرفاً کار است.
اما همین بیست دقیقه، دقیقاً ساختار یکی از الگوهای رسمی ایجنت در کوکبوک آنتروپیک است: الگوی ارزیاب-بهینهساز. یک مدل مینویسد، مدل دیگری فقط نمره میدهد و ایراد میگیرد، و این رفتوبرگشت تا وقتی ادامه پیدا میکند که ارزیاب بگوید «قبول». نکتهٔ مهم این است که شما در این الگو دنبال پرامپت بهتر نیستید؛ دنبال حلقهای هستید که کیفیت را از بیرونِ یک تولید واحد بیرون بکشد. این درس، همان حلقه را از صفر میسازد.
لیست مطالب
آنچه در این درس یاد میگیرید
- تفاوت حلقهٔ ارزیاب-بهینهساز با زنجیرهٔ خطی و موازیسازی، و اینکه کجا هزینهٔ این رفتوبرگشت را باید پرداخت
- چرا جدا کردن نقش تولیدکننده از نقش ارزیاب، شرط اول کار کردن این الگوست و ادغامشان چه چیزی را خراب میکند
- قرارداد خروجی با برچسبهای ساختاریافته و سه وضعیت قبول، نیازمند بهبود و رد
- نقش حافظهٔ تلاشهای قبلی در جلوگیری از دور زدن مدل روی یک اشتباه تکراری
- کد کامل حلقه بههمراه پرامپت فارسی آمادهٔ کپی برای ارزیاب و تولیدکننده
- محافظهای عملیاتی: سقف دور، کنترل هزینه، تشخیص نوسان و معیار بیرونی
- مرزهای الگو؛ جایی که این حلقه نهتنها کمک نمیکند، بلکه ضرر میزند

چرا حلقه، و نه یک پرامپت بهتر
در سه الگوی پایهٔ گردشکار چندمدلی دیدیم که کارها را میشود زنجیروار پشت هم چید یا موازی اجرا کرد و نتیجهها را کنار هم گذاشت. هر دو الگو یک ویژگی مشترک دارند: مسیر از پیش معلوم است. شما میدانید چند مرحله جلو میروید و هر مرحله چه میکند. الگوی ارزیاب-بهینهساز دقیقاً همینجا متفاوت است؛ تعداد مراحلش را کیفیت خروجی تعیین میکند، نه طراح. اگر تولید اول بهقدر کافی خوب باشد، حلقه در همان دور اول تمام میشود؛ اگر نباشد، پنج دور میچرخد.
سوال درست این نیست که «چرا پرامپت را بهتر ننویسیم». پرامپت بهتر، میانگین کیفیت را بالا میبرد اما کف را تضمین نمیکند. حلقه کار دیگری میکند: کف کیفیت را به یک معیار صریح گره میزند و اجازه نمیدهد خروجیای که آن معیار را رد میکند، از سیستم بیرون برود. به بیان ساده، پرامپت بهتر «شانس» را بالا میبرد و حلقه «شرط» میگذارد.
کوکبوک آنتروپیک دو نشانهٔ روشن برای مناسببودن این الگو میدهد: اول اینکه معیار ارزیابی روشنی وجود داشته باشد، و دوم اینکه خروجی مدل با بازخورد واقعاً بهتر شود. نشانهٔ دوم را دستکم نگیرید؛ اگر با گفتن ایراد، خروجی بهتر نمیشود، حلقه فقط هزینهای است که اضافه کردهاید.
دو نقش که نباید یکی شوند
در این الگو دو فراخوانی مدل داریم با دو وظیفهٔ کاملاً جدا. تولیدکننده وظیفه دارد راهحل بدهد و اگر بازخوردی از دورهای قبل هست، روی آن فکر کند. ارزیاب وظیفه دارد فقط قضاوت کند. جملهٔ کلیدی پرامپت ارزیاب در کوکبوک رسمی همین است: «تو فقط ارزیابی میکنی و نباید تلاش کنی خودت مسئله را حل کنی».
چرا این قید تا این حد مهم است؟ چون مدلی که همزمان قاضی و متهم باشد، بهسرعت به بازخورد تعارفی میرسد. اگر ارزیاب اجازه داشته باشد راهحل پیشنهاد دهد، عملاً دارد تولید میکند و آنچه به تولیدکننده برمیگردد دیگر «ایراد» نیست، «نسخهٔ دوم» است. آنوقت حلقه دو تولیدکننده دارد و هیچ داوری. تفکیک نقشها، همان چیزی است که این الگو را از یک چت ساده جدا میکند.
قرارداد خروجی: برچسبها و سه وضعیت
برای اینکه حلقه بتواند تصمیم بگیرد، خروجی هر دو نقش باید ماشینخوان باشد. کوکبوک از برچسبهای سادهای استفاده میکند که با یک عبارت منظم قابل استخراجاند. تولیدکننده دو بخش میدهد: بخش فکر و بخش پاسخ. ارزیاب هم دو بخش میدهد: وضعیت و بازخورد. وضعیت یکی از این سه است: قبول، نیازمند بهبود، یا رد.
تا اینجا مقدمه بود. بخش اصلی این درس — نمونهها، پرامپتهای آماده و تمرینها — برای اعضای ویژه باز میشود.
الگوی ارزیاب-بهینهساز؛ وقتی یک مدل مینویسد و مدل دیگر نمره میدهد
برای دیدن این بخش باید عضو ویژه (VIP) باشی. با شمارهٔ موبایلت وارد شو تا ۱۴ روز دسترسی رایگان فعال شود.
🎁 ورود / ثبتنام و شروع ۱۴ روز رایگان