feat(eval): 增加 Agent 轨迹评测回归门 - #158
Merged
Merged
Conversation
将生产 Orchestrator 组装与通用 tool wiring 拆开,支持评测注入模型、工具和审批存储,同时保持生产接线不变。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
加入离线 scripted model、synthetic tools、轨迹规范化、确定性评分、脱敏报告以及 PR/nightly/live 评测入口。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
在 PR CI 中运行完全离线的 Agent Eval,并增加每日 nightly workflow 和脱敏 JSON 报告产物。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
要求完整 golden 字段和 live 隔离,修正失败执行分类,稳定报告排序与统计,并扩展凭证脱敏和 trial 安全门。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
覆盖工厂副作用、生产 Agent 接线、网络与 cache 隔离、严格 schema、轨迹分类、报告统计和 CLI 安全边界。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
避免工具或 provider 以通用 token 键返回凭证时进入评测报告。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
在运行时拼接脱敏测试 token,保留行为覆盖且不在源码中出现完整凭证形状。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
串行化进程级网络守门,结构化记录 fixture 和工具 schema 前置失败,并清理不可达评分分支。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
增加真实 CLI、artifact 脱敏、负向 subset、时效字段、全部结果分类、fetch 恢复和并行 trial 隔离覆盖。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
让 CLI、fixture、模型协议、网络与超时错误携带稳定类别,并保证损坏参数仍能输出计数一致的失败报告。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
验证损坏参数、live provider/model 门、失败报告不变量、受信上下文字段覆盖以及共享 fixture 复用。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Review base: 7482495 🤖 DeepSeek V4 Pro PR Review |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Orchestration seams
createOrchestrator()so production and evaluation share the same Mastra Agent construction without loading production providers, MCP, memory, or service processors in offline evals.askpath actually needs them.Agent Eval
FullOutput.stepsinto attempted/executed trajectories and grade required calls, ordering, input subsets, result classes, forbidden paths, budgets, and final text.CI
Test Coverage
Remaining gaps are intentionally outside the required offline lane: paid live-provider behavior, dynamic references from one fixture result into a later scripted call, and a provider that ignores its AbortSignal.
Tests: 38 → 57 files (+19).
Pre-Landing Review
Design Review
No frontend files changed — design review skipped.
Eval Results
eval:pr: 4/4 passed, scripted, no provider secrets or model cost.eval:nightly: 4/4 passed, scripted, no provider secrets or model cost.eval:livewas not run; no paid model calls were made.Scope Drift
CLEAN— the diff contains only the H0 Agent Eval bootstrap, its orchestration seams, tests, and CI. Existing E1 design work was not included.Plan Completion
Verification Results
The full Vitest suite used one local worker because unrelated timing tests were unstable under heavy host CPU contention. GitHub CI still runs the repository's default parallel command.
Test plan
🤖 Generated with Claude Code