Skip to content
CrewAI 文档版本 跟随上游 源快照 1c7b3b44 更新于 2026-10-18

kickoff 前后的钩子

了解如何在 CrewAI 中使用 kickoff 前后的钩子

CrewAI 提供了钩子,允许你在 crew 的 kickoff 之前和之后执行代码。这些钩子适用于预处理输入或后处理结果。

kickoff 前的钩子

kickoff 前的钩子在 crew 开始其任务之前执行。它接收输入字典,并可以在将其传递给 crew 之前对其进行修改。你可以使用此钩子来设置环境、加载必要数据或预处理输入。在输入数据需要先经过丰富或校验再交由 crew 处理的场景中,这很有用。

以下是在你的 crew.py 中定义 kickoff 前函数的示例:

python
from crewai import CrewBase
from crewai.project import before_kickoff

@CrewBase
class MyCrew:
    @before_kickoff
    def prepare_data(self, inputs):
        # Preprocess or modify inputs
        inputs['processed'] = True
        return inputs

#...

在此示例中,prepare_data 函数通过添加一个新的键值对来修改输入,表示输入已被处理。

kickoff 后的钩子

kickoff 后的钩子在 crew 完成其任务之后执行。它接收 result 对象,其中包含 crew 执行的输出。此钩子非常适合后处理结果,例如日志记录、数据转换或进一步分析。

以下是你可以在你的 crew.py 中定义 kickoff 后函数的方式:

python
from crewai import CrewBase
from crewai.project import after_kickoff

@CrewBase
class MyCrew:
    @after_kickoff
    def log_results(self, result):
        # Log or modify the results
        print("Crew execution completed with result:", result)
        return result

# ...

在 log_results 函数中,crew 执行的结果会被直接打印出来。你可以扩展它以执行更复杂的操作,例如发送通知或与其他服务集成。

同时使用两个钩子

两个钩子可以一起使用,为 crew 的执行提供完整的设置与清理流程。它们特别有助于通过分离关注点来保持整洁的代码架构,并增强你 CrewAI 实现的模块化程度。

结论

CrewAI 中的 kickoff 前后钩子提供了与团队执行生命周期交互的强大方式。通过理解并使用这些钩子,你可以极大增强 AI 智能体的健壮性和灵活性。

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。