LangChain / LangGraph、MCP、Harness Engineer 与 Claude Code 的对应关系

先记一张「层次图」

┌─────────────────────────────────────────────────────────┐
│ Harness Engineer(评测工程) │
│ 测:好不好、稳不稳、会不会 regression │
└───────────────────────────┬─────────────────────────────┘
│ 评测对象
┌─────────────────────────────────────────────────────────┐
│ Agent 产品 / 应用(如 Claude Code、Cursor Agent) │
│ LangGraph 层:编排、循环、状态 │
│ LangChain 层:LLM 调用、Prompt、Tool 封装 │
└───────────────────────────┬─────────────────────────────┘
│ 调工具
┌─────────────────────────────────────────────────────────┐
│ MCP(工具连接协议) │
│ GitHub / DB / Filesystem / 自定义 Server │
└─────────────────────────────────────────────────────────┘

三者不在同一层,不是互相替代,而是 构建 → 连接 → 评测 的关系。


1. 各自核心区别

  LangChain LangGraph MCP Harness Engineer
是什么
LLM 应用 工具库/SDK
Agent 编排引擎
工具 连接协议
工程角色/方法论
解决啥
怎么调模型、拼 prompt、接 RAG/Tool
怎么跑多步、有状态、可分支的 Agent
怎么统一接外部系统
怎么系统化  AI 系统
类比
积木零件
流水线/状态机
USB 接口标准
质检部门 + 自动化测试平台
产出
Chain / Agent 代码
可运行的 Agent 图
Tool/Resource 服务
Dataset、Metrics、Report
关心
功能能不能实现
流程怎么跑
工具怎么接
质量可不可信、可不可回归

LangChain vs LangGraph(常一起出现,但职责不同)

LangChain → 「零件」:ChatModel、Prompt、Retriever、Tool wrapper
LangGraph → 「装配 + 运行」:节点、边、State、循环、checkpoint
  • LangChain:偏 构建块(一次调用、链式组合)
  • LangGraph:偏 运行时(Agent 循环、条件路由、持久状态)

L4 里手写的 run_fc_loop,在工程上相当于 极简版 LangGraph 节点循环

MCP vs LangChain/LangGraph

LangChain/LangGraph → 应用内部怎么组织 Agent
MCP → Agent 和外部世界怎么说话(跨进程/跨服务)
  • MCP 不是 Agent 框架,管 loop、不管 state
  • MCP 只定义:Tool / Resource / Prompt 怎么 标准化暴露和调用

Harness Engineer vs 上面三者

LangChain/LangGraph/MCP → 都在「造系统、接系统」
Harness Engineer → 在「验系统」

Harness 工程师关心:

  • 给定 Task + Dataset → 自动跑批
  • 记录 trajectory → 自动打分
  • 出 JSON/CSV/HTML → 跨版本 regression

不是框架,是职责 + 一套工程能力(你做的 L3/L4 就是这套能力的 mini 版)。


2. Claude Code 对应起来是什么

Claude Code 是一个 Agent 产品(coding agent),不是 Harness,也不是 MCP 本身。可以这样拆:

层次 Claude Code 里对应什么
LangChain 层
Claude API 调用、system prompt、内置 tool 定义(Read/Write/Bash/Grep…)、消息格式
LangGraph 层
Agent 主循环:读任务 → 规划 → 调 tool → 看结果 → 再规划 → 直到完成
MCP 层
用户可挂 MCP Server(GitHub、Sentry、数据库等),扩展 Claude Code 的工具集
Harness 层
Anthropic 内部评测团队 + eval 流水线(你不直接使用,但在测 CC 质量)

更直观的映射

Claude Code 用户看到的:
「帮我把这个 repo 的测试修好」
[Agent Loop] ← LangGraph 层(编排)
Read / Edit / Bash ← LangChain 层(内置 tools)
可选:MCP GitHub ← MCP 层(外部扩展)
改代码、跑测试、给总结
 
Claude Code 用户看不到的:
[Harness] ← 发布前跑 thousands of coding tasks
success rate / regression / tool misuse 等指标

3. 用「Claude Code 修 bug」走一遍四层

1. Harness(评测侧,内部)
Task: "给定这个 bug repo,能否修好测试?"
Metric: 测试是否通过、tool 是否误删文件、步数是否爆炸
 
2. Claude Code(产品 / Agent)
Agent loop 决定:先 Read 文件 → 再 Grep 报错 → 再 Edit → 再 Bash 跑测试
 
3. LangChain 式能力(内置)
封装:怎么调 Claude、怎么 parse tool_calls、怎么拼 messages
 
4. MCP(可选扩展)
接 GitHub MCP:直接读 PR、建 issue
接 Sentry MCP:拉线上报错

4. 和 Cursor Agent 的类比(你正在用的)

  Cursor Agent Claude Code
LangGraph 层
Agent 循环(plan → tool → observe)
同类 Agent 循环
内置 Tools
Read/Write/Grep/Shell/Task…
Read/Write/Bash/Grep…
MCP
支持 MCP servers
支持 MCP servers
Harness
Cursor 内部 eval(Bugbot、benchmark 等)
Anthropic 内部 eval

你现在的 L4 Agent Harness,是在 学习 Harness Engineer 做的事 —— 用 mini 数据集和 rule metrics,复现「测 Agent」而不是「造 Claude Code」。


5. 一句话对照表

概念 一句话 Claude Code 对应
LangChain
LLM 应用的零件库
API + prompt + 内置 tool 封装
LangGraph
有状态的 Agent 编排引擎
主 agent loop(多步 reasoning + acting)
MCP
外部工具的标准插口
可配置的 MCP servers
Harness Engineer
给 Agent 建自动化考试系统
Anthropic 内部评测;你学的 L3/L4 是同一类能力

6. 核心结论

造 Agent → LangChain + LangGraph(+ 产品如 Claude Code)
接工具 → MCP
测 Agent → Harness Engineer
  • 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 的核心工作。

posted @ 2026-06-22 11:47  若-飞  阅读(37)  评论(0)    收藏  举报