پرش به محتوای اصلی
پرش به محتوای مقاله

آیا حذف فریم‌های حجیم JSON سرعت ارتباطات بین‌عاملی را بالا می‌برد؟

·۱۴ تیر ۱۴۰۵۶ دقیقه مطالعه
تصویر ۱: الگوی دست‌دهی AURA: ابتدا ساختار، سپس ارسال تغییرات
تصویر ۱: الگوی دست‌دهی AURA: ابتدا ساختار، سپس ارسال تغییرات
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی مفهومی به نام «توافق ساختاری» (Structure Handshaking) در لایه انتقال؛ به جای فشرده‌سازی هر پیام به‌طور مجزا، ساختار پیام یک‌بار در هر جلسه تعریف شده و فقط تغییرات (Deltas) ارسال می‌شوند.

اگر هزاران بار در دقیقه یک سرآیند JSON تکراری را ارسال کنید، در واقع دارید پهنای باند خود را می‌سوزانید. AURA، ابزاری تجربی برای جابه‌جایی داده که در ۴ ژوئیه ۲۰۲۶ منتشر شد، روشی را معرفی کرده که ابتدا بر سر ساختار توافق می‌کند و سپس فقط «تغییرات» را می‌فرستد. این رویکرد برای ترافیک عامل‌های هوش مصنوعی (AI Agent Traffic) طراحی شده است.

بیشتر ارتباطات میان عامل‌ها به‌شدت تکراری است. ترافیک عامل (Agent) — مانند رباتی که وظایف مختلف را مدیریت می‌کند — ویژگی عجیبی دارد: تقریباً هر بایت آن تکرار است. دو سامانه هوش مصنوعی که در حال تبادل فراخوانی‌های ابزاری پروتکل زمینهٔ مدل (MCP)، به‌روزرسانی‌های تسک‌های A2A، یا فراخوانی توابع به سبک OpenAI هستند، هزاران بار در دقیقه عباراتی مثل jsonrpc ،method ،params ،trace_id ،task_id و قطعات مشابهی از طرح‌واره‌ها (Schema) را می‌فرستند. در این تبادلات، مقادیر تغییر می‌کنند اما ساختار به‌ندرت تغییری می‌کند. در دنیای عملیاتی، این حجم از تبادلات می‌تواند منجر به هزینه‌های پیش‌بینی‌نشده شود؛ مشابه آنچه در بررسی سقف‌های هزینه‌ای OpenAI برای جلوگیری از قبض‌های هنگفت تحلیل کردیم.

راهکارهای فعلی بر فشرده‌سازی بدون وضعیت (Stateless) مثل gzip یا zlib به ازای هر پیام تکیه دارند. طبق گزارش‌های فنی، این روش دو مشکل ساختاری برای ترافیک عامل‌ها دارد: اول اینکه هر فریم یک هزینه راه‌اندازی (Setup Cost) دارد و دوم اینکه کدک هر پیام را به‌صورت متنی مجزا و بدون ارتباط با پیام‌های قبلی می‌بیند. در واقع تاریخچه پیام‌ها دور ریخته می‌شود. برای مثال، فریم شماره ۴۰۰۰ از یک جلسه تقریباً شبیه به فریم ۳۹۹۹ است، اما یک کدک تک-فریمی نمی‌تواند از این اطلاعات استفاده کند.

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی بهینه‌سازی لایه‌های انتقال داده اشاره کردیم، حذف تکرارها کلید مقیاس‌پذیری است. AURA این مشکل را با تبدیل اتصال به یک جریان «دارای وضعیت» (Stateful) به جای مجموعه‌ای از فریم‌های ایزوله حل می‌کند. این ابزار از AIWire استفاده می‌کند؛ یک کانال جانبی برای توافق بر سر ساختار که در آن دو طرف یک بار بر سر ساختار پیام توافق می‌کنند. AIWire یک جریان فشرده‌سازی زنده را برای هر جهت در طول کل جلسه نگه می‌دارد، آن را با یک دیکشنری استاتیک از فیلدهای رایج پروتکل‌های هوش مصنوعی مقداردهی اولیه می‌کند و به طرفین اجازه می‌دهد قالب‌های (Templates) خاص هر جلسه را روی آن توافق کنند. پس از این دست‌تکان (Handshake)، سیستم فقط مقادیر تغییر یافته — یا همان دلتاهای فشرده (Compact Deltas) — را ارسال می‌کند و نیاز به ارسال مجدد فریم‌های ساختاری پایدار روی TCP، WebSocket، HTTP یا لینک‌های بروکر را دور می‌زند.

