跳转至

强制工具输出为结果

简介

在CrewAI中,您可以强制工具的输出作为代理任务的結果。此功能在您希望确保工具输出被捕获并作为任务结果返回时非常有用,避免了在任务执行过程中代理的任何修改。

强制工具输出作为结果

要强制工具输出作为代理任务的結果,您需要在向代理添加工具时将result_as_answer参数设置为True。此参数确保工具输出被捕获并作为任务结果返回,而不会被代理修改。

以下是强制工具输出作为代理任务结果的示例:

# ...
from crewai.agent import Agent
from my_tool import MyCustomTool

# 创建一个带有自定义工具的编码代理
coding_agent = Agent(
        role="数据科学家",
        goal="生成关于AI的出色报告",
        backstory="您与数据和AI一起工作",
        tools=[MyCustomTool(result_as_answer=True)],
    )

# 假设工具的执行和结果填充在系统内进行
task_result = coding_agent.execute_task(task)

工作流程示例

  1. 任务执行:代理使用提供的工具执行任务。
  2. 工具输出:工具生成输出,该输出被捕获作为任务结果。
  3. 代理交互:代理可能会从工具中反思和学习,但不修改输出。
  4. 结果返回:工具输出作为任务结果返回,没有任何修改。