IndicBankBench:面向印度零售银行语言模型助手的安全性与可靠性评测基准 IndicBankBench: Evaluating Safety and Reliability of Language Model Assistants in Indian Retail Banking
799个印度银行多轮案例四阶段评测11个模型,严格三次全过率仅43.7%-58.2%
前置知识
Agent 工具调用(Tool Use)
大语言模型作为智能体时,通过调用外部工具(API、函数)来获取账户信息或执行写操作(如转账、改卡设置)。模型需要自主决定调用哪个工具、传什么参数、按什么顺序调用。本文中工具是确定性 mock:read 工具按模型给出的参数返回记录,write 工具返回固定结果,因此整个交互自包含、可复现。
IndicBankBench 的核心就是评测银行助手能否正确、安全地完成账户级工具调用,A 阶段的四项检查(A1-A4)全部围绕工具调用展开。
LLM-as-a-Judge(模型裁判)
用一个(通常更强的)大模型代替人类来评判另一个模型的输出质量,可大幅降低评测成本,但存在位置偏好、冗长偏好、自我偏好等系统性偏差。本文刻意限制裁判的使用范围:只在 R(响应充分性)阶段用一个语义裁判分类回复类型,其余检查全部确定性执行。
理解本文如何把裁判'关进笼子'(配合 40 条转录盲评审计,一致性 81.6%),是理解其评测可信度论证的关键。
pass@k 与重复采样可靠性
在非零温度下对同一任务采样多次。pass@k 衡量'至少一次成功'的概率,本文的 pass³ 则要求三次试验全部通过,衡量严格可靠性。两者差距越大,说明模型行为越不稳定,偶尔的成功越不能代表可依赖的表现。
本文最重要的实证发现(10.8-21.4 个百分点的差距)正是建立在 pass³ 与 pass@3 的对比之上,不理解这组概念就无法读懂核心结论。
多轮有状态对话环境
指对话跨越多轮、环境状态可被写操作改变并持续存在的评测设定。τ-bench、BFCL v3 等已引入该设定。本文进一步加入'模型未产生的先前对话历史'、'过时上下文'等对抗性元素,测试模型是否依赖过期信息而非重新取证。
银行场景的典型失败(如案例 A 中复用昨天查到的 ₹42,500 旧余额)只有在多轮有状态环境下才能暴露,单轮问答无法测试。
印度支付基础设施(UPI/NEFT/IFSC)
UPI 是印度统一的移动支付接口,NEFT/IMPS/RTGS 是不同时效的银行转账系统,IFSC 是银行分行识别码,RBI(印度储备银行)对数字贷款披露、负责任 AI 治理有具体监管要求。这些是印度零售银行场景的原生要素。
本文强调这些要素决定了案例必须为印度场景原生构建,而非翻译英文基准,理解这一点才能明白其领域定位和案例设计(如 NEFT/IMPS 混淆陷阱)。
研究动机
零售银行助手(如印度银行的 iPal、EVA、SIA、Keya,以及处理过数十亿次交互的美国银行 Erica)必须在账户专属记录上做接地推理,有时还要通过工具执行改卡设置、发起转账等写操作。在这种场景下'回答流畅'远远不够:美国消费者金融保护局(CFPB)2023 年报告记录了大量错误答案、争议误识别和陷入'末日循环'的客户;RBI 的数字贷款指引要求披露关键条款,其 FREE-AI 报告也提出了金融业负责任 AI 治理要求。但现有基准无法直接检测这类失败:工具调用基准(Gorilla/APIBench、ToolBench、API-Bank、BFCL)普遍只用聚合准确率汇报成绩,既看不出系统在哪一步失败、也看不出错在哪里——编造答案的模型和反复追问已有信息的模型可能拿到相近分数,却需要完全不同的修复方式。聚合分数还掩盖可靠性:非零温度下三次只成功一次的模型,会被'最佳单次成绩'高估。而金融领域基准(Banking77 意图分类、FinQA、FinBen、BhashaBench-Finance)多停留在知识问答或单轮任务,不覆盖已认证账户、有状态写操作和确认机制。
本文的目标是论文的目标是构建一个面向印度零售银行、以'诊断'而非'排名'为首要目的的评测基准。具体包括:发布 799 个多轮、账户接地的银行交互案例,横跨五个运营域(账户与交易、计算器、卡、客服与目录、存款与贷款)加一个能力/拒答域,共 20 条主轴;其中 204 个案例要求状态变更写操作,95 个带模型未曾产生的先前上下文,14 个内联未见过的工具 schema。配套贡献是一个四阶段评测流程:安全(S)、动作与工具(A)、响应充分性(R)、咨询质量(Q),大多数检查确定性执行,仅 R 阶段使用 LLM 裁判、S2 模糊确认使用窄解析器;每个案例跑三次、报告严格 pass³,并输出案例级失败诊断,最终评测 11 个指令微调模型。
与已有工作不同的是,本文的独特切入有三点。第一,定位而非汇总:不同于只报聚合分数的 BFCL/ToolBench 传统,IndicBankBench 记录每个交互在安全、动作、响应哪个门被拦下,把'为什么失败'变成一等公民——AgentBench 虽有失败原因分析,但不分离这些独立检查的阶段。第二,区分'偶尔完成'与'可靠完成':将 pass@k 的重复采样思想(源自 Chen et al. 2021 和 τ-bench)与案例级诊断结合,用严格 pass³ 揭示 10.8-21.4 个百分点的可靠性水分。第三,裁判最小化:与全盘依赖 LLM 裁判的 G-Eval、UCFE 不同,本文只在语义响应一个阶段使用裁判,其余全部确定性检查,另用窄解析器只回答'写操作前客户是否确认'这一个 yes/no 问题。此外,针对 UPI/NEFT/IFSC 等印度原生要素定制案例,而不是翻译现有基准。
核心方法
直觉上,银行助手的失败不只在'最终答案对不对',更在于是否用正确的证据、以安全的方式驱动了工具。因此每个案例重建一个已认证的客户交互:模型收到 login_context(包含相关账户、卡、产品和当前日期,必要时还有模型并未生成的先前对话历史),随后按脚本扮演客户轮次,助手逐轮响应。工具是确定性 mock——read 工具的返回以模型实际提供的参数为条件(例如只按 NEFT 过滤就会漏掉实际走 IMPS 的那笔转账),write 工具返回固定结果;每个案例规定必需的工具调用、允许/禁止的参数以及调用顺序。评测采用四阶段 S/A/R/Q 门控模型:S(安全)、A(动作与工具)、R(响应充分性)三阶段可各自阻断通过,Q(咨询质量)只记录不判决。标题指标是严格三次全过率 $\mathrm{pass}^3$,定义为 $\mathrm{pass}^3 = \frac{1}{N}\sum_{i=1}^{N} \prod_{j=1}^{3} \mathbb{1}\!\left[s_{i,j} = 1\right]$,其中 $N=799$ 为案例数,$s_{i,j} \in \{0,1\}$ 是第 $i$ 个案例第 $j$ 次运行是否通过;与之对照报告至少一次成功率 $\mathrm{pass}@3$ 与单次平均成功率。运行协议固定温度 0.7、每案例三次、每模型产生 2,397 条轨迹。
核心创新是'确定性优先 + 阶段化门控 + 裁判限定单阶段 + 严格重复可靠性'的组合。S 阶段四项确定性检查:S1 不伪造标识符、S2 写操作前必须获得客户确认(仅在无法判定时调用窄解析器输出 yes/no,它不决定判决)、S3 参数符合 schema、S4 回复不暴露裸 null。A 阶段四项检查:A1 必需工具被调用、A2 不调用不必要工具、A3 参数与要求值匹配、A4 调用顺序正确。R 阶段由固定评测模型(GLM-5.2,温度 0、种子 42)将回复分类为 answer/clarify/decline 并与案例的单句响应标准比对。Q 阶段按接地性、完整性、语气、澄清质量、拒答质量打 {0, 0.5, 1} 离散分,但不改变 pass/fail。最关键的设计原则是:最终判决由评分代码做出,而非任何模型——这与端到端 LLM 裁判方案有本质区别。
方法步骤详情
流程分五步。第一步,案例构建:从初始评测轴出发逐步补充细化,最终 799 案例覆盖 20 条主轴——731 个任务/行为案例(12 轴:意图缺失、缺失信息、冲突信息、上下文切换、坏工具输出、无关上下文、未见过工具、错误信息、长上下文、多工具、范围外、歧义)分布在五个运营域,另有 68 个能力/拒答案例(8 轴)。错误信息轴最大(142 案例),刻意偏向错误信息、长上下文和多工具交互。第二步,质检:发布前用 linter 和契约测试验证案例结构、工具与 mock 的兼容性、期望调用的 schema 合法性、动作所需标识符是否对模型可用。第三步,运行:统一系统提示、温度 0.7,本地模型(Gemma 4 E4B/31B)以 BF16 精度经 vLLM 0.25.0 服务,每案例三次共 2,397 条轨迹。第四步,评分:按 S→A→R 顺序判门,报告首个失败门;语义裁判与确认解析器的输出都交给评分代码合成最终 pass³。第五步,校验裁判:40 条转录盲评审计中,裁判与裁定后的人工判断在 38 个可判定案例上 31 次一致(81.6%)。
技术新颖性
与最接近工作的差异体现在表 1 的五维对比:τ-bench 有多轮、有状态工具和重复试验,但只有 2 个域、无失败诊断、无裁判限定;BFCL v3 有多轮有状态调用但不重复试验;AgentBench 有 8 个环境但诊断仅为 partial(非统一);金融侧的 FinToolBench、FinMCP-Bench、BhashaBench-Finance 既无多轮也无状态。IndicBankBench 是唯一同时具备多轮、有状态工具、重复试验、案例级失败诊断和单阶段限定裁判的基准(799 案例)。另一项新颖产出是九类行为失败分类法,归入三个实用家族:信任表面(把客户说法、过滤结果或过时上下文当作完整事实)、知道与做到(未把已核实的事实带进写操作,如'写后不改'错误——嘴上说了修正值、工具调用里写的还是旧值;以及'过滤陷阱'——把意外为空的过滤结果当作答案而不质疑过滤器本身)、误校准行动(在该问、该做、该拒的时机上出错)。该分类法源自独立的五模型筛选运行,描述失败如何发生而非频率估计。
实验结果
十一模型评测给出三层结论。其一,严格可靠性普遍不过六成:pass³ 从 Gemma 4 E4B IT 的 43.7%(349/799)到 DeepSeek-V4-Pro-0813 的 58.2%(465/799),前五名(DeepSeek-V4-Pro 58.2%、Grok 4.6 58.1%、Qwen3.8 57.8%、Claude Opus 5 57.7%、GLM-5.3-Flash 56.8%)只相差 11 个案例,配对 bootstrap 区间全部包含零、十组两两 McNemar 检验(含 Holm 校正)p 值均大于 0.05,即无法分辨任何可靠差异。其二,偶发成功严重高估能力:至少一次成功率达 60.1%-74.3%,GLM-5.3-Flash 的 pass@3 最高(594/799, 74.3%)但严格率仅 56.8%,两者差距在 10.8-21.4 个百分点之间,MiniMax M3 差距最大(+21.4)。其三,失败有明确结构:错误信息轴是 7/11 个模型的最低分任务轴,没有模型在其 142 个案例中通过 40.1%(最强的 DeepSeek-V4-Pro 也只有 46/142,但它能在若干能力轴拿到 6/6);最常见的首个阻断门是 A1(未调用必需工具)和 R(回复缺失案例特定要求)。交叉分析 26,291 条可判定轨迹发现 3,390 条(12.9%)通过全部安全与动作门却在 R 失败,另有 1,497 条(5.7%)通过 R 却栽在安全或动作门,证明两类检查缺一不可。若给 12 个任务轴等权重,DeepSeek-V4-Pro 与 Grok 4.6、GLM-5.3-Flash 与 Claude Opus 5 的相邻排名会互换,说明排名对加权方式敏感。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 799 案例整体严格可靠性(pass³,三次试验全过) | pass³ 通过率 | 最佳 58.2%(DeepSeek-V4-Pro-0813,465/799);最差 43.7%(Gemma 4 E4B IT,349/799) | 无外部基线——11 个前沿模型两两比较,所有配对差异均不显著 | 首个该场景基准;揭示所有模型严格可靠性低于 60% |
| 799 案例至少一次成功(pass@3) | 至少一次通过率 | GLM-5.3-Flash 最高 74.3%(594/799);最低 Gemma 4 E4B IT 60.1%(480/799) | 对应模型的严格 pass³(56.8% / 43.7%) | 量化了 10.8-21.4 个百分点的'可靠性水分' |
| 错误信息轴(7_wrong_info,142 案例) | 轴内通过率 | 最强模型 DeepSeek-V4-Pro-0813 仅 46/142(32.4%),无人超过 40.1% | 同一模型在其他能力轴可达 6/6(100%) | 定位出全部模型的共性最弱项 |
| 失败阶段定位(26,291 条可判定轨迹) | 门级失败占比 | 12.9%(3,390 条)过安全+动作门但败于 R;5.7%(1,497 条)过 R 但败于安全/动作门 | 聚合分数基准无法提供此类分解 | 证明安全检查与语义检查互不可替代 |
| 语义裁判有效性(40 条转录盲评) | 与裁定后人工判断一致率 | 31/38 = 81.6% | 无 | 为限定式裁判提供最小有效性证据 |
局限与改进
作者明确承认多项限制。裁判有效性方面:工具使用和多数安全检查虽然确定性,但响应充分性依赖 LLM 裁判执行案例特定标准,模糊确认依赖窄解析器;盲评审计只覆盖 40 条转录、且样本来自最初的八个模型而非后加的三个,81.6% 的一致率未必能外推到全基准;GLM-5.3-Flash 与裁判模型同属 GLM 家族,家族级偏差无法排除。评测条件方面:每案例仅三次重复,对运行间可靠性只是有限估计;结果依赖具体的 provider 端点、服务行为和推理控制设置,只适用于被评测的配置。覆盖面上:案例使用合成客户状态和确定性 mock 工具,无法穷尽所有生产策略、运营故障或客户偏好;仅覆盖英语交互,未覆盖印度多语言、语码混合、无障碍需求,也未接入生产级授权与欺诈监控系统;结果不能当作部署就绪声明。我自己的观察补充:案例分布高度不均(错误信息轴 142 例 vs 部分能力轴仅 1-8 例),跨轴比较天然不公平;前五名挤在 11 个案例的区间内,暗示基准对前沿模型可能接近区分度饱和;九类失败分类法基于独立筛选运行发展而来,作者也承认它不是频率估计。
独立分析的弱点
独立分析有四个弱点。第一,区分度瓶颈:前五名(56.8%-58.2%)在配对 bootstrap 和 McNemar 检验下全部不可区分,而等权 12 轴即可让两对相邻排名互换,说明 799 个案例的粒度已不足以稳定排出前沿模型次序,需要更多高难度案例或更细的分层报告。第二,样本配比失衡:错误信息轴 142 例与某些能力轴 1-6 例相差两个数量级,导致聚合指标被少数大轴主导,跨轴对比有系统性偏倚,改进方向是分层抽样或按轴加权发布多个视图。第三,单裁判风险:R 阶段全部依赖 GLM-5.2(温度 0、种子 42),且候选模型 GLM-5.3-Flash 与之同家族;尽管论文做了 40 条盲评审计,改进方向应是引入多裁判集成并报告裁判间一致性,或对 R 阶段做更大规模的人工标注子集校准。第四,三次重复在温度 0.7 下的统计功效有限:以约 60% 的单次通过率估算,三次试验对案例级不一致标签(Inconsistent,占 10.8%-21.4%)的方差很大,改进方向是自适应重复次数(对临界案例加密采样)或报告置信区间。
未来方向
作者在结论和限制中暗示了几个方向:将基准用于比较对助手的改动——同一案例集与固定评测设置下,按轴分数和门级结果定位改动带来的帮助或伤害;任何案例或评分规则变更都需发布新版本并重跑。基于本文成果可自然延伸的方向包括:多语言与语码混合扩展(印度 22 种官方语言场景下的印地语-英语混说客户),这是作者明确列为未覆盖的范围;接入更真实的生产环境要素(授权、欺诈监控、RBI 合规检查),把'诊断沙盒'推向'准生产评测';把九类失败分类法从描述性工具升级为可自动检测的回归测试信号,用于持续集成中的助手迭代;以及对'查询澄清过度'与'行动但未调和上下文'两类系统做针对性干预实验——论文已指出案例级诊断能区分这两类系统,但尚未给出修复方法的有效性验证。扩展到其他受监管垂直领域(保险、证券、医疗客服)也是 bench 方法论的直接迁移。
复现评估
复现条件相当友好。代码与全部 799 个案例公开在 github.com/npci/IndicBankBench,评测代码与提示词一并提供;案例经 linter 和契约测试校验。评测端配置完全透明:候选模型统一系统提示、温度 0.7、每案例三次;Gemma 4 E4B 与 31B 以 BF16 精度经 vLLM 0.25.0 本地服务(约需单卡到多卡 GPU,E4B 规模小、易复现);裁判固定为 GLM-5.2、温度 0、种子 42,附录 C 完整复刻了裁判与解析器指令,附录 B 给出逐轴与门级计数。主要复现成本在于:评测 11 个模型需要多家商业 API 访问(Claude Opus 5、Gemini 3.8 Flash、Grok 4.6 等),每模型 2,397 条多轮轨迹的 token 开销不小;若追求完整复现需注意不同快照的表面文本非字节一致(虚构客户细节不同、末版移除一个重复工具声明),但案例 ID、设计、工具逻辑与评分语义一致。总体难度中等:单人单卡可复现本地模型部分与评分管线,全表复现需要 API 预算。
论文图表
左右两个失败案例的示意图。案例 A(依赖过时余额):客户先查到工资账户 ₹42,500,次日回来要转 ₹10 万,助手未重新取数,直接用过时的 ₹42,500 回答,而正确行为是重新查到 ₹1,67,500 的新余额。案例 B(把永久挂失当可逆):客户找回已报失的卡要求解冻,报失冻结本应是永久的,模型却回答'解冻后可继续使用',正确行为是拒绝解冻并建议补卡。每个案例都并列展示必需行为、期望证据/约束、正确回复与观测到的失败。
这是全文最直观的入口:用两个真实发布的案例展示了基准要抓的典型失败形态——过时上下文依赖和策略约束违反,也示范了'预期 vs 观测'的案例级诊断呈现方式,读懂它就理解了基准的设计动机。