● 2026.07.10 · 全球 AI 产业资讯 登录 投稿 订阅早报 →
开发者工具

微软实测:别为 agents 重写你的 CLI

微软对比了传统命令行参数(args)与单一 --json 负载在代理(agents)驱动场景下的表现,发现保留扁平 args 在正确性、成本与稳定性上更有优势;JSON 虽更直观但带来更多失败模式、重试与令牌开销。研究用合成工具 podctl 在多模型、多次实验中验证得出结论。

微软实测:别为 agents 重写你的 CLI

微软对比了传统命令行参数(args)与单一 –json 负载在代理(agents)驱动场景下的表现,发现保留扁平 args 在正确性、成本与稳定性上更有优势;JSON 虽更直观但带来更多失败模式、重试与令牌开销。研究用合成工具 podctl 在多模型、多次实验中验证得出结论。

背景
– 有建议把 CLI 参数替换为一个 –json 负载,方便智能代理直接构造结构化输入。微软对这假设进行了实测。

测试方法
– 构建合成 CLI podctl,场景复杂:多服务、多层嵌套、数组与跨引用(30+ 字段)。
– 两个二进制分别只支持 args 或只支持 –json,归一化到相同后端验证。代理需从零发现输入模型。
– 使用 GitHub Copilot Chat 做驱动,测试模型:Claude Haiku 4.5、Sonnet 4.6、Sonnet 5、GPT-5.3-Codex、MAI-Code-1-Flash。每种模式跑 5 次。

主要发现
– 正确性:所有模型在 args 模式均达成 5/5 正确。JSON 模式则对小模型表现不稳(Haiku 4.5 2/5,MAI 3/5),大模型表现良好。
– 成本:JSON 模式每次调用比 args 贵 4x 到 11x(按 token 成本计),主要因重试产生大量输出 token。输出 token 在成本中最贵。
– 失败模式:JSON 引入更多失败来源,包括语法/嵌套错误与 shell 转义问题,导致代理反复修正并重试。

结论与建议
– 不要为了让 agents “更容易” 使用,就把现有 CLI 重写为只接受 JSON。扁平 args 自身能约束输入空间,降低模型出错与重试概率。
– 若要支持 agents,可考虑同时保留 args 路径,并提供可选的结构化描述(例如 JSON schema)以帮助大型模型,但不要把 JSON 作为唯一接口。

附注
– 实验使用了多款主流代码模型与受控合成场景,结论适用于类似需频繁被代理自动化调用的 CLI 工作流。

实测表明:结构化更直观,但在代理驱动下,简单的 args 更可靠且更省钱。

原文链接

不错过任何一条 AI 大事

订阅 AIFlux 早报,每天 3 分钟看懂产业动态。

相关阅读