Skip to content

第 4 周:Tool、MCP、异步与 Agent Team

本周成果与 10-14 小时安排

把客服能力同时提供为 stdio 和 Streamable HTTP MCP,并能解释发现、鉴权、调用、超时和取消的每个状态。

时段用时可见产物
Day 12 小时Agent Team,看视频 06
Day 22 小时Tool、Skill 与 MCP,完成三者对照
Day 32 小时实现 stdio Server 与独立 Client 轨迹
Day 42.5 小时挂载 /mcp,完成读/写 scope 测试
Day 52 小时跑异步、工具发现、并行研究实验
Day 61.5 小时制造断线、超时、取消和一次结算竞态

Tool、Skill、MCP 的关系

三者的边界与「Skill 不替代 Tool、MCP 不自动让工具安全」,见 Tool、Skill 与 MCP:五层边界,一句话分清Skill 是方法,Tool 是动作,MCP 是接口

MCP 能力

本项目提供:

  • Tool:search_kb
  • Tool:get_article
  • Tool:create_support_ticket
  • Tool:get_ticket_status
  • Resource:support://articles/{article_id}
  • Prompt:customer_support_assistant

传输方式:

  1. stdio:本机 Agent 启动子进程。
  2. Streamable HTTP:远程客户端连接 /mcp

发布路径

完整的发布链(stdio → 构建 → TestPyPI → 正式 PyPI → server.json → Registry → /mcp)见 Tool、Skill 与 MCP:从「会做」到「可分发」。Registry 只存元数据,包仍由 PyPI、Git 或远程 URL 承载。

异步与 Team

Agent Team 需要显式消息总线和所有权:

  • 谁创建任务
  • 谁拥有任务
  • 谁可以看到哪些上下文
  • 取消如何级联
  • 多个 Agent 同时完成时如何只结算一次

学习顺序

  1. 看视频 06 [00:00:00-00:09:39];视频 07 [00:00:00-00:09:48]
  2. active-tool-discoveryasync-agentparallel-web-research
  3. 阅读 mcp_server.pymcp_entry.py
  4. 用 MCP Inspector 或自写 Client 调用四个工具。
  5. 分别用只读 Key 和写入 Key 验证权限。
  6. 断开客户端、制造超时、取消长任务并观察状态。

精确入口:

  • 视频 06视频 07
  • CAE:step09_subagent.py → step10_agent_team.py → step11_mcp.py
  • 书中实验:chapter4/active-tool-discoverychapter4/async-agentchapter10/parallel-web-research
  • 工程:mini-emperor/backend/src/mini_emperor/mcp_server.pymcp_entry.py

Completion Gate

  • 在干净环境通过 stdio 调用。
  • 通过 /mcp 完成远程调用。
  • kb:read Key 无法创建工单。
  • 能解释 Tool Discovery 为什么比注入 120 个 Schema 更节省上下文。
  • 能画出 Team 任务取消的级联和确认过程。

复习节奏

  • 24 小时后:不看资料写出 MCP initialize、discover、call 的顺序。
  • 7 天后:用一个新工具解释 Tool、Skill、MCP 各自负责与不负责什么。
  • 复习证据:脱敏 JSON-RPC 轨迹、scope 测试、一次取消级联事件表。

Markdown 是唯一内容源,HTML 由构建流程生成。