网易首页 > 网易号 > 正文 申请入驻

模型写扩展,CLI当裁判:一个YAML文件卡住多少人

0
分享至

Google 在 agents-cli 的 v1.5.0 里上线了扩展系统。一个目录里放一份 YAML 文件,CLI 就能识别,agents-cli deploy会跑你写的合规检查,而不是内置那套。不用 fork,不用团队总忘记调用的包装脚本,也不用每个版本都去 rebase 一份分叉副本。


官方把这套东西说成是框架锁定终结。CLI 里二十多条命令,有六条左右绑定了 ADK 运行时,剩下的 deploy、infra、publish、login 都与框架无关。扩展系统让一个 LangChain 项目替换掉那六条,继承其余十八条。设计本身是好的。

但有一件事留给了使用者:写这个扩展。

这不是小事。清单文件很严格。run:是一个不带 shell 执行的 argv 向量,任何链式操作都得塞进脚本里。有些命令是保留的,不能认领。你可以覆盖eval.generate,但不能覆盖eval这一组。键名拼错,加载器会提示,还会给个"你是不是想写",但那是在你读完文档之后。

有人做了个工具来填这道缝,有意思的部分不在模型调用,而在分工:模型负责写,CLI 负责判。

整个技术栈很薄:Node 服务端、React 前端、从 PyPI 装的 agents-cli 1.11.0,以及任意 OpenAI 兼容的模型端点。

流程是这样的:你输入一段策略,模型返回 JSON,包含命令、脚本和演示命令;服务端据此渲染出 agents-cli-extension.yaml,模型全程不碰 YAML;然后在一个一次性项目里调用真实的agents-cli extension add,再跑extension list、info、deploy --help,把真实的标准输出流式推到浏览器;最后执行agents-cli deploy,门禁跑起来,然后以非零状态退出。

界面上"verdict"下面显示的每一行,都是机器上那个二进制吐出的 stdout 或 stderr。没有 fixture,没有录制的 cassette,没有友好的转述。CLI 没装,应用就告诉你 pip 命令,而不是假装一切正常。

为什么不让模型直接写 YAML?因为那样你就在调试一个语言模型生成的 YAML,这属于最不愉快的调试体验之一。清单有五六个顶层键,schema 用了extra="forbid",拼错就是硬失败,报错信息还算友好,但代价是先烧掉一次模型调用。

模型真正要做的决定其实很小:这条策略归哪条命令、包装脚本干什么、读哪个状态文件。所以分工被切成两半:

  • 模型负责:名称、描述、理由、commands.overridecommands.add、脚本体、演示命令
  • 服务端负责:拼写、结构、schema 合规的一切

服务端里有个renderManifest(spec)函数,先校验扩展名,不匹配[A-Za-z0-9._-]+就直接抛错,然后按行拼出 schema、name、description、requires 等字段。模型永远不写 YAML,也就永远不会写出一个拼错键名的 YAML。

流式输出这块,客户端用的是 reader 循环而不是 EventSource,因为请求是带 body 的 POST,EventSource 干不了这个。有个细节很多人会写错:buf = lines.pop()。数据块不尊重行边界,最后一段几乎总是半个 JSON 对象,把它留到下一块再拼,三个字符,省掉一整类间歇性解析错误。

实测下来,RUNNING 横幅在 9.3 秒出现,此时安装步骤已经完成;ACCEPTED 在 29.9 秒出现,共五步。同样的实际耗时,感知速度完全不同。

CLI 跑通时会打印什么,两条命令比任何截图都有说服力。agents-cli info会列出扩展,标着 experimental,deploy 显示为 override、project 级别。这些输出就是判据本身。

过程中还踩到一个布局 bug:网格项默认min-width: auto,最小值取内容的宽度,一行很长的 YAML 把那一列的下限撑到自身宽度,左面板被压到 128px。它只在编译之后出现,因为那是该区域第一次有内容的时刻,所以空状态测试是干净的。

