先记一张「层次图」
三者不在同一层,不是互相替代,而是 构建 → 连接 → 评测 的关系。
1. 各自核心区别
LangChain vs LangGraph(常一起出现,但职责不同)
- LangChain:偏 构建块(一次调用、链式组合)
- LangGraph:偏 运行时(Agent 循环、条件路由、持久状态)
L4 里手写的 run_fc_loop,在工程上相当于 极简版 LangGraph 节点循环。
MCP vs LangChain/LangGraph
- MCP 不是 Agent 框架,不管 loop、不管 state
- MCP 只定义:Tool / Resource / Prompt 怎么 标准化暴露和调用
Harness Engineer vs 上面三者
Harness 工程师关心:
- 给定 Task + Dataset → 自动跑批
- 记录 trajectory → 自动打分
- 出 JSON/CSV/HTML → 跨版本 regression
不是框架,是职责 + 一套工程能力(你做的 L3/L4 就是这套能力的 mini 版)。
2. Claude Code 对应起来是什么
Claude Code 是一个 Agent 产品(coding agent),不是 Harness,也不是 MCP 本身。可以这样拆:
更直观的映射
3. 用「Claude Code 修 bug」走一遍四层
4. 和 Cursor Agent 的类比(你正在用的)
你现在的 L4 Agent Harness,是在 学习 Harness Engineer 做的事 —— 用 mini 数据集和 rule metrics,复现「测 Agent」而不是「造 Claude Code」。
5. 一句话对照表
6. 核心结论
- Claude Code ≈ 一个已经造好的 Coding Agent 产品(内含 LangGraph 式 loop + LangChain 式 tool 封装 + 可选 MCP)
- Harness Engineer ≈ 不负责写 Claude Code,负责证明 Claude Code 好不好、改 prompt/模型后有没有变差
- MCP ≈ 给 Claude Code 加新能力的外接协议,不是 Agent 本身
- LangGraph ≈ 若你自己从零写 Claude Code,用来实现「循环 + 状态 + 路由」的那一层
学 L4 Harness 的价值:即使将来 Agent 跑在 LangGraph 上、工具接 MCP,评测层(trajectory + metrics + regression)依然需要,而且往往要你自己建——这就是 Harness Engineer 的核心工作。
