spinny:~/writing $ vim context-engineering-agents.md
1~2کلمه لحظه، در دنیای کوچک عوامل هوش مصنوعی، مهندسی زمینه است.3~4به نظر می رسد یک برچسب دیگر برای فروش چیزی که قبلاً انجام داده بودیم اختراع شده است. تا حدی همینطور است. با این حال، همانطور که اغلب اتفاق میافتد، این برچسب به دلیل اینکه نامی برای درد واقعی میدهد به چشم میخورد.5~6درد این است: مدل ها فقط به این دلیل که «فکر نمی کنند» شکست نمی خورند. آنها اغلب شکست می خورند زیرا ما آنها را با اتاق اشتباهی برای کار می فرستیم.7~8دستورات قدیمی را به آنها می دهیم. ما فایل های مهم را از او مخفی می کنیم. ما اسنادی را به آنها منتقل می کنیم که خیلی طولانی هستند و نمی گویند چه چیزی مهم است. ما لاگ ها را بدون اولویت به آنها نشان می دهیم. ما ده ابزار را بدون توضیح زمان استفاده از آنها به آنها می دهیم. سپس تعجب می کنیم اگر مامور مانند فردی که در یک آپارتمان ناشناس از خواب بیدار شده است حرکت کند.9~10اعلان عبارتی است که به آن می گویید. زمینه دنیایی است که شما در اطراف آن آماده می کنید.11~12## از مهندسی سریع تا مهندسی زمینه13~14مهندسی سریع اغلب به عنوان نوشتن در نظر گرفته می شد. کلمات مناسب را انتخاب کنید، به روش درست بپرسید، مثال اضافه کنید، قالب را مشخص کنید.15~16مهندسی زمینه به معماری نزدیکتر است.17~18شما فقط نمیپرسید "چگونه درخواست را تنظیم کنم؟" می پرسد:19~20- واقعاً چه اطلاعاتی لازم است؟21- نویز چیست؟22- چه چیزی باید در پرواز بازیابی شود؟23- چه چیزی را باید به خاطر بسپارید؟24- چه ابزارهایی باید در معرض دید قرار گیرند؟25- کدام دستورالعمل ها پایدار هستند و کدام به کار بستگی دارد؟26- چگونه به نماینده بفهمانم که چه چیزی معتبر است؟27~28این یک تغییر ظریف اما بزرگ است. زیرا وقتی با عامل ها کار می کنید، زمینه یک بلوک ثابت نیست. در هر مرحله تغییر می کند.29~30عامل یک فایل را باز می کند، چیزی یاد می گیرد، یک آزمایش اجرا می کند، یک خطا دریافت می کند، برنامه را به روز می کند، یک ابزار را فراخوانی می کند، یک وابستگی را کشف می کند. در هر دور او باید تصمیم بگیرد که چه چیزی را با خود ببرد و چه چیزی را کنار بگذارد.31~32این مهندسی است.33~34## بافت محل دفن زباله نیست35~36قالبهایی با پنجرههای زمینه بزرگ به ما وسوسه میکردند: بیایید همه چیز را به داخل بیندازیم.37~38قابل درک است. اگر یک میلیون توکن دارم، چرا باید انتخاب کنم؟39~40زیرا حتی زمانی که می توانید همه چیز را وارد کنید، به این معنی نیست که همه چیز کمک می کند. در واقع سر و صدا هزینه دارد. هزینه توکن، هزینه توجه، هزینه تأخیر، هزینه کیفیت دارد. وقتی بیست برگه را باز می کنیم، یک مدل می تواند مانند ما در جزئیات بی ربط گم شود و دیگر دلیلش را به خاطر نیاوریم.41~42زمینه خوب یک سلسله مراتب دارد:43~441. دستورالعمل ها و سیاست های سیستم.452. هدف خاص;463. وضعیت فعلی.474. داده های مربوطه.485. محدودیت ها;496. ابزار موجود.507. تصمیماتی که قبلا گرفته شده را پیگیری کنید.51~52نیازی به درمان همه چیز در یک سطح نیست. یک دستور کاربر بیشتر از یک یادداشت قدیمی ارزش دارد. یک آزمون ناموفق اکنون ارزشی بیش از یک اولویت زیبایی شناختی از سه ماه پیش دارد. یک سیاست امنیتی بیشتر از یک میانبر تولید ارزش دارد.53~54مهندسی زمینه همچنین به معنای دادن وزن است، نه فقط داده.55~56## حافظه: کمتر به خاطر بسپارید، بهتر به خاطر بسپارید57~58حافظه در عوامل یکی از لغزنده ترین موضوعات است.59~60به عنوان یک کاربر، می خواهید نماینده شما را بشناسد. شما می خواهید که او لحن، برنامه، کنوانسیون ها، چیزهایی که از قبل تصمیم گرفته شده را به خاطر بسپارد. بهعنوان یک مهندس، میدانید که هر خاطره ماندگاری نیز یک خطر است: ممکن است اشتباه، قدیمی، بیش از حد شخصی، بیش از حد عمومی و غیرقابل تأیید باشد.61~62یک حافظه مفید باید حداقل سه ویژگی داشته باشد:63~64- منشأ: این اطلاعات از کجا آمده است؟65- date: کی درست بود؟66- هدف: برای چه نوع کاری باید از آن استفاده کرد؟67~68بدون این سه چیز، حافظه تبدیل به خرافه می شود.69~70من دوست دارم به حافظه عامل به عنوان یک کتاب کار فکر کنم، نه به عنوان یک ذهن جادویی. یادداشت های موقت، تصمیمات تایید شده، ترجیحات سبک، محدودیت های فنی، پیوندهایی به منابع وجود دارد. برخی چیزها منقضی می شوند. برخی باید بازنویسی شوند. برخی باید حذف شوند زیرا عامل به اشتباه آنها را استنباط کرده است.71~72یک سیستم خوب باید این نگهداری را عادی کند. قهرمانانه نیست73~74## بازیابی و ابزار یکسان نیستند75~76وقتی در مورد زمینه صحبت می کنیم، اغلب بلافاصله در RAG قرار می گیریم. جاسازی، پایگاه داده برداری، تکه تکه کردن، رتبه بندی مجدد.77~78همه مفید. اما بازیابی تنها یک راه برای آوردن اطلاعات به مدل است. او تنها نیست.79~80یک عامل می تواند با خواندن فایل ها، پرس و جو از یک API، فراخوانی یک سرور MCP، باز کردن یک مرورگر، اجرای آزمایش ها، جستجوی Slack، نگاه کردن به داشبورد، پرسش از انسان، زمینه را دریافت کند.81~82بخش جالب این است که تصمیم بگیرید از کدام مسیر و چه زمانی استفاده کنید.83~84اگر عامل نیاز به پاسخ به یک سوال تاریخی داشته باشد، شاید فقط بازیابی کافی باشد. اگر او باید یک باگ را برطرف کند، باید کد واقعی را بخواند. اگر او نیاز به درک دلیل شکست استقرار دارد، باید به گزارشهای تازه نگاه کند. اگر نیاز دارید برای مشتری نامه بنویسید، باید لحن، تاریخچه و وضعیت بلیط را بازیابی کنید. اگر باید در تولید اقدام کند، باید اجازه بگیرد.85~86متن یک پایگاه داده نیست. این یک گردش کار است.87~88## نماینده خوب هم می داند چگونه نادیده بگیرد89~90نشانه بلوغ در کارگزاران، توانایی گفتن: من به این اطلاعات نیازی ندارم.91~92پیش پا افتاده به نظر می رسد، اما بسیار دشوار است. بسیاری از سیستم های عاملی انباشته می شوند. هر تماس ابزار متنی را اضافه می کند. هر خطایی در بافر باقی می ماند. هر فایل خوانده شده به پشته اضافه می شود. در نهایت این مدل دارای تاریخچه بسیار طولانی و بدون نقشه است.93~94فشرده سازی مورد نیاز است. سنتز متوسط مورد نیاز است. نیاز به ساختار دارد.95~96نه "این همه اتفاق افتاد"، بلکه:97~98- هدف هنوز معتبر است.99- فرضیه فعلی؛100- فایل ها قبلا بررسی شده اند.101- تصمیمات اتخاذ شده؛102- خطرات باز؛103- اقدام بعدی104~105این باعث می شود که نماینده کمتر نمایشی و مفیدتر باشد. نه به این دلیل که او باهوش تر به نظر می رسد، بلکه به این دلیل که با یک میز مرتب کار می کند.106~107## مهندسی زمینه برای تیم ها، نه برای هنرمندان سریع108~109دلیل اینکه این موضوع برای من جالب است این است که مسئولیت را از فرد به سیستم منتقل می کند.110~111در مهندسی سریع، کسی که می تواند به بهترین شکل با مدل صحبت کند اغلب برنده می شود. در مهندسی زمینه، تیمی که به بهترین شکل کار خود را سازماندهی می کند برنده می شود: اسناد، قراردادها، مسائل، گزارش ها، آزمایش ها، مالکیت، نامگذاری، منابع.112~113یک مخزن تمیز به زمینه بهتری تبدیل می شود. یک موضوع خوب نوشته شده سوخت بهتری می شود. یک Runbook به روز شده، نشانه ها و اضطراب را ذخیره می کند. تغییرات واضح توهمات را کاهش می دهد.114~115این خبر خوب و تا حدودی ناراحت کننده است. زیبا است زیرا به اعمال خوب پاداش می دهد. ناخوشایند است زیرا نمی توانید همه چیز را با یک دستور هوشمندانه حل کنید.116~117عوامل بهداشت سیستمی را که پیدا می کنند تقویت می کنند.118~119## چگونه فردا آن را اعمال کنم120~121اگر بخواهم مهندسی زمینه را در یک پروژه واقعی معرفی کنم، از چیزهای کوچک شروع می کنم:122~123- یک فایل دستورالعمل پروژه کوتاه و نگهداری شده؛124- نمونه های خوبی از خروجی مورد انتظار.125- فهرستی از ابزارهای موجود و مواردی که در آنها می توان از آنها استفاده کرد.126- تصمیمات معماری به شیوه ای قابل استناد نوشته شده است.127- موضوع با حداقل زمینه اجباری؛128- آسان برای بازیابی سیاهههای مربوط و آزمایش.129- حافظه پایدار قابل تغییر توسط انسان.130~131سپس من یک چیز ساده را اندازه میگیرم: نماینده چند بار باید توضیح بخواهد یا در جهت اشتباه برود؟132~133اگر اغلب اتفاق می افتد، من فوراً یک مدل بزرگتر اضافه نمی کنم. من به زمینه نگاه خواهم کرد.134~135## خواندن من136~137مهندسی زمینه کمی کلمه پف کرده است، بله. اما مفهوم درست است.138~139این به ما یادآوری می کند که هوش یک عامل فقط در مدل نیست. این در محیطی است که ما برای او آماده می کنیم: آنچه می بیند، آنچه را که به خاطر می آورد، آنچه می تواند انجام دهد، کارهایی که از انجام آن منع شده است، منابعی را که او درست تشخیص می دهد.140~141بخش انسانی این است: آماده کردن زمینه به خوبی نوعی مراقبت است. این به نماینده و همچنین تیم می گوید: "من نمی خواهم شما حدس بزنید، می خواهم آنچه را که نیاز دارید داشته باشید."142~143جادوی کمتر اتاق تمیزتر نمایندگان به اندازه ما به آن نیاز دارند.144~145## منابع146~147- [وبلاگ LangChain: ظهور مهندسی زمینه] (https://blog.langchain.com/the-rise-of-context-engineering/)148- [Simon Willison: Context Engineering](https://simonwillison.net/2025/Jun/27/context-engineering/)149- [Model Context Protocol: Introduction](https://modelcontextprotocol.io/introduction)150- [Anthropic: Building موثر عوامل] (https://www.anthropic.com/engineering/building-effective-agents)151- [OpenAI: ابزارهای جدید برای عوامل ساخت](https://openai.com/index/new-tools-for-building-agents/)152~
NORMAL · context-engineering-agents.md [readonly]152 lines · :q to close