什么是方法模板?
方法模板由以下部分组成:
评论器是核心:它评估每个步骤,决定是否重试(附带指令补丁)、继续或停止。智能体通过模式上下文(先前的反思、草稿版本、批评意见)丰富提示词。
Self-Refine
Self-Refine 模式(Madaan et al. 2023)迭代过程:生成 → 批评 → 精炼,直到质量达到阈值或达到最大精炼次数。适用场景
- 质量比速度更重要的文本生成任务
- 摘要、翻译、带自评估的代码生成
- 任何迭代改进能可靠产生更好输出的任务
快速开始
工作原理
- 生成:智能体生成初始草稿。
- 批评:
SelfRefineCritic使用启发式评分评估草稿质量(经过更多精炼的较长草稿得分更高;非常短的草稿会被惩罚)。在生产环境中,请替换为基于 LLM 的评分器。 - 精炼:如果分数低于
quality_threshold且仍有精炼次数,评论器返回retry并附带instruction_patch要求智能体改进。智能体在下一次提示中可以看到之前的草稿和批评。 - 接受:当分数达到阈值或达到
max_refinements时,评论器返回continue或stop。
SelfRefineCritic 参数
SelfRefineState 字段
Reflexion
Reflexion 模式(Shinn et al. 2023)迭代过程:行动 → 评估 → 反思 → 带记忆重试。在失败时,评论器生成语言反思存储在状态中,并注入到未来的提示词中。适用场景
- 调试和纠错任务,智能体需要从失败中学习
- 失败后应尝试不同策略的任务
- 多次尝试的问题(编码、推理),反思能改进后续尝试
快速开始
工作原理
- 行动:智能体采取行动完成任务。
- 评估:
ReflexionCritic检查是否失败(错误、非零返回码、空结果)。 - 反思:在失败时,评论器从错误上下文生成语言反思,并以
instruction_patch形式返回retry。反思存储在state.reflections中。 - 带记忆重试:智能体的
build_system_prompt()包含所有先前的反思,因此 LLM 可以避免重复相同的错误。
ReflexionCritic 参数
ReflexionState 字段
LATS
LATS 模式(Zhou et al. 2023)将蒙特卡洛树搜索应用于语言智能体:选择 → 扩展 → 评估 → 回溯。失败的轨迹生成反思,引导未来探索避开类似错误。适用场景
- 需要系统探索多条解路的任务
- 逻辑谜题、编程挑战和多步推理
- 尝试不同策略能提高成功率的问题
快速开始
LATSCritic 参数
LATSState 字段
MoA(混合智能体)
MoA 模式(Wang et al. 2024)独立运行多个提议者并综合其输出:提议 → 聚合。提议的多样性提高质量,即使单个提议者较弱。适用场景
- 受益于多元视角或创造性回应的任务
- 分析、评估和综合问题
- 通过集成推理提升质量
快速开始
MoACritic 参数
Magentic-One
Magentic-One 模式(Furtado et al. 2024)使用编排器的双账本架构:规划 → 委派 → 跟踪进度 → 停滞时重新规划。编排器维护事实库和任务账本,委派给专家智能体,在停滞时重新规划。适用场景
- 需要协调不同能力的复杂多步任务
- 编排器需要根据中间结果调整计划的场景
- 涉及研究、编码和分析子任务的开放性问题
快速开始
ProgressCritic 参数
MagenticOneState 字段
脚手架工具
使用qit new CLI 命令从内置 cookiecutter 模板脚手架生成新智能体项目:
src/agent.py— 包含 State、init_state、build_system_prompt、reduce 的 Agent 类configs/default.yaml— 默认模型和步骤配置tests/test_agent.py— 基本冒烟测试snowl_compat.py— Snowl 评估兼容适配器eval_config.yaml— 评估配置
构建自定义方法模板
要创建自定义方法模板,请遵循相同的 Agent + Critic 模式:- 定义状态,扩展
StateSchema并添加模式的跟踪字段 - 实现评论器,当模式需要迭代时返回带有
instruction_patch和state_patch的retry - 实现智能体,其
build_system_prompt()从状态中注入模式上下文
