CHEMAGENT · TEST REVIEW 封面

Internal review · 30 min · ChemAgent

Eval 驱动的 Agent产品工程化升级

ChemAgent 实战复盘

起点
31 个精馏工艺 Case
转折
从松散的 Case-by-Case E2E 验收到系统化 Eval
落点
一套 Eval 驱动的 Agent 产品工程化闭环
1

Chapter 01 / Recap

回顾两个半月以前
经济上行期的喜悦

01.1 / 当时的进度

10/ 31
已通过 · 简单 Case业务场景 Case 总数
  • ChemAgent 主体框架建设完成;
  • 围绕精馏工艺设计了 31 个从简单到复杂的业务场景 Case;
  • 前 10 个简单 Case 顺利通过:常规用例,基于现有 Template 调参仿真,达成收敛、达标、低风险三大核心目标。
收敛
达标
低风险

01.2 / 当时的判断

看起来,只剩下一条很直的路。

STEP 01

Framework Ready

框架已经 Ready。

STEP 02

继续跑 Case

下一步是继续运行剩余 Case,在测试过程中发现并修复 Bug。

STEP 03

Production Ready

完成测试验收,达到 Production Ready。

2

Chapter 02 / Reality Check

现实继续打脸
六类问题接踵而来

02.1 / Problem 01—02

PROBLEM / 01

复杂度越高,失败越难归因

从简单 Case 进入完整能力后,失败不再对应一个明确环节 - 谁能想到,一个Case花掉3天时间Debug?

可能的失败来源
软件 BugAgent 理解与规划模板与模型配置工艺可行性Aspen 数值收敛状态与运行环境验收标准本身

核心问题完整链路同时启动,失败千头万绪,难以快速定位根因。

PROBLEM / 02

E2E 太慢,失败到成功路径太长

一次复杂 E2E 需要走完整任务链,任何修改都意味着重新等待 - 等待时长~20分钟!

完整任务链
理解规划建模仿真诊断修改验收重跑

核心问题运行成本高、反馈周期长,团队反复经历“失败 → 更新 → 重跑”。

02.2 / Problem 03—04

PROBLEM / 03

修好后面的,前面的又坏了

公共逻辑发生变化后,已经建立的历史能力出现向后回归 - 一个一个PR回归,又3天过去了!

纵向回归路径
历史能力已经通过公共逻辑发生变更旧 Case 能力退化

核心问题系统缺少自动回归保护和变更影响分析。

PROBLEM / 04

修好一个,同类问题还会再出现

前一个 Case 修复后,后一个 Case 仍然出现相似问题 - AI真的很喜欢偷懒,永远热爱“打补丁”+“Hard Code”。

横向泛化路径
Case A 暴露问题针对当前样本修复Case B 再次出现

核心问题样本级修复没有抽象成适用于同类任务的系统能力。

02.3 / Problem 05—06

PROBLEM / 05

“通过”本身也可能是假的

系统声称成功、真实执行和专业正确之间存在多层断点 - 直到昨天,我还在发现假阳案例!

假通过断点
Agent 声称执行成功 ≠ 参数真正写入参数写入 ≠ Aspen 使用正确输入与模型Aspen 收敛 ≠ 专业目标真正达成单次成功 ≠ 结果可以稳定复现

核心问题缺少从意图到结果、从执行到专业指标的完整证据链。

PROBLEM / 06

31 个 Case 覆盖维度太单一

现有 Case 主要覆盖精馏工艺从简单到复杂这一条业务轴线 - 这个Case通过了,这项能力就达标了吗?No!

尚未系统覆盖
能力路径系统组件异常边界状态恢复输入扰动泛化重复运行

核心问题业务复杂度不能替代完整的系统验证空间。

02.5 / 阶段性反思

当前任务需要从“松散测试完成验收”转变为:建立一套 Eval 驱动的产品工程化升级体系

松散的 E2E 测试验收

适用阶段:系统已经 Ready,需要通过用户任务进行业务验收。因此,31 个 Case 可以扮演业务验收场景库的角色。

Eval 驱动的产品工程化升级

适用阶段:复杂系统,离 Ready 距离遥远——就是实际所处阶段!31 个 Case 的测试同时暴露了验收体系和产品本身的双重问题。