معماری سه بانده

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

  • باند معنایی/پیامی (Semantic/Message Lane): این باند حامل محتوای اصلی عامل‌ها است؛ مواردی مانند فراخوانی ابزارهای MCP، درخواست‌ها و پاسخ‌های JSON-RPC، به‌روزرسانی‌های تسک و مصنوعات (Artifact) در مدل A2A، ردپاهای عملیاتی (Traces)، Пере渡し‌ها (Handoffs) و نتایج نهایی. این همان باندی است که از طریق دیکشنری جلسه، قالب‌های جلسه و جریان‌های دلتای دارای وضعیت بهینه‌سازی شده است.

  • باند کنترل/جلسه (Control/Session Lane): این باند مدیریت ماشینری امنیت باند معنایی را بر عهده دارد. پیام‌های دست‌تکان (Handshakes)، شناسایی قالب‌ها، تفاوت‌های دیکشنری (Dictionary Diffs)، پیام‌های ACK/NACK، مذاکرات مربوط به رزوم (Resume)، ضربان قلب (Heartbeats) و سیگنال‌های بازنشانی (Reset) از این مسیر عبور می‌کنند. نکته حیاتی این است که مشخصات فنی (Spec) ایجاب می‌کند پیام‌های کنترل بدون نیاز به باز کردن (Inflate) جریان معنایی، قابل رمزگشایی باشند. اگر جریان فشرده در حال همگام‌سازی مجدد باشد یا شکست خورده باشد، شما همچنان می‌توانید باند کنترل را بخوانید؛ بنابراین مسیر عملیاتی هرگز به سلامت وضعیت فشرده‌سازی که قصد اصلاحش را دارد، وابسته نیست.

  • باند توصیف‌گر بلوک (Blob Descriptor Lane): این باند برای مواردی رزرو شده است که هرگز نباید از یک کدک پیام ساختارمند عبور کنند، مانند رسانه (Media)، تکه‌های تنسور (Tensor Chunks)، مصنوعات مدل و آرشیوهای لاگ. بایت‌های واقعی روی یک ترنسپورت عادی فایل یا بلوک حرکت می‌کنند. AIWire فقط متادیتای آن‌ها را جابه‌جا می‌کند: نوع محتوا، هش‌های SHA-256، مانیفست تکه‌ها، مسیر، اولویت و وضعیت انتقال. این قابلیت به گیرنده اجازه می‌دهد یک مصنوع ۲ گیگابایتی را بدون عبور دادن آن از مسیر پیام، زمان‌بندی و تأیید کند.

AURA: ابتدا ساختار را دست‌دهی کن، سپس تغییر را ارسال کن

بنچمارک‌های عملکرد

به نقل از مستندات پروژه، معیار اصلی «تعداد تبادلات در ثانیه» (Exchanges per second) — یعنی تبادلات معنایی تأیید شده — است و نه صرفاً نسبت‌های فشرده‌سازی. هدف این است که مشخص شود با در نظر گرفتن پهنای باند، تأخیر p95 و مصرف CPU کدک، چه تعداد تبادل در یک لینک جای می‌گیرد.

در محیطی با لینک ۱۰ مگابیت بر ثانیه که در ۴ ژوئیه ۲۰۲۶ با استفاده از یک بک‌اند نیتیو C++ و ترافیک درخواست/پاسخ شکل‌گرفته بر اساس پروتکل تست شد، نتایج جهشی عظیم را نسبت به روش‌های استاندارد نشان می‌دهد:

  • JSON خام: ۱۱۷۷ بایت به ازای هر تبادل (۱۷۵۶ تبادل در ثانیه؛ بهره‌وری ۱.۰۰ برابر یا خط پایه).
  • Zlib به ازای هر فریم: ۶۹۶ بایت به ازای هر تبادل (۲۹۹۲ تبادل در ثانیه؛ بهره‌وری ۱.۷۰ برابر).
  • AIWire: ۱۵۷ بایت به ازای هر تبادل (۱۱۰۱۷ تبادل در ثانیه؛ بهره‌وری ۶.۲۸ برابر).
  • AIToken + AIWire: ۱۲۵ بایت به ازای هر تبادل (۱۲۹۴۸ تبادل در ثانیه؛ بهره‌وری ۷.۳۸ برابر).

