Agent Eval / Test Harness 到底是什么

本文最后更新于 2026年6月29日 晚上

这篇先不急着展开实现细节。先把一个问题讲清楚:我到底要做什么,为什么它值得做,以及第一步到底应该怎么开始。

0. 一句话

Agent Eval / Test Harness 可以先理解成:

给 AI Agent 准备一套“自动化测试台”:把任务喂进去,让 Agent 做事,然后用程序记录它做得对不对、错在哪里、花了多少时间和 token。

它不是模型训练,不是聊天机器人,也不是先做一个很大的平台。

它更像你过去熟悉的测试开发 / CI:

1
2
3
4
5
传统软件测试:
输入测试用例 -> 跑程序 -> assert -> 生成测试报告

Agent Harness:
输入任务样本 -> 跑 Agent/模型 -> scorer 判断 -> 生成评测报告

1. Harness 是不是自己造轮子

是,也不是。

“是”的部分:第一版确实要自己写一个很小的轮子,因为只有自己写过一次,才会真正理解:

  1. 一个 Agent 任务怎么变成测试用例;
  2. 模型输出为什么不能只靠肉眼看;
  3. 什么样的任务能自动判分,什么样的任务不能;
  4. 为什么 trace、成本、延迟、失败原因是 AI 工程里的基本盘。

“不是”的部分:目标不是发明一个比 Promptfoo、Inspect AI、Langfuse 更好的框架。目标是先做一个最小可理解版本,然后再迁移到工业工具。

所以这个练习的本质不是“造轮子炫技”,而是:

造一个小轮子,理解轮子为什么这样转。之后看到工业轮子时,知道它解决了什么问题。

2. 它到底要测什么

先不要想复杂 Agent。先从最贴近自己的任务开始:

给模型一份简历和一份岗位 JD,让它输出匹配项、短板、下一步学习计划。

这件事肉眼看很简单,但要做成测试,就必须回答几个问题:

  1. 输出必须有哪些字段?
  2. 至少要列出几个匹配项?
  3. 是否必须提到 PythonCI/CDKubernetesAgent Infra
  4. 如果它胡说了一个简历里没有的经历,算不算失败?
  5. 如果它没给下一步行动,算不算失败?

一旦这些规则写清楚,它就从“让 AI 帮我分析一下”变成了“一个可回归的 Agent 测试用例”。

3. 最小闭环

第一版只需要 5 个东西。

flowchart LR
    A["task<br/>任务样本"] --> B["runner<br/>执行器"]
    B --> C["model / agent<br/>模型或 Agent"]
    C --> D["scorer<br/>评分器"]
    D --> E["report<br/>报告"]

对应到文件就是:

1
2
3
4
5
tasks.jsonl      # 放任务
runner.py # 逐条执行任务
scoring.py # 判断输出是否合格
trace.jsonl # 记录每次运行细节
report.md # 给人看的报告

4. 第一件事不是写代码

第一件事是写 3 条任务样本。

先不要新建一堆目录,也不要写 runner。只写一个 tasks.jsonl,里面放 3 条你自己能肉眼判定对错的任务。

第一条任务可以是:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"id": "career_jd_match_001",
"category": "career_jd_match",
"input": {
"resume": "这里放我的简历摘要",
"job": "这里放 NVIDIA Deep Learning SDET 的岗位要求"
},
"expected": {
"required_fields": ["matched_skills", "gaps", "next_actions"],
"min_matched_skills": 3,
"min_gaps": 2,
"min_next_actions": 3,
"must_mention": ["Python", "CI/CD", "Kubernetes"]
}
}

如果这条任务你自己都不知道怎么判对错,就先不要自动化。

5. 我真正要学的是什么

这个小项目真正训练的是 5 种能力:

  1. 把模糊任务改写成可测试任务;
  2. 把模型输出改成稳定结构化输出;
  3. 把“感觉不错”变成 pass rate、失败原因、延迟、成本;
  4. 把 Agent 行为记录成 trace,方便复盘;
  5. 把 AI 系统放回测试开发和 CI/CD 的工程语境里。

这正好连接几个岗位方向:

  1. DeepSeek Agent Infra / Agent Harness / 测试开发
  2. NVIDIA SWQA / SDET / DGX Cloud Test
  3. 自己原来的 DevOps / 研发效能 / 测试平台经验。

6. 暂时不要展开的东西

下面这些都重要,但不是第一步:

  1. LangGraph;
  2. MCP;
  3. vLLM;
  4. CUDA;
  5. Langfuse;
  6. Promptfoo;
  7. Inspect AI;
  8. GitHub Actions。

先把 3 条任务写明白。否则后面所有工具都会变成新的噪音。

7. 下一步对话

我现在先回答一个问题:

我能不能把一个“AI 要完成的任务”,写成一条“我可以判定对错的测试用例”?

如果能,后面才进入第二步:写最小 runner。

如果不能,就继续改任务,不写代码。


Agent Eval / Test Harness 到底是什么
https://gou7ma7.github.io/2026/06/29/career/@2026_agent_eval_harness/
作者
Roy Lee
发布于
2026年6月29日
许可协议