mcpField
C
cxas-sim-eval

cxas-sim-eval

github.com/googlecloudplatform测试与质量11370 次安装今天更新
代码仓库

关于 cxas-sim-eval

cxas-sim-eval 将 CXAS 按轮次编写的黄金评估转换为 SCRAPI SimulationEvals 的目标导向测试用例,适用于评估 Agent 的开发者。它会结合 Agent 工具配置和工具架构推断测试预期,并可运行评估、生成 HTML 报告。

主要功能

  1. 01获取评估与 Agent 工具配置
  2. 02获取可用工具的完整架构
  3. 03转换为模拟测试用例
  4. 04运行评估并生成 HTML 报告
  5. 05分析推理诊断并提出改进建议

适用场景

  1. 01将 CXAS 黄金评估转换为模拟测试
  2. 02为 Agent 工具调用补充测试预期
  3. 03运行评估并检查失败原因

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/googlecloudplatform/cxas-scrapi --skill cxas-sim-eval

安装后在 Claude Code 中输入/cxas-sim-eval确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
convert_eval.py
fetch_app_data.py
fetch_tool_schemas.py
run_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 推理中的问题。

关键迹象
  1. 过度思考(冗长)

    • 表现:内部独白超过 350 或 600 个字符。
    • 含义:Agent 难以处理复杂或循环的指令。
    • 解决方法:简化指令。将复杂任务拆分为更小、更线性的步骤。
  2. 模棱两可

    • 表现:使用类似 “might be”、“guess”、“unsure”、“assume” 的词语。
    • 含义:Agent 不确定下一步该做什么,通常是因为缺少边缘情况处理。
    • 解决方法:针对 Agent 不确定的情景添加明确指令。
  3. 反复推翻

    • 表现:使用类似 “wait”、“actually”、“on second thought” 的词语。
    • 含义:Agent 在一轮对话中放弃计划或自我纠正,表明触发条件不明确。
    • 解决方法:在指令中明确触发条件和状态转换。

评论

支持 Markdown