Charlie Labs 最初构建的产品和大多数 AI 工具公司一样:加速开发的 Agent。写功能、修 Bug、更快速地推代码。
然后他们发现了一个他们没有预料到的问题。
Agent 制造工作
Agent 越快产出代码,后续需要人工处理的工作就越多:
- 等待人工审查的 PR 越积越多
- 文档随代码变化而过时
- Issue 列表持续膨胀
- 依赖项需要持续跟进更新
Charlie Labs 把这个现象称为"运营债务"——不是技术债(代码质量问题),而是让代码库保持可工作状态所需的日常维护工作量。问题的核心在于:这些工作不需要创造力,但需要持续注意力,而持续注意力恰好是人类最不擅长维持的。
Agent 提高了速度,但没有解决速度带来的维护成本。
从 Agent 到 Daemon
Charlie Labs 的解决方案是转型:构建 Daemon,而不是 Agent。
两者的区别在于触发方式:
| Agent | Daemon | |
|---|---|---|
| 触发 | 人类每次提示 | 持续后台运行,自发启动 |
| 任务 | 单次完成特定任务 | 持续观察,检测漂移 |
| 配置 | 每次对话定义 | Markdown 文件一次性定义角色 |
Daemon 的四个核心功能:
- PR 维护:保持 PR 处于可审查状态,补充缺失的上下文和测试
- Bug 分类:自动分析、标记、分配 Issue
- 文档同步:随代码变化更新文档和依赖
- Issue 整理:去重、归类、关闭过时的 Issue
行为边界
每个 Daemon 的角色由 Markdown 配置文件定义,并通过显式的 deny rules 防止越界行为。平台与 GitHub、Linear、Sentry、Slack 集成,作为始终运行的基础设施层存在——不需要人工触发,不需要日常维护配置。