用 K8s 理解 Trellis
如果你熟悉 Kubernetes,这篇文档会帮你快速理解 Trellis 的设计思想。
目录
一、K8s 核心概念速览
1.1 命令式 vs 声明式
命令式:描述”怎么做”1.2 控制循环
K8s 的核心是 控制循环(Control Loop):二、Trellis 与 K8s 的类比
2.1 架构对应
2.2 核心组件对照
2.3 关键洞察
K8s 解决的问题:基础设施的复杂性 —— 用声明式屏蔽底层细节,Controller 负责调谐。 Trellis 解决的问题:AI 开发的不确定性 —— 用声明式定义期望(prd.md + 规范),Ralph Loop 负责调谐。 两者的共同点:- 用户只声明”要什么”,不操心”怎么做”
- 系统持续调谐,直到实际状态符合期望
- 出现偏差时自动修复
接下来,第三章将详解调谐机制(Hook + Ralph Loop),第四章将展开完整工作流(Phase 1-4)。
三、调谐机制详解
Trellis 的调谐由两个机制配合完成:Hook 注入 和 Ralph Loop。3.1 Hook 注入
时机:每次调用 Subagent 时自动触发 作用:将 jsonl 中引用的文件内容注入到 Agent 的上下文- 避免上下文过载(Context Rot)—— 只注入当前阶段需要的内容
- 可追溯 —— jsonl 记录了每个 task 用了哪些上下文
- 解耦 —— Agent 不需要自己搜索,专注于执行
3.2 Ralph Loop
本质:一个程序化的质量门禁,拦截 Agent 的停止请求,验证未通过就强制继续。 触发时机:Check Agent 尝试停止时 流程:- 程序验证可靠 —— lint 通过就是通过,不依赖 AI 的判断
- 可配置 —— 不同项目可以配置不同的验证命令
- 防止无限循环 —— 最多 5 次迭代,超过强制放行
- 复杂的架构问题或逻辑 bug 可能需要人工介入
- 依赖规范文件的质量,规范不清晰则检查效果有限
四、完整工作流
4.1 阶段总览
4.2 异常路径
如果 Check Agent 报告无法修复的问题,Dispatch 可以调用 Debug Agent 进行深度分析。这不是默认流程,而是异常处理。五、为什么这样设计
5.1 一键启动完整工作流
/trellis:start 或 /trellis:parallel(Claude Code 专有)一键启动,AI 自动完成整个流程:
5.2 开发规范的持续沉淀
5.3 防止上下文腐烂
上下文过多会导致 LLM:- 分心(Distraction)—— 被无关信息干扰
- 混淆(Confusion)—— 信息相互矛盾
- 冲突(Clash)—— 新旧信息打架
- implement 阶段:需求 + 相关代码
- check 阶段:开发规范
- finish 阶段:提交检查清单
5.4 程序化质量控制
5.5 可追溯
出问题时可以追溯是缺了哪个文件,或者规范不清晰。
总结
核心思想一致:声明期望 → 系统调谐 → 最终一致。