黄金法则:CLI 提供事实,模型基于事实行动

探讨 AI Agent 开发的黄金法则:不要让模型死记硬背规则,而应通过 Apifox CLI 的 cli-schema validate 进行本地校验,将 Schema 变为质量门禁,提升效率并减少 Token 浪费。

用 Apifox,节省研发团队的每一分钟

黄金法则:CLI 提供事实,模型基于事实行动

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

核心原则:让规则在正确的地方执行

我们从经验中总结出了一个核心原则:

不要让模型记住所有规则。让规则在正确的地方执行。

这类似于 Agent 评估中的一个经验教训:

指标类型 归属地
确定性指标 脚本、代码、自动化检查
语义判断 LLMs、模型推理

在 Apifox CLI + SKILL 中:

内容 执行位置
确定性结构校验 CLI (cli-schema)
任务判断与生成 Agent

让 CLI 校验结构,让 Agent 生成内容。


模型记忆的问题

当 AI Agent 协助创建或更新 Apifox 资源时,风险不仅在于生成内容。

真正的风险在于:在没有足够的结构或验证的情况下,将生成的内容写入真实项目。

Apifox 的资源是结构化的。考虑一个测试用例或测试场景包含的内容:

组件 复杂度
请求数据 Method, URL, headers, body, auth
断言 比较符、主体、目标值、条件
变量提取 变量名、类型、提取路径
前置脚本 请求前的脚本
后置脚本 响应后的脚本
步骤顺序 序列、依赖关系
环境引用 环境 ID、变量覆盖

如果 Agent 靠猜测来构建结构:

  • 错误的字段名 → 写入失败
  • 无效的枚举值 → 服务器拒绝
  • 缺失必填字段 → 资源不完整
  • 错误的类型 → UI 显示异常
  • 错误的嵌套 → 测试行为不符合预期

cli-schema validate:质量门禁

我们原则最直接的体现就是 cli-schema validate

apifox cli-schema validate test-scenario-update --file ./scenario-update.json

当 Agent 想要写入或更新测试场景时,让 AI 生成复杂的步骤结构是非常容易出错的。

validate 命令的作用:

  • 确认字段名称
  • 检查结构有效性
  • 验证枚举值的有效性
  • 校验类型约束

所有这些都在发起写入请求之前完成。


cli-schema 捕获的常见错误

以下是 Agent 经常犯的真实错误示例,而这些错误都能被 cli-schema validate 捕获:

错误值 正确值 上下文
global globals 变量作用域类型
contains include 断言比较符
responseBody responseJson 响应体主体
"500" (字符串) 500 (数字) 毫秒延迟
equals equal 断言比较符
header headers 请求头字段

这些并非理论推测。我们是通过真实的 Agent 交互发现这些问题的。

每一个错误都会导致:

  • 写入请求失败
  • API 报错响应
  • Agent 对出错原因感到困惑
  • 多次重试尝试
  • 重复调用导致的 Token 浪费

通过 cli-schema validate,这些错误在发起网络调用之前就在本地被捕获了。


设计哲学

让我们考虑一下其他替代方案:

方案 1:将规则写入 Prompt

如果我们把所有字段规则都写进 Agent 的 Prompt 中:

  • 记录每个字段名
  • 列出每个枚举值
  • 解释每个类型约束
  • 描述每个嵌套结构

结果:巨大的上下文负担。

一个完整的测试场景 Schema 很容易就需要 5,000+ Token 的描述。这是模型在执行每项任务时都必须携带的上下文,即使大多数规则在当时并不相关。

方案 2:依赖模型记忆

如果我们依赖模型去“记住”正确的结构:

  • 模型在某些 API 模式上训练过
  • 但并未针对 Apifox 的 Schema 进行专门训练
  • 不同产品的字段名各不相同
  • 枚举值是产品特有的

结果:高错误率。

模型对 Apifox 特有的约定没有完美的记忆。它会进行猜测——而猜测往往是错误的。

更好的方法:本地校验

让 Agent 生成草稿。让 CLI 在写入前执行校验。

# Agent 生成 JSON
# (Agent 不需要记住所有规则)

# CLI 校验
apifox cli-schema validate test-case-create --file ./test-case-create.json

# 如果有错,CLI 输出具体的错误信息
# Agent 根据错误进行调整

# 只有校验通过后才执行写入
apifox test-case create --project <projectId> --file ./test-case-create.json

Schema 的转变

cli-schema validate 改变了 Schema 的意义:

之前 之后
Schema = 模型必须记住的知识 Schema = 必须通过的质量门禁
通过失败的写入发现错误 通过本地校验发现错误
通过网络调用进行重试 通过本地调整进行修复
上下文负担 执行门槛

问题不会在无意义的往返网络请求中被消耗。

质量检查通过本地命令即可完成。


实际案例

让我们走一遍真实的工作流:

# Agent 读取接口详情
apifox endpoint get <endpointId> --project <projectId>

# Agent 生成测试用例 JSON
# (创建 ./test-case-create.json)

# 写入前进行校验
apifox cli-schema validate test-case-create --file ./test-case-create.json

如果校验通过:

apifox test-case create --project <projectId> --file ./test-case-create.json

如果校验失败:

Error: Field "assertions[0].comparator" has invalid value "contains"
Valid values: equal, not_equal, greater, less, include, not_include, exists, not_exists

Error: Field "extractors[0].type" has invalid value "global"
Valid values: globals, environment, collection, local

Suggestion: Fix these fields and re-validate before writing.

Agent 会:

  1. 读取具体的错误信息
  2. 准确理解哪里出错了
  3. 调整 JSON 文件
  4. 重新运行校验
  5. 仅在有效时继续执行

没有失败的写入。没有困惑的重试。没有浪费的 Token。


更深层的启示

这一原则不仅限于校验。

规则类型 归属地
字段名规则 cli-schema
枚举值规则 cli-schema
类型约束 cli-schema
工作流顺序 SKILL
下一步引导 agentHints
任务拆解 Agent

确定性规则 → 工程系统

语义判断 → Agent


下一步预告

既然我们已经建立了校验原则,接下来的问题是:

校验之后,CLI 如何引导 Agent 进入下一步?

在第四部分 agentHints:教 CLI 如何与 Agent 对话 中,我们将探讨带有“下一步建议”的结构化输出如何将 CLI 从一个命令执行器转变为工作流导航器。


核心要点

  • 核心原则:规则属于执行层,而非上下文层。
  • cli-schema validate 是写入前的质量门禁。
  • 常见错误:错误的字段名、无效的枚举、错误的类型。
  • 校验在本地捕获错误,节省了网络往返。
  • Schema 从“要记住的知识”转变为“要通过的门禁”。
  • 确定性规则归于工程;语义判断归于 Agent。

下载 Apifox,在一个工作区内完成 API 的 设计Mock测试文档 制作。了解更多关于 Apifox CLI 的信息,助力命令行 API 测试、CI 自动化和 AI Agent 工作流。

开发必备:API 全流程管理神器 Apifox

介绍完上文的内容,我想额外介绍一个对开发者同样重要的效率工具 —— Apifox。作为一个集 API 文档、调试、设计、测试、Mock、自动化测试于一体的工具,Apifox 是目前提升研发效率的首选。

如果你正在开发项目,不妨试试其极其友好的界面设计,它完全兼容 Postman 和 Swagger 数据格式,导入数据非常方便,,即使是新手也能很快上手,点击这里即可注册使用

Apifox

值得一提的是,除了个人和常规团队使用,针对有高安全合规要求、或需要在内网环境协作的企业,Apifox 还提供了深度定制的私有化部署方案

获取专属报价与部署方案

icon 详细的私有化部署系统架构与安全白皮书
icon 针对您公司规模的专属报价单
icon 免费的 1v1 专属产品演示 (Demo) 机会
获取部署方案
* 提交后,我们的客户经理将在 1 个工作日内与您联系
林俊锋 企业微信
@Apifox 专属顾问
扫码备注: 私有化 + 公司名