Documentation Index
Fetch the complete documentation index at: https://docs.ag-kit.dev/llms.txt
Use this file to discover all available pages before exploring further.
AG-Kit 提供对 A2A (Agent-to-Agent) 协议的支持,实现多 Agent 系统与 Agent 协作。当前通过 AG-UI 集成实现,计划未来提供原生服务端实现。
AG-Kit A2A 支持
当前实现
AG-Kit 当前通过 AG-UI 协议集成支持 A2A 通信:
- AG-UI 集成:A2A Agent 可通过 AG-UI 协议通信
- Agent 发现:查找并连接其他兼容 A2A 的 Agent
- 消息路由:Agent 间高效消息传递
- 协作模式:支持任务委派与协调
计划实现
未来 AG-Kit 版本将包含原生 A2A 服务端实现:
- 原生 A2A 服务端:直接提供 A2A 协议端点
- 服务集成:使其他系统能通过 A2A 使用 AG-Kit Agent
- 高级协调:增强的多 Agent 协调模式
- 性能优化:针对高吞吐量 Agent 通信优化
当前 A2A 支持
基于 AG-UI 的 A2A 集成
使用 AG-UI 协议进行 Agent 间通信:
import { Agent } from '@ag-kit/agents';
import { OpenAIProvider } from '@ag-kit/providers/openai';
const provider = new OpenAIProvider({
apiKey: process.env.OPENAI_API_KEY,
defaultModel: 'gpt-4'
});
const localAgent = new Agent({
name: 'coordinator-agent',
model: provider,
instructions: 'You coordinate with other agents.'
});
// 通过 HTTP 请求进行 A2A 通信
async function delegateTask(task: any) {
const response = await fetch('http://other-agent:3000/send-message', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
messages: [{
role: 'user',
content: `Agent task: ${JSON.stringify(task)}`
}]
})
});
return response.json();
}
// 注意:Agent 事件处理应在 Agent 的 run 方法中实现
Agent 发现
发现并连接其他 A2A Agent:
// 通过注册服务发现 Agent
async function discoverAgents(capabilities: string[]) {
const response = await fetch('http://agent-registry:8080/agents', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
capabilities,
location: 'same_network'
})
});
return response.json();
}
const agents = await discoverAgents(['data_processing', 'analysis']);
// 连接发现的 Agent
for (const agentInfo of agents) {
console.log(`Found agent: ${agentInfo.name} at ${agentInfo.endpoint}`);
// 使用 HTTP 请求与发现的 Agent 通信
}
协作模式
- 任务委派:将任务委派给专业 Agent
- 多 Agent 协调:协调多个 Agent 完成复杂工作流
- Agent 辩论:支持 Agent 辩论并达成共识
- 消息路由:Agent 间高效消息传递
计划中的原生 A2A 实现
原生 A2A 服务端
未来实现将包含原生 A2A 服务端端点:
import { run } from '@ag-kit/server';
import { Agent } from '@ag-kit/agents';
import { OpenAIProvider } from '@ag-kit/providers/openai';
const provider = new OpenAIProvider({
apiKey: process.env.OPENAI_API_KEY,
defaultModel: 'gpt-4'
});
const myAgent = new Agent({
name: 'a2a-agent',
model: provider,
instructions: 'You are an A2A compatible agent.'
});
// 未来的 A2A 服务端实现
run({
createAgent: () => ({ agent: myAgent }),
port: 3001
});
// A2A 端点将在未来版本添加
// a2aServer.registerA2AEndpoint('/agents/discover', {
// method: 'GET',
// handler: async (req) => await discovery.findAgents(req.query)
// });
当前限制
- AG-UI 依赖:当前实现需依赖 AG-UI 协议
- 有限协调:仅支持基础协调模式
- 性能:未针对高吞吐量场景优化
- 发现机制:Agent 发现功能有限
路线图
阶段 1:增强 AG-UI 集成(当前)
- 通过 AG-UI 改进 A2A 支持
- 优化 Agent 发现机制
- 增强消息路由功能
阶段 2:原生 A2A 服务端(计划中)
- 原生 A2A 协议实现
- 直接 A2A 端点支持
- 服务集成能力
阶段 3:高级功能(未来)