3

Chapter 03 / Industry Research

行业如何通过 Eval 驱动
Agent 产品迭代?

03.1 / Eval Objects & Research

Agent Eval 如何做?- Eval 对象与代表性研究

Eval 对象适用 Agent常用 Oracle / Grader代表性研究对 ChemAgent 未覆盖
Eval 对象 01最终回答:说得对不对?
适用 Agent问答、内容生成、通用助手
常用 Oracle / GraderExact Match、F1、Schema、Rubric、Human/LLM Judge、Pairwise
代表性研究SQuAD ↗G-Eval ↗MT-Bench ↗
对 ChemAgent 未覆盖无法证明 Agent 真正完成了 Aspen 操作
Eval 对象 02检索与依据:依据可靠吗?
适用 AgentRAG、知识助手、研究 Agent
常用 Oracle / GraderRecall@K、MRR、Context Relevance、Faithfulness、Citation Check
代表性研究RAGAS ↗ARES ↗
对 ChemAgent 未覆盖无法验证仿真执行和工程结果
Eval 对象 03行动过程:做法正确吗?
适用 AgentTool-Using、Workflow、Browser Agent
常用 Oracle / Grader工具、参数和顺序检查,Policy/Contract Check,轨迹评分
代表性研究τ-bench ↗
对 ChemAgent 未覆盖正确调用不代表参数真正写入或结果成立
Eval 对象 04外部状态:事情真的做成了吗?
适用 AgentWeb、业务系统、操作型 Agent
常用 Oracle / Grader页面、数据库、文件和外部系统状态断言
代表性研究WebArena ↗τ-bench ↗
对 ChemAgent 未覆盖Aspen 状态变化不等于收敛、达标和工艺合理
Eval 对象 05领域结果:专业上成立吗?
适用 AgentCoding、科学、工程 Agent
常用 Oracle / GraderTest Suite、数值阈值、领域约束、专家 Rubric
对 ChemAgent 未覆盖未覆盖完整的意图—编排—Aspen 状态—工程结果证据链
Eval 对象 06系统可靠性:能稳定上线吗?
适用 Agent所有 Production Agent
常用 Oracle / Graderpass^k、Variation、Holdout、Regression、风险、成本和时延
代表性研究τ-bench ↗NIST TEVV ↗
对 ChemAgent 未覆盖不会替 ChemAgent 定义领域 Oracle、风险等级和发布门槛

03.2 / Iteration Mechanisms & Research

Eval 如何驱动产品发生改变?- 迭代机制与代表性研究

迭代机制代表研究/框架Eval 如何驱动迭代ChemAgent 可借鉴适用边界
Iteration 01Eval 驱动的工程闭环
代表研究/框架TDD/CI、EDDOps ↗Anthropic Agent Eval ↗
Eval 如何驱动迭代Eval → Slice/Trace 归因 → 定向改造 → Re-eval → Regression → Production 反馈
ChemAgent 可借鉴最适合作为 ChemAgent 的主骨架
适用边界框架较高层,不定义领域 Oracle、失败分类和具体改造位置
Iteration 02Case/数据驱动迭代
代表研究/框架Active Learning、Production Feedback Flywheel
Eval 如何驱动迭代选择最不确定、最有分歧或风险最高的样本,形成新 Case、标签和覆盖
ChemAgent 可借鉴用于产生 Boundary、Variation、Holdout Case
适用边界只决定下一步测什么,不负责修复产品
Iteration 03Metric 驱动的自动优化
代表研究/框架DSPy ↗
Eval 如何驱动迭代把 Eval Metric 作为目标,自动优化 Prompt、示例和局部 Pipeline
ChemAgent 可借鉴可用于受控优化 Planner、Prompt、Routing
适用边界依赖便宜、稳定的 Metric,无法修复执行器和领域工程问题
Iteration 04进化式/遗传自动优化
代表研究/框架PromptBreeder ↗EvoPrompt ↗ADAS ↗
Eval 如何驱动迭代候选种群/Archive → Fitness Eval → 选择 → Mutation/Crossover/生成新 Agent → 重复
ChemAgent 可借鉴未来可对局部 Prompt 或 Workflow 做沙盒搜索
适用边界完整 E2E 成本过高,且多目标、噪声、风险与外部状态难以压缩为单一 Fitness

