TGViewer
AI Engineers AI Engineers @llmengineers · 2.64K subscribers
Post #44 2.43K
اگه تو حوزه LLMها فعال باشید، حتماً متوجه شدید که موج جدیدی راه افتاده و کلمه‌ی «مهندسی کانتکست» (Context Engineering) همه‌جا شنیده می‌شه. انگار feautre engineering در دوران کلاسیک ML یا prompt engineering در ابتدای راه LLMها، حالا جاشو به این مفهوم جدید داده.

اما این فقط یه buzzword جدید برای رزومه نیست. این یه شیفت پارادایم اساسیه. ما دیگه دنبال نوشتن یه پرامپت ۵ خطی بی‌نقص نیستیم؛ داریم درباره معماری سیستم‌های داینامیک صحبت می‌کنیم که اطلاعات، ابزارها و حافظه رو به شکلی بهینه مدیریت می‌کنن تا LLM بتونه یک تسک پیچیده رو با موفقیت انجام بده.

البته صدای مخالف هم کم نیست. خیلیا می‌گن: «این که همون RAG خودمونه که لباس پلوخوری پوشیده» یا «شما مهندسای نرم‌افزار، اسم معماری سیستم رو عوض کردین و به اسم خودتون زدین». این نقدها تا حدی درسته. مفاهیمی مثل Separation of Concerns یا مدیریت state، سال‌هاست که در مهندسی نرم‌افزار وجود داره.

پس تفاوت کجاست؟ تفاوت در قلب سیستم ماست. ما دیگه با یه API یا دیتابیس deterministic سروکار نداریم. ما با یک مدل زبانی طرفیم: یک موجود غیرقطعی (non-deterministic) که تمام حافظه فعالش به یک پنجره کانتکست (Context Window) به شدت محدود خلاصه می‌شه. این محدودیت، تمام قواعد بازی رو عوض می‌کنه. مهندسی کانتکست، یعنی طراحی معماری جریان اطلاعات با در نظر گرفتن این تنگنای اساسی.

وقتی کانتکست به درستی مهندسی نشه، با پدیده‌هایی مثل Context Poisoning (یه داده غلط کل استدلال رو خراب می‌کنه) یا Context Distraction (مدل بین انبوه اطلاعات بی‌ربط گم می‌شه) مواجه می‌شیم که عملکرد ایجنت رو نابود می‌کنه.

برای مقابله با این چالش‌ها، ۴ استراتژی اصلی در حال شکل‌گیریه که هرکدوم دنیایی از تکنیک‌ها رو شامل می‌شن:

۱. نوشتن و تداوم (Write & Persist): اطلاعات نباید بی‌دلیل در کانتکست باقی بمونن. باید اون‌ها رو به صورت ساختاریافته در یک حافظه‌ی خارجی persist کرد. این کار با استفاده از یک Scratchpad برای یادداشت‌های موقت حین اجرای تسک، یا پیاده‌سازی Memory بلندمدت (مثل کاری که Reflexion یا Generative Agents کردن) انجام می‌شه. این حافظه می‌تونه یه فایل ساده، یه key-value store یا حتی یک دیتابیس وکتوری باشه.

۲. انتخاب و بازیابی (Select & Retrieve): اینجا جاییه که RAG وارد می‌شه، ولی خیلی پیشرفته‌تر از یه جستجوی ساده‌ی وکتوری. ما در مورد Agentic RAG صحبت می‌کنیم. یعنی بازیابی هوشمندانه‌ی ابزارها (Tool Selection RAG)، خاطرات مرتبط (Memory Retrieval) یا قطعه کدهای لازم برای تسک. تکنیک‌هایی مثل Hybrid Search، Re-ranking و استفاده از Knowledge Graphها برای درک روابط بین داده‌ها، اینجا نقش کلیدی بازی می‌کنن تا فقط مرتبط‌ترین اطلاعات به کانتکست تزریق بشه.

۳. فشرده‌سازی و هرس (Compress & Prune): کانتکست بی‌نهایت نیست. باید دائماً بهینه‌سازی بشه. Summarization یکی از راه‌هاست؛ از خلاصه‌سازی بازگشتی (Recursive Summarization) برای مکالمات طولانی گرفته تا استفاده از یک مدل fine-tune شده فقط برای خلاصه‌سازی خروجی ابزارها (رویکردی که Cognition AI استفاده می‌کنه). در کنارش، Pruning یا هرس کردن هم وجود داره؛ یعنی حذف هوشمندانه پیام‌های قدیمی یا اطلاعاتی که دیگه به درد نمی‌خورن.

۴. ایزوله‌سازی و پارتیشن‌بندی (Isolate & Partition): یکی از بهترین راه‌ها برای مدیریت پیچیدگی، شکستن اون به اجزای کوچکتره. معماری Multi-agent (مثل OpenAI Swarm) همین کار رو می‌کنه. هر ایجنت، کانتکست، ابزارها و حافظه‌ی ایزوله‌ی خودشو داره و فقط روی یه تخصص متمرکز می‌شه. یک رویکرد دیگه، استفاده از محیط‌های اجرایی ایزوله (Sandboxed Environments) هست. در این مدل (که HuggingFace استفاده می‌کنه)، LLM به جای فراخوانی مستقیم API، کدی رو تولید می‌کنه که در یک Sandbox اجرا می‌شه. اینطوری اشیای سنگین (مثل دیتافریم‌ها یا فایل‌های حجیم) هرگز وارد کانتکست مدل نمی‌شن و فقط نتیجه‌ی نهایی بهش برگردونده می‌شه.

نتیجه‌گیری نهایی:
مهندسی کانتکست فقط یک اسم جدید نیست، بلکه نشونه‌ی بلوغ حوزه‌ی ماست. ما از کلنجار رفتن با یک فایل `prompt.txt`، به سمت معماری پایپ‌لاین‌های پیچیده‌ی اطلاعاتی حرکت کردیم. این یعنی ساختن ایجنت‌های هوشمند، روزبه‌روز بیشتر شبیه به مهندسی سیستم‌های نرم‌افزاری پیچیده و کمتر شبیه به هنر و شهود می‌شه.

برای مطالعه عمیق‌تر، این دو مقاله فوق‌العاده‌ان:
https://rlancemartin.github.io/2025/06/23/context_engineering/
https://blog.langchain.com/the-rise-of-context-engineering/

🛠 Join @LLMEngineers Community
rlancemartin.github.io Context Engineering for Agents Patterns for managing agent context.
  • 👍 3
  • 🤔 1
More from @llmengineers
  1. Oct 13, 2026انتشار Tasmim-Bench؛ مقایسه ۲۹ مدل Decision روی زبان فارسی ما برای اینکه ببینیم مدل‌های تخ…
  2. Oct 12, 2026کاربرد مدل‌های تصمیم‌گیری هوش مصنوعی در کاهش هزینه‌های عملیاتی کسب‌وکارها
  3. Oct 11, 2026توی یکی از پروژه‌هام با یه مشکل نسبتاً جدی روبه‌رو شدم: استخراج دقیق متن از PDFهای فارسی ب…
  4. Oct 8, 2026از نظر کاربرد Decision Modelها , قضیه دیگه فقط چند Demo نیست و چند الگوی مشخص واقعاً وارد…
  5. Oct 8, 2026کمتر از یک ماه از معرفی Jev گذشته و چیزی که اول شبیه یه مدل خاص برای «تصمیم‌گیری بدون تولی…
  6. Oct 7, 2026جدا از موج Decision Modelها، چند خبر فنی این هفته هست که برای AI Engineerها واقعاً ارزش دن…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →