在 xiaoyu/assistant-eval 构建基于 Spring 的智能体评测系统,用于评估 assistant-agent 在知识库场景下的能力,并支持回归对比。
本阶段包含:
- 评测框架设计
- 用例规范
- 评分规范
- 执行流程
本阶段不包含:
- 全量代码实现
- CI 接入
- LLM judge 细节实现
- 工程正确性与智能体能力双轨评分
- 用例与评分解耦(Case / Rubric 分离)
- 结果可追溯(保留证据与失败标签)
- 支持基线对比(Regression)
- 触发层:
- CLI:
assistant-cli eval run --suite knowledge-v1 - HTTP:
POST /api/eval/run
- CLI:
- 评测服务 assistant-eval:
EvalRunner: 执行编排AgentClient: 调用 assistant-agentTraceCollector: 采集 tool calls/回答/时延RuleScorer: 硬规则评分CapabilityScorer: 能力评分ReportService: 输出 JSON/Markdown 报告RegressionService: 与基线对比
- 被测系统:assistant-agent
assistant-eval/
src/main/java/com/assistant/eval/
config/
controller/
model/
service/
scoring/
report/
regression/
runner/
src/main/resources/
evals/suites/
evals/cases/
evals/rubrics/
reports/
EvalCase: 单题定义(输入、期望、评分、通过条件)EvalSuite: 题集定义(case 引用、标签)EvalTrace: 执行证据(tool_calls、turn_count、latency、final_answer)EvalRunResult: 单题结果(分数、通过、失败标签)EvalSuiteResult: 整套结果(通过率、维度均分、Top failures)RegressionResult: 与 baseline 差异
双轨评分:
- 工程轨 40%:工具调用、参数、效率、错误处理
- 能力轨 60%:可执行性、总结质量、检索相关性、沉淀质量、交互体验
硬失败(直接 fail):
- 编造知识
- 未确认即覆盖
- 明显不相关却声称命中
- 基础质量 4
- 意图交互 4
- 沉淀质量 6
- 复盘复习 4
- 鲁棒安全 2
- 加载 suite 与 case
- 逐题执行并采集 trace
- RuleScorer + CapabilityScorer 打分
- 聚合 suite 结果
- 落盘 JSON/Markdown 报告
- 可选 baseline diff
POST /api/eval/runGET /api/eval/resultsGET /api/eval/results/{runId}GET /api/eval/results/{runId}/diff/{baselineRunId}GET /api/eval/cases
eval.agent.default-urleval.cases-direval.results-direval.default-timeout-mseval.max-concurrencyeval.judge.mode(rule-only/capability-assisted)eval.regression.max-score-drop
- 定稿 Case/Rubric/YAML 规范(已完成)
- 实现最小 Runner + RuleScorer(已完成)
- 增加报告与回归比较(进行中)
- 增加能力评分与 20 题全量运行(待开始)
- 2.1
EvalCase/EvalSuite模型定义(已完成) - 2.2 YAML 用例加载器
CaseLoaderService(已完成) - 2.3 YAML 规范校验器(必填字段/权重/阈值)(已完成)
- 2.4 最小
EvalRunnerService(先支持单 case)(已完成) - 2.5
RuleScorerService(先实现 must/must_not/hard constraints)(已完成) - 2.6 本地最小可运行验证 + 单测(已完成)
- 2.7 单题执行集成测试入口
SingleCaseExecutionIT(已完成)
- 3.1
ReportService单题结果落盘 JSON(已完成) - 3.2 执行链路接入报告输出(已完成)
- 3.3 结果列表与读取接口(已完成)
- 3.4 baseline 对比模型与服务(已完成)
- 3.5 回归规则(score drop / pass rate drop)实现(已完成)
- 当前正在执行:P2-2 评测集扩展至 20 题并补回归样例
- P0-1 增加执行入口:
POST /api/eval/run(单 case 执行 + 报告落盘 + 返回runId/reportPath)(已完成) - P0-2
AgentClientService切换流式接口/api/chat/stream,采集TOOL_RESULT事件(已完成)
- P1-1 扩展执行结果模型:
toolCalls、turnCount、dimensionScores、evidence(已完成) - P1-2
RuleScorerService接入工具正确性规则(是否调用预期工具、参数关键字段)(已完成) - P1-3 最小
CapabilityScorer骨架落地并产出维度分(已完成)
- P2-1 增加 Suite 批量执行(
runSuite)与汇总报告(已完成) - P2-2 评测集扩展至 20 题并补回归样例