03.3 / Domain Assembly

理论研究无法整包照搬,但可以基于现有方法与骨架完成领域化组装

Why / 为什么?

Reason 01

Eval 对象不完整

不同研究分别评回答、轨迹、状态、领域结果或可靠性,没有一项覆盖完整证据链。

Reason 02

迭代环节不完整

有些只负责测量,有些优化 Prompt,有些搜索 Workflow,有些负责发布治理,没有一项同时完成归因、改造、泛化和认证。

Reason 03

关键假设不同

不同方法对 Ground Truth、运行成本、环境稳定性和风险容忍度的假设不同。

Reason 04

领域 Oracle 无法通用

工程可行性、仿真有效性、专业约束和安全风险必须由具体领域定义。

现有方法并非不能使用,而是分别解决局部问题;直接照搬容易获得局部高分,却无法形成完整的 Production 证据。

4

Chapter 04 / Build the Loop

如何组装一套 Eval 驱动的 Agent 产品工程化闭环?

04.1 / Agent Type & Characteristics

定义 Agent 类型与特征 - ChemAgent 属于什么类型的 Agent?

ChemAgent 可以定义为:使用专业工具(Tool Use)、以工业仿真为事实基础(Simulation-grounded)的科学与工程 Agent(Scientific and Engineering Agent)。

A科学与工程 Agent

应用类别:面向专业科学与工程任务。

+Tool Use

交互和执行方式:通过专业工具改变外部系统状态。

+Simulation-grounded

事实依据:最终结果以工业仿真而不是语言生成作为判定基础。

Main Characteristics / 主要特征

Feature 01

理解存在不确定性

自然语言有歧义,Agent 的规划和输出具有概率性。

Feature 02

执行是有状态的长链路

Agent 需要调用专业工具、修改外部状态,错误会沿任务链传播。

Feature 03

正确性是多层的

正确调用工具不等于真实写入;仿真收敛不等于目标达成;数值达标不等于工程合理和安全。

Feature 04

验证昂贵且单次不足

E2E 成本高,同时需要证明泛化、可复现和无历史回归。

04.2 / Engineering Objective

定义工程化升级的最终目标

不是让 Agent “通过更多 Case”,而是:在明确的使用场景与风险边界内,把偶然成功的 Agent,升级为能力可验证、结果可复现、表现可泛化、风险可控制,并且可以持续发布和运营的产品。

因此,Eval 驱动的工程化闭环需要依次完成四项任务:

闭环任务回答的问题主要性质
闭环任务度量真实能力
回答的问题Agent 是否真的完成了任务?
主要性质Eval
闭环任务定位失效根因
回答的问题失败发生在哪里,为什么发生?
主要性质Eval 分析
闭环任务驱动系统升级
回答的问题应该改哪里,是否解决了一类问题?
主要性质产品迭代
闭环任务认证可发布能力
回答的问题改进是否可泛化、可复现且没有造成回退?
主要性质Assurance / Release

04.3 / Six-stage Eval Loop

组装 Eval 驱动的产品工程化闭环 - 六个运行阶段,把 Eval 证据转化为永久性的产品能力

每一阶段都回答一个不同问题,并留下可以进入下一阶段的工程产物。

01

能力建模

产品需要具备什么能力?前提和边界是什么?

主要行动
定义输入、前置条件、允许行为、目标、风险边界和失败方式。
主要产物
能力地图与能力契约。

应用于 ChemAgent定义 Use Template、Edit Template、From Scratch 各自的适用条件、行为和边界。

02

Case 与证据设计

用哪些具体场景证明能力?每个 Case 凭什么算通过?

主要行动
从能力地图派生 Case Family,并为每个 Case 建立证据模型和验收标准。
主要产物
Case Portfolio 与 Evidence Plan。

应用于 ChemAgent将原 31 个 Case 映射到能力地图,补充边界、异常、泛化和回归 Case,并定义意图、路径、写入、仿真、结果与风险证据。

展开细节:Case Family 与八类验证证据

Case 连接能力定义、证据收集、系统升级和能力认证。先将原有 Case 映射到能力地图,识别重复覆盖与能力缺口,再补齐完整的 Case Family,并为每个 Case 定义可核验的证据链。

