关于 cxas-sim-eval
cxas-sim-eval 将 CXAS 按轮次编写的黄金评估转换为 SCRAPI SimulationEvals 的目标导向测试用例,适用于评估 Agent 的开发者。它会结合 Agent 工具配置和工具架构推断测试预期,并可运行评估、生成 HTML 报告。
主要功能
- 01获取评估与 Agent 工具配置
- 02获取可用工具的完整架构
- 03转换为模拟测试用例
- 04运行评估并生成 HTML 报告
- 05分析推理诊断并提出改进建议
适用场景
- 01将 CXAS 黄金评估转换为模拟测试
- 02为 Agent 工具调用补充测试预期
- 03运行评估并检查失败原因
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ googlecloudplatform/ cxas-scrapi --skill cxas-sim-eval安装后在 Claude Code 中输入/cxas-sim-eval确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
scripts/convert_eval.pyfetch_app_data.pyfetch_tool_schemas.pyrun_evals.py详细介绍
CXAS 评估转模拟
此技能可将逐轮 CXAS 黄金评估转换为面向目标的高层级测试用例,适用于 SCRAPI SimulationEvals 框架。它会分析 Agent 的工具,以便在预期中补充具体的工具调用。
步骤
1. 检查环境
确保已将 cxas_scrapi 安装为 python 包。你可以运行以下命令进行检查:
python -c "import cxas_scrapi"
确保 gcloud 已正确完成身份验证:
gcloud auth list
如有需要,请使用以下命令登录:
gcloud auth login
2. 获取应用名称和输出目录
重要
在执行任何操作之前,你必须向用户询问应用/Agent 的完整资源名称(例如
projects/.../locations/.../apps/...)和基础输出目录。
向用户询问这些值。
3. 获取评估
使用 CES API 获取评估列表。将每项评估保存为 JSON 文件,并以其显示名称命名,存放在 [output_dir]/golden_evals/ 下。
4. 获取工具架构
获取应用中所有可用工具的完整架构,并将其保存在 [output_dir]/tools/ 下。
5. 获取 Agent 工具配置
获取 Agent 使用的工具和工具集列表,并保存配置(例如保存至 [output_dir]/agent_tools.json)。
6. 转换评估
运行转换脚本(convert_eval.py)处理获取的评估,并将转换后的测试用例保存在 [output_dir]/sim_evals/ 下。
自动化脚本
有三个脚本可用于自动执行此流程:
1. 获取评估和 Agent 配置
scripts/fetch_app_data.py
通过 CES API 获取评估,以及 Agent 使用的工具列表。
用法:
python .agents/skills/cxas-sim-eval/scripts/fetch_app_data.py \
--app-name "projects/.../locations/.../apps/..." \
--output-dir /path/to/output_directory
2. 获取工具架构
scripts/fetch_tool_schemas.py
获取应用中所有可用工具的完整架构。
用法:
python .agents/skills/cxas-sim-eval/scripts/fetch_tool_schemas.py \
--app-name "projects/.../locations/.../apps/..." \
--output-dir /path/to/output_directory
3. 转换评估
scripts/convert_eval.py
将获取的评估转换为模拟测试用例,并使用获取的工具架构推断预期。
用法:
python .agents/skills/cxas-sim-eval/scripts/convert_eval.py \
--output-dir /path/to/output_directory \
--parallelism 5
4. 运行评估
scripts/run_evals.py
运行模拟评估,记录原始结果,并生成合并后的 HTML 报告。
认知诊断分析:
如果 Agent 启用了 intercept_and_score_reasoning 工具,此脚本会自动提取并分析评估失败时 Agent 的内部独白。它会检测过度思考、犹豫和反复推翻等问题。此外,它会将这些诊断与 Agent 的指令相关联,并在 HTML 报告中直接生成可执行的改进建议。
用法:
python .agents/skills/cxas-sim-eval/scripts/run_evals.py \
--app-name "projects/.../locations/.../apps/..." \
--output-dir /path/to/output_directory \
--parallelism 5 \
--start-index 0 \
--end-index 10
解读认知诊断
运行评估时,如果启用了 intercept_and_score_reasoning 工具,系统会提取诊断信息,帮助你识别 Agent 推理中的问题。
关键迹象
-
过度思考(冗长)
- 表现:内部独白超过 350 或 600 个字符。
- 含义:Agent 难以处理复杂或循环的指令。
- 解决方法:简化指令。将复杂任务拆分为更小、更线性的步骤。
-
模棱两可
- 表现:使用类似 “might be”、“guess”、“unsure”、“assume” 的词语。
- 含义:Agent 不确定下一步该做什么,通常是因为缺少边缘情况处理。
- 解决方法:针对 Agent 不确定的情景添加明确指令。
-
反复推翻
- 表现:使用类似 “wait”、“actually”、“on second thought” 的词语。
- 含义:Agent 在一轮对话中放弃计划或自我纠正,表明触发条件不明确。
- 解决方法:在指令中明确触发条件和状态转换。