jevals
用结构化决策模型替代LLM法官的AI代理评估框架
项目简介
jevals 是由 openlayer-ai 团队开源的 AI 代理评估与护栏框架,核心思路是用「typed Jev decisions」(结构化决策模型)替代传统的 LLM 法官(LLM-as-judge)。传统评估依赖调用 GPT/Claude 等大语言模型作为裁判,每次评估需要 6~11 次 LLM 调用、耗时数秒,成本高昂且结果不稳定。jevals 将所有评估项打包成一次 HTTP 请求,单次成本约 0.00006 美元、耗时约 0.33 秒,让开发者可以在每次代理运行时都执行完整评估,而不仅仅是抽样检查。
核心功能
jevals 提供以下核心评估模块:
- 代理行为评估:ToolChoice(是否调用了正确工具)、UsedToolResult(是否使用了工具返回结果)、StayedInScope(是否只做了用户要求的事)、StepProgress(任务是否在推进)
- 输出质量评估:AnswerRelevancy(答案与问题的相关性)、Completeness(是否完整回答了问题)、Grounded(答案是否有工具结果支撑)
- 安全护栏:IndirectInjection(工具返回结果中是否包含诱导指令)、PHI(是否包含医疗健康敏感信息)、PII(是否包含个人身份信息)、PromptInjection、Jailbreak、GoalHijacking 等
- 多后端支持:支持 Jev(TypeSafe)、Kev(Qwen3,可本地 Mac 运行)、Laya(ModernBERT,Apple Silicon 约 10ms)、OpenRouter 任意 LLM,以及纯代码 Mock 模式
技术实现
jevals 的技术架构分为三层。第一层为 Plain Code 层,用常规代码处理程序擅长的工作:分割句子、正则匹配密钥、Presidio 实体识别等。第二层为 Typed Questions 层,将「答案是否相关」「是否调用了正确工具」「工具返回是否被正确使用」等判断问题,翻译成 Jev 支持的三类结构化问题(是/否、单选、打分),由决策模型独立并行评估。第三层为 Reduce 层,将决策模型返回的概率值汇总为最终评分。
在性能对比中,对同一批 20 条 RAG 测试数据:Ragas(GPT-4.1-mini)需要 6 次 LLM 调用 + Embeddings、耗时 22~35 秒;jevals(GPT-4.1-mini 模拟 Jev)仅需 1 次调用、耗时 4 秒;jevals(真实 Jev)耗时 0.8 秒。所有三种方式在准确性上保持一致,这说明 Jev 决策模型的评估质量与 LLM 法官相当,但效率提升数十倍。
快速上手
第一步:安装 jevals pip install jevals
第二步:配置后端(任选其一)
通过 Vercel AI Gateway(最简方式)
export AI_GATEWAY_API_KEY=...
或本地 Kev(Qwen3,32GB Mac 可跑)
python -m kev.serve --run jaredpalmer/kev-4b
第三步:准备代理轨迹数据 messages 为 OpenAI chat format(user/assistant/tool 消息序列),tools 为工具 schema 列表
第四步:执行评估 r = evaluate({"messages": messages, "tools": tools}, [ ToolChoice(), UsedToolResult(), Grounded(), StayedInScope(), AnswerRelevancy(), Completeness(), IndirectInjection(), PHI() ]) print(r.table())
适用人群
jevals 适合以下用户:AI 代理开发者需要在每次运行中集成评估而不只是抽样检查;安全团队需要对代理输出实时护栏检测;评估平台需要高效、低成本的结构化评估方案;开源项目维护者希望建立可重复的自动化测试流程。
评论与建议
登录 后参与评论或提建议