منطق ایجنت‌ها › M2 — حل مسئله و طراحی راه‌حل ⭐
۲.۷ پایدار تدریسی ~۳۵ دقیقه

Context engineering

قبل از این فصل: فصل ۲.۶

در یک نگاه

۲.۷.۱

تفاوتش با prompt engineering

در فصل قبل یاد گرفتی چطور بخواهی. این فصل درباره‌ی چیز دیگری است: چه چیزی در دسترسش باشد وقتی می‌خواهد انجامش دهد.

تعریف رسمی‌شان این تفاوت را دقیق می‌گوید: prompt engineering یعنی نوشتن و سازمان‌دادنِ دستورها. اما context engineering یعنی انتخاب و نگه‌داشتنِ بهترین مجموعه‌ی اطلاعاتی که در طول کار جلوی مدل است — شاملِ هر چیزی که بیرون از خودِ prompt هم آنجا می‌نشیند.

و تفاوت کلیدی: prompt engineering درباره‌ی یک درخواست است؛ context engineering درباره‌ی کلِ وضعیتِ اطلاعاتی که در طول چند دور تغییر می‌کند.

یعنی این فصل ادامه‌ی مستقیم فصل ۱.۳ است: آنجا فهمیدی context چیست و چرا خراب می‌شود؛ اینجا یاد می‌گیری چطور مدیریتش کنی.

prompt engineering یک درخواست، در یک لحظه آنچه تایپ می‌کنی چطور بخواهی context engineering کل وضعیت، در طول چند دور درخواست فایل‌ها قانون گفت‌وگو نتیجه‌ی ابزارها ابزارها چه چیزی جلوی چشمش باشد درخواست فقط یکی از تکه‌هاست — و معمولاً کوچک‌ترینشان. بقیه را هم تو تعیین می‌کنی، حتی وقتی حواست نیست.
prompt در برابر context. سمت راست یک تکه است؛ سمت چپ همه‌ی تکه‌ها.
۲.۷.۲

چه بدهیم، چه ندهیم

قاعده‌ی مرکزی این فصل، مستقیم از منبع رسمی:

کوچک‌ترین مجموعه‌ی ممکن از اطلاعاتِ پرسیگنال ← که احتمال رسیدن به نتیجه‌ی دلخواه را بیشترین کند

دو کلمه‌ی کلیدی: کوچک‌ترین و پرسیگنال. نه بیشترین، و نه هر چیزی که مرتبط به نظر می‌رسد.

دلیلش را در فصل ۱.۳ دیدی: مدل «بودجه‌ی توجه» محدودی دارد و با بزرگ‌شدن context کیفیتش افت می‌کند. پس هر تکه‌ی بی‌ربطی که اضافه می‌کنی، فقط جا نمی‌گیرد — توجه را از تکه‌های مهم می‌دزدد.

سه سؤال برای هر چیزی که می‌خواهی بدهی:

۲.۷.۳

دادن فایل به‌عنوان context

وقتی فایلی می‌دهی، در واقع داری کل محتوایش را وارد context می‌کنی — و تا آخر آن session آنجا می‌ماند.

سه راهبرد، به ترتیب اولویت:

و یک اشتباه رایج: دادن یک PDF بلند «برای اینکه بداند موضوع چیست». معمولاً یک خلاصه‌ی سه‌خطی که خودت نوشته‌ای، از صد صفحه‌ی خام مفیدتر است.

۲.۷.۴

فایل قانون به‌عنوان context همیشگی

در فصل ۱.۴ فایل قانون را دیدی: فایلی که در شروع هر session خودکار خوانده می‌شود. حالا از زاویه‌ی context نگاهش کن.

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

معیار ساده: اگر چیزی را در ۹ کار از ۱۰ کار لازم داری، در فایل قانون. اگر در ۲ کار از ۱۰، همان دو بار دستی بگو.

و این توضیح می‌دهد چرا توصیه‌ی رسمی کوتاه‌نگه‌داشتن آن است (فصل ۱.۴): فایل قانونِ بلند، هم جا می‌گیرد و هم — چون طولانی است — کمتر رعایت می‌شود.

۲.۷.۵

شکستن کار برای صرفه‌ی context

اینجا سه فصل به هم می‌رسند. در ۲.۵ کار را شکستی تا بتوانی بازبینی کنی. حالا یک دلیل دوم: هر مرحله‌ی جدا، context تازه‌ای دارد.

مقایسه کن:

در حالت دوم، هر مرحله با یک context کوچک و مرتب کار می‌کند. این هم ارزان‌تر است، هم دقیق‌تر — و این دقیقاً همان «کوچک‌ترین مجموعه‌ی پرسیگنال» است، فقط در مقیاس یک جریان کار.

۲.۷.۶

نشانه‌های اینکه context خراب شده

نشانه‌های افت را در فصل ۱.۳ دیدی. اینجا نشانه‌هایی که مخصوصِ بد انتخاب‌کردن context‌اند:

و درمانِ هر چهارتا یکی است و برخلاف غریزه است: کمتر بده، نه بیشتر. session تازه، فقط با آن چیزی که واقعاً لازم است.

نکته‌ی طلایی وقتی نتیجه بد بود، قبل از اینکه توضیحت را بلندتر کنی، یک بار برعکسش را امتحان کن: یک session تازه با نصفِ چیزی که قبلاً داده بودی. اگر بهتر شد، مشکل کمبود context نبود — شلوغی‌اش بود.
ضدالگو انباشتن فایل قانون با هر چیزی که «شاید لازم شود». آن فایل هزینه‌اش را در هر session می‌دهی، حتی وقتی هیچ ربطی به کار امروزت ندارد. فایل قانونِ بلند، دستورهای واقعاً مهمش را لای نویز خودش گم می‌کند.

تمرین (فکری)

برای همان کاری که در ۲.۴ برایش spec نوشتی، فهرست «می‌دهم / نمی‌دهم» بنویس — با دلیل هرکدام.

برای هر چیزی که در ستون «می‌دهم» گذاشتی، هر سه سؤال بخش ۲.۷.۲ را رویش بگذار. و برای هر چیزی که می‌دهی، مشخص کن چطور می‌دهی: کل فایل، تکه‌ای، یا اینکه بگذاری خودش بخواند.

پاسخنامه — یک نمونه‌ی خوب را ببین

می‌دهم: فایل CSV این هفته — ولی نمی‌چسبانم؛ می‌گویم خودت بخوانش، چون هم کوتاه‌تر است هم اگر لازم شد دوباره می‌خواند · توضیح ستون‌ها (سه خط، چون اسم ستون‌ها گویا نیستند و خودش نمی‌فهمد) · نمونه‌ی خروجی هفته‌ی قبل (تا قالب را بداند).

نمی‌دهم: فایل‌های هفته‌های قبل (سؤال اول: اگر ندهم بدتر می‌شود؟ نه) · فایل مشتریان (سؤال سوم: داده‌ی شخصی، و لازم هم نیست) · تاریخچه‌ی ایمیل‌ها (بی‌ربط، فقط context را شلوغ می‌کند).

فایل قانون: «جواب‌ها کوتاه، عددها با ذکر منبع» — چون در هر کاری لازمش دارم. هر بار می‌گویم: توضیح ستون‌ها، چون مالِ همین یک فایل است.

چرا این جواب خوب است: بین «دادن» و «گذاشتن که خودش بخواند» فرق گذاشته، و تفکیک فایل قانون از دستور موردی با معیار «۹ از ۱۰» انجام شده.

برای عمق بیشتر

ذخیره شد