修复只有一行:给网格列用minmax(0, 1fr),给面板加min-width: 0。教训是,任何装代码块的网格都需要这两样,而且布局 bug 要靠断言而不是靠眼睛。现在有一个 Playwright 检查,走 1440、1280、1184、1024、921、920、820 和 390 像素,量两列宽度,比例超出 0.8 到 1.25 或页面出现横向溢出就失败。它五秒内抓到了第二个 bug。

下一步能做什么?最有趣的缺口是:这个工具回答的是"这个扩展怎么写",而不是"这个项目该强制什么"。把它指向一个真实仓库,读 agents-cli-manifest.yaml 和 Dockerfile,它就能提出这个项目明显需要的那两三条策略。那是另一个产品,也是更好的一个。

第二个缺口是验证深度。对 deploy 的覆盖目前跑完门禁后会撞上内置命令,在沙箱里停在"未配置部署目标"。一个伪造云调用的 dry run 模式能让演示走到真正的部署路径,有趣的失败都住在那里。

第三个是 CI。npm run compile -- --policy policy.md --out extensions/,不带界面,CLI 拒绝结果时以非零退出,平台团队就能把策略放在 git 里,让二进制来把关 PR。那才是真实组织会部署的版本,离现在大概八十行。

扩展系统目前标记为实验性,所以把 CLI 版本钉死。以上所有内容都是在 agents-cli 1.11.0、schema agents-cli-extension/v1alpha1、macOS 加 Python 3.12 上构建和测试的。

整件事一句话:模型可以挑对命令、写对 bash,但它绝不该成为判定自己输出是否合法的那一方。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
性能双王!小米新机官宣:10月27日,正式发布!

性能双王!小米新机官宣:10月27日,正式发布!

科技堡垒
2026-10-25 11:03:17
1959年,毛主席得知堂弟被划为“富农”,他回应:那我是不是也属富农?

1959年,毛主席得知堂弟被划为“富农”,他回应:那我是不是也属富农?

大运河时空
2026-10-26 08:50:05
一物降一物!利物浦“打花”布莱顿,大将3分钟伤退,1大纪录被终结

一物降一物!利物浦“打花”布莱顿,大将3分钟伤退,1大纪录被终结

汪星人哟
2026-10-25 23:02:15
“浑身都是放纵的痕迹!”母亲晒儿子大学三年变化,连面相都变了,家长认为责任在学校,网友们痛斥

“浑身都是放纵的痕迹!”母亲晒儿子大学三年变化,连面相都变了,家长认为责任在学校,网友们痛斥

蝴蝶花雨话教育
2026-10-20 00:05:15
释永信被女徒弟爆料,凌晨4点去他房间,拿到皈依证就算师徒关系

释永信被女徒弟爆料,凌晨4点去他房间,拿到皈依证就算师徒关系

汉史趣闻
2025-07-30 09:57:38
泽连斯基:拒绝放弃25%的领土,俄军目前实际控制了乌方约19.3%的领土;过去三个月,乌克兰仅从美国接收24枚“爱国者”防空系统拦截弹

泽连斯基:拒绝放弃25%的领土,俄军目前实际控制了乌方约19.3%的领土;过去三个月,乌克兰仅从美国接收24枚“爱国者”防空系统拦截弹

极目新闻
2026-10-25 09:42:32
大嫂徐冬冬晒写真照片,网友说法不一,本尊回应做最好的自己!

大嫂徐冬冬晒写真照片,网友说法不一,本尊回应做最好的自己!

小小一米月儿
2026-10-26 08:26:14
大脑为什么要删除三岁前的记忆?网友的回答让我泪目了!

大脑为什么要删除三岁前的记忆?网友的回答让我泪目了!

另子维爱读史
2026-10-03 20:36:50
尤文主帅:梅西有历史第一的技术!但更强的是大局观和球商!

尤文主帅:梅西有历史第一的技术!但更强的是大局观和球商!

罗吹终结者
2026-10-25 21:18:50
9B模型塞进8GB显卡,他试完开始重算Claude订阅账

