03. 控制循环(Control Loops)
概述
本指南介绍如何设计和实现反馈控制循环,以持续改进模型的输出质量和行为。
核心概念
- 反馈循环 - 收集输出、评估和调整
- 自我纠正机制 - 模型自动改进其输出
- 迭代优化 - 多轮迭代以达到目标
- 性能监控 - 跟踪关键指标
- 动态调整 - 根据结果实时修改参数
控制循环架构
基础循环结构
输入
↓
模型处理
↓
输出生成
↓
质量评估
↓
反馈分析
↓
参数调整
↓
重新执行(如需要)关键组件
1. 输入设计
- 清晰的任务定义 - 明确说明目标
- 上下文提供 - 提供必要的背景
- 格式要求 - 指定期望的输出格式
- 约束条件 - 设定限制边界
2. 输出评估
python
评估标准:
- 准确性(Accuracy)
- 相关性(Relevance)
- 完整性(Completeness)
- 清晰度(Clarity)
- 一致性(Consistency)3. 反馈机制
- 自动评分 - 量化输出质量
- 错误检测 - 识别问题和不足
- 改进建议 - 提出具体改进方案
- 优先级排序 - 确定最重要的改进
4. 调整策略
| 策略 | 描述 | 何时使用 |
|---|---|---|
| 提示修改 | 更改输入提示 | 理解不清 |
| 参数调整 | 修改模型参数 | 输出风格不对 |
| 上下文扩展 | 添加更多信息 | 缺少必要背景 |
| 约束重新定义 | 改变限制条件 | 输出超出范围 |
实现模式
单轮控制循环
1. 设计初始提示
2. 获取模型输出
3. 评估质量
4. 若满足条件,返回结果
5. 若不满足,调整并重试多轮迭代循环
1. 初始化参数
2. 循环 N 次:
a. 使用当前参数生成输出
b. 评估输出
c. 基于评估调整参数
3. 返回最佳结果自适应反馈循环
1. 设置初始阈值
2. 监控性能指标
3. 动态调整阈值
4. 自动优化参数
5. 持续改进评估指标
定量指标
- BLEU Score - 翻译和文本生成质量
- ROUGE Score - 摘要质量
- 准确率 - 事实准确性
- 相关性评分 - 与查询的相关程度
定性指标
- 可读性 - 文本的清晰程度
- 一致性 - 内容的逻辑一致性
- 创意性 - 创意内容的原创性
- 适用性 - 对用户场景的适应度
最佳实践
- 清晰的目标 - 定义成功标准
- 自动化评估 - 尽可能自动化质量评估
- 渐进改进 - 每次循环都有明确的目标
- 记录过程 - 保存迭代历史以供学习
- 成本管理 - 平衡质量与成本
- 错误处理 - 优雅地处理失败情况
高级技巧
多目标优化
- 同时优化多个目标
- 权衡不同的质量维度
- 使用帕累托最优原则
约束满足
- 确保输出满足所有约束
- 在约束内最大化质量
- 动态调整约束的严格程度
基于奖励的优化
- 定义奖励函数
- 使用强化学习原理
- 优化长期收益
常见陷阱
- ❌ 过度优化 - 追求完美导致成本过高
- ❌ 局部最优 - 陷入局部最优而非全局最优
- ❌ 忽视成本 - 不考虑Token成本的优化
- ❌ 固定循环 - 不根据需求调整循环策略
实际例子
文本总结任务
提示 → 生成摘要 → 评估覆盖率 → 调整长度 → 重新生成
↓
满足要求 → 返回代码生成任务
需求 → 生成代码 → 测试执行 → 错误分析 → 修复代码
↓
通过所有测试 → 返回下一步
- 学习
04_rag_recipes.md- RAG 系统中的循环 - 探索
05_prompt_programs.md- 程序化循环设计 - 研究
06_schema_design.md- 结构化反馈设计
相关资源
- 强化学习基础
- 自动评估方法论
- 提示工程最佳实践