در یک بازپخش واقعی TCP از مجموعه جلسات عمومی ثبت‌شده، که شامل ۶۴ عامل منطقی هم‌زمان و تأیید SHA-256 برای هر پاسخ بود، مسیر ترکیبی AIToken و AIWire هزینه را به تنها ۳۲.۳ بایت برای هر تبادل رساند. این یعنی کاهش ۹۷.۱ درصدی بایت‌های ارسالی و دستیابی به ۳۴ برابر بهره‌وری کلی پهنای باند. در این سطح، لینک مدل‌شده دیگر گلوگاه نبود؛ بلکه زمان اجرا (Runtime) نمی‌توانست درخواست‌های کافی را در جریان نگه دارد تا فضای خالی موجود در لینک را پر کند.

تأییدیه «شکست امن» (Fail-Closed)

از آنجایی که وضعیت فشرده‌سازی مشترک در صورت عدم توافق طرفین خطرناک است، نسخه اول (v1) این مشخصات از یک قرارداد تهاجمی «شکست امن» استفاده می‌کند. دست‌تکان اولیه، هش‌های SHA-256 دیکشنری استاتیک و اندازه‌های بایت، هش‌ها و تعداد قالب‌ها و همچنین پارامترهای zlib را مقایسه می‌کند. هرگونه عدم تطابق باعث توقف فوری سیستم می‌شود، مگر اینکه برنامه به‌طور صریح اجازه بازگشت به حالت zlib خام را داده باشد.

رشد دیکشنری جلسه به‌طور اکید «فقط افزودنی» (Append-only) است و با شماره‌گذاری Epoch مدیریت می‌شود. تغییرات از طریق Diffهایی پیشنهاد می‌شوند که حامل هش‌های وضعیت قبلی و بعدی، یک نانس (Nonce) تازه، هش شناسایی Diff و در صورت نیاز یک تگ HMAC-SHA256 هستند. فرستنده مجاز نیست تا زمانی که تأییدیه (ACK) متناظر تأیید نشود، داده‌ها را بر اساس ساختار جدید کدگذاری کند.

دست‌تکان‌های رزوم (Resume) به کلاینت اجازه می‌دهند دوباره به یک وضعیت دیکشنری کش‌شده متصل شود، اما تنها در صورتی که گیرنده واقعاً یکی از هش‌های وضعیت پیشنهادی را در اختیار داشته باشد. هرگونه خطای بازسازی (Inflate)، عدم تطابق هش یا نقض ترتیب پیام‌ها به این معنی است که سیستم باید متوقف شود، دست‌تکان مجدد انجام دهد یا به حالت پایه بازگردد. عبارت به‌کار رفته در مشخصات فنی صریح است: طرفین نباید ارسال دلتاهای فشرده را در وضعیت ساختار نامعلوم ادامه دهند.

کاربردها و محدودیت‌ها

AURA به‌طور خاص برای شرایطی طراحی شده است که کاربر هر دو طرف لینک را کنترل می‌کند و ترافیک دارای ساختار تکراری است. موارد کلیدی کاربرد عبارتند از:

  • حلقه‌های چندعاملی: ارکستراتورها، کارگران (Workers) و بازبینانی که هزاران پیام کوچک وضعیت و نتیجه را رد و بدل می‌کنند. این بهینه‌سازی در زیرساخت‌های ارتباطی، مکمل اقداماتی است که برای تسهیل دسترسی عامل‌ها صورت گرفته، مانند حذف موانع ثبت‌نام در کلودفلر برای عامل‌های هوش مصنوعی تا سرعت استقرار و تعامل افزایش یابد.
  • ترافیک MCP و JSON-RPC: فراخوانی ابزارها و نتایج آن‌ها مورد کلاسیک ساختار پایدار با مقادیر متغیر هستند.
  • خوشه‌های محلی AI: بنچمارک‌های لینک لبه (Edge) — که روی یک Mac در مقابل یک ورک‌استیشن Z6 و بردهایی در کلاس Jetson Nano اجرا شده‌اند — نشان می‌دهند که کاهش ۸۶ تا ۹۷ درصدی بایت‌ها، فضای حیاتی برای تله‌متری، رسانه و تلاش‌های مجدد (Retries) ایجاد می‌کند.
  • لاگ‌های ساختارمند و ردپاها (Traces): حجم بالای داده با نام‌های فیلد تکراری و شکل‌های پایدار در طول جلسه.
  • مسیریابی محموله‌های باینری: عامل‌هایی که نیاز دارند مصنوعات کدر (Opaque) را از طریق هش ردیابی کنند، بدون اینکه بایت‌ها را از مسیر پیام عبور دهند.

