每位 AI 工程师都应该知道的 20 个循环设计模式
每位 AI 工程师都应该知道的 20 个循环设计模式
每位 AI 工程师都应该知道的 20 个循环设计模式
原帖链接:https://x.com/sairahul1/status/2072258045460226373

大多数 AI 工程师都知道如何构建一个智能体。
但很少有人知道如何构建一个在第一次尝试后会变得更好的系统。
这个差距,价值六位数。
区别在这里:
智能体是工人。
循环让工人持续改进。
今天生产环境里最强的 AI 系统,并不是一次单独的模型调用。
它们是循环。
生成 → 评估 → 学习 → 改进。
一遍又一遍。
直到输出真的足够好。
下面是 20 个在生产级 AI 系统中反复出现的循环设计模式。
收藏起来。你可以用它们来构建系统。
智能体 vs 循环
旧方式:提示词 → 响应 → 完成。
新方式:生成 → 批判 → 重写 → 评分 → 重试 → 记住 → 改进。
前者像一个只做一次工作的流水线工人。
后者像一个会研究每次错误、重写操作手册,并在每个班次都变强 3% 的工人。
现在真正能交付生产级 AI 的团队,并不是在写更好的提示词。
他们是在构建更好的循环。

类别 1:质量改进循环(让输出离开系统之前变得更好)
1. 生成 → 批判 → 重写
AI 工程里最重要的循环。
生成输出。批判者审查它。生成器根据反馈重写。重复,直到达到质量阈值。
不是一个模型,而是两个角色,一条流水线。
[生成器] → 草稿
[批判者] → “第 3 段太模糊。缺少证据。语气不对。”
[生成器] → 根据批判意见重写
[批判者] → “好多了。但结尾仍然弱。”
[生成器] → 最终重写
用于:写作、代码审查、报告、战略文档、销售邮件。
洞察是:生成内容的模型,并不是判断自己输出质量的最佳裁判。
一个独立的批判者,每次都能发现生成器漏掉的东西。

2. 评分并重试循环
生成。评分。低于阈值就重试。
简单。强大。被低估。
score = evaluate(output)
score = evaluate(output)
while score < threshold:
output = generate(prompt)
score = evaluate(output)
attempts += 1
if attempts > max_retries:
return best_so_far
最适合质量可测的场景:抽取准确率、格式合规性、事实正确性、线索评分。
生成器不知道自己正在被打分。
评估器知道。
这种分离就是模式本身。
3. 多批判者循环
一个批判者会有盲区。
用四个。
→ 正确性批判者:事实准确吗?
→ 风格批判者:清晰、写得好吗?
→ 安全批判者:合适且安全吗?
→ 领域批判者:符合专家标准吗?
每个批判者独立评估。
最终输出必须同时满足四个批判者,才能离开系统。
用于:医疗 AI、法律文档审查、金融分析、受监管内容。

4. 对抗式批判循环
批判者唯一的工作,就是推翻答案。
不是改进它,而是推翻它。
对抗式批判者会问:
→ 这里哪些假设会失效?
→ 缺少哪些证据?
→ 怀疑者会怎么说?
→ 哪些地方是自信但错误的?
然后生成器进行防守或重写。
最好的答案,经得住推翻。
用于:研究综合、投资论点审查、战略规划、风险分析。
5. 评审集成循环
一个评审器给出的分数噪声很大。
五个评审器可以抵消噪声。
让同一份输出通过多个评估器。
聚合分数。
只有高共识输出才能进入下一步。
适用场景:单模型评估不可靠、风险很高、边界情况很重要。

类别 2:记忆循环(从已经发生的事情中学习,让下一次更聪明)
6. Reflexion 循环
现存最重要的自我改进模式。
智能体失败。智能体分析失败原因。智能体存储教训。智能体带着这条教训重试。
每次迭代都比上一次更聪明。
尝试 1:失败
反思:“我假设了 X,但 X 是错的。下次先验证 X。”
尝试 2:纳入教训 → 部分成功
反思:“更好了。但我跳过了 Y。加入 Y 检查。”
尝试 3:成功
这就是“会失败一次的系统”和“只会因同一个问题失败一次的系统”之间的区别。

