开发与工程 voice-agent-testingprompt-testingllm-as-judgejson-configurationmodel-evaluation

Voice Lab

用可配置场景和指标评测语音智能体的语言模型与提示词。

FollowAgents 评估 · FARS-2.1
不推荐
27/ 100 五分制 1.4 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全0 / 29 · 0.0/5

证据显示:仓库未提供任何权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的机制或说明。所有信任相关标准均无证据支持,因此全部评分为0。

2可靠稳定3 / 14 · 1.1/5

证据显示:README描述的功能与代码结构基本一致,但未提供错误处理或失败消息的文档。依赖列表存在但未验证可用性。因此自洽性评分为1,依赖可用性评分为1,失败消息评分为0。

3适用触发8 / 18 · 2.2/5

证据显示:README明确了目标用户(语音代理开发者)和多种使用场景(模型迁移、成本优化、提示测试),但能力边界描述不清晰(例如仅支持文本部分),触发精度(如何定义测试场景)部分说明,环境适配(仅支持Python虚拟环境)有限。因此受众与场景评分为2,能力边界评分为1,触发精度评分为1,环境适配评分为1。

4规范维护8 / 18 · 2.2/5

证据显示:README提供了清晰的安装和使用说明,包含示例配置,但缺少版本历史、变更日志和明确的维护责任。许可证为Apache-2.0,但未提供版权所有者信息。因此信息架构评分为2,安装说明评分为2,命名稳定性评分为1,示例与FAQ评分为2,已知限制评分为1,许可证评分为2,版本与变更日志评分为0,维护责任评分为1。

5有效结果6 / 13 · 2.3/5

证据显示:输出可用性(测试报告)未详细说明,边际价值(成本优化、模型比较)有明确描述,成本效益(成本节省)有提及但未量化。因此输出可用性评分为1,边际价值评分为2,成本效益评分为1。

6证据核验2 / 8 · 1.3/5

证据显示:README中的声明(如成本优化)未提供具体数据或测试结果支持,且未区分事实与推断。因此声明可追溯性评分为1,跨来源佐证评分为0,事实与推断分离评分为1。

证据充分度: 评估于 2026年8月9日 审查版本 8b89fdf10178
源码中未见的安全控制:最小权限约束、执行前用户确认、数据流向说明、敏感信息处理、依赖安全审查、外部影响披露、回滚或恢复路径、来源归属可核验
使用前请注意
  • 仓库未提供任何安全机制或权限管理,使用前需自行评估风险。
  • 依赖列表未锁定版本,可能存在供应链风险。
  • README声称支持成本优化,但未提供任何基准测试或数据支持。
  • 未提供版本历史或变更日志,维护状态不明确。
评估证据 [1][2][3]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Voice Lab 是一个面向语音智能体及其他 LLM 驱动智能体的测试与评测框架。当前它只测试语音智能体中的文本层,即底层语言模型和提示词,而非音频处理本身。项目通过 llm_testing/example_test.py 运行预定义测试,并以 llm_testing/test_details.json 描述测试场景、系统提示词、工具调用、成功条件和用户角色。它支持用 JSON 定义自定义指标,并使用 LLM-as-a-Judge 对这些指标评分、跟踪不同配置的表现,以及生成模型间比较表。配置可手工编辑,也可通过 Voice Lab Configuration Editor 生成 JSON 文件。

先在项目根目录配置 OPENAI_API_KEY,再执行 python llm_testing/example_test.py 来运行预定义测试。测试场景存放在 llm_testing/test_details.json;每个条目可包含 system_prompt、initial_message、tool_calls、success_criteria 和 persona。persona 可定义名称、角色、特征、情绪和回复风格,tool_calls 可声明如 end_conversation 的函数及其参数模式。项目还支持在 JSON 中定义自定义指标(README 以 metrics.json 为例),通过 LLM-as-a-Judge 评分,并用于比较不同模型、提示词或角色配置的表现。

  1. 负责电话药房助手的团队,在更换系统提示词前,用不同客户角色和成功条件测试对话表现。
  2. 维护 LLM 驱动客服智能体的工程师,在考虑从较大模型迁移到较小模型时比较配置结果。
  3. 需要检查对话结束条件的开发者,为 end_conversation 等函数调用定义严格参数和终止证据。
  4. 希望减少人工翻阅大量通话记录的评测人员,用 JSON 指标对多个测试配置进行统一评分。
  5. 为电商、航空等场景设计智能体的团队,在测试配置中加入角色、上下文和场景要求。

这个 Agent 有哪些优点和局限?

优点
  • 将测试场景、角色、工具调用和成功标准集中在 JSON 配置中,便于复现实验。
  • 支持自定义指标并以 LLM-as-a-Judge 评分,适合将提示词或模型改动纳入一致的评测流程。
  • 可围绕模型迁移、成本与延迟平衡,生成不同模型配置的比较结果。
  • 测试角色可明确指定情绪、特征和回复风格,适合模拟多种交互方式。
局限
  • 当前仅覆盖语音智能体的文本层;中断、停顿等语音分析仍列为待办。
  • 安装说明要求 OPENAI_API_KEY,文档未提供现成的多提供商运行路径;LiteLLM 支持仍计划中。
  • 文档将独立 eval agent 标注为“Coming soon”,未给出可用实现或调用方式。
  • 并行执行、详细测试报告、会话回放和批处理都仍在规划中。

如何安装或部署这个 Agent?

克隆仓库后进入目录:git clone https://github.com/saharmor/voice-lab.git && cd voice-lab。创建并激活虚拟环境:python3 -m venv venv && source venv/bin/activate。安装依赖:pip install -r requirements.txt。在项目根目录创建 .env,并设置 OPENAI_API_KEY=your_openai_api_key。

如何使用这个 Agent?

完成环境配置后,运行:python llm_testing/example_test.py。要新增场景,可编辑 llm_testing/test_details.json,或使用 Voice Lab Configuration Editor 生成 JSON 配置;场景可配置 system_prompt、initial_message、tool_calls、success_criteria 与 persona。

这个 Agent 与同类方案有什么区别?

项目将 Claude Sonnet、GPT-4 与 GPT-4 Mini 作为模型迁移和比较的示例,目标是在性能、成本和延迟之间评估取舍;README 未提供这些模型的基准结果。

常见问题

它能直接评测语音、停顿或打断吗?
不能。当前仅支持语音智能体的文本部分;语音分析被列为后续工作。
运行前需要什么凭据?
需要在项目根目录的 .env 中设置 OPENAI_API_KEY。
如何定义测试成功?
在 test_details.json 的 success_criteria 中定义所需确认项,并可用自定义 JSON 指标配合 LLM-as-a-Judge 评分。
能并行运行大量测试吗?
README 将并行测试执行列为待改进项,未提供已支持的运行方式。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents