W6 代码练习打卡清单
MCP 协议 · 工具即资产 · 里程碑 M2 · 周一至周日

规则:先把文件里的重点讲解读完,再运行末尾自测,全部 PASS 才勾选。勾选状态保存在本浏览器。多数练习纯本地,只有 Day4--agent / Day6--live 需要 LLM Key。

配套目录:agent-learning-w6/预计每日 4–6 小时周日 2–3 小时交付:M2 + 工具调用评测报告
本周进度
0 / 0

M2 验收标准(周日)

周一Day1 · MCP 架构 + 对比 FC纯讲解day1_arch.py

打卡任务

验收标准

  • 30 秒能讲清"MCP 解决 FC 什么问题"
  • 能说清 Client 与 Server 谁向谁发请求

重难点

  • 此处是纯心智模型,不写代码——别急着敲,先把这个框架刻进脑子
周二Day2 · 三大原语 + 生命周期纯本地day2_primitives.py

打卡任务

验收标准

  • 能举一个"到底是 tool 还是 resource"的边界例子
  • 能答出 tool 会改状态、resource 只读

重难点

  • notification 无 id、无响应——这是标准里的隐藏细节,面试爱考
周三Day3 · 手写 MCP Server(封装 W4 知识库)纯本地day3_mcp_server.py

打卡任务

验收标准

  • 能让任意 Client 通过 tools/list 发现你的工具并按 schema 调用
  • 能说明 stdio 传输下 stdout 只能有 JSON-RPC(日志不能打进协议流)

重难点

  • 协议的"分帧":行分割 JSON,任何多余 print 都会破坏对话——这是 stdio 服务的隐藏坑
周四Day4 · MCP Client + 接入 Agent 闭环可离线day4_mcp_client.py

打卡任务

验收标准

  • 能画出完整闭环:模型→tool_call→Client 执行→tool 消息回灌→模型
  • 能给 Agent 换一个 MCP Server 而不改业务代码

重难点

  • 工具不是写死在代码里,而是运行时"发现"的——这才是 MCP 的价值
周五Day5 · 工具 Schema 设计(契约工程)纯本地day5_schema_design.py

打卡任务

验收标准

  • 能给一个模糊工具(如 process(request))设计出高可靠 schema
  • 能解释 integer≠number、可空用 null 联合、enum/pattern 的作用

重难点

  • 好 schema=病毒最外层拦截;坏 schema=病毒穿透内核崩溃
周日Day6 · BFCL 风格工具调用评测(M2 交付)离线可跑day6_bfcl_evaluation.py

打卡任务

验收标准

  • 能答"pass@1 0.8 vs 工具准确率 0.8 差在哪"
  • 能给自己的项目搭一个≥10 题的黄金评测集

重难点

  • 引用数字必须带口径:IFF 全对 vs 只比工具选择,别混着报