spinny:~/writing $ less context-engineering-agents.md
12کلمه لحظه، در دنیای کوچک عوامل هوش مصنوعی، مهندسی زمینه است.34به نظر می رسد یک برچسب دیگر برای فروش چیزی که قبلاً انجام داده بودیم اختراع شده است. تا حدی همینطور است. با این حال، همانطور که اغلب اتفاق میافتد، این برچسب به دلیل اینکه نامی برای درد واقعی میدهد به چشم میخورد.56درد این است: مدل ها فقط به این دلیل که «فکر نمی کنند» شکست نمی خورند. آنها اغلب شکست می خورند زیرا ما آنها را با اتاق اشتباهی برای کار می فرستیم.78دستورات قدیمی را به آنها می دهیم. ما فایل های مهم را از او مخفی می کنیم. ما اسنادی را به آنها منتقل می کنیم که خیلی طولانی هستند و نمی گویند چه چیزی مهم است. ما لاگ ها را بدون اولویت به آنها نشان می دهیم. ما ده ابزار را بدون توضیح زمان استفاده از آنها به آنها می دهیم. سپس تعجب می کنیم اگر مامور مانند فردی که در یک آپارتمان ناشناس از خواب بیدار شده است حرکت کند.910اعلان عبارتی است که به آن می گویید. زمینه دنیایی است که شما در اطراف آن آماده می کنید.1112## از مهندسی سریع تا مهندسی زمینه1314مهندسی سریع اغلب به عنوان نوشتن در نظر گرفته می شد. کلمات مناسب را انتخاب کنید، به روش درست بپرسید، مثال اضافه کنید، قالب را مشخص کنید.1516مهندسی زمینه به معماری نزدیکتر است.1718شما فقط نمیپرسید "چگونه درخواست را تنظیم کنم؟" می پرسد:1920- واقعاً چه اطلاعاتی لازم است؟21- نویز چیست؟22- چه چیزی باید در پرواز بازیابی شود؟23- چه چیزی را باید به خاطر بسپارید؟24- چه ابزارهایی باید در معرض دید قرار گیرند؟25- کدام دستورالعمل ها پایدار هستند و کدام به کار بستگی دارد؟26- چگونه به نماینده بفهمانم که چه چیزی معتبر است؟2728این یک تغییر ظریف اما بزرگ است. زیرا وقتی با عامل ها کار می کنید، زمینه یک بلوک ثابت نیست. در هر مرحله تغییر می کند.2930عامل یک فایل را باز می کند، چیزی یاد می گیرد، یک آزمایش اجرا می کند، یک خطا دریافت می کند، برنامه را به روز می کند، یک ابزار را فراخوانی می کند، یک وابستگی را کشف می کند. در هر دور او باید تصمیم بگیرد که چه چیزی را با خود ببرد و چه چیزی را کنار بگذارد.3132این مهندسی است.3334## بافت محل دفن زباله نیست3536قالبهایی با پنجرههای زمینه بزرگ به ما وسوسه میکردند: بیایید همه چیز را به داخل بیندازیم.3738قابل درک است. اگر یک میلیون توکن دارم، چرا باید انتخاب کنم؟3940زیرا حتی زمانی که می توانید همه چیز را وارد کنید، به این معنی نیست که همه چیز کمک می کند. در واقع سر و صدا هزینه دارد. هزینه توکن، هزینه توجه، هزینه تأخیر، هزینه کیفیت دارد. وقتی بیست برگه را باز می کنیم، یک مدل می تواند مانند ما در جزئیات بی ربط گم شود و دیگر دلیلش را به خاطر نیاوریم.4142زمینه خوب یک سلسله مراتب دارد:43441. دستورالعمل ها و سیاست های سیستم.452. هدف خاص;463. وضعیت فعلی.474. داده های مربوطه.485. محدودیت ها;496. ابزار موجود.507. تصمیماتی که قبلا گرفته شده را پیگیری کنید.5152نیازی به درمان همه چیز در یک سطح نیست. یک دستور کاربر بیشتر از یک یادداشت قدیمی ارزش دارد. یک آزمون ناموفق اکنون ارزشی بیش از یک اولویت زیبایی شناختی از سه ماه پیش دارد. یک سیاست امنیتی بیشتر از یک میانبر تولید ارزش دارد.5354مهندسی زمینه همچنین به معنای دادن وزن است، نه فقط داده.5556## حافظه: کمتر به خاطر بسپارید، بهتر به خاطر بسپارید5758حافظه در عوامل یکی از لغزنده ترین موضوعات است.5960به عنوان یک کاربر، می خواهید نماینده شما را بشناسد. شما می خواهید که او لحن، برنامه، کنوانسیون ها، چیزهایی که از قبل تصمیم گرفته شده را به خاطر بسپارد. بهعنوان یک مهندس، میدانید که هر خاطره ماندگاری نیز یک خطر است: ممکن است اشتباه، قدیمی، بیش از حد شخصی، بیش از حد عمومی و غیرقابل تأیید باشد.6162یک حافظه مفید باید حداقل سه ویژگی داشته باشد:6364- منشأ: این اطلاعات از کجا آمده است؟65- date: کی درست بود؟66- هدف: برای چه نوع کاری باید از آن استفاده کرد؟6768بدون این سه چیز، حافظه تبدیل به خرافه می شود.6970من دوست دارم به حافظه عامل به عنوان یک کتاب کار فکر کنم، نه به عنوان یک ذهن جادویی. یادداشت های موقت، تصمیمات تایید شده، ترجیحات سبک، محدودیت های فنی، پیوندهایی به منابع وجود دارد. برخی چیزها منقضی می شوند. برخی باید بازنویسی شوند. برخی باید حذف شوند زیرا عامل به اشتباه آنها را استنباط کرده است.7172یک سیستم خوب باید این نگهداری را عادی کند. قهرمانانه نیست7374## بازیابی و ابزار یکسان نیستند7576وقتی در مورد زمینه صحبت می کنیم، اغلب بلافاصله در RAG قرار می گیریم. جاسازی، پایگاه داده برداری، تکه تکه کردن، رتبه بندی مجدد.7778همه مفید. اما بازیابی تنها یک راه برای آوردن اطلاعات به مدل است. او تنها نیست.7980یک عامل می تواند با خواندن فایل ها، پرس و جو از یک API، فراخوانی یک سرور MCP، باز کردن یک مرورگر، اجرای آزمایش ها، جستجوی Slack، نگاه کردن به داشبورد، پرسش از انسان، زمینه را دریافت کند.8182بخش جالب این است که تصمیم بگیرید از کدام مسیر و چه زمانی استفاده کنید.8384اگر عامل نیاز به پاسخ به یک سوال تاریخی داشته باشد، شاید فقط بازیابی کافی باشد. اگر او باید یک باگ را برطرف کند، باید کد واقعی را بخواند. اگر او نیاز به درک دلیل شکست استقرار دارد، باید به گزارشهای تازه نگاه کند. اگر نیاز دارید برای مشتری نامه بنویسید، باید لحن، تاریخچه و وضعیت بلیط را بازیابی کنید. اگر باید در تولید اقدام کند، باید اجازه بگیرد.8586متن یک پایگاه داده نیست. این یک گردش کار است.8788## نماینده خوب هم می داند چگونه نادیده بگیرد8990نشانه بلوغ در کارگزاران، توانایی گفتن: من به این اطلاعات نیازی ندارم.9192پیش پا افتاده به نظر می رسد، اما بسیار دشوار است. بسیاری از سیستم های عاملی انباشته می شوند. هر تماس ابزار متنی را اضافه می کند. هر خطایی در بافر باقی می ماند. هر فایل خوانده شده به پشته اضافه می شود. در نهایت این مدل دارای تاریخچه بسیار طولانی و بدون نقشه است.9394فشرده سازی مورد نیاز است. سنتز متوسط مورد نیاز است. نیاز به ساختار دارد.9596نه "این همه اتفاق افتاد"، بلکه:9798- هدف هنوز معتبر است.99- فرضیه فعلی؛100- فایل ها قبلا بررسی شده اند.101- تصمیمات اتخاذ شده؛102- خطرات باز؛103- اقدام بعدی104105این باعث می شود که نماینده کمتر نمایشی و مفیدتر باشد. نه به این دلیل که او باهوش تر به نظر می رسد، بلکه به این دلیل که با یک میز مرتب کار می کند.106107## مهندسی زمینه برای تیم ها، نه برای هنرمندان سریع108109دلیل اینکه این موضوع برای من جالب است این است که مسئولیت را از فرد به سیستم منتقل می کند.110111در مهندسی سریع، کسی که می تواند به بهترین شکل با مدل صحبت کند اغلب برنده می شود. در مهندسی زمینه، تیمی که به بهترین شکل کار خود را سازماندهی می کند برنده می شود: اسناد، قراردادها، مسائل، گزارش ها، آزمایش ها، مالکیت، نامگذاری، منابع.112113یک مخزن تمیز به زمینه بهتری تبدیل می شود. یک موضوع خوب نوشته شده سوخت بهتری می شود. یک Runbook به روز شده، نشانه ها و اضطراب را ذخیره می کند. تغییرات واضح توهمات را کاهش می دهد.114115این خبر خوب و تا حدودی ناراحت کننده است. زیبا است زیرا به اعمال خوب پاداش می دهد. ناخوشایند است زیرا نمی توانید همه چیز را با یک دستور هوشمندانه حل کنید.116117عوامل بهداشت سیستمی را که پیدا می کنند تقویت می کنند.118119## چگونه فردا آن را اعمال کنم120121اگر بخواهم مهندسی زمینه را در یک پروژه واقعی معرفی کنم، از چیزهای کوچک شروع می کنم:122123- یک فایل دستورالعمل پروژه کوتاه و نگهداری شده؛124- نمونه های خوبی از خروجی مورد انتظار.125- فهرستی از ابزارهای موجود و مواردی که در آنها می توان از آنها استفاده کرد.126- تصمیمات معماری به شیوه ای قابل استناد نوشته شده است.127- موضوع با حداقل زمینه اجباری؛128- آسان برای بازیابی سیاهههای مربوط و آزمایش.129- حافظه پایدار قابل تغییر توسط انسان.130131سپس من یک چیز ساده را اندازه میگیرم: نماینده چند بار باید توضیح بخواهد یا در جهت اشتباه برود؟132133اگر اغلب اتفاق می افتد، من فوراً یک مدل بزرگتر اضافه نمی کنم. من به زمینه نگاه خواهم کرد.134135## خواندن من136137مهندسی زمینه کمی کلمه پف کرده است، بله. اما مفهوم درست است.138139این به ما یادآوری می کند که هوش یک عامل فقط در مدل نیست. این در محیطی است که ما برای او آماده می کنیم: آنچه می بیند، آنچه را که به خاطر می آورد، آنچه می تواند انجام دهد، کارهایی که از انجام آن منع شده است، منابعی را که او درست تشخیص می دهد.140141بخش انسانی این است: آماده کردن زمینه به خوبی نوعی مراقبت است. این به نماینده و همچنین تیم می گوید: "من نمی خواهم شما حدس بزنید، می خواهم آنچه را که نیاز دارید داشته باشید."142143جادوی کمتر اتاق تمیزتر نمایندگان به اندازه ما به آن نیاز دارند.144145## منابع146147- [وبلاگ 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
:مهندسی زمینه: کار قبل از اعلانlines 1-152 (END) — press q to close