惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Exploit Database - CXSecurity.com
F
Fortinet All Blogs
U
Unit 42
F
Full Disclosure
雷峰网
雷峰网
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
The Cloudflare Blog
Last Week in AI
Last Week in AI
罗磊的独立博客
D
DataBreaches.Net
C
Check Point Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
O
OpenAI News
C
CXSECURITY Database RSS Feed - CXSecurity.com
aimingoo的专栏
aimingoo的专栏
S
Security @ Cisco Blogs
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题
NISL@THU
NISL@THU
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Hacker News
The Hacker News
Webroot Blog
Webroot Blog
Security Latest
Security Latest
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
N
News | PayPal Newsroom
P
Proofpoint News Feed
B
Blog RSS Feed
MongoDB | Blog
MongoDB | Blog
C
Cybersecurity and Infrastructure Security Agency CISA
N
News and Events Feed by Topic
Google Online Security Blog
Google Online Security Blog
H
Help Net Security
Spread Privacy
Spread Privacy
T
Threat Research - Cisco Blogs
GbyAI
GbyAI
I
Intezer
Application and Cybersecurity Blog
Application and Cybersecurity Blog
M
MIT News - Artificial intelligence
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
MyScale Blog
MyScale Blog
腾讯CDC

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything Updated: BFF Pattern I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
Multi-Agent Negotiation Protocols: How AI Agents Should Bargain for Resources
Omnithium · 2026-05-31 · via DEV Community

Static quotas are the death of agentic autonomy. If you're still using Kubernetes-style resource limits to manage your AI swarms, you're likely leaving 30% to 40% of your compute capacity on the table or starving critical tasks during peak bursts.

True autonomy requires a shift from centralized scheduling to decentralized negotiation. When agents possess their own goals and varying utility needs, a central orchestrator can't possibly know the real-time value of a GPU slot to a specific agent. We've found that moving the decision-making power to the agents themselves, governed by game-theoretic protocols, resolves contention faster and more efficiently than any global scheduler could.

The Limits of Centralized Orchestration in Agent Swarms

Why do we keep trying to force autonomous agents into static resource boxes? It's because we're used to traditional microservices. In a standard K8s environment, a pod has a request and a limit. If it hits the limit, it throttles or restarts. But agents aren't predictable pods. An agent performing a deep research task might need 128GB of VRAM for ten minutes and then nothing for two hours.

Centralized orchestrators become bottlenecks in high-frequency interactions. When you have 500 agents competing for a limited pool of high-throughput GPU slots, the overhead of the orchestrator calculating the "optimal" distribution for every single request creates massive latency. You're essentially introducing a single point of failure and a performance ceiling.

We need to move from scheduling to bargaining. In a bargaining system, the orchestrator doesn't decide who gets the resource. Instead, it defines the rules of the market. The agents decide the value. This shifts the complexity from the center to the edge, allowing the system to scale without a linear increase in orchestration overhead.

Centralized Scheduling vs. Decentralized Negotiation. Evaluates the trade-offs between Kubernetes-style orchestration and game-theoretic agent bargaining for high-frequency resource allocation.

Option Summary Score
Centralized Scheduling Static quota management via a central orchestrator (e.g., K8s Scheduler). 65.0
Decentralized Negotiation Agent-led bargaining using protocols like Contract Net Protocol (CNP). 85.0

If you're building a unified control plane for enterprise AI agents, you've likely noticed that the "scheduler" is usually the first component to break under load. By decentralizing the allocation logic, you remove that bottleneck.

Implementing the Contract Net Protocol (CNP) for Resource Allocation

Can a swarm of agents actually organize their own work without a boss? Yes, if you implement the Contract Net Protocol (CNP). CNP is a framework for task sharing where a "Manager" agent identifies a need and "Contractor" agents bid to fill it.

The flow is straightforward but requires strict state management to prevent race conditions. First, the Manager sends a Call for Proposals (CFP). This isn't a request for a specific agent; it's a broadcast to the network. The CFP contains the task specifications, the required resources (e.g., "4x H100 GPUs for 30 minutes"), and the deadline for bids.

Next, Contractor agents evaluate the CFP against their internal state. They don't just say "yes" or "no." They calculate a bid based on their current load and the utility they'd derive from the task. A bid might look like: "I can do this for 50 virtual credits, starting in 2 minutes."

The Manager then evaluates all bids and awards the contract to the best fit. This is where atomic resource locking is critical. You can't have an agent win a bid and then discover the GPU was snatched by another process during the negotiation window. The award phase must be an atomic transaction.

Contract Net Protocol (CNP) Resource Allocation Flow

A flow diagram showing the sequence of Call for Proposals, Bidding, and Awarding phases in a multi-agent system.

Consider a swarm of research agents competing for GPU slots for real-time data processing. Instead of a queue, the agents bid. An agent handling a high-priority executive report will outbid an agent doing a routine daily summary. The resource goes to the highest value-add task automatically.

Defining Agent Utility: The "Willingness to Pay" Framework

How do you stop an agent from simply bidding the maximum amount for every single resource? You can't rely on "politeness" in a decentralized system. You need a formal utility function that defines an agent's "willingness to pay" (WTP).

