A2A、AutoGen、MCP、沙箱——多智能体协作的协议与运行环境,外加检索侧的三个话题。

一、协作协议

A2A协议

A2A(Agent-to-Agent)协议用于让不同厂商的智能体互发现、互委托任务。它通常描述 Agent Card、任务生命周期、流式结果和鉴权方式,使一个规划 Agent 可以调用另一个专业 Agent,而不绑定同一套 SDK。

落地要先解决身份与权限:谁能代表用户发起任务、结果如何审计。协议兼容 MCP 工具调用,但关注点是 Agent 之间的会话,而不是单个工具函数。超时、取消和部分失败必须有语义,否则跨组织协作会悬挂。安全上默认最小披露,不要把完整对话历史转发给第三方 Agent。评估互通性要用真实的异构实现,而不是同一框架自己连自己。

MCP

MCP的组成部分

三类核心能力,Tools、Resources、Prompts

Tools

Resources

Prompts

底层通信,JSON-RPC 2.0 是什么

在传输层,MCP 支持两种方式。

  • stdio(标准输入输出)

  • Streamable HTTP

MCP和Function Calling

Charles-mcp

Charles-mcp 把经典抓包软件 Charles 的会话与规则,通过 MCP 接口暴露给编排工具或智能体。它的价值不是再做一个代理端,而是让调试人员能用自然语言查询请求列表、过滤域名、对比响应体,并把重复操作写成可复用脚本。

集成时应把范围限制在自己的开发代理与 HTTPS 解密证书环境内,避免把真实凭证、Cookie 原文写进对话日志。对移动端调试,仍需要设备信任代理并安装 CA;MCP 只是把已经抓到的会话变成可编程资产。适合用于回放接口变迁、生成 mock 与整理回归测试用例,而不是替代完整的安全审计。

Multi-Agent

Multi-Agent 把复杂任务拆给多个具有独立角色与工具的智能体,由编排层负责任务分解、消息传递和结果汇聚。常见形态包括主从调度、对等协作,以及带共享黑板的工作流。

落地时要先定义角色边界:规划、检索、执行、校验尽量分开,避免一个 Agent 既写结果又给自己打分。通信要可观测,状态要可回放。上下文窗口有限时,应把长记忆外置到矢量库或工作区文件,只把当前决策所需摘要注入提示。评估不能只看单轮正确率,还要看协作轮次、工具调用失败率和任务完成时延。

AutoGen

AutoGen 是微软推出的多智能体对话框架,核心思想是让不同角色的 Agent 通过消息协作,而不是靠单一提示完成全部任务。典型组合包括用户代理、助手代理与批评代理:一个负责拆解目标,一个调用工具或写代码,另一个专门挑错与补全。

实践中更值得留意的是对话终止条件、工具调用权限和上下文窗口。没有明确的 max_round 或人工介入点,多代理很容易形成循环讨论;工具不加白名单,则可能误删文件或误调外部 API。把任务分成可验证的小步骤,并把关键结论写回共享内存,才能让 AutoGen 的对话能力落到可重复的工程流程里。

二、运行环境

Agent沙箱方案

Agent 沙箱把模型可执行的命令和文件访问限制在隔离环境:容器、微虚机或 seccomp。目标是允许写代码和跑测试,同时挡住读密钥、扫内网和破坏宿主机。

策略包括只读挂载、网络白名单、资源上限和超时。工具调用要有审计日志。逃逸路径常来自 Docker socket、宽松的 volume 和可写的 proc。默认拒绝比默认允许更安全。

评测用故意的恶意提示和依赖安装场景。开发体验与安全要折中:完全断网会让包安装失败,应提供缓存镜像源。沙箱镜像要定期重建,避免积攒脏状态。

Agent开发:Workflow

编排模式

  • 提示链 Prompt Chaining

  • 路由 Routing

  • 并行化 Parallelization

  • 编排者-工人 Orchestrator-Workers

  • 评估者-优化者 Evaluator-Optimizer

三、检索侧

Zvec向量数据库

Zvec 这类向量数据库用来存 embedding 并做近似最近邻检索,是 RAG 的记忆层。文档切块后经模型变成向量,查询时把问题同样向量化,按距离取出若干片段再交给大模型。索引常见 HNSW 或 IVF,要在召回、延迟和内存之间权衡。元数据过滤能把检索限制在某产品或某时间窗。

效果差时先查切片策略和模型,而不是先换库。块太大噪声高,太碎又失去上下文。更新文档要能按主键覆盖,避免旧向量残留。评估用标注问题和命中率,不要只看演示对话。容量规划按维度和条数估算内存。权限上向量库同样存业务原文,访问控制和加密不能省。检索与生成分开调,才能判断是召回问题还是提示问题。

RAG:Embedding数据库 选型

MTEB Leaderboard - a Hugging Face Space by mteb

  • 中文支持,选用BGE系列

  • 向量维度,维度越高精度越好,但存储成本也越大;

  • 最大输入长度,这个决定了能处理多长的 chunk。

  • 数据合规要求:数据不能出境,就必须用可以本地部署的开源模型,BGE 系列和 Qwen3-Embedding 都是很好的选择。

  • 通用排行榜只能作为参照,一定要在自己的业务数据上跑召回测试,那个才是真正有参考价值的。

RAG:Query rewrite 改写

  • 直接改写。让 LLM 把口语化的问题转成更精准的表述

  • Query 扩展,补充相关关键词

  • HyDE,让 LLM 先生成一个假设答案,然后用答案的向量去检索;

  • Step-back Prompting。把具体问题往上抽象一层,检索更通用的背景知识