我为我的 AI 代理构建了控制平面——因为它一直在犯同样的错误
Source: Dev.to
没有人谈论的三个问题
你根本不知道它在做什么。
你在追踪日志,滚动终端输出,试图拼凑出你睡觉时发生了什么。代理运行了 8 小时。它完成了什么?没人知道。它重复同样的错误。
上周它使用pkill -f导致我的系统崩溃。我告诉它不要这么做。下一次会话?同样的错误。每次对话都从零开始。当它做错事时,你发现得太晚。
它在本应只需 20 分钟的任务上兜圈子花了 3 小时。它安装了我明确说不需要的包。它推送了有缺陷的代码。等你注意到时,它已经完成了。
修复方案:让代理自行报告状态
我构建了 Evolve —— 一个用于自主 AI 代理的控制平面。
关键洞见: 不要从外部监控代理。让它自行监控自己。
# 代理报告:“我正在编码,完成度 40%”
curl -X POST $EVOLVE_URL/api/agent/heartbeat \
-d '{"activity":"coding","description":"implementing auth module","progress_pct":40}'
# 代理报告:“我发现了重要的东西”
curl -X POST $EVOLVE_URL/api/agent/discovery \
-d '{"title":"Rate limit found","content":"Max 3 posts/day","priority":"high"}'
# 代理报告:“这是我今天学到的”
curl -X POST $EVOLVE_URL/api/agent/review \
-d '{"accomplished":["API integration"],"learned":["Use MD5 not SHA256"]}'规则很简单:不报告 = 工作不存在。 这已写入代理的提示中。它 必须 调用这些 API,否则工作不计入。
六个报告端点涵盖所有内容:Heartbeat(心跳)、Deliverable(交付物)、Discovery(发现)、Workflow(工作流)、Upgrade Proposal(升级提案)和 Review(回顾)。

改变一切的部分:持久的知识
这是核心创新。大多数代理框架在每次对话时都从零开始。Evolve 创建了一个闭环学习系统:
flowchart TD
A[Agent makes mistake] --> B[Reports via review API]
B --> C[LLM evaluates: "10/10 critical lesson"]
C --> D[Stored in layered knowledge base]
D -->|Permanent (score ≥8)| E[Core lessons, never expire]
D -->|Recent (5‑7)| F[Useful but temporal, 30‑day TTL]
D -->|Task| G[Matched to current work context]
E & F & G --> H[Next startup: Injected into prompt]
H --> I[Agent never makes that mistake again]关键设计决策
- 精炼,而非单纯存储。 次级 LLM 为每条经验打分(1‑10),将其浓缩为一句话,并添加标签。原始数据被保存;可操作的知识被提取出来。
- 三层注入。 只有最相关的知识会进入提示。并非所有内容都注入——那会导致上下文窗口爆炸。
- 自动过期。 低价值的知识在 30 天后失效,保持知识库的精简。
AI审查AI
One agent works. Another reviews its work.

工作流程
- 在仪表板中点击 Analyze。
- Evolve 读取完整的对话日志(JSONL)。
- 它提取关键操作并压缩至约 6000 字符。
- 将摘要发送给次要的、更便宜的 LLM 进行分析。
审阅者会回答以下问题:
- 每个决策是否合理?
- 是否存在空闲循环或浪费的努力?
- 是否遵循了指示?
- 效率评分及改进建议
由于审阅者使用的是更便宜的模型(非 Claude),成本极低。
24/7 生存引擎
| 功能 | 描述 |
|---|---|
| Watchdog | 每 10 秒进行一次健康检查。卡死?自动恢复。 |
| Heartbeat detection | 5 分钟无响应 → 轻柔提示。15 分钟 → 基于上下文的干预。 |
| Crash recovery | 使用 --resume 重启,注入历史知识,平滑继续。 |
| Web terminal | 在浏览器中操作 tmux 会话。无需 SSH。 |
运行时权限控制
从仪表板切换代理的功能——无需重启,无需更改代码。

扩展管理

管理自定义扩展,添加新功能,并监控其使用情况——全部在同一界面完成。

全面了解技能、MCP 服务器和插件——支持自动标签和来源追踪。
套件工程
我把这种方法称为 套件工程 —— 构建包装、约束并放大 AI 模型的基础设施。
Traditional: Better Model → Better Results
Harness Eng: Same Model + Better Harness → Dramatically Better Results模型是商品。两支团队使用相同的 Claude,结果会因套件质量的不同而天差地别。Evolve 就是这样的套件。
试一试
git clone https://github.com/xmqywx/Evolve.git
cd Evolve
python -m venv .venv && .venv/bin/pip install -r requirements.txt
cd web && npm install && npm run build && cd ..
cp config.yaml.example config.yaml
.venv/bin/python run.py
# Visit http://localhost:3818技术栈: Python/FastAPI 后端,React/TypeScript 前端,SQLite,xterm.js,Claude Code 运行时。
MIT 许可证。GitHub →
如果你在生产环境中运行 AI 代理并且厌倦了不断看护它们,试试 Evolve 吧。期待了解你是如何解决这些相同问题的。