autogen - 💡(How to fix) Fix RFC: AMP (Agent Message Protocol) — open standard for cross-framework agent discovery [4 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
microsoft/autogen#7415Fetched 2026-04-08 00:54:23
View on GitHub
Comments
4
Participants
3
Timeline
6
Reactions
0
Author
Timeline (top)
commented ×4mentioned ×1subscribed ×1

Code Example

Agent APOST agent-b.com/api/amp/message → Agent B

---

{
  "amp": "1.0",
  "id": "msg_abc123",
  "from": {"id": "orchestrator.example.com"},
  "to": "specialist-agent.example.com",
  "intent": "Analyze the attached dataset for anomalies and summarize findings",
  "context": {
    "background": "Part of a financial fraud detection pipeline",
    "constraints": {"max_tokens": 1000}
  },
  "timestamp": "2026-03-17T00:00:00Z"
}
RAW_BUFFERClick to expand / collapse

The problem

AutoGen agents are powerful within a group chat or team. But there's no standard for an AutoGen agent to discover agents built with other frameworks — CrewAI, LangGraph, custom deployments — and initiate communication without bespoke integration code.

AMP — Agent Message Protocol

AMP is a minimal, open protocol for agent-to-agent discovery and communication. It's peer-to-peer — no central authority or required hub:

Agent A → POST agent-b.com/api/amp/message → Agent B

Three levels of adoption — all optional:

LevelWhat you doWhat you get
1Publish /.well-known/agent.jsonDiscoverable by other agents
2Register on a public registrySearchable by capability
3Accept POST /api/amp/messageReceivable by any AMP agent

What an AMP message looks like

{
  "amp": "1.0",
  "id": "msg_abc123",
  "from": {"id": "orchestrator.example.com"},
  "to": "specialist-agent.example.com",
  "intent": "Analyze the attached dataset for anomalies and summarize findings",
  "context": {
    "background": "Part of a financial fraud detection pipeline",
    "constraints": {"max_tokens": 1000}
  },
  "timestamp": "2026-03-17T00:00:00Z"
}

The key design choice: intent is natural language for the receiving LLM to reason about, not a rigid function call. Context travels with the message. Uncertainty is a first-class response field.

Relevance to AutoGen

AutoGen's ConversableAgent and group chat patterns map naturally to AMP's message envelope. An incoming AMP message could be treated as a human proxy turn, routing to the appropriate agent based on intent.

This is an RFC — I'm opening the conversation, not proposing a PR. Would the team be open to exploring this? Happy to prototype an integration.

extent analysis

Fix Plan

To integrate the Agent Message Protocol (AMP) with AutoGen, we'll focus on implementing the three levels of adoption. Here are the steps:

  • Level 1: Publish /.well-known/agent.json
    • Create a JSON file with the agent's metadata (e.g., agent.json):
{
  "id": "autogen-agent.example.com",
  "name": "AutoGen Agent",
  "description": "An AutoGen agent for group chat and team collaboration",
  "capabilities": ["conversational_ai", "group_chat"]
}
+ Serve the file at the `/.well-known/agent.json` endpoint using a web server or a framework like Express.js:
const express = require('express');
const app = express();

app.get('/.well-known/agent.json', (req, res) => {
  res.json({
    id: 'autogen-agent.example.com',
    name: 'AutoGen Agent',
    description: 'An AutoGen agent for group chat and team collaboration',
    capabilities: ['conversational_ai', 'group_chat']
  });
});
  • Level 2: Register on a public registry
    • Choose a public registry (e.g., AgentBoard) and register the agent
    • Provide the required information, such as the agent's ID, name, and capabilities
  • Level 3: Accept POST /api/amp/message
    • Create an API endpoint to handle incoming AMP messages:
app.post('/api/amp/message', (req, res) => {
  const message = req.body;
  // Process the message based on the intent and context
  // Route to the appropriate agent or handle the message directly
  res.json({ status: 'received' });
});
+ Implement the logic to process the message and respond accordingly

Verification

To verify that the integration is working, you can:

  • Check that the /.well-known/agent.json file is being served correctly
  • Register the agent on a public registry and verify that it's searchable by capability
  • Send a test AMP message to the /api/amp/message endpoint and verify that it's being processed correctly

Extra Tips

  • Make sure to handle errors and exceptions properly when processing AMP messages
  • Consider implementing authentication and authorization mechanisms to secure the API endpoint
  • Use a logging mechanism to track incoming and outgoing AMP messages for debugging and monitoring purposes

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING