W6 代码练习打卡清单
MCP 协议 · 工具即资产 · 里程碑 M2 · 周一至周日
规则:先把文件里的重点讲解读完,再运行末尾自测,全部 PASS 才勾选。勾选状态保存在本浏览器。多数练习纯本地,只有 Day4--agent / Day6--live 需要 LLM Key。
配套目录:agent-learning-w6/预计每日 4–6 小时周日 2–3 小时交付:M2 + 工具调用评测报告
M2 验收标准(周日)
- 能手写解释 MCP 的生命周期与三角色,跟传统 Function Calling 对比讲 3 个痛点
- 能把一个已跑通的能力(W4 知识库)封装成标准 Server,并被 Client 通过 stdio 调用
- 能写出 BFCL 风格的评测集,并报出你的 pass@1 / 工具选择准确率(含口径说明)
周一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 只比工具选择,别混着报