组目录:12 Factor App 体系12 Factor Agent 体系无状态性生命周期与可处置性配置与可变性外置可观测性与错误可见性依赖与工具显式化控制流与阶段治理自含入口与触达规模化与单元粒度人为交互边界环境一致性基础与运行时配置与交付交互与运维辅助工具集
组简介
本组 7 个节点,属于 横切·工程阶段 域,类型为 横切组,覆盖阶段 基础 / 进阶。
组节点:配置、构建·发布·运行、开发/线上等价、掌控你的 Prompt、掌控上下文窗口、掌控控制流、压缩错误进上下文
节点目录 (7 个)
| 节点 ID | 名称 | 来源 | 阶段 | 简介 |
|---|---|---|---|---|
| app-config | 配置 | App | 基础 | 应用的 config 是随 deploy 变化的一切(staging、生产、开发者环境等),包括数据库、Memcached 等 backing service 的资源句柄。 |
| app-build-run | 构建·发布·运行 | App | 进阶 | codebase 经三阶段转变为非开发 deploy:build 阶段把代码仓库转换为可执行 bundle,按部署进程指定的提交版本拉取 vendored 依赖并编译二进制与资源。 |
| app-dev-prod | 开发/线上等价 | App | 进阶 | 历史上开发(开发者对本地 deploy 实时编辑)与生产(最终用户访问的运行 deploy)之间存在三大差距:时间、人员、工具。 |
| ag-prompts | 掌控你的 Prompt | Agent | 基础 | 不要把 prompt 工程外包给框架,这是本因子最核心的一句话:prompt 必须由你亲自掌控,而不是交给黑盒。 |
| ag-context | 掌控上下文窗口 | Agent | 进阶 | 你不需要拘泥于标准消息格式来向 LLM 传递上下文:『任何时刻,你给 LLM 的输入本质上就是:到目前为止发生了什么,下一步是什么』。 |
| ag-control | 掌控控制流 | Agent | 进阶 | 如果你掌控自己的控制流,就能做很多有趣的事:为你的特定用例构建自己的控制结构,而不是被框架规定死。,属于该因子的基础原则,应在设计中显式落实。 |
| ag-errors | 压缩错误进上下文 | Agent | 进阶 | Agent 的一大好处是『自愈』:对短任务,LLM 调用工具失败时,好的模型相当有机会读懂错误消息或堆栈并想出在后续调用中改什么。 |
学习路径提示
本组内存在 3 条前置依赖边(prerequisite),推荐先掌握前置知识点,再进入依赖它的节点。
入组前置依赖(组外节点 → 本组成员)
- 自然语言→工具调用 → 掌控控制流工具调用需要确定性控制流
- 工具即结构化输出 → 掌控控制流工具组合受控制流编排
- 控制流与阶段治理 → 掌控控制流控制流治理落到 Agent 编排
- 可观测性与错误可见性 → 压缩错误进上下文可观测性落到错误压缩
- 配置与可变性外置 → 掌控你的 Prompt可变性外置落到 prompt 管理
- 环境一致性 → 掌控你的 Prompt一致性落到 prompt 环境
- 依赖 → 构建·发布·运行依赖在构建阶段声明
- 代码库 → 构建·发布·运行代码库是构建的输入
- 后端服务 → 配置后端服务句柄存于配置