Reflexion

May 15, 2026 · View on GitHub


该类在类层次结构中的位置:

[Oxy](../agent/base_oxy.md)
├── [BaseFlow](../agent/base_flow.md)
│   ├── [Workflow](./workflow.md)
│   ├── [ParallelFlow](./parallel_flow.md)
│   ├── [PlanAndSolve](./plan_and_solve.md)
│   ├── [Reflexion](./reflexion.md)
│   │   └── [MathReflexion](./reflexion.md)
│   └── [BaseAgent](../agent/base_agent.md)
├── [BaseLLM](../llms/base_llm.md)
└── [BaseTool](../tools/base_tools.md)

简介

Reflexion 是一个通过自我反思来迭代改进答案的 Flow。它协调工作智能体(生成答案)和反思智能体(评估并提供反馈)之间的配合,通过多轮优化实现响应的持续改进。

参数

参数类型 / 允许值默认值描述
max_reflexion_roundsint3最大 Reflexion 迭代次数。
worker_agentstr"worker_agent"用于生成答案的工作智能体名称。
reflexion_agentstr"reflexion_agent"用于评估的反思智能体名称。
func_parse_worker_responseOptional[Callable]None自定义工作智能体响应解析函数。
func_parse_reflexion_responseOptional[Callable]None自定义反思智能体响应解析函数。
pydantic_parser_reflexionPydanticOutputParserPydanticOutputParser(ReflexionEvaluation)反思响应的 Pydantic 解析器。
evaluation_templatestr默认模板评估查询的模板。
improvement_templatestr默认模板改进查询的模板。

方法

方法协程 (async)返回值用途(简述)
__init__(**kwargs)None将工作智能体和反思智能体注册为允许的工具;设置默认解析器。
_execute(oxy_request)OxyResponse执行 Reflexion 流程:工作智能体生成、评估智能体评审,循环迭代。

继承

请参阅 BaseFlow 类了解继承的参数和方法。

用法

oxy.Reflexion(
    name="general_reflexion",
    worker_agent="worker_agent",
    reflexion_agent="reflexion_agent",
    max_reflexion_rounds=3,
)

MathReflexion

MathReflexionReflexion 的专用子类,预配置用于数学问题求解。它设置了默认的智能体名称(math_expert_agentmath_checker_agent)和数学专用的评估模板。

oxy.MathReflexion(
    name="math_reflexion",
    worker_agent="math_expert_agent",
    reflexion_agent="math_checker_agent",
)