去年有个数据挺有意思:GitHub上带"agent"关键词的新项目,平均每个要依赖12.7个第三方库,启动配置中位数超过40分钟。这不是技术债,是配置债——每新增一个AI节点,就要写一遍状态管理、错误重试、上下文传递的样板代码。
一个前Stripe工程师最近开源的框架,把这套流程压缩进了一个YAML文件。没有SDK,没有环境变量地狱,甚至不需要API key——如果你本地已经装了Claude或Gemini的CLI。
这个叫aqm的工具,本质上是在问:如果AI协作流程可以像Docker Compose一样声明式配置,为什么我们还要写胶水代码?
从"写代码"到"写配置"的跳跃
作者的原话很直接:「每次想搭多Agent工作流,比如一个写代码、一个审代码,我就撞墙。现有框架很强,但逼我写大量Python胶水代码——定义节点、边、状态模式、类,就为了让两个Agent说上话。」
他想要的是一句话描述逻辑:Agent A交给Agent B,质检不通过就回退给A。全程不碰.py文件。
YAML方案的核心好处被低估了:可移植性。一个文件丢给同事,对方秒级复现相同流程。代码变成配置,版本控制从diff变成直观可读。
aqm的架构设计有几个反直觉的选择。它不托管模型,不封装API,而是直接调用你本地已配置的CLI工具。Claude用户继续用claude,Gemini用户继续用gemini,aqm只负责编排——这让它避开了"又一个AI平台"的陷阱。
5种省钱的上下文策略
Token成本是多Agent系统的隐形杀手。每个节点都塞满历史对话,账单指数级膨胀。
aqm内置了5种上下文裁剪策略,作者实测能省55-85%的token消耗。原理不复杂:只给Agent看它必须看的。但实现细节暴露了对实际痛点的理解——比如"Session Nodes"专门处理需要多轮辩论的场景,Agent们来回讨论直到达成共识,而不是每轮都把完整历史喂给模型。
Quality Gates(质量门)的设计更有意思。它不是简单的if-else,而是用LLM本身做评判:「这段代码生产就绪吗?」回答"Bad"就触发重试或回退,最多重试3次。把评判权也交给AI,人只负责定规则。
一个30秒能写完的示例:开发者Agent用Claude实现功能,审阅Agent用Gemini做安全检查,质检通过就部署,不通过就循环。全程YAML描述,一行命令运行。
这种"多LLM原生"的设计,打破了单一供应商锁定。Claude擅长代码,Gemini擅长长上下文,GPT-4擅长推理——现在可以在同一条流水线里按需调用。
开源社区的试金石
项目采用MIT协议,作者的态度很明确:「来找bug,来批评,来告诉我缺什么。」
安装命令极简:pip install aqm。运行命令更极简:aqm run "Create a login form with JWT"。
但YAML-only路线也有争议。配置文件擅长表达"什么",不擅长表达"怎么"。当流程需要动态分支、条件嵌套、或者与外部系统复杂交互时,声明式会不会变成另一种束缚?
作者留了两个开放问题给社区:YAML-only是否符合你的工作流?你现在的Agent框架最缺什么功能?
第二个问题下面,有条评论被高赞置顶:「缺的是'忘记我之前教你的所有东西'这个系统提示词的一键注入。」
热门跟贴