Source Metadata
Original cangjie-skill frontmatter from the distillation run:
name: goal-verification
description: |
设计 Loop 的 Goal 和 Verification 环节: 将模糊目标转化为可验证的停止条件。
当用户发现 loop 产出质量不稳定、循环无法停止、或"不知道什么时候算做完"时使用。
不适用于: 目标已经非常清晰可量的任务、或非循环场景。
关键 trigger: "loop 停不下来"、"产出质量不稳定"、"怎么定义完成"、"goal 怎么写"。
source_book: "Loop Engineering 视频合集"
source_chapter: 视频1 (Adam Gillock) / 视频4 (Idoos Money)
tags: [goal-design, verification, stop-condition, quality]
related_skills: [loop-three-elements, maker-checker, loop-build-path]
Goal 可验证化 — 循环设计的质量杠杆点
R — Reading (原文)
"There's really two most important pillars: the goal (objective, not subjective) and then verification. How does the agent know what that stop condition is?"
— Adam Gillock (视频1)
"A loop is only going to be as good as its done check, as the done criteria."
— Adam Gillock (视频1)
I — Interpretation (自述)
循环的质量上限 = 其验证环节的质量上限。设计 Loop 时,必须回答两个问题:
- Goal (目标): 循环要达成什么? 必须是客观可验证的 — 不是"做好",而是"达到 X 指标"。
- Verification (验证): 如何判断目标已达成? 必须有可执行的检查步骤。
好 Goal vs 坏 Goal:
- ❌ "直到你满意" — 主观,不可验证
- ❌ "做好这个功能" — 模糊,无法判断
- ✅ "凑够 5 条数据" — 客观,可数
- ✅ "平均分 ≥ 9 或最多 8 轮" — 客观 + 硬停
验证方式光谱 (从客观到主观):
- 纯客观: 跑测试套件、数值指标
- 半客观: 另一个 LLM 评判
- 主观: 人类在环判断
- 模糊: 无法明确判断好坏
A1 — Past Application (书中案例)
案例1: 坏 Goal — 缩略图生成 (视频1)
- Goal: "迭代直到满意" → 主观,导致 27 分钟不可控
- 教训: 应改为"评分 ≥ 8/10 或最多 5 轮"
案例2: 好 Goal — Abbey Road 复刻 (视频1)
- Goal: "平均分 ≥ 9 或最多 8 轮" → 客观 + 硬停
- 虽然结果不完美,但循环在预期内停止
案例3: 验证光谱应用 (视频4)
- 测试套件 → 最客观,优先用
- LLM 评判 → 次选,需独立 checker
- 人类判断 → 最后手段,成本高
A2 — Future Trigger (未来触发)
- Loop 无法停止时: "跑了 3 天还没完" → 检查 stop condition 是否过主观
- 产出质量不稳定时: "有时好有时坏" → 验证环节可能不可靠
- 设计新 Loop 时: 先写 goal 和 verification,再写 action
- 调试 Loop 时: 诊断"为什么产出差" → 先看 goal 是否可验证
语言信号: "loop 停不下来"、"怎么定义完成"、"goal 怎么写"、"产出质量不稳定"
与相邻 skill 的区别:
loop-three-elements: 三要素的整体框架 (本 skill 专注 stop condition 的设计)
maker-checker: 验证环节的具体实现 (本 skill 是验证的设计原则)
loop-worthiness-test: 判断要不要做 loop (本 skill 是决定后如何设计)
E — Execution (可执行步骤)
Step 1: 将模糊目标转化为可验证目标
面对"做好 X"类目标,问:
- "做好"的具体表现是什么?
- 能否用一个数字/布尔值判断?
- 如果不能,能否拆成多个可验证的子目标?
Step 2: 选择验证方式
按客观性从高到低尝试:
- 纯客观检查: 测试通过? 数值达标? 文件存在?
- LLM 评判: 用独立 agent 按 rubric 打分
- 人类判断: 以上都不可行时的最后手段
Step 3: 设置 Hard Stop
即使验证是主观的,也必须设置硬性上限:
- 最大迭代次数 (如 8 轮)
- 最大运行时间 (如 30 分钟)
- 最大 token 消耗
Step 4: 验证环节的独立检查
- 不要让同一个 agent 自产自检 (参见
maker-checker)
- 验证 agent 应该是 read-only 的,有明确的 spec
B — Boundary (边界)
不要使用这个 skill 的场景:
- 目标已经可验证: "凑够 5 条"不需要再设计
- 纯创意任务: 诗歌、艺术等无法客观验证,本 skill 不适用
- 非循环场景: 单次任务的 goal 设计不需要考虑 stop condition
作者的盲点与局限:
- "Goal 必须客观"在创意类任务中很难实现,但作者没有给出创意任务的替代方案
- 验证光谱假设"越客观越好",但有时主观判断 (人类审美) 恰恰是目标
- 视频案例全部是技术任务,对内容创作、研究等场景的验证设计覆盖不足
与之相邻但容易混淆的方法论:
- SMART 目标: 通用目标设定框架; 本 skill 专注循环场景的"可验证停止条件"
- 测试驱动开发 (TDD): "先写测试再写代码"; 本 skill 的"先设计验证再设计 action"思路类似
1---2name: goal-verification3description: 设计 Loop 的 Goal 和 Verification 环节: 将模糊目标转化为可验证的停止条件。 当用户发现 loop 产出质量不稳定、循环无法停止、或"不知道什么时候算做完"时使用。 不适用于: 目标已经非常清晰可量的任务、或非循环场景。 关键 trigger: "loop 停不下来"、"产出质量不稳定"、"怎么定义完成"、"goal 怎么写"。4---56## Source Metadata78Original cangjie-skill frontmatter from the distillation run:910```yaml11name: goal-verification12description: |13 设计 Loop 的 Goal 和 Verification 环节: 将模糊目标转化为可验证的停止条件。14 当用户发现 loop 产出质量不稳定、循环无法停止、或"不知道什么时候算做完"时使用。15 不适用于: 目标已经非常清晰可量的任务、或非循环场景。16 关键 trigger: "loop 停不下来"、"产出质量不稳定"、"怎么定义完成"、"goal 怎么写"。17source_book: "Loop Engineering 视频合集"18source_chapter: 视频1 (Adam Gillock) / 视频4 (Idoos Money)19tags: [goal-design, verification, stop-condition, quality]20related_skills: [loop-three-elements, maker-checker, loop-build-path]21```2223# Goal 可验证化 — 循环设计的质量杠杆点2425## R — Reading (原文)2627> "There's really two most important pillars: the goal (objective, not subjective) and then verification. How does the agent know what that stop condition is?"28> — Adam Gillock (视频1)2930> "A loop is only going to be as good as its done check, as the done criteria."31> — Adam Gillock (视频1)3233## I — Interpretation (自述)3435循环的质量上限 = 其验证环节的质量上限。设计 Loop 时,必须回答两个问题:36371. **Goal (目标)**: 循环要达成什么? 必须是**客观可验证**的 — 不是"做好",而是"达到 X 指标"。382. **Verification (验证)**: 如何判断目标已达成? 必须有**可执行的检查步骤**。3940**好 Goal vs 坏 Goal**:41- ❌ "直到你满意" — 主观,不可验证42- ❌ "做好这个功能" — 模糊,无法判断43- ✅ "凑够 5 条数据" — 客观,可数44- ✅ "平均分 ≥ 9 或最多 8 轮" — 客观 + 硬停4546**验证方式光谱** (从客观到主观):47- 纯客观: 跑测试套件、数值指标48- 半客观: 另一个 LLM 评判49- 主观: 人类在环判断50- 模糊: 无法明确判断好坏5152## A1 — Past Application (书中案例)5354**案例1: 坏 Goal — 缩略图生成 (视频1)**55- Goal: "迭代直到满意" → 主观,导致 27 分钟不可控56- 教训: 应改为"评分 ≥ 8/10 或最多 5 轮"5758**案例2: 好 Goal — Abbey Road 复刻 (视频1)**59- Goal: "平均分 ≥ 9 或最多 8 轮" → 客观 + 硬停60- 虽然结果不完美,但循环在预期内停止6162**案例3: 验证光谱应用 (视频4)**63- 测试套件 → 最客观,优先用64- LLM 评判 → 次选,需独立 checker65- 人类判断 → 最后手段,成本高6667## A2 — Future Trigger (未来触发)68691. **Loop 无法停止时**: "跑了 3 天还没完" → 检查 stop condition 是否过主观702. **产出质量不稳定时**: "有时好有时坏" → 验证环节可能不可靠713. **设计新 Loop 时**: 先写 goal 和 verification,再写 action724. **调试 Loop 时**: 诊断"为什么产出差" → 先看 goal 是否可验证7374**语言信号**: "loop 停不下来"、"怎么定义完成"、"goal 怎么写"、"产出质量不稳定"7576**与相邻 skill 的区别**:77- `loop-three-elements`: 三要素的整体框架 (本 skill 专注 stop condition 的设计)78- `maker-checker`: 验证环节的具体实现 (本 skill 是验证的设计原则)79- `loop-worthiness-test`: 判断要不要做 loop (本 skill 是决定后如何设计)8081## E — Execution (可执行步骤)8283### Step 1: 将模糊目标转化为可验证目标84面对"做好 X"类目标,问:85- "做好"的具体表现是什么?86- 能否用一个数字/布尔值判断?87- 如果不能,能否拆成多个可验证的子目标?8889### Step 2: 选择验证方式90按客观性从高到低尝试:911. **纯客观检查**: 测试通过? 数值达标? 文件存在?922. **LLM 评判**: 用独立 agent 按 rubric 打分933. **人类判断**: 以上都不可行时的最后手段9495### Step 3: 设置 Hard Stop96即使验证是主观的,也必须设置硬性上限:97- 最大迭代次数 (如 8 轮)98- 最大运行时间 (如 30 分钟)99- 最大 token 消耗100101### Step 4: 验证环节的独立检查102- 不要让同一个 agent 自产自检 (参见 `maker-checker`)103- 验证 agent 应该是 read-only 的,有明确的 spec104105## B — Boundary (边界)106107**不要使用这个 skill 的场景**:1081091. **目标已经可验证**: "凑够 5 条"不需要再设计1102. **纯创意任务**: 诗歌、艺术等无法客观验证,本 skill 不适用1113. **非循环场景**: 单次任务的 goal 设计不需要考虑 stop condition112113**作者的盲点与局限**:114- "Goal 必须客观"在创意类任务中很难实现,但作者没有给出创意任务的替代方案115- 验证光谱假设"越客观越好",但有时主观判断 (人类审美) 恰恰是目标116- 视频案例全部是技术任务,对内容创作、研究等场景的验证设计覆盖不足117118**与之相邻但容易混淆的方法论**:119- **SMART 目标**: 通用目标设定框架; 本 skill 专注循环场景的"可验证停止条件"120- **测试驱动开发 (TDD)**: "先写测试再写代码"; 本 skill 的"先设计验证再设计 action"思路类似