AI 编码智能体:部署安全的开发智能体团队
自动补全建议下一行代码。AI 编码智能体则完成整个工单。它们是自主智能体,能读取一个问题、规划工作、跨整个代码库编辑文件、运行测试套件、修复出错的地方并提交拉取请求,而你可以去做别的事。OpenLegion 运行它们的方式,就像你运行任何执行不受信命令的代码一样:每个智能体都在自己的容器中,持有它从不直接掌握的凭证。
什么是 AI 编码智能体?
AI 编码智能体是一种自主 AI 系统,它接手一项软件任务,规划步骤,编写和编辑代码,运行测试和工具,并朝着可用的结果不断迭代。它跨越许多步骤运作,而不是按要求完成单独的一行或一个函数。
摘要
- AI 编码智能体端到端地完成软件工作:规划、编写、测试、审查并提交拉取请求。而不只是建议下一行代码。
- 编码助手在编辑器中辅助人类。编码智能体则自行运行循环,朝着既定任务推进。
- 令人兴奋的能力和危险的能力其实是同一个:执行代码并持有代码库凭证。隔离不是可选项。
- OpenLegion 的开发团队模板提供一个 PM、一个工程师和一个审查员智能体,每个都在自己的容器中,拥有自己的预算。
- 它在 BSL 1.1 下可自托管,因此编码智能体可以在你自己的网络内运行,用于私有代码库。
编码智能体究竟做什么
「智能体」这个词把门槛抬高到了建议之上。编码智能体掌管一整项任务,而非单次补全。一次典型的运行读起来就像一名初级工程师的下午:
- 读取问题或请求,并用自己的话重述目标。
- 探索代码库,找到重要的文件并了解周边上下文。
- 把变更规划为一系列编辑和检查。
- 跨多个文件编写和修改代码。
- 运行构建和测试,读取失败信息并修复它们。
- 提交带描述的拉取请求,或将差异交给审查员智能体。
语言模型在每一步提供判断;智能体循环和工具访问则把这种判断转化为已提交的工作。关于这个循环的机制,参见 什么是 AI 智能体。
为什么隔离才是全部关键
以下是那些「自主工程师」演示略过的令人不安的真相:一个执行代码的智能体,按定义就是在机器上运行不受信命令;而一个向你代码库推送的智能体,则持有你最敏感的凭证。这恰恰是那种如果由人类编写、你绝不会在沙箱外运行的工作负载。
当编码智能体共享一台主机或一个进程时,故障模式绝非假设:
- 一条生成的命令抹除了目标工作区之外的文件。
- 一个被提示注入的依赖项或 README 说服智能体窃取机密。
- 一个智能体的失控循环耗尽了另一个智能体的 CPU 和内存。
- 代码库令牌和云密钥就放在智能体可以直接读取的明文环境变量里。
OpenLegion 从结构上堵住了每一个漏洞。每个编码智能体都运行在自己的 Docker 容器中,带有资源上限、非 root 用户和只读的基础文件系统。代码库令牌和 API 密钥存放在受信主机上的密钥库代理中,并在网络层注入,因此被攻陷的智能体永远看不到原始凭证。完整的模型详见 AI 智能体安全。
多智能体编码:开发团队模板
对于小修小补,一个智能体就够了。更大的工作则受益于人类团队所依赖的同一件事:关注点分离。OpenLegion 的开发团队模板运行三个各司其职的智能体:
- PM 智能体把一个请求转化为带验收标准的、范围明确的任务。
- 工程师智能体实现每一项任务,编写代码并运行测试。
- 审查员智能体对照标准检查差异,然后批准或退回。
它们通过 OpenLegion 的 编排模型 进行协调:一个共享黑板、一个发布/订阅事件总线和一次结构化交接,控制平面中没有语言模型来决定谁做什么。每个智能体都获得自己的容器、预算和权限,因此工程师可以执行代码而审查员不能,并且两者都无法突破各自的支出上限。
编码智能体 vs 编码助手
这两者经常被混为一谈,但它们解决的是不同的问题。
| 方面 | AI 编码助手 | AI 编码智能体 |
|---|---|---|
| 运行位置 | 在你的编辑器内 | 作为一个自主进程 |
| 人类角色 | 驱动每一次按键 | 设定目标,审查结果 |
| 范围 | 行和函数的补全 | 整项任务:规划、编辑、测试、PR |
| 执行代码 | 否 | 是,在沙箱中 |
| 持有凭证 | 编辑器会话 | 通过密钥库代理,智能体从不看到原始密钥 |
| 最适合 | 让开发者更快 | 替你揽下一整项任务 |
助手让你更快。智能体在你忙于另一件事时完成一个工作单元。大多数团队两者都会用,而聪明的团队知道该把哪项工作交给哪一个。
OpenLegion 的观点
争相推出「自主软件工程师」的竞赛不断掩盖着一个不光彩的真相:危险的能力是代码执行,而危险的资产是你的代码库凭证。一个能运行 shell 命令并向你代码库推送的智能体,是一道披着生产力外衣的生产级安全边界。把它当成一个小玩意儿来对待,共享主机、密钥放在环境变量里、没有预算上限,一个有用的智能体就会变成一份事故报告。我们的立场很简单:编码智能体理应与任何不受信工作负载处于同样的隔离和凭证模型中,而这应当是默认的、可自托管的、可审计的,而不是一项你需要付费升级才能获得的功能。
部署一个安全的 AI 编码智能体团队。
常见问题
什么是 AI 编码智能体?
AI 编码智能体是一种端到端执行软件任务的自主系统。给定一个问题或请求,它会规划工作、探索代码库、跨文件编写和编辑代码、运行测试、修复失败并提交拉取请求,自行迭代而不只是完成单条建议。大语言模型提供推理能力,智能体循环加上工具访问则把这种推理转化为已提交的变更。
AI 编码智能体与自动补全这类编码助手有何不同?
编码助手在你的编辑器内工作,加速一个驱动每次按键的开发者。编码智能体则作为一个自主进程运行:你给它一项任务,它自行规划、编辑、执行和测试,你审查结果。助手增强处于循环中的人类;智能体则把一整项任务移出循环。
让 AI 智能体执行代码并访问我的代码库安全吗?
只有在有恰当隔离的情况下才安全。一个运行代码的智能体是在执行不受信命令,一个向你代码库推送的智能体则持有敏感凭证。OpenLegion 在自己的容器中运行每个编码智能体,带有资源限制和只读基础文件系统,并把代码库令牌和 API 密钥保存在智能体从不直接访问的密钥库代理中。正是这种隔离让自主代码执行在生产环境中变得可以接受。
AI 编码智能体能作为团队而非单个智能体协作吗?
可以。OpenLegion 的开发团队模板运行一个 PM 智能体、一个工程师智能体和一个审查员智能体,它们通过共享黑板和结构化交接进行协调。每个都有自己的容器、预算和权限集,因此职责和风险保持分离:工程师运行代码,审查员检查差异,两者都无法超出各自的支出限额。
我可以在自己的基础设施上运行 AI 编码智能体吗?
可以。OpenLegion 在 BSL 1.1 下开源可用,可在一台装有 Python 和 Docker 的机器上运行,因此编码智能体可以完全在你自己的网络内运作。这对于代码和凭证不能离开你基础设施的私有代码库和受监管环境很重要。对于不愿自己运行的团队,还提供托管方案。
运行 AI 编码智能体要花多少钱?
OpenLegion 收取固定的平台费用,对模型使用零加价。你自带 LLM API 密钥或使用包含的额度,并按发布价格向提供商付费。单智能体每日和每月预算上限可阻止卡住的智能体累积出无上限的账单。托管套餐起价为每月 19 美元,并提供 7 天退款保证,自托管引擎在 BSL 1.1 下可用。