| 1 | # 任务合约与暂停策略 |
| 2 | |
| 3 | <a href="./GUIDE.zh-CN.md">使用指南</a> |
| 4 | · |
| 5 | <a href="./TASK_CONTRACT.md">English</a> |
| 6 | |
| 7 | 复杂任务最适合写成一份**任务合约**:背景是什么、要完成什么动作、结果怎么交付、哪些边界不能越过,以及什么时候才需要暂停问用户。 |
| 8 | 有些 prompt 模板把最后一段叫 “Checkpoint”;Reasonix 文档里叫 “Pause policy”,避免和 Checkpoints/Rewind 快照混淆。 |
| 9 | |
| 10 | 这不是更长的角色设定。更强的 coding agent 通常不需要用户教它一步步思考;它更需要清楚的任务边界和验收标准。 |
| 11 | |
| 12 | ## 模板 |
| 13 | |
| 14 | ```text |
| 15 | Context: |
| 16 | 我正在做 [大任务]。 |
| 17 | 目标对象是 [谁]。 |
| 18 | 这个结果要帮助他们 [达成什么结果]。 |
| 19 | |
| 20 | Request: |
| 21 | 请完成 [一个明确动作]。 |
| 22 | |
| 23 | Output format: |
| 24 | 请按照 [具体结构] 输出。 |
| 25 | 必须包含 [必要模块]。 |
| 26 | 不要超过 [长度/范围]。 |
| 27 | |
| 28 | Constraints: |
| 29 | 不要 [错误假设]。 |
| 30 | 不要 [越界内容]。 |
| 31 | 不要 [低质量输出形式]。 |
| 32 | 如果 [信息不足],请明确标注不确定性。 |
| 33 | |
| 34 | Pause policy: |
| 35 | 除非下一步涉及不可逆或对外可见操作、任务范围变化,或需要我提供信息,否则请继续完成任务后再汇报。 |
| 36 | ``` |
| 37 | |
| 38 | ## Reasonix 如何使用它 |
| 39 | |
| 40 | - **普通聊天**可以直接粘贴这份模板,适合一次性任务。 |
| 41 | - **Goal 模式**会把目标当作任务合约持续推进,直到 request、output format、constraints 和必要验证都满足。 |
| 42 | - **计划模式**适合“先产出并确认方案,再进入实施”的场景;它是工作流指令,不是只读权限边界。 |
| 43 | - **工具审批**仍然独立生效:写文件、跑 shell、发布、凭证、外部副作用都会继续遵守配置的审批策略。 |
| 44 | - **Checkpoints/Rewind** 是代码和会话快照;这里的暂停策略只描述 agent 什么时候应该停下来问用户。 |
| 45 | |
| 46 | Goal 模式里的任务合约会随 user turn 注入 provider 可见上下文,不会改写 cache-stable system prompt、memory prefix 或 tool schema。 |
| 47 | |
| 48 | ## 示例 |
| 49 | |
| 50 | ```text |
| 51 | /goal Context: |
| 52 | 我正在改进桌面端输入框。 |
| 53 | 目标对象是需要连续做代码审查的用户。 |
| 54 | 这个结果要帮助他们避免被补全菜单打断输入。 |
| 55 | |
| 56 | Request: |
| 57 | 修复 slash-command 菜单打开时键盘焦点丢失的问题。 |
| 58 | |
| 59 | Output format: |
| 60 | 完成后按“改了什么 / 验证结果 / 剩余风险”汇报。 |
| 61 | |
| 62 | Constraints: |
| 63 | 不要改变 Wails JSON 合约。 |
| 64 | 不要顺手重构无关的 composer 状态。 |
| 65 | 如果无法跑浏览器验证,请说明原因。 |
| 66 | |
| 67 | Pause policy: |
| 68 | 除非下一步需要产品判断、公开 push 或凭证,否则继续完成实现和验证后再汇报。 |
| 69 | ``` |
| 70 |