تصور کنید یک تیم از عاملهای هوش مصنوعی را برای بازبینی کد یا تحقیق بازار به کار گرفتهاید، اما در نهایت با ده نسخهٔ متفاوت از یک جملهٔ تکراری روبهرو میشوید. این حجم از دادههای زائد، نهتنها بودجهٔ توکنهای شما را میبلعد، بلکه با ایجاد آشفتگی در حافظه، مدل را به سمت توهم سوق میدهد. این مسئله فراتر از یک مزاحمت ساده است و در واقع یک مانع فنی در مسیر مدیریت دادههای تکراری در دستههای چندعاملی (Multi-agent swarms) محسوب میشود.
برای حل این چالش، شرکت Vinkius در ۱۵ اوت ۲۰۲۶ ابزاری به نام agent-output-deduplicator را عرضه کرد؛ یک سرور پروتکل زمینهٔ مدل (MCP) — شبیه به یک مترجم استاندارد که اجازه میدهد ابزارهای مختلف بهراحتی با مدلهای زبانی ارتباط برقرار کنند — که وظیفهاش تطهیر پاسخهای تکراری یا متضاد پیش از رسیدن آنها به پنجرهٔ زمینه (Context Window) است. این ابزار در واقع تکامل یافتهی همان رویکردی است که دستیارهای پویا را از چتباتهای صلب قدیمی متمایز میکند و به آنها اجازه میدهد بهصورت هوشمندتر با محیط تعامل داشته باشند.
مسئلهٔ آنتروپی عاملها
زمانی که توسعهدهندگان یک دسته از عاملها را برای وظایف پیچیده — مانند حسابرسی کد، تحقیق درباره موضوعات خاص یا استخراج دادههای ساختاریافته (Scraping) — به کار میگیرند، انتظار دارند در نهایت یک نتیجهٔ واحد و منسجم دریافت کنند. اما در واقعیت، آنها اغلب با سه نسخه از یک جمله یا چهار خلاصهٔ کمی متفاوت از یک بلوک دادهای JSON روبهرو میشوند.
برای مثال، اگر «عامل A» و «عامل B» هر دو به این نتیجه برسند که «مهاجرت پایگاه داده به دلیل اتمام زمان (Timeout) شکست خورده است»، وجود هر دو عبارت در پنجرهٔ زمینه نهایی، بهجای ایجاد سیگنال، باعث افزایش آنتروپی (آشفتگی) میشود. این تکرار، گران است و از نظر فنی مانعکننده است؛ بهطوری که اسکریپتهای کوچک اتوماسیون را هنگام مقیاسپذیری به مجموعهای غیرقابل مدیریت تبدیل میکند.
مدیریت وضعیت (State) در جریانهای کاری عاملمحور، اغلب شبیه به یک سبکسنگین کردن میان «تأخیر» (Latency) و «دقت» (Precision) است. بسیاری از توسعهدهندگان در حال حاضر به کدهای پایتونی شکننده متکی هستند و از عبارتهای منظم (Regex) یا تطبیق فازی (Fuzzy Matching) برای پاکسازی خروجیها استفاده میکنند. این رویکرد شکست میخورد زیرا عاملها بهندرت رشتههای متنی کاملاً یکسانی تولید میکنند، حتی زمانی که یک حقیقت واحد را بیان میکنند؛ مثلاً یکی ممکن است از لیست گلولهای (Bullet point) استفاده کند در حالی که دیگری از یک جمله کامل بهره میبرد.
به نقل از گزارش dev.to، ابزار جدید Vinkius برای عبور از مقایسههای سادهٔ متنی، از شباهت جاکارد (Jaccard Similarity) و همپوشانی n-gram (بهویژه برای n=2 و n=3) استفاده میکند. این رویکرد ریاضی بهجای تطبیق کاراکتر به کاراکتر، خوشههای اطلاعاتی را بر اساس توالی کلمات متقاطع نسبت به کل توالیهای منحصربهفرد شناسایی میکند؛ یعنی اگر دو جمله معنای یکسانی داشته باشند اما کلمات متفاوتی به کار ببرند، باز هم بهعنوان دادهٔ تکراری شناسایی میشوند.
معماری ابزارها
این سرور MCP سه قابلیت کلیدی (Primitive) را برای مراحل مختلف جریان کاری در اختیار توسعهدهندگان قرار میدهد:
- get_similarity_score: یک کاوشگر سطح پایین برای بررسی برنامهنویسیشدهٔ این موضوع که آیا دو قطعه شواهد خاص، تکراری هستند یا خیر. این ابزار پیش از تصمیمگیری برای ادغام یا حذف یک داده، قطعیت ریاضی فراهم میکند.
- identify_duplicates: یک اسکنر کلی که کل مجموعهای از خروجیها را پردازش میکند — مثلاً تمام دادههایی که در طول یک حلقهٔ تحقیقی طولانی جمعآوری شدهاند. این ابزار اطلاعات زائد را بر اساس یک آستانهٔ سفارشی بین ۰ و ۱ گروهبندی میکند؛ بهطوری که مقادیر بالاتر، سختگیری بیشتری برای منحصربهفرد بودن دادهها اعمال میکنند.
- resolve_canonical_selection: یک لایه منطقی که نسخهٔ «برنده» یا مرجع از یک حقیقت را انتخاب میکند. این لایه بهجای انتخاب تصادفی یا انتخاب کوتاهترین رشته، نسخهٔ مرجع را بر اساس ترتیب اجرا یا اولویت عامل انتخاب میکند (مثلاً ترجیح دادن پاسخ یک «معمار ارشد» نسبت به یک «کارآموز»).
خطرات نادیده گرفتن تطهیر دادهها
نادیده گرفتن این مرحله از پردازش پسین، یک حلقهٔ بازخورد خطرناک ایجاد میکند. وقتی اطلاعات تقریباً یکسان اما با تفاوتهای جزئی بهطور مکرر در تاریخچهٔ پرامپت ظاهر شوند، احتمال توهم (Hallucination) — شبیه به وقتی که یک دوست با اطمینان کامل خاطرهای را اشتباه تعریف میکند — یا گیج شدن مدل به دلیل آنتروپی بالا، افزایش مییابد. این نوع خطاها دقیقاً همان نقاط ضعفی هستند که استارتاپ Lemma برای شناسایی و شکار خطاهای خاموش در عاملها روی آنها تمرکز کرده است.
علاوه بر این، توسعهدهندگان به دلیل متورم شدن پنجرهٔ زمینه و افزایش تعداد توکنها در هر درخواست، با افزایش تأخیر در فراخوانیهای پاییندستی LLM و هزینههای بیشتر روبهرو میشوند. از دست دادن کنترل روی پنجرهٔ زمینه، یکی از محرکهای اصلی ناپایداری سیستم است.
برای توسعهدهندگانی که در حال مقیاسدهی به اتوماسیونهای خود هستند، این تغییر به معنای گذار از اسکریپتهای دستی به یک استاندارد صنعتی است. با استخراج حقیقت از میان پژواکهای تکراری، سیستمها میتوانند از طریق فراخوانی توابع (Function Calling)، تصمیمات قابلاعتمادتری بگیرند.
در سامانههای عاملمحور (Agentic) در مقیاس تولید، تطهیر خروجیها دیگر یک قابلیت جانبی یا لوکس نیست، بلکه پیشنیازی برای کاهش هزینههای استنتاج و حفظ پایداری است.
گام بعدی شما
- اگر از سامانههای چندعاملی استفاده میکنید، مستندات vinkius.com/mcp/agent-output-deduplicator را برای جایگزینی کدهای Regex با شباهت جاکارد بررسی کنید.
- آستانهٔ شناسایی تکرار (Threshold) را بر اساس حساسیت پروژه خود تنظیم کنید تا اطلاعات حیاتی بهاشتباه حذف نشوند.
- اولویتبندی عاملها را در لایه resolve_canonical_selection تعریف کنید تا پاسخهای تخصصیتر جایگزین پاسخهای عمومی شوند.
اما مدیریت نویز تنها بخشی از چالش است؛ برای درک اینکه چگونه میتوان دقت استنتاج را بدون افزایش توکن بالا برد، تحلیل ما دربارهی تکنیکهای Distillation را بخوانید.




گفتگو