ThinkInAIXYZ / ThinkInAIXYZ/deepchat
[Feature] 实验性探索:使用 Jev 作为独立的权限审核后端
Open
@zhangmo8 is already working on this.
Since Sep 20, 2026.
- Dominant language
- TypeScript
- Stars
- 6.3k
- Forks
- 735
- Avg merge
- 6h 28m
- Merged PRs (30d)
- 100
Description
你需要什么?
当前「助手代审」使用生成式大模型评估工具操作,返回自动放行、询问用户或阻止执行。审核使用的 assistantModel 同时承担上下文压缩,因此不能直接将其替换为不擅长文本生成的 Jev。
本需求探索新增独立的 Jev 权限审核选项。该能力定位为实验性功能,不默认启用,是否采用取决于实际评估结果。
目标
- 评估 Jev 是否适合承担具体工具操作的权限审核。
- 保持现有权限交互流程和审核结果类型兼容。
- 将权限审核后端的选择与用于上下文压缩的助手模型分开。
- 对比现有审核方式的判断质量、延迟和成本,形成采用或不采用的结论。
“行为兼容”指保留相同的权限处理方式,不承诺 Jev 与现有模型对每个操作做出完全相同的判断。
非目标
- 替换通用助手模型或上下文压缩模型。
- 扩大需要审核的工具范围,或放宽现有权限规则。
- 绕过必须由用户确认的操作。
- 让审核模型自主执行工具、读取文件或调查外部环境。
- 要求 Jev 生成与原审核助手相同的自由文本解释。
- 在缺少评估证据的情况下默认启用。
预期行为
用户可以显式选择实验性的 Jev 权限审核后端。未选择时,保持现有行为。
审核时,将具体工具操作、参数、权限信息和相关对话作为输入,由 Jev 提供结构化判断,再由本地代码映射为现有审核结果:
| 情况 | 预期处理 |
|---|---|
| 操作符合自动放行条件,且判断达到经过验证的置信度要求 | 自动放行 |
| 风险较高、授权不清楚、信息不足或判断不确定 | 询问用户 |
| 按审核策略判定为严重风险 | 阻止执行 |
| 请求失败、超时或响应无效 | 询问用户 |
| 操作明确要求用户确认 | 保留人工确认,不由 Jev 覆盖 |
其他行为约束:
- 审核结果必须绑定被审核的具体操作和参数,不能复用于其他操作。
- 保留现有代码对
high风险询问用户、critical风险阻止执行的约束。 - 原助手模型继续承担上下文压缩。
- 审核说明可由结构化分类映射为固定文案,不伪装成模型生成的详细解释。
- 置信度阈值通过场景评估确定,不将高置信度直接视为安全保证。
已知限制与待验证项
- 提示注入:官方说明 Jev 1.13 的判断可能受输入中的对抗性内容影响,需要覆盖工具参数、工具输出和引用内容中的注入。
- 复杂命令:涉及嵌套脚本、间接数据流或多步推理时,不能假定其判断能力与现有生成式模型等价。
- 中文授权:需要验证中文指令、否定表达、授权撤回和多轮授权场景。
- 上下文完整性:当前审核使用最近 8 条消息,每条正文最多 2,000 字符。更早的授权或限制可能缺失,替换模型本身不能解决这一问题。
- 数据发送范围:接入云端审核会向 TypeSafe 发送审核输入,需要明确必要字段及敏感信息处理方式。
- 模型版本:评估需记录具体版本,避免模型别名更新后无法复现结果。
评估与完成标准
使用脱敏的真实权限请求和必要的边界案例,与现有审核方式进行对比。以明确的权限策略和人工标注作为判断依据,原模型的输出仅作为对照。
重点观察:
- 危险操作被错误放行的比例。
- 正常操作被错误阻止或不必要地转交人工的比例。
- 中文授权、提示注入和复杂命令场景的表现。
- 自动放行率、P50/P95 延迟、单次审核成本。
- 失败、超时和不确定时是否正确回到人工确认。
完成标准是形成有证据的结论:适合使用、仅适合有限场景,或暂不适合。成功调用 API 本身不代表实验通过。
参考资料
- Jev 简介与结构化判断设计
- HTTP API:输入与输出格式
- 模型规格、价格、语言支持和数据处理说明
- Jev 1.13 已知限制
- 置信度的含义与使用方式
- Guardrails 示例
- JavaScript / TypeScript SDK
参考文档查阅日期:2026-09-18。上述能力说明基于当时文档中的 Jev 1.13,后续评估应重新核对版本和限制。
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.