7. 记忆更新循环
每个任务结束后,存三件事:
→ 做出了什么决策→ 结果是什么→ 下次会做什么不同的事
未来运行会继承这些知识。
第 6 个月的系统,已经不是第 1 个月的系统。
它读过自己 6 个月的历史。
8. 错误库循环
存下每一次失败。
错误答案。糟糕的输出。执行失败。边界情况。
在处理新任务之前:
先搜索错误库。
如果存在类似失败 → 在开始之前就应用已知修复方案。
系统不再重复犯同一个错误。
这是生产级 AI 中最被低估的模式。
9. 成功模式循环
大多数工程师只存失败。
也要存成功。
当任务完成得很好时:
→ 保存方法→ 保存上下文→ 保存它为什么有效
遇到类似任务时,检索成功模式。
从胜利中学习。不只从错误中学习。
10. 记忆压缩循环
记忆会无限增长。
无限记忆就是不可用的记忆。
当累计了 N 条内容之后:
压缩它们。
大量具体记忆 → 更少、更高层的抽象。
压缩前:
“任务 A 因为 X 失败”
“任务 B 因为 X 失败”
“任务 C 因为 X 失败”
压缩后:
“模式:X 会导致失败。永远先检查 X。”
上下文保持可管理。模式保持可访问。系统保持快速。

类别 3:规划循环(当现实发生变化时调整计划)
11. 计划 → 执行 → 重规划
AI 智能体设计中最常见的错误:
把计划当成固定不变的东西。
计划一遇到现实就会破。
模式是:
创建计划 → 执行一步 → 观察结果 → 更新计划 → 继续
不是瀑布。
是螺旋。
每绕一圈,方法都会更紧。
适用场景:环境会变化、任务之间有依赖、目标周期很长。

12. 动态工作流循环
大多数流水线是固定的。
步骤 1 → 步骤 2 → 步骤 3。永远如此。
动态工作流会根据结果变化。
如果输出 A → 运行分支 X如果输出 B → 运行分支 Y如果输出 C → 跳到步骤 5
流水线在运行时决定自己的形状。
用于:多文档研究、客服路由、自适应内容流水线。
13. 目标分解循环
大目标进入系统。
系统把它拆成子目标。
每个子目标再拆成任务。
每个任务再拆成步骤。
一直分解,直到每个单元都小到可以通过一次调用执行。
目标:“写一份全面的竞品分析”
↓
子目标 1:“找出前 5 个竞争对手”
子目标 2:“分析每个竞争对手的产品”
子目标 3:“比较定价模型”
子目标 4:“找出空白点”
↓
每个子目标 → 任务 → 单独模型调用
循环会持续分解,直到系统可以行动。
14. 进度评估循环
每 N 步停下来问一次。
“我们真的更接近目标了吗?”
如果是:继续当前策略。如果不是:改变策略、工具或计划。
系统会监控自己的进度。
而不是盲目执行。
用于:长时间运行的研究智能体、多日自主任务、调试智能体。
15. 约束满足循环
持续运行,直到所有约束都满足。
while not all_constraints_satisfied(output):
output = improve(output, unsatisfied_constraints)
constraints = [
budget_under_limit,
quality_above_threshold,
latency_under_200ms,
tone_matches_brand,
no_hallucinations
]
这在生产系统中非常常见。
输出只有在每条业务规则都通过之后,才算完成。

类别 4:探索循环(通过尝试多条路径找到最佳答案)
16. 分支并探索循环
不要押注单一路径。
同时探索多条路径。
paths = [
generate(approach="conservative"),
generate(approach="aggressive"),
generate(approach="creative")
]
scores = [evaluate(p) for p in paths]
best = paths[scores.index(max(scores))]
比较结果。选择最佳分支。丢弃其余分支。
用于:内容变体、架构决策、多假设调试、A/B 生成。

