文章摘要
文章建议为适应AI代理的需求,应重写命令行界面(CLI),包括采用JSON格式数据、支持模式自省、控制上下文窗口大小、防止幻觉输入,并开发面向AI代理的功能模块。
文章总结
为AI智能体重构命令行界面(CLI)的设计哲学
核心观点
- 人类优先的CLI:注重可发现性和容错性。
- 智能体优先的CLI:强调可预测性和深度防御。
- 两者差异显著,简单改造现有CLI难以满足智能体需求。
关键设计原则
原生JSON支持
- 智能体偏好结构化数据:通过
--json直接传递完整API负载,避免扁平化参数的语义损失。 - 示例对比:传统CLI需10个独立参数,而智能体CLI只需一个JSON字段,与API协议完全对齐。
- 智能体偏好结构化数据:通过
运行时模式自省
- 提供
schema命令动态输出API结构(如gws schema drive.files.list),替代静态文档,解决模型上下文窗口限制和版本滞后问题。
- 提供
上下文窗口优化
- 强制字段掩码(
fields参数)过滤冗余响应数据,结合NDJSON分页流式处理,避免大响应耗尽智能体token预算。
- 强制字段掩码(
输入加固防御幻觉
- 严格验证路径遍历(如拒绝
../../.ssh)、控制字符、资源ID格式(拦截嵌入的?fields=)和双重编码问题。 - 设计理念:“智能体会幻觉,需按不可信输入设计”。
- 严格验证路径遍历(如拒绝
技能文件(Skill Files)
- 为智能体定制
SKILL.md,明确操作规范(如“始终添加--dry-run”),弥补其缺乏人类直觉的缺陷。
- 为智能体定制
多接口适配
- 同一二进制支持终端、MCP协议(JSON-RPC标准输入输出)、扩展插件和环境变量鉴权,适应不同智能体框架调用场景。
安全兜底机制
--dry-run预校验避免实际数据变更,--sanitize过滤API响应中的潜在提示注入攻击(如恶意邮件中的指令篡改)。
迁移路径建议
- 优先增加JSON输出和输入验证
- 实现模式自省命令
- 逐步引入字段掩码、沙箱环境等特性
- 最终通过MCP暴露类型化接口
案例参考
Google Workspace CLI 开源项目完整实践了上述模式,其设计原则可泛化至其他工具链。
注:本文观点代表作者个人,与谷歌官方无关。
评论总结
以下是评论内容的总结,平衡呈现不同观点并保留关键引用:
支持为AI优化CLI的观点
CLI与AI需求存在差异
- Human DX优化可发现性和容错性,Agent DX优化可预测性和深度防御(justinwp)
- "retrofitting a human-first CLI for agents is a losing bet"
文本界面复兴与无障碍优势
- AI使CLI/TUI重新流行,对盲人等群体更友好(lynx97)
- "The speed of interaction I get from a TUI is simply unmatched"
技术先驱背书
- John Carmack和Andrej Karpathy认为CLI是AI代理的理想接口(mellosouls)
- "CLIs are super exciting precisely because they are a 'legacy' technology"
反对为AI改造CLI的观点
AI应适应人类标准
- 若AI无法解析CLI标志,说明其不成熟(devmor)
- "If AI agents are so underdeveloped... then the answer is not to rewrite the CLI"
直接使用API更合理
- CLI本质是API包装,AI应直接调用API(bingemaker)
- "Why not use simply the API and document it well?"(resiros)
设计缺乏验证
- 方案纯属推测,未证明有效性(sheept)
- "This feels completely speculative... no measure of whether this approach is actually effective"
中间立场
人机需求存在重叠
- CLI的JSON输出同时满足人类和AI需求(ZeroGravitas)
- "The human needs and llm needs seem to overlap"
文档优化方案
- 通过改进文档命令帮助AI理解CLI(jsunderland323)
- "added embeddings so I could do semantic search"
讽刺性评论
- "Why are you calling it 'AI' if it can't even parse a goddamn man page?"(antisol)
- "Agents will write code 10x faster... Also them: You will have to dumb down your CLI"(impure)
关键争议点:是否应该为AI专门改造CLI,还是要求AI适应现有人类标准。支持者强调效率和无障碍,反对者认为这反映AI能力不足,中间派建议寻找兼顾方案。