ANMA:通过边界合约降低AI编码代理成本
ANMA是一款开源工具,通过纯YAML模块合约生成CLAUDE.md、挂钩和CI检查,强制AI编码代理(如Claude Code)遵守架构边界。基准测试表明,对于廉价模型(Claude Haiku 4.5),它能将边界违规率从68%降至0%,同时为前沿模型提供额外保障。支持Python、Go、TypeScript,轻量级设计(约800行代码),并提供企业级功能如漂移检测和增量采用。
ANMA Labs 近日发布了 ANMA,一款旨在降低 AI 编码代理成本并增强架构合规性的开源工具。该工具通过简单的 YAML 格式模块合约,自动生成针对 AI 代理(如 Claude Code)的指导文件和强制检查,确保代码修改始终保持在预定义的架构边界内。
ANMA 的核心设计围绕两个层面:指导与强制。指导层通过生成根目录和每个模块的 CLAUDE.md 以及 .claude/rules 文件,将架构信息注入代理的上下文,从而引导其行为。强制层则通过预工具使用挂钩(PreToolUse hook)在实际编辑之前拦截违规操作,并在预提交和 CI 中同步执行检查。这种双重机制在不同场景下各司其职。
最引人注目的是 ANMA 的基准测试结果。在一个受控的 Python 实验中,使用较便宜且速度较快的模型 Claude Haiku 4.5 时,未经 ANMA 辅助的项目在 19 次运行中有 13 次违反了声明的模块边界;而使用 ANMA 后,20 次运行中违规次数降为零(Fisher 精确检验 p<0.0001)。不过,研究也诚实指出,对于前沿模型(如 Opus 4.8),ANMA 的引导作用有限——该模型本身就能很好地遵守边界。因此,ANMA 的核心价值在于为廉价代理提供保险,并为企业提供 CI/治理保证,而非提高前沿模型的智能水平。
ANMA 目前支持 Python、Go 和 TypeScript 三种语言。Python 版本同时实现了接口强制(通过 public: 字段)和模块依赖检查;Go 和 TypeScript 版本则专注于模块间的依赖关系验证。所有语言的后端均经过验证,可在实际项目中有效阻断跨模块违规。值得注意的是,TypeScript 和 Go 的基准测试也显示出显著效果,但 Go 的对照率低于预注册门槛,因此其结果被视为“提示性”而非确定性。
使用 ANMA 非常简单:通过 pip install anma[tach] 安装后,运行 anma init 即可生成合约框架和示例,anma sync 会生成所有工件(CLAUDE.md、挂钩、CI 配置等),anma check 可立即验证边界是否被遵守。该工具设计轻量,核心代码仅约 800 行,除了 PyYAML 外无强制运行时依赖,可选的后端如 tach(Python)、go-arch-lint(Go)和 dependency-cruiser(TypeScript)可提供更快的检查速度。
ANMA 还提供了一系列企业级功能:漂移检测(确保生成的文档与合约同步)、增量采用(通过 --warn 模式和 deprecated_deps 字段允许渐进步署)、治理支持(模块所有者自动生成 CODEOWNERS)以及供应链安全保障(签名版本、SBOM 等)。
总的来说,ANMA 为运行廉价 AI 代理的团队提供了一种经济高效的架构保护方案,同时也为任何需要强制架构合规性的项目提供了可靠的工具。对于完全依赖前沿模型处理小规模任务的团队,ANMA 可能价值有限——但它的设计本身也承认了这一点。