9B模型塞进8GB显卡,他试完开始重算Claude订阅账

我是一个养虾人
2026-10-25 05:34:24
易建联为妻儿建的洛杉矶豪宅烧成灰,如今2000平空地估价曝光,数字让人意外,中介爆出实情

易建联为妻儿建的洛杉矶豪宅烧成灰,如今2000平空地估价曝光,数字让人意外,中介爆出实情

LULU生活家
2026-08-31 15:33:38
27层的楼,装得下600个仆人,装不下一个母亲对儿子身体的担心

27层的楼,装得下600个仆人,装不下一个母亲对儿子身体的担心

鱼语昱雨轩
2026-10-26 03:16:38
最邪恶的实验:6女4男船上共渡100天,失去法律约束,结果如何?

最邪恶的实验:6女4男船上共渡100天,失去法律约束,结果如何?

泪满过眼
2026-10-20 07:44:02
毛不易婚礼致辞完整原话曝光,被剪掉的半句话才是重点

毛不易婚礼致辞完整原话曝光,被剪掉的半句话才是重点

海藻娱乐
2026-10-23 10:40:46
11小时无人值守,Gemini改完20万行代码

11小时无人值守,Gemini改完20万行代码

我是一个养虾人
2026-10-25 00:02:44
就在大家都以为中国会坚决回应时,北京却选择了战略克制。

就在大家都以为中国会坚决回应时,北京却选择了战略克制。

回京历史梦
2026-08-22 18:23:43
体操世锦赛收官奖牌榜:中美第1,亚美尼亚2金2铜第4省队首金第7,女团落后1.967分到逆转夺冠,鹿特丹这届世锦赛,奖牌背后都是咬碎牙的稳

体操世锦赛收官奖牌榜:中美第1,亚美尼亚2金2铜第4省队首金第7,女团落后1.967分到逆转夺冠,鹿特丹这届世锦赛,奖牌背后都是咬碎牙的稳

暖暖的笑q
2026-10-26 06:50:18
羡慕哭了!宝马裁员8000人,离职补偿金最高达487万元!员工争着离职挤崩系统

羡慕哭了!宝马裁员8000人,离职补偿金最高达487万元!员工争着离职挤崩系统

聊斋新志
2026-10-22 19:28:15
有人把话挑明了:美国真正怕的,不是中国动手,是中国坐下

有人把话挑明了:美国真正怕的,不是中国动手,是中国坐下

纪史行者
2026-10-25 09:00:10
1992年叶利钦第一次来华访问,国宴席间饮下一斤茅台,随行人员透露:准备回国之时,他在钓鱼台痛哭半小时

1992年叶利钦第一次来华访问,国宴席间饮下一斤茅台,随行人员透露:准备回国之时,他在钓鱼台痛哭半小时

唠叨说历史
2026-10-23 16:44:45
2026-10-26 09:36:49
灰度测试中
灰度测试中
生活正在重构,目前还在灰度测试阶段,暂不全量发布。
163文章数 90关注度
往期回顾 全部

科技要闻

苹果首款折叠屏没能养肥黄牛

头条要闻

600亿公司59岁总裁被指父承子业 "圆通太子"发文澄清

头条要闻

600亿公司59岁总裁被指父承子业 "圆通太子"发文澄清

体育要闻

文班、约基奇和扬尼斯各自的处境

娱乐要闻

王佳佳近况:44岁导演老公露面

财经要闻

全球AI产业链迎“去杠杆”,何处是底?

汽车要闻

专业越野+华为乾崑智能 猛士X700限时焕新价20.98万起

态度原创

本地
房产
健康
公开课
军事航空

本地新闻

这么近,那么美,周末赴贺州丨大湾区后花园

房产要闻

百亩大盘又 +1!攒量超 200 万㎡!江东,要燃起来了!

痘痘能根治吗?皮肤科医生说实话

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

高清大图!歼-15红蓝对抗训练最新画面

无障碍浏览 进入关怀版