Case Family / 用什么场景证明能力

CASE / 01基准 Case

验证最典型的正常路径。

CASE / 02边界与 Negative

验证能力边界、正确失败和拒绝。

CASE / 03Variation Case

改变表达、单位、规模或同类对象。

CASE / 04Hold-out Case

验证修复能否迁移到未参与修复的同类任务。

CASE / 05Regression Case

保护已经建立的历史能力。

Evidence Model / 凭什么算通过

EVIDENCE / 01意图证据

是否正确理解需求、修改和约束?

EVIDENCE / 02路径证据

是否选择正确且被允许的能力路径?

EVIDENCE / 03执行证据

是否真实改变外部状态,并可回读确认?

EVIDENCE / 04领域运行证据

专业工具、模型或仿真是否有效运行?

EVIDENCE / 05结果证据

最终专业指标是否真正满足目标?

EVIDENCE / 06风险证据

过程与结果是否处于允许边界内?

EVIDENCE / 07泛化证据

是否解决一类问题,而非记住当前 Case?

EVIDENCE / 08可靠性与回归

能否重复成功,并保护历史能力?

03

分层验证

如何以适当成本运行 Case 并取得证据?

主要行动
围绕 Case 涉及的能力与证据,组合单元、组件、确定性流程、真实工具探针、E2E 和稳定性测试。
主要产物
分层 Eval 结果与可诊断轨迹。

应用于 ChemAgent同一个业务 Case 不再只跑完整 E2E,而是使用契约测试、无 LLM 流程、Aspen 探针和自然语言 E2E 逐层验证。

展开细节:从低成本确定性验证到高真实度完整任务

同一个业务 Case 不再只跑完整 E2E,而是按成本、确定性和真实度逐层取得证据;越靠下越便宜、越容易定位,越靠上越接近真实用户任务。

高 08 · Production 监控

记录真实调用轨迹、状态、异常与结果漂移。

持续发现新问题并反馈闭环。

↑ 07 · 重复与影响范围回归

重复运行,并回归共享组件与能力路径的历史 Case。

验证稳定性并防止能力退化。

↑ 06 · 泛化与变形测试

改写表达、切换单位、缩放规模、更换同类对象。

证明修复不是 Case 级 Hard Code。

↑ 05 · 自然语言 Production E2E

从真实用户表达运行到最终验收。

验证完整用户任务和证据链。

↑ 04 · 真实工具探针

独立执行写入、运行、读取和状态核验。

验证外部系统操作是否真正生效。

↑ 03 · 确定性工作流测试

固定计划或移除 LLM 随机性,运行真实生产代码路径。

分离 Agent 不确定性与系统实现问题。

↑ 02 · 组件集成测试

验证规划、编排、Gate 和工具接口之间的协作。

定位组件及边界问题。

低 01 · 契约与单元测试

验证字段、单位、规则、状态和确定性逻辑。

低成本发现基础实现问题。

04

失败归因与产品升级

失败是 Bug、定义缺失、架构问题、工程不可行还是能力边界?

主要行动
分层定位根因,升级契约、公共机制、架构、可观测性或边界,并将失败固化为回归 Case。
主要产物
系统修复与永久测试资产。

应用于 ChemAgent单位问题进入公共单位契约并增加回归 Case;参数写入问题增加状态回读;不可行任务形成明确边界。

05

能力认证与 Release Gate

Case Family 是否足以证明能力已经泛化、稳定且没有破坏历史能力?

主要行动
运行基准、相邻、Hold-out、Variation、重复和影响范围回归 Case。
主要产物
能力状态与 Release Gate。

应用于 ChemAgent不再以单个 Case 变绿为完成标准,而是由一组同能力 Case 共同认证。

06

Production 反馈

真实环境是否产生了新能力、新场景和新失败?

主要行动
将真实任务和异常转化为新能力、新 Case 或新边界,并重新输入闭环。
主要产物
新能力、新 Case、新证据与新边界。

应用于 ChemAgent将真实复杂任务和 Production 异常转化为新的能力定义与回归测试。

Chapter 05 / Current Status

ChemAgent 现在如何了?

革命尚未成功,
同志仍需努力!