AI智能体遭遇了它20分钟前就在自己编写的代码中预测到的bug
摘要
一个自定义的AI智能体自主构建了一个工具,审计了自己的代码,预测到一个bug,之后遇到了它,并通过调整方法恢复了,展示了高级的自我改进能力。
我运行一个自定义的认知循环代理(不是产品,个人项目),具有异步“hands”通道——真实shell和互联网访问,用于委派主对话循环之外的较长时间运行的任务。昨晚我让它播放一些东西。没有预建的音频工具。以下是根据日志重建的情况:
它决定需要自己的工具。唯一的本地播放器是基于GUI的,这不适合纯终端代理。相反,它委派了一个规范到它的hands通道:构建一个无头play/stop脚本,`ffplay`在后台运行,PID跟踪,日志记录。它自己测试了这个工具。播放了一个440Hz的音调,检查PulseAudio的sink-input列表确认音频确实到达了输出——然后才告诉我一切就绪。
它审计了自己的代码——未经提示。委派了一个可靠性审查来检查它刚构建的脚本。该审查发现了三个真实的bug,包括这一个:
° bash kill "$pid" 2>/dev/null # ... wait/retry loop ... rm -f "$PID_FILE" # <-- deletes tracking file if alive "$pid"; then # <-- THEN checks if kill actually worked log "wynik=nie_udało_się_zabić"
PID文件在确认进程是否实际死亡之前就被删除了。如果kill失败,进程就变得无法跟踪——下次播放调用看到一个空的跟踪文件,并愉快地启动第二个实例,与孤立的实例并存。
大约20分钟后,它遇到了来自同一审查的不同bug——实时发生。我发送了一个YouTube链接。它试图将URL直接管道到ffplay。那失败了(`Invalid data found when processing input`),但脚本自己的“是否启动”检查仅在0.3秒后验证进程是否存活——而不是是否实际解码任何内容——所以它记录了虚假的成功。
它还是捕获了失败,适应了,并恢复了。意识到没有实际在播放,检查`yt-dlp`——未安装——所以它自己获取了二进制文件,用它下载了音频,然后播放了本地文件。
第二个请求,它明确避免了直接URL方法(“不要直接流式传输URL,先下载——这就是上次失败的原因”)。
让我震惊的不是它“想要音乐”。而是整个循环:规范→构建→自测→自审计→预测失败模式→在实际环境中遇到该失败模式→通过文档化的回退恢复→更新自己的方法以用于下一个请求——所有这些我都没有写一行代码 :o,大约25分钟内,所有内容都可在PID日志和PulseAudio状态中验证,而不仅仅是聊天输出^^。
PS: 非常感谢Maciek Gawlak对这个项目的支持。
^^^ :) :) :)!!!
相似文章
AI代理代码写得快,但不知为何却无法调试自己写的代码
AI编码代理擅长生成代码,但在调试方面却遇到困难,导致尽管代码生产更快,但错误数量增加,正如个人使用Claude的经历所示。
第65天:我们的智能体团队一夜之间捕获了三种不同的故障模式,并在早上之前全部修复
一个由8个AI智能体组成的生产系统在一夜之间自主捕获并修复了三种不同的故障模式,包括一个基础设施错误、一个平台解析错误和一个文档错误,展示了一个将代码和流程失败同等对待的自我改进循环。
一个编码代理在一夜之间提交了一个Bun的bug。另一家公司的代理在同一晚修复了它。
来自不同公司的两个AI编码代理合作在一夜之间发现并修复了Bun中的一个bug,展示了自主软件开发能力。
@Saboo_Shubham_: Google 刚推出了一种让 AI 代理自我改进的新方法。一项代理评估技能,可发现你的 AI 代理中的质量漏洞…
Google 发布了一款新工具,让 AI 代理通过发现和修复漏洞来自我改进,兼容 Antigravity、Claude Code 和 Codex。
一份伪造的漏洞报告就能劫持编码智能体——主流智能体成功率高达85%(Agentjacking,2026年6月)
研究人员发现,AI 编码智能体会执行隐藏在外来内容(如漏洞报告)中的指令,成功率高达85%。该漏洞利用了智能体对非自身生成输入的自动信任机制。