The plan → act → check loop
Goal: run agents in a simple loop so mistakes stay small.
Best for: first agent runs where you want a safety rhythm, not a one-shot “do everything.”
Think of an agent like a junior teammate: first they propose a plan, then they do a small action, then you both check the result. That loop—plan → act → check—is the beginner-safe default.
If you skip plan, you get surprise actions. If you skip check, errors pile up. Keep each “act” tiny.
Why beginners skip this
Jumping straight to action feels fast until silent wrong steps stack. Plan → one act → check keeps blast radius small. Mid-week cost shows up as rework, not as a missing bookmark.
Step 1 — Demand a plan with no side effects
First message: ask only for a numbered plan. Ban tool use until you say “go.”
Goal: Propose a plan only—no tools, no edits.
Task: [task]
Done checklist: [paste]
Format: 5–8 numbered steps · which need my approval · estimated risk (low/med)
Boundaries: Do not call tools yet.
Example
Filled prompt
Task: rotate API keys in staging.
Plan 5 bullets → Act (list key names only) → Check.
Refuse Act2 until Check1 green. No prod.
What good output looks like
- Done boxes for “run agents in a simple loop so mistakes stay small” are explicit and checkable
- Allow-list tools only; never-do lines honored
- Stops before send/delete without human gate
- Pass/fail: Plan→Act one→Check visible for agents-plan-act-check-loop
- Pass/fail dated (Asia/Shanghai) sits next to the artifact
Step 2 — Approve one small act
Reply: “Do step 1 only. Then stop and show me evidence.” Evidence = quote, file list, or description—not just “done.”
Execute ONLY step [N] from the plan.
Then stop.
Show: what you did · evidence · what you will do next if I say go.
Do not continue automatically.
Example
Filled prompt
Here is a skimpy plan: “gather links, draft brief, email stakeholders.”
Rewrite into Plan → Act → Check with explicit CHECKPOINT before email.
Stakeholder list is internal #ops only; no external send.
What good output looks like
- Allow-list tools only; never-do lines honored
- Stops before send/delete without human gate
- Pass/fail: Plan→Act one→Check visible for agents-plan-act-check-loop
- Done boxes for “run agents in a simple loop so mistakes stay small” are explicit and checkable
Step 3 — Check, then loop
You spot-check. If good: “Go step 2 only.” If bad: revise the plan. Never say “finish everything” on day one.
I checked step [N]. Feedback: [ok / fix this…]
Revise the remaining plan in ≤6 steps.
Wait for my go before any action.
Example
Filled prompt
Task: rename feature flag in repo.
Force Plan (5 bullets) → Act (one step) → Check (pass/fail).
I will refuse Act on step 2 until Check on step 1 is green.
Return the loop card filled for this task.
What good output looks like
- Stops before send/delete without human gate
- Done boxes for “run agents in a simple loop so mistakes stay small” are explicit and checkable
- Pass/fail: Plan→Act one→Check visible for agents-plan-act-check-loop
- Allow-list tools only; never-do lines honored
Keep it real
Run this guide’s Practice now on work you will actually ship this week—not a fictional scenario. Dated notes beat perfect theory.
Do not bookmark-only
Finish Practice now, then tick this guide on your path. Titles unread are not skills.
Close the loop
After Practice now, write one line: what you will refuse next time. That line is the habit.
One more pass
Re-read your Save-this-card line. If it is vague, rewrite it until a stranger could apply it.
Red flag
Acting without a checked plan; skipping the check to “finish faster”; irreversible step with no human gate—stop the run.
Save this card
Card: plan → one act → check. Block the next act until check is green. Keep this beside the tool; refuse to start if a box is blank.
1. What I shipped: ___ 2. What I refused: ___ 3. What I will never-do again: ___ (date: Asia/Shanghai)
- [ ] Tools/writes paused
- [ ] Refuse-line dated
- [ ] Artifact path saved
- [ ] Next link chosen (or stop)
Before you start
Write Done (checkboxes) and the human gate on paper before any run for “run agents in a simple loop so mistakes.” Allow-list tools; leave send/delete off. Guide: agents-plan-act-check-loop. If you only have a blank practice box, stop and fetch the real job first.
- Goal in one line: ___
- Allowed tools: ___
- Forbidden: ___
- Human approve needed for: ___
How to use this week
This week: run one live task as plan → one action → check. Block step 2 until step 1’s check is green. Save the loop card with today’s Asia/Shanghai date on a live artifact—not a blank demo. Write one refuse-line and date the note (Asia/Shanghai). If you only skimmed agents-plan-act-check-loop, put 25 minutes on the calendar and redo once.
Pitfalls
| Pitfall | Fix |
|---|---|
| “Do the whole plan” in one go | One step per approval at first |
| Trusting “done” with no evidence | Require artifacts |
| Changing the goal mid-loop silently | Update Done checklist explicitly |
Example
Filled prompt
Job: run agents in a simple loop so mistakes stay small
Prior fail: [what missed the check]
Repair: keep the same Done; add one constraint + one concrete example from my notes.
Boundaries: draft only; label Unknowns [?]; no silent send.
Return: fixed output + the one-minute pass/fail I will mark.
What good output looks like
- Names the prior fail without inventing a new job
- Adds one constraint tied to “run agents in a simple loop so mistakes stay small”
- Still draft-only / Unknowns labeled
- Pass/fail: you mark green on the same checklist (agents-plan-act-check-loop #4)
Practice now
Live card: write Plan / Act / Check for a 20-min chore; refuse Act until Plan fits on one screen (Asia/Shanghai).
Today: run one real task as plan → one approved act → check. Do not start step two until check passes. Write Done + allow-list first. Date pass/fail (Asia/Shanghai).
Today card (copy) — agents-plan-act-check-loop: 1. Artifact I will produce: ___ 2. Pass/fail check: ___ 3. Refuse-line if tempted to skip verify/send: ___ (date: Asia/Shanghai) 4. One never-do from this guide: ___
- [ ] Artifact path written
- [ ] Refuse example would say "yes"
- [ ] Dated Asia/Shanghai
One sentence takeaway
Plan, act one step, check—refuse the next act until check passes—date a refuse-line this week, or nothing changed
- You can point to a dated refuse-line
- You have one artifact path from tonight
- You can teach the red flag in one sentence
Next
Human-in-the-loop checkpoints · Subagents and handoffs · Failure modes and retries · Logging what matters · Define done and permissions
Pair with today: open the first Next link (agents-human-in-the-loop-checkpoints) only after you dated a refuse-line for this guide (Asia/Shanghai).
计划 → 行动 → 检查循环
目标: 用简单循环跑智能体,让错误保持很小。
适合: 第一次跑智能体、想要安全节奏、而不是一句话「全做完」的人。
把智能体想成初级同事:先提计划,再做一小步,然后一起检查结果。这个循环——计划 → 行动 → 检查——是初学者的安全默认。
跳过计划,动作会吓人;跳过检查,错误会堆起来。每次「行动」都要小。
为什么新手跳过
先动手显得有产出,却常把错误埋进后面的步骤。你能拒绝的书面计划才是控制面,检查关才能抓住默默走错的步。第一次会慢一点,随后每周都能复用同一套规矩。
步骤 1——只要计划,不要副作用
第一条消息:只要编号计划。在你说「开始」之前禁止用工具。
目标:只出计划——不调工具、不改文件。
任务:[任务]
完成清单:[粘贴]
格式:5–8 个编号步骤 · 哪些要我批准 · 风险(低/中)
实例
填好的提示词
场景:真实工作(打开活材料)。
任务:在仓库里重命名功能开关。
强制 计划(5 条)→行动(一步)→检查(过/不过)。
第 1 步检查未绿前,我拒绝第 2 步行动。
返回填好的循环卡。
约束:不编造事实;发送/删除前停下;未知处标「未知」。
像样的输出大概长这样
- 步骤短且有编号
- 需批准的步骤标清
- 不会假装已读收件箱
- 贴合这个填例——不是空泛打气
- 相关则拒绝编造事实或静默发送
步骤 2——只批准一小步行动
回复:「只做第 1 步。然后停下并出示证据。」证据不是一句「好了」。
只执行计划中的第 [N] 步。然后停止。展示:做了什么 · 证据 · 若我说继续下一步会做什么。
实例
填好的提示词
场景:真实工作(打开活材料)。
任务:为一封客户邮件跑 计划→行动→检查。
计划要包含:读者、事实冻结、发送前暂停。
只执行「起草」一步,然后检查。
约束:不编造事实;发送/删除前停下;未知处标「未知」。
像样的输出大概长这样
- 一步后停下
- 证据具体
- 没有偷偷做第 2 步
- 贴合这个填例——不是空泛打气
- 相关则拒绝编造事实或静默发送
步骤 3——检查,再循环
通过就说「只做第 2 步」。不行就改计划。第一天不要说「一次性全部做完」。
我检查了第 [N] 步。反馈:[通过 / 请改…]
剩余计划改成 ≤6 步。在我下令前不要行动。
实例
填好的提示词
场景:真实工作(打开活材料)。
用纸面跑一次真实任务的计划→行动→检查。
划掉任何跳过失败检查的行动。把循环卡放在聊天旁。
约束:不编造事实;发送/删除前停下;未知处标「未知」。
像样的输出大概长这样
- 不重做已完成部分
- 仍等待下令
- 反馈体现在下一步
- 贴合这个填例——不是空泛打气
- 相关则拒绝编造事实或静默发送
保持真实
用本周真会交付的工作做「现在就练一次」——不要虚构场景。带日期的笔记胜过完美理论。
不要只收藏
做完「现在就练一次」,再在路径上打勾。没练过的标题不是技能。
闭环
「现在就练一次」后写一行:下次你要拒绝什么。那一行才是习惯。
再过一遍
重读「保存这张卡」那一行。若含糊,改到陌生人也能执行。
红旗
无 Done 就自治;离开本机或写文件未每次询问。一步失败却盲目重试同一动作——立刻停。卡上写不清就不继续——先补检查项再跑。
保存这张卡
卡面:Done 四格 + 允许清单 + 人工门闸。跑前必读;无门闸不跑;缺项就停。缺检查项就先补卡,再允许继续。
打开你真正会用的账号/项目。准备好与「计划 → 行动 → 检查循环」相关的真实材料(不要空白练习框)。
默认姿态:在人确认发送/写入之前只出草稿。授予新工具前,先写一条带日期的拒做句(Asia/Shanghai)。
1. 我交出了:___ 2. 我拒绝了:___ 3. 我永不再做:___(日期:Asia/Shanghai)
- [ ] 工具/写入已暂停
- [ ] 拒做句已标注日期
- [ ] 成品路径已存
- [ ] 已选下一步(或停)
本周怎么用
本周写清 Done 与允许清单再跑。只批准一小步行动,立刻检查,再循环。点名至少一处人工门闸。把过/不过写进笔记并注明日期(Asia/Shanghai)。
周中代价检查:若明天丢掉这个习惯,24 小时内会坏在哪?写一行(Asia/Shanghai)。
常见坑
| 坑 | 改法 |
|---|---|
| 一句「把整个计划做完」 | 一开始一步一批准 |
| 相信没有证据的「好了」 | 要求看得见的产出 |
| 循环中偷偷改目标 | 明确更新完成清单 |
实例
填好的提示词
任务:run agents in a simple loop so mistakes stay small
上次失败:[哪条检查未过]
修复:保持同一 Done;加一条约束 + 一条你笔记里的具体例子。
边界:仅草稿;未知标 [?];禁止悄悄发送。
返回:修好的输出 + 我将打勾的一分钟过/不过。
像样的输出大概长这样
- 点名上次失败,不另起炉灶
- 约束贴着「计划 → 行动 → 检查循环」
- 仍是草稿 / 未知已标注
- 过/不过:同一张检查表能打绿(agents-plan-act-check-loop #4)
现在就练一次
实卡:为 20 分钟杂务写计划/行动/检查;计划超一屏就禁止行动(Asia/Shanghai)。
今天用真实任务跑一轮计划→行动→检查,写下过/不过与永不做(日期:Asia/Shanghai)。无门闸不算完成。完成后把日期与结果写进同一行笔记。
今日卡片(可复制)— agents-plan-act-check-loop: 1. 我要产出的成品:___ 2. 通过/失败标准:___ 3. 若想跳过核验/发送的拒做句:___(日期:Asia/Shanghai) 4. 本篇一条永不做:___
一句话带走
按计划→行动一步→检查循环;检查未过关不许跳步。本周用真实任务完整跑通一圈,并留下每道门闸的过/不过记录。把练习做成可复查笔记,而不是停留在「好像会了」。
- [ ] 成品路径已写
- [ ] 拒做例句会说「可以」
- [ ] 已标注 Asia/Shanghai 日期
- 一句话目标:___
- 允许的工具:___
- 禁止:___
- 需要人批准:___
一句话带走
- 能指出一条带日期的拒做句
- 今晚有一条成品路径
- 能用一句话说清红旗
下一步
人在回路检查点 · 子代理与交接 · 失败模式与重试 · 记录真正重要的事 · 定义完成与权限
今日搭配:先为本篇写上拒做句日期(Asia/Shanghai),再打开下一步里的第一篇(agents-human-in-the-loop-checkpoints)。
← Back to home · Learn · Tools · Compare · Start