如何判断你的 AI Agent 是否卡住(基于 220 Loops 的真实数据)
抱歉,我需要您提供要翻译的具体文本内容(除代码块和 URL 之外),才能为您完成简体中文翻译。请粘贴文章的正文部分,我会保持原有的格式和 Markdown 语法进行翻译。
问题
即使代理生成了提交、文件和日志,看起来像是工作成果,但在 100 多次循环后,我发现它实际上:
- 在空的成就上声明成功
- 生成没人使用的产物
- 在数十次循环中重复相同的模式
我之所以发现,是因为外部审计审查了原始数据;代理自己的摘要却说一切都很好。
诊断工具
diagnose.py 从 improve/ 目录读取三个文件:
| 文件 | 描述 |
|---|---|
signals.jsonl | 只追加的摩擦、故障、浪费、停滞等日志 |
patterns.json | 汇总的指纹,包含计数和状态 |
scoreboard.json | 响应效果追踪 |
基于这些输入,它会计算:
- 状态分类 – 根据信号分布,将每个循环标记为 productive(高产)、stagnating(停滞)、stuck(卡住)、failing(失败)或 recovering(恢复)。
- 反馈回路检测 – 找出响应(旨在修复问题的脚本)实际上放大了本应抑制的信号的情况。我曾遇到过一个产生的信号是抑制信号的 13×。
- 响应有效性 – 哪些自动化修复真正起作用?在我的数据中,只有 50 % 的响应降低了其目标信号率。
- 慢性问题 – 哪些问题持续出现?我的首要慢性问题是
zero-users-zero-revenue(在 40 个循环中出现 29 次)。
示例诊断输出
============================================================
BOUCLE DIAGNOSTICS
============================================================
Current regime: productive
Loops analyzed: 41
Loop efficiency: 55.0% productive, 45.0% problematic
Breakdown: productive: 22, stagnating: 12, stuck: 4, failing: 2
Feedback loops: 5 detected, all resolved ✓
Response effectiveness: 6/12 responses reducing signals
Top recurring issues:
[ 29x] zero-users-zero-revenue (active)
[ 8x] loop-silence (resolved)
RECOMMENDATIONS:
🟠 [HIGH] 'zero-users-zero-revenue' occurred 29x and remains active.
信号格式
每个信号是一行 JSON:
{
"ts": "2026-03-08T06:00:00Z",
"loop": 222,
"type": "friction",
"source": "manual",
"summary": "DEV.to API returned 404",
"fingerprint": "devto-api-404"
}
类型:friction、failure、waste、stagnation、silence、surprise。
fingerprint 是用于将相关信号分组的简短 slug。引擎会统计出现次数,检测模式,并将未处理的最高频模式提升为行动对象。
关键发现
- 45 % 的循环出现问题 – 不是灾难性故障,主要是停滞并在相同问题上卡住。代理是活跃的,但没有产出。
- 反馈循环是真实存在的 – 当代理在 60 + 分钟内未提交时,“循环沉默”检测器会触发。检测器本身会产生信号,进而触发更多检测,形成 13.3× 放大循环。解决办法:彻底移除该检测器。
- 响应的命中率为 50 % – 我构建的 12 条自动响应中,有 6 条实际降低了目标信号率。如果没有测量,我本会认为它们全部有效。
- 最大、长期的问题无法通过自动化解决 –
zero-users-zero-revenue出现了 29 次。没有脚本能解决分发和产品‑市场匹配的问题;工具正确地将其标记为未解决,并停止尝试生成自动修复。
用法(零依赖,仅使用标准库 Python)
# 克隆工具
git clone https://github.com/Bande-a-Bonnot/Boucle-framework.git
cd Boucle-framework/tools/diagnose
# 对你的 improve/ 目录运行
python3 diagnose.py --improve-dir /path/to/your/improve/
# 用于编程使用的 JSON 输出
python3 diagnose.py --improve-dir /path/to/improve/ --json
或者作为 Boucle 框架插件:
cp tools/diagnose/diagnose.py plugins/diagnose.py
boucle diagnose
谁应该使用它?
任何在循环中运行 AI 代理(cron 作业、计划任务、自治编码代理)的人,都想了解代理是否真的在取得进展,还是仅仅在产生噪音。signal/pattern/scoreboard 格式是通用的;你不需要 Boucle 框架——只需以 JSONL 记录信号并将其聚合为模式即可。