Utility isn't a random number. It's a calculated value based on three primary vectors: task priority, deadline urgency, and the marginal gain of the resource. For example, an agent with a hard deadline in 10 minutes has a much higher utility for a high-throughput API slot than an agent with a 24-hour window.

To make this work in production, we use virtual credit systems. Each agent is allocated a budget of credits per hour or per project. This prevents resource hoarding. If an agent spends all its credits on a few high-end GPU slots, it's effectively priced out of the market for the rest of the window. This is the only way to truly regulate demand without implementing rigid, inefficient quotas.

And this is where cost attribution becomes a technical requirement rather than a financial afterthought. If you can't track which agent spent which credit on which resource, your negotiation protocol will collapse into a "tragedy of the commons" where the most aggressive agents starve everyone else.

The relationship is simple: Utility = (Priority $\times$ Urgency) / Cost. When the cost of the resource (in credits) exceeds the utility, the agent stops bidding.

Bargaining Mechanisms: From Monotonic Concession to Alternating Offers

What happens when two agents both want the same resource but can't agree on the price? You've reached a deadlock. You can't just let them loop forever. You need a formal bargaining mechanism to reach a deal point.

The Monotonic Concession Protocol is the fastest way to reach a consensus. In this model, both agents start with their ideal (and usually unrealistic) positions. If they don't agree, they both concede a small amount of their demand in each round. They keep moving toward each other until their demands overlap. It's "monotonic" because they only ever move in one direction: toward concession.

Monotonic Concession Protocol Convergence

A flow diagram illustrating the iterative process of demand reduction in a bargaining protocol.

But what if the value of the resource decays over time? This is where Rubenstein's Alternating Offers come in. In this model, agents take turns making offers. The key is the discount factor. A GPU slot now is worth more than a GPU slot ten minutes from now. Agents will concede faster if they perceive that the cost of negotiating is higher than the benefit of a slightly better price.

The trade-off here is latency versus optimality. Monotonic concession is fast and reaches a "good enough" deal quickly. Alternating offers can find a more optimal equilibrium but take longer. In a high-frequency trading or real-time DevOps environment, you'll almost always choose the faster, less optimal protocol.

Solving the "Tragedy of the Commons" in Shared LLM Contexts

Can you actually apply these protocols to a shared API rate limit? It's harder than GPUs because rate limits are often global and opaque. If five agents are all hammering a proprietary model API, you'll hit 429 errors regardless of who "won" the negotiation.

The "tragedy of the commons" occurs when agents act in their own self-interest and exhaust a shared resource, leaving nothing for critical system agents. To prevent this, we implement a "priority reserve." A certain percentage of the rate limit is walled off and only accessible to agents with a "System" utility flag.

For everything else, we use a token-bucket negotiation. Agents don't bid for the API itself; they bid for "tokens" from a local bucket that represents the global rate limit. This transforms a hard API limit into a tradable commodity within the swarm.

If you're managing multi-tenant agent architectures, this is the only way to ensure that a "noisy neighbor" agent doesn't crash the entire system's ability to communicate with the LLM. You don't punish the aggressive agent with a ban; you punish them with a higher credit cost for every single request.

Guardrails: Auditing, Collusion, and Failure Modes

Is it possible for agents to "game" the system? Absolutely. If you give agents the ability to negotiate, you've given them the ability to lie.

Strategic manipulation is a real risk. An agent might lie about its utility function, claiming a task is "Critical" when it's actually "Low" just to hoard GPUs. To detect this, we implement "Utility Auditing." We track the actual outcome of the task. If an agent consistently bids high for resources but produces low-value output (or fails to meet the claimed urgency), the system automatically degrades its credit rating.

You also have to worry about collusion. Two agents might agree to keep bids low to avoid attracting the attention of a manager agent, effectively carving out a private resource pool. We mitigate this by introducing "Randomized Probing," where the manager agent occasionally injects synthetic bids to test the market price and ensure agents are bidding honestly.

Then there are the catastrophic failure modes:

  1. Infinite Loops: Agents can't agree on a price and just keep offering the same value. We solve this with hard timeouts. If a deal isn't reached in 500ms, the resource defaults to the agent with the highest static priority.
  2. Resource Starvation: "Polite" agents (those with low-aggressive utility functions) never get resources. We implement a "minimum guaranteed floor" for all agents to ensure basic functionality.
  3. Protocol Overhead: The compute cost of the negotiation exceeds the value of the resource. If you're negotiating for a 10-token completion, don't spend 1,000 tokens on the negotiation. We use a "Complexity Threshold" to bypass negotiation for low-value tasks.
  4. Cascading Failures: A sudden spike in resource pricing causes a mass of agents to timeout simultaneously, triggering a retry storm that crashes the orchestrator. We use exponential backoff and circuit breakers on the negotiation layer.

For a deeper look at securing these interactions, check out our guide on the AI agent trust stack.

Decentralized negotiation isn't about removing the orchestrator; it's about changing the orchestrator's job. Instead of being a micromanager, the orchestrator becomes a central bank and a judge. It manages the currency, enforces the protocol, and audits the results. This is how you scale from a few dozen agents to a swarm of thousands without the system collapsing under its own complexity.

Include a detailed Mermaid.js diagram showing the negotiation flow

Add a 'Key Takeaways' summary box at the top