با این حال، README پروژه به‌طور غیرمعمولی درباره محدودیت‌ها صادق است. AURA یک ابزار نمونه‌سازی و اندازه‌گیری است، نه جایگزینی آماده برای محیط عملیاتی به جای TLS، zstd یا بروکر‌های پیام. این ابزار امنیت انتقال، مکانیزم‌های تلاش مجدد یا فشار معکوس (Backpressure) را تعریف نمی‌کند؛ این موارد در لایه ترنسپورت باقی می‌مانند. چون بر پایه جریان‌های دارای وضعیت است، فریم‌ها نمی‌توانند در یک جلسه جابه‌جا یا حذف شوند؛ بنابراین ترنسپورت‌های غیرقابل اطمینان (Lossy) به لایه بازیابی (Recovery) مخصوص خود نیاز دارند.

این تغییر در تفکر، گلوگاه را از لینک شبکه به زمان اجرا (Runtime) منتقل می‌کند. AURA ابزارهای برونیابی (Extrapolation) را فراهم می‌کند تا دقیقاً محاسبه شود که با توجه به پهنای باند، تأخیر p95 و پنجره‌های هر عامل، چند عامل برای اشباع کردن یک لینک لازم است.

توسعه‌دهندگان اکنون می‌توانند این ابزار را از طریق مسیر پایتون و یک بک‌اند نیتیو C++ آزمایش کنند. مخزن کد شامل یک مجموعه داده (Corpus) مصنوعی از جلسات عمومی شامل MCP، A2A، پاسخ‌های OpenAI، ردپاها، Пере渡し‌ها و نوشتن در حافظه است که در یک چرخه کامل کانال جانبی بسته شده است: دست‌تکان اجباری، به‌روزرسانی قالب، Diff دیکشنری احراز هویت شده، ACK و رزوم. این ابزار همچنین نمونه‌های انتقال برای TCP با پیشوند طول (Length-prefixed)، WebSocket، HTTP با Server-Sent Events (SSE) و brokereهای محلی را ارائه می‌دهد.

ترافیک میان-عاملی سریع‌تر از لینک‌های شبکه رشد می‌کند. شرط‌بندی AURA بر این است که راهکار در یک پروتکل جلسه مذاکره‌شده است، نه در یک کدک تک-فریمی. این پروژه تحت لایسنس Apache 2.0 منتشر شده است. کدها، مشخصات فنی، نمونه‌ها و گزارش‌های بنچمارک در github.com/H-XX-D/AURA در دسترس هستند.

گام بعدی شما

  • اگر از پروتکل MCP برای ارتباط عامل‌ها استفاده می‌کنید، اثر کاهش حجم پیام‌ها را روی تأخیر (Latency) سیستم خود اندازه بگیرید.
  • مخزن GitHub پروژه AURA را برای بررسی بنچمارک‌های لبه (Edge) در سخت‌افزارهای Jetson Nano بررسی کنید.
  • در معماری خود، ترافیک «کنترلی» را از «معنایی» جدا کنید تا پایداری سیستم در برابر خطاهای فشرده‌سازی حفظ شود.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این پیشرفت با تکیه بر تخصص در مهندسی پروتکل، اجازه می‌دهد تعداد عامل‌های فعال در یک شبکه محدود را بدون افزایش هزینه سخت‌افزاری ۳۴ برابر کرد. اعتبار این ادعا از طریق بنچمارک‌های بازدهی (Exchanges per second) به جای نرخ فشرده‌سازی ساده تأیید شده است.

تأثیر برای ایران

این ابزار به‌ دلیل متن‌باز بودن (Apache 2.0)، برای توسعه‌دهندگان ایرانی که روی خوشه‌های محلی AI و سخت‌افزارهای لبه (Edge) کار می‌کنند، فرصت بهینه‌سازی شدید ترافیک داخلی را فراهم می‌کند.

·نگاه ما
تحریریه دات‌هوش

جایگزینی فشرده‌سازی Stateless با Stateful در لایه انتقال، نشان می‌دهد که گلوگاه‌های فعلی عامل‌های هوشمند بیش‌تر از آنکه مربوط به قدرت مدل باشد، به ناکارآمدی پروتکل‌های ارتباطی برمی‌گردد. AIWire با تبدیل «ساختار» به یک متغیر ثابت در هر جلسه، در واقع مدل ارتباطی Agent-to-Agent را از حالت ارسال نامه (Message-based) به حالت اشتراک حافظه (Shared-state) نزدیک می‌کند. این رویکرد احتمالاً مسیر توسعه پروتکل‌های استاندارد آینده برای Swarm AI را تعیین خواهد کرد.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.