Skip to content

质量控制:测试与训练

构建一个 AI 智能体通常比确保它持续稳定地工作更容易。与传统软件中 1 + 1 永远等于 2 不同,大型语言模型(Large Language Models)是概率性的。它们可能在某个时刻表现出色,而在下一刻就出现幻觉。在本章中,我们将探讨如何使用 CrewAI 内置的质量控制工具——测试框架(Testing framework)和训练机制(Training mechanism)来专业化你的工作流程。

你如何知道对提示词(prompt)的更改是改善了结果还是使其变得更糟?你不能仅仅依赖单次运行。crewai test 命令允许你系统地多次运行你的 Crew,以收集性能指标。

CrewAI 中的测试侧重于基准测试(benchmarking)。当你运行测试时,框架会按照指定的迭代次数执行你的 Crew,并汇总有关任务持续时间和执行结果的数据。这类似于对车辆原型进行压力测试。

要执行测试,你需要使用 CLI。你必须指定迭代次数(-n)和用于评估的模型(-m)。请注意,CrewAI 使用 LLM 来评估你的智能体(agents)产生的输出质量。

Terminal window
# 运行 Crew 3 次并使用 GPT-4o 进行评估
crewai test -n 3 -m gpt-4o

命令完成后,CrewAI 将根据语义一致性(semantic consistency)和目标完成度为每个任务输出分数。这提供了一个量化的基线。如果你修改了智能体(agent)的 backstory,并且分数从 8.5 下降到 7.0,你就知道方向错了。

虽然 test 提供了分数,但 train 允许你主动改进智能体(agents)。crewai train 命令促进了一个“人在循环”(Human-in-the-Loop)的强化学习过程。它会运行你的 Crew,然后暂停以征求你对特定输出的反馈。

这并非技术上的微调(直接更新 LLM 权重),而是上下文优化。CrewAI 会保存你的反馈,并用它来指导智能体在未来的执行,有效地构建一个“好”与“坏”示例的存储库(即少样本学习上下文)。

  • 执行:在你的终端中运行 crewai train -n <迭代次数>。
  • 审查:CLI 会显示任务的输出。
  • 反馈:系统会提示你提供书面反馈。例如:“语气过于随意”或“你漏掉了第二段的引文”。
  • 持久化:CrewAI 会将此反馈保存到本地训练文件(通常是 .pkl 文件)中。
Terminal window
# 用 5 次反馈迭代训练 Crew
crewai train -n 5

在后续运行中,智能体(agents)将访问这些训练数据,以更好地理解你的偏好,从而随着时间的推移更好地符合你的预期。