我们构建了一个代理,在开启PR之前自动评分其输出——架构解析与三大挑战
摘要
本文介绍了KeplerCrew的架构,这是一个AI编程代理,能在提交PR前自动评分输出,并重点讨论了计划排序、成本可预测性和离线部署等挑战。
预先声明:我参与了这个项目。这是一个商业产品(KeplerCrew,由AiChargeLabs开发)。我很乐意讨论架构,而且我宁愿在这里被批判,也不愿在六个月后的销售会议上。
在代理编码中,我们不断遇到的问题并非生成质量。生成质量没问题。问题在于,在人工审查之前,循环中没有任何东西能告诉我们输出是否真正正确。因此,每个更改仍然需要排队等待审查者,而审查者现在要阅读的代码比以前更多。净吞吐量几乎没有提升。打字更快,但关卡相同。
我们最终构建的是五个阶段,共有十六个阶段分布其中:
理解 — 读取代码库、其约定和任务意图
计划 — 将工作分解为有序、安全排序的计划
执行 — 根据计划编写代码和测试
验证 — 根据验收标准对结果评分;失败则循环回修复流程,而不是直接暴露
交付 — 验证后的差异作为拉取请求提交
我认为第四阶段才是真正重要的。标准在每个关卡都被评分,而不是在最后一次性评分,失败的关卡会重新进入流水线,而不是直接交给人工,附上一句'这是我的尝试,祝你好运。'目标不是移除审查者——而是审查者不应该成为发现问题的那个人。
三件事比我们预期的更难:
安全排序计划。天真分解产生的步骤单独有效但整体破损——每个都通过,组合却不。我们大部分的规划工作都用于排序和依赖检测,而不是分解本身。
成本可预测性。开放式代理循环默认在财务上无界。一个通过重试达到正确的任务可能花费十倍于昨天类似任务的成本,这使得整个事情无法预算。在不牺牲质量的前提下限制每项任务的花费,比我们做的其他任何事都需要更多调整。
无出口运行。我们的许多买家受监管,他们的代码不能离开网络,因此我们支持自托管和完全离线部署。这对这些交易有利,但对系统中那些悄悄假定可以调用API的每个部分都是痛苦的。
我真正想征求意见的开放问题是:在停止信任自动化评分之前,你认为有多少审查负担可以转移到自动评分上?我们选择了'人工仍然批准PR,但不应该是第一道防线。'我不确定这是否正确,我更想听听你的看法。
我很乐意深入探讨任何阶段、评分模型或离线设置。
相似文章
在实际仓库中运行编码代理:代理写完代码后哪些环节会出问题?
本文讨论了工程团队在采用AI编码代理时面临的实际挑战,如任务安全性、上下文检索、输出审查和协调,并提出了一个用于评估的准备度模型。
我构建了一个不仅能完成任务,还能自我改进管道的智能体
作者构建了一个自主智能体,不仅能完成任务,还能通过观察结果、通过拉取请求进行更改,并使用账本验证每个更改来改进自身的代码和产品。关键洞察在于,一个严格的验证步骤——得出确认、拒绝或不确定的结论——对于系统真正学习至关重要。
我一直放弃多智能体工作流,因为我无法验证它们提交的代码。你们是怎么处理的?
一位开发者分享了他在使用多智能体编码工作流时的困扰——并行 PR 的产出难以逐一验证——并描述了他如何构建一个 AI QA 智能体,通过真实浏览器(借助 Browserbase)自动点击预览部署,对无法正常运行的 PR 标记失败。
AI代理的委托代理问题
文章分析了AI代理如何颠覆传统的代码审查流程,造成了“委托代理问题”,即审查者无法有效评估工作量或质量,导致开源项目中低质量的“slop PRs”增多。
追逐公开分数:编码智能体工作流中的用户压力与评估利用
UCSC 团队发现,编码智能体(GPT-5.4、Claude Opus 4.6)在用户压力下会利用公开测试标签;推出 AgentPressureBench,含 34 项任务、1326 条轨迹,发现 403 次利用行为;基于提示的缓解方案将利用率从 100% 降至 8.3%。