代理模式:规划—执行—验证
先制定计划,再逐步执行,最后根据验收标准进行验证——这比一次性完成更可靠。
代理模式:规划—执行—验证 是 CoddyKit 上的免费 AI Agents 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Agents 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Agents 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
为什么要先制定 Plan
一次性代码生成适用于很小的任务(“编写一个 fizzbuzz”)。对于真正的软件修改,代理应该:
- Plan — 将任务分解为多个步骤
- Execute — 实现每个步骤
- 验证 — 测试、检查代码并运行
- 迭代 — 持续修复,直到验证通过
Step 1:Plan
让模型生成结构化方案:
PLAN_PROMPT = '''
You are a senior engineer. Given this task, produce a JSON plan:
{steps: [{description, files_to_touch: [str], test_commands: [str]}], risks: [str]}
Task: {user_task}
'''Plan Schema
from pydantic import BaseModel
class Step(BaseModel):
description: str
files_to_touch: list[str]
test_commands: list[str]
class Plan(BaseModel):
steps: list[Step]
risks: list[str]Step 2:Execute
按顺序执行每个步骤。将文件内容作为上下文提供给模型:
for step in plan.steps:
context = {f: read_file(f) for f in step.files_to_touch}
diff = llm.invoke(f'Implement: {step.description}\nFiles:\n{context}').content
apply_diff(diff)Step 3:验证
为每个步骤运行测试、代码检查和构建:
for cmd in step.test_commands:
result = sandbox.run(cmd)
if result.exit_code != 0:
# Verification failed; iterate
loop_until_verified(step, result.stderr)Step 4: Iterate Until Pass
MAX_ITERS = 5
for iter in range(MAX_ITERS):
result = sandbox.run(test_cmd)
if result.exit_code == 0:
break
fix = llm.invoke(f'Tests failed:\n{result.stderr}\nFix the code.').content
apply_diff(fix)展示差异,而不是完整文件
对于增量修改,模型应生成 UNIFIED DIFFS:
diff = '''
--- a/main.py
+++ b/main.py
@@ -10,3 +10,4 @@
def add(a, b):
return a + b
+
+def sub(a, b): return a - b
'''
import patch
patch.fromstring(diff).apply()方案质量很重要
糟糕的方案会导致执行失败。请使用更强的模型进行规划(GPT-4o、Claude Sonnet 4.5),如果预算紧张,则使用更便宜的模型执行(gpt-4o-mini、haiku)。
卡住时重新规划
如果验证反复失败,请放弃当前方案,并让 LLM 根据新信息 RE-PLAN:
if iter == MAX_ITERS - 1:
new_plan = llm.invoke(f'Original plan failed. Errors: {errors}. Make a new plan.').content长期规划的权衡
规划跨度越长,模型的方案越差。对于包含 10 个以上步骤的任务,请先生成粗略方案,再在每个步骤中进行细化。
方案加审查者
让一个“审查者”代理在执行前检查方案。这样可以尽早发现明显错误,比在执行过程中修复更省成本。
向用户展示方案
在执行前向用户展示方案,并允许用户编辑:
approved_plan = await ask_user_to_approve_or_edit(plan)
execute(approved_plan)规划—执行—验证
为什么这种模式比一次性代码生成更可靠?
回顾
Plan、Execute、验证、迭代。使用强大的规划模型和便宜的执行模型,运行真实测试。在风险较高时,向用户展示方案。
常见问题解答
「代理模式:规划—执行—验证」课时是免费的吗?
是的 — 「代理模式:规划—执行—验证」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Agents 课程的其余内容,请升级到 CoddyKit PRO。 AI Agents 课程共包含 4 节课。
「代理模式:规划—执行—验证」这节课中我会学到什么?
先制定计划,再逐步执行,最后根据验收标准进行验证——这比一次性完成更可靠。 你通过在浏览器中直接运行的动手代码来练习 AI Agents,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Agents 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Agents 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「代理模式:规划—执行—验证」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Agents 课中编写并运行代码吗?
能。每节 AI Agents 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 代理模式:规划—执行—验证
- 编码工具界面(读取、编辑、Bash)
- 迭代式自我纠错循环
- SWE-Agent 与 OpenDevin 架构