质量控制:测试与训练
质量控制:测试与训练
Section titled “质量控制:测试与训练”构建一个 AI 智能体通常比确保它持续稳定地工作更容易。与传统软件中 1 + 1 永远等于 2 不同,大型语言模型(Large Language Models)是概率性的。它们可能在某个时刻表现出色,而在下一刻就出现幻觉。在本章中,我们将探讨如何使用 CrewAI 内置的质量控制工具——测试框架(Testing framework)和训练机制(Training mechanism)来专业化你的工作流程。
使用 crewai test 评估性能
Section titled “使用 crewai test 评估性能”你如何知道对提示词(prompt)的更改是改善了结果还是使其变得更糟?你不能仅仅依赖单次运行。crewai test 命令允许你系统地多次运行你的 Crew,以收集性能指标。
CrewAI 中的测试侧重于基准测试(benchmarking)。当你运行测试时,框架会按照指定的迭代次数执行你的 Crew,并汇总有关任务持续时间和执行结果的数据。这类似于对车辆原型进行压力测试。
要执行测试,你需要使用 CLI。你必须指定迭代次数(-n)和用于评估的模型(-m)。请注意,CrewAI 使用 LLM 来评估你的智能体(agents)产生的输出质量。
# 运行 Crew 3 次并使用 GPT-4o 进行评估crewai test -n 3 -m gpt-4o命令完成后,CrewAI 将根据语义一致性(semantic consistency)和目标完成度为每个任务输出分数。这提供了一个量化的基线。如果你修改了智能体(agent)的 backstory,并且分数从 8.5 下降到 7.0,你就知道方向错了。
使用 crewai train 行为微调
Section titled “使用 crewai train 行为微调”虽然 test 提供了分数,但 train 允许你主动改进智能体(agents)。crewai train 命令促进了一个“人在循环”(Human-in-the-Loop)的强化学习过程。它会运行你的 Crew,然后暂停以征求你对特定输出的反馈。
这并非技术上的微调(直接更新 LLM 权重),而是上下文优化。CrewAI 会保存你的反馈,并用它来指导智能体在未来的执行,有效地构建一个“好”与“坏”示例的存储库(即少样本学习上下文)。
训练工作流程
Section titled “训练工作流程”- 执行:在你的终端中运行
crewai train -n <迭代次数>。 - 审查:CLI 会显示任务的输出。
- 反馈:系统会提示你提供书面反馈。例如:“语气过于随意”或“你漏掉了第二段的引文”。
- 持久化:CrewAI 会将此反馈保存到本地训练文件(通常是
.pkl文件)中。
# 用 5 次反馈迭代训练 Crewcrewai train -n 5在后续运行中,智能体(agents)将访问这些训练数据,以更好地理解你的偏好,从而随着时间的推移更好地符合你的预期。