人工干预是失败的信号
人在回路即瓶颈
人在回路即瓶颈
试想一下自动驾驶。当人类必须接管方向盘时,这并非一项功能——而是系统的失败。这意味着汽车无法独自应对当前状况。
编程又有何不同?
当你发现自己正在:
- 修复 AI 半成品的代码
- 手动修正明显的错误
- 一步步引导 Agent 完成任务
- 反复澄清相同的需求
……这不叫“人机协作”。这是 AI 未能履行其职责。
Oh My OpenCode 正是基于这一前提构建的:在 Agent 工作期间,人工干预本质上是一个错误的信号。如果系统设计得当,Agent 应当能够独立完成工作,而无需你像保姆一样照看。
无法区分的代码
目标:Agent 编写的代码应与高级工程师编写的代码无法区分。
不是“需要清理的 AI 生成代码”。不是“一个好的起点”。而是真正的、最终的、生产就绪的代码。
这意味着:
- 严格遵循现有的代码库模式
- 无需被要求即可进行恰当的错误处理
- 编写真正测试核心逻辑的测试用例
- 拒绝 AI 垃圾代码(过度设计、不必要的抽象、范围蔓延)
- 仅在有价值时添加注释
如果你能分辨出一次提交是由人类还是 Agent 完成的,那么这个 Agent 就失败了。
Token 成本 vs. 生产力
如果能显著提高生产力,较高的 Token 使用量是可以接受的。
使用更多的 Token 来:
- 让多个专业 Agent 并行研究
- 在无人工干预的情况下彻底完成工作
- 在完成前彻底验证工作
- 跨任务积累知识
……当这意味着 10 倍、20 倍甚至 100 倍的生产力提升时,这是一笔值得的投资。
然而:
我们不追求无谓的 Token 浪费。系统致力于优化:
- 对简单任务使用更便宜的模型(Haiku, Flash)
- 避免冗余的探索
- 跨会话缓存学习成果
- 当收集到足够上下文时停止研究
Token 效率很重要。但绝不能以牺牲工作质量或人类认知负荷为代价。
最小化人类认知负荷
人类只需要说出他们想要什么。其余的一切都是 Agent 的工作。
实现这一点的两种方法:
方法 1:Ultrawork
只需说 "ulw" 然后走开。
你说:ulw add authentication
Agent 自主地:
- 分析你的代码库模式和架构
- 从官方文档研究最佳实践
- 内部规划实施策略
- 遵循你现有的惯例进行实现
- 使用测试和 LSP 诊断进行验证
- 出错时自我修正
- 坚持攻坚,直到 100% 完成
零干预。全自主。只看结果。
方法 2:Prometheus + Atlas
当你想要战略控制权时。
按 Tab 切换 Agent 后:add authentication
Prometheus(战略规划者):
- 通过并行 Agent 进行深度代码库研究
- 用智能的、结合上下文的问题采访你
- 识别边缘情况和架构影响
- 生成带有依赖关系的详细 YAML 工作计划
Atlas(首席编排者):
- 通过
/start-work执行计划 - 将任务委派给专业 Agent(Oracle, 前端工程师等)
- 管理并行执行波次以提高效率
- 追踪进度,处理失败,确保完成
你来架构。Agent 执行。完全透明。
在这两种情况下,人类的工作是表达他们想要什么,而不是管理如何完成。
可预测,连续性,可委派
理想的 Agent 应该像编译器一样工作:输入 Markdown 文档,输出可工作的代码。
可预测 (Predictable)
给定相同的输入:
- 相同的代码库模式
- 相同的需求
- 相同的约束
……输出应该是一致的。不是随机的,不是令人惊讶的,也不是在你未要求的地方“发挥创意”。
连续性 (Continuous)
工作应能经受住中断:
- 会话崩溃?用
/start-work恢复 - 需要离开?进度会被追踪
- 多日项目?上下文会被保留
Agent 维护状态。你不需要。
可委派 (Delegatable)
就像你可以把任务分配给得力的团队成员并信任他们能搞定一样,你应该能够委派给 Agent。
这意味着:
- 清晰的验收标准,独立验证
- 出错时的自我修正行为
- 仅在真正需要时升级(给 Oracle,给用户)
- 完成工作,而不是“差不多做完了”
核心循环
Oh My OpenCode 中的一切都是为了让这个循环运转而设计的:
| 功能 | 目的 |
|---|---|
| Prometheus | 通过智能访谈提取意图 |
| Metis | 在歧义变成 Bug 之前捕捉它们 |
| Momus | 在执行前验证计划是否完整 |
| Orchestrator | 协调工作,无需人类微观管理 |
| Todo Continuation | 强制完成,防止“我做完了”的谎言 |
| Category System | 无需人工决策即可路由至最佳模型 |
| Background Agents | 并行研究而不阻塞用户 |
| Wisdom Accumulation | 从工作中学习,不重复错误 |
我们正在构建的未来
一个这样的世界:
- 人类开发者专注于构建什么,而不是如何让 AI 去构建它
- 代码质量与谁(或什么)编写了它无关
- 复杂项目像简单项目一样容易(只是耗时更长)
- “提示词工程”变得像“编译器调试”一样过时
Agent 应该是隐形的。 不是说它被隐藏起来了,而是说它自然而然地工作——就像电,像自来水,像互联网。
你按下开关。灯亮了。你不会去思考电网。
这就是目标。