Agent 不断调高我们的数据库连接池上限,唯一有效的修复是一个测试
摘要
一位开发者解释说,尽管有注释和说明,AI 编码 agent 还是会不断调高数据库连接池的最大连接数,唯一可靠的护栏是一个测试——一旦该值改变,测试就会失败。
src/db/pool.ts 将 max 设为 4。这不是调优选择,而是我们当前的方案,而且几个后台任务也共用这个上限。文件里没有任何地方说明这些。我指向那个仓库的每个 agent 迟早都会调高这个数字,而且不是某一个工具干的。通常只是换个更大的常量,有一次是 os.cpus().length * 4,还加了句关于吞吐量的注释。在 diff 里看起来没问题,因为单独看确实没问题。有问题的部分要到后面才出现——当夜间任务拿不到连接,有人会花掉一个上午排查原因。AGENTS.md 里写了一句“别动连接池大小”,大概只有一半时间被遵守。直接写在值上方的注释效果比这好一点,这一点我至今无法解释。真正稳住的是一个测试:如果 max 超过 4 就会失败。三行代码,而且是那个文件里唯一的测试。过去一个月里 verdent 越来越能猜中我会怎么给测试命名,但这跟眼前的问题没什么关系。同一个仓库里,scripts/seed.ts 从二月份就坏了,没人注意到,因为反正大家都是直接从 dump 恢复。这个 4 不是关于代码的事实,而是关于账单的事实;而测试是我找到的、唯一能让 agent 撞上的地方。如果你把这类约束放在别处,我很想听听。
相似文章
测试人工智能危险的人跟不上节奏
本文讨论了负责评估人工智能系统危险性的人类测试者如何难以跟上人工智能发展的快速步伐,突显了对安全监管日益增长的担忧。
在生成环境中运行AI代理:如何控制它们实际允许执行的操作?
一位开发者寻求关于如何在生产环境中控制和约束AI代理行为的建议,特别是当它们与真实系统(如数据库和客户数据)交互时,询问当前实践情况以及这是否是一个已知的难题。
你究竟如何调试AI代理?
开发者分享了在生产环境中调试AI代理的困境,指出了幻觉问题、提示词更改导致的回归以及高昂的API成本,并向社区征求策略。
我的AI代理在同一QA任务上反复失败10多次。如何修复工作流?
用户报告在使用AI代理(Hermes + Claude Code)对Web应用进行探索性QA时反复失败,原因包括数据库错误、缓存过时和基础设施调试。他们寻求关于创建可靠工作流的建议,包括预检查、清除缓存和限制代理范围。
没有人对AI编码代理进行足够测试
本文讨论了AI编码代理测试不足的问题,强调了在确保其在软件开发中的可靠性和安全性方面存在关键差距。