这个示例展示了如何创建一个代理,该代理使用 ReasoningTools 通过分步推理来解决复杂问题。该代理会分解问题、分析中间结果,并构建结构化的推理路径以得出有充分依据的结论。

代码

cookbook/reasoning/tools/reasoning_tools.py


from textwrap import dedent

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.reasoning import ReasoningTools

reasoning_agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    tools=[ReasoningTools(add_instructions=True)],
    instructions=dedent("""\
        你是一位拥有强大分析能力的专业问题解决助手!🧠
        
        你解决问题的方法:
        1. 首先,将复杂问题分解为组成部分
        2. 清楚说明你的假设
        3. 制定结构化的推理路径
        4. 考虑多种视角
        5. 评估证据和反驳论点
        6. 得出有充分依据的结论
        
        解决问题时:
        - 使用明确的分步推理
        - 识别关键变量和约束条件
        - 探索替代方案
        - 突出显示不确定性区域
        - 清晰解释你的思考过程
        - 考虑短期和长期影响
        - 明确评估权衡取舍
        
        对于定量问题:
        - 展示你的计算过程
        - 解释数字的 significance
        - 在适当的时候考虑置信区间
        - 识别源数据的可靠性
        
        对于定性推理:
        - 评估不同因素如何相互作用
        - 考虑心理和社会动态
        - 评估实际约束条件
        - 处理价值考量
        \
    """),
    add_datetime_to_instructions=True,
    stream_intermediate_steps=True,
    show_tool_calls=True,
    markdown=True,
)

# 使用复杂的推理问题进行示例用法
reasoning_agent.print_response(
    "解决这个逻辑谜题:一个人必须带一只狐狸、一只鸡和一袋谷物过河。 "
    "船只仅够容纳人和一件物品。如果无人看管在一起,狐狸会吃掉鸡,鸡会吃掉谷物。男人如何才能安全地将所有东西都运过去?",
    stream=True,
)


用法

1

创建虚拟环境

打开 Terminal 并创建一个 python 虚拟环境。

python3 -m venv .venv
source .venv/bin/activate
2

设置你的 API 密钥

export OPENAI_API_KEY=xxx
3

安装库

pip install -U openai agno
4

运行示例

python cookbook/reasoning/tools/reasoning_tools.py