17. 树搜索循环
分支并探索只深入一层。
树搜索会根据需要深入多层。
扩展最有希望的节点。剪掉最弱的节点。持续探索,直到找到解。
root → [A, B, C]
A → [A1, A2] # A 看起来有希望,扩展它
B → prune # B 很弱,到此停止
A1 → [A1a, A1b]
A1a → solution ✓
用于:复杂推理链、多步规划、代码调试、研究综合。
计算成本高,但能找到单次调用找不到的解。
18. 辩论循环
两个智能体。一个主题。相反立场。
智能体 A 支持答案。智能体 B 反对答案。
每一轮都会挑战假设、要求证据、暴露薄弱逻辑。
最终答案从分歧中浮现。
不是从一致中产生。
对抗压力会发现自信的单智能体答案漏掉的东西。
用于:投资决策、战略规划、风险评估、研究批判。

类别 5:系统优化循环(循环改进循环本身)
19. 提示词优化循环
大多数工程师写一次提示词,然后再也不碰它。
提示词优化循环改变了这一点。
系统会:
→ 在测试集上运行提示词→ 给每个输出打分→ 找出提示词失败的位置→ 重写提示词来修复这些失败→ 重新运行并重新打分
提示词会自动变好。
不需要人类动手。
current_prompt = "概括这份文档。"
for iteration in range(max_iterations):
outputs = [run(current_prompt, doc) for doc in test_set]
scores = [evaluate(o) for o in outputs]
avg_score = mean(scores)
if avg_score >= target:
break
failures = [o for o, s in zip(outputs, scores) if s < threshold]
current_prompt = improve_prompt(current_prompt, failures)
# 提示词会根据失败位置重写自己
用于:生产流水线、自动化内容系统、分类任务。
生产级 AI 中最好的提示词,不是人类写出来的。
它们是演化出来的。

20. 工作流优化循环
这里开始变得有意思。
循环改进循环。
系统会衡量自己的性能:
→ latency:每个步骤耗时多久?
→ cost:每次调用用了多少 token?
→ quality:每个阶段的输出分数是多少?
然后它会修改自己的工作流。
太慢?并行化两个步骤。太贵?在质量能保持的地方,把一次 GPT-4 调用换成更小模型。质量下降?在最终输出前加入一个批判者。
metrics = measure_workflow(outputs, latency, cost)
if metrics.latency > target_latency:
workflow = parallelize(slow_steps)
if metrics.cost > budget:
workflow = replace_with_cheaper_model(high_cost_steps)
if metrics.quality < threshold:
workflow = add_critic_before(final_output_step)
真正自我改进的系统,从这里开始。
不只是输出会改进。
系统会重新设计自己。

这 20 个模式背后的共同结构
上面的每一个循环,都共享同一个结构:
行动 → 观察 → 评估 → 调整
第一次尝试的输出,从来不是最终版本。
输出只是起点。
循环把起点变成能进入生产环境的东西。

完整地图
类别 1:质量循环(输出离开系统前先变好)
→ 1. 生成 → 批判 → 重写
→ 2. 评分并重试
→ 3. 多批判者
→ 4. 对抗式批判
→ 5. 评审集成
类别 2:记忆循环(从已经发生的事情中学习)
→ 6. Reflexion
→ 7. 记忆更新
→ 8. 错误库
→ 9. 成功模式
→ 10. 记忆压缩
类别 3:规划循环(现实变化时进行适配)
→ 11. 计划 → 执行 → 重规划
→ 12. 动态工作流
→ 13. 目标分解
→ 14. 进度评估
→ 15. 约束满足
类别 4:探索循环(通过尝试多条路径找到最佳答案)
→ 16. 分支并探索
→ 17. 树搜索
→ 18. 辩论
类别 5:系统优化循环(循环改进循环本身)
→ 19. 提示词优化
→ 20. 工作流优化
大多数工程师认为智能体是未来。
智能体只是工人。
循环才是让工人进步的东西。
AI 现在正在发生的最大转变,不是更好的模型。
而是从:
提示词 → 响应
转向:
生成 → 评估 → 学习 → 改进
掌握循环设计的团队,不会只是构建更好的提示词。
他们会构建部署后每天都在变好的系统。
而且不需要任何人触碰。
如果这对你有用:
→ 转发给你认识的每位 AI 工程师→ 关注 @sairahul1,获取更多类似模式→ 收藏这篇:本周选一个循环并实现它
我写 AI、产品构建,以及那些能在没有你参与时自动工作的系统。
内容效果不满意?点此反馈