智能体问答创作
Agent QA Authoring (Agent QA 编写)
概述
编写 Agent QA 测试、套件和钩子时,请勿随意发明架构字段或标识符。优先使用 Agent QA 的 MCP 工具,参考随附的合约引用以获取精确字段,并在保存或运行每个定义之前进行验证。
使用场景
- 创建或编辑 Agent QA 测试、套件或钩子。
- 验证 Agent QA YAML 或规范 ID。
- 通过 MCP 或 CLI 运行新编写的 Agent QA 定义。
- 调查适用的 Agent QA 配置字段或工作区模式。
前提条件与审批边界
- 仅在用户授权的已配置 Agent QA 工作区中操作。
- 在执行任何创建、更新、删除或测试运行操作前,检查请求的范围。
- 在删除定义或运行可能更改外部应用程序状态的测试前,获取明确确认。
- 避免将凭据写入定义和输出中;使用工作区配置的密钥处理机制。
工作流
1. 使用 agent_qa_discover 探测本地环境。
2. 使用 agent_qa_get_config 检查当前配置,特别是 targets、devices、providers 和 services.mcp。
3. 在需要精确架构字段或 ID 合约时,加载 references/agent-qa-contracts.json。
4. 使用 Agent QA 工具生成所有新 ID:
- MCP: agent_qa_generate_id
- CLI 备选: agent-qa ids generate <test|suite|hook|run|observation>
- Package 备选: npx --yes agent-qa ids generate <type>
5. 严禁手动编写 ID。使用 agent_qa_validate_id 或 agent-qa ids validate <type> <id> --json 验证现有 ID。
6. 在保存前验证定义:
- 测试 (Tests): agent_qa_validate_test 或 agent_qa_validate_definition (设置 kind: "test")
- 套件 (Suites): agent_qa_validate_suite 或 agent_qa_validate_definition (设置 kind: "suite")
- 钩子 (Hooks): agent_qa_validate_definition (设置 kind: "hooks")
7. 优先使用 MCP 编写变更:
- 测试: agent_qa_create_test, agent_qa_update_test, agent_qa_delete_test
- 套件: agent_qa_create_suite, agent_qa_update_suite, agent_qa_delete_suite
- 钩子: agent_qa_create_hook, agent_qa_update_hook, agent_qa_delete_hook
8. 仅在 MCP 不可用时使用 CLI 或 YAML 备选方案。确保文件路径与 workspace.testMatch 或 workspace.suiteMatch 匹配。
必需的 ID 合约
- 测试 ID (Test IDs):
t_加上 10 个 id-agent 单词。
- 套件 ID (Suite IDs):
s_加上 10 个 id-agent 单词。
- 钩子 ID (Hook IDs):
h_加上 10 个 id-agent 单词。
- 运行 ID (Run IDs):
r_加上 10 个 id-agent 单词。
- 观察 ID (Observation IDs):
obs_加上 10 个 id-agent 单词。
运行前准备
- 首先验证 YAML。
- 优先使用
agent_qa_enqueue_test_run和agent_qa_enqueue_suite_run,而非直接调用 shell。
- 如果使用 CLI 备选方案,仅在验证成功后运行。
- 当测试可能会修改真实数据或触发外部操作时,重新确认目标和环境。
示例
用户:为 staging 目标添加一个 Agent QA 结账测试,并且...预期处理流程:发现工作区 $\rightarrow$ 检查暂存目标 $\rightarrow$ 生成测试 ID $\rightarrow$ 创建最小有效定义 $\rightarrow$ 进行验证 $\rightarrow$ 在进入运行队列前停止。
```
限制条件
- 需要安装并配置 Agent QA 工作区,以及所选目标所需的浏览器、移动端、模型提供商或应用程序依赖项。
- 无法推断未记录的配置键、选择器、UI 状态、凭据或测试数据。
- MCP 的可用性和权限因工作区而异;请注明使用了哪种 CLI 或 YAML 回退方案。
- 验证仅证明模式(schema)兼容,并不保证应用程序行为或外部环境的执行安全性。
禁止事项
- 不要虚构配置键,也不要使用旧版的根配置桶(root config buckets)。
- 不要手动编写 ID。
- 不要修改配置工作区模式之外的文件。
- 未经用户明确定义范围并确认,不要运行具有破坏性或面向生产环境的场景。