Kierston 与 KierstonBench:宾州阿伦敦市全景模拟与语言模型犯罪侦查监控能力评测 Kierston & KierstonBench: Simulation of Allentown, PA and Evaluation of Language Models in Crime Investigation and Surveillance Tasks
仿真阿伦敦12.5万居民生成侦查记录,16个模型中多数乱指认,前沿模型会查证弃权但无一破案。
前置知识
微观人口仿真与 ACS PUMS
用真实统计微样本『克隆』虚拟人口的方法:从美国人口普查局的 ACS 公共微数据(PUMS)抽取真实家庭的结构、年龄、收入、通勤方式等属性,抖动后复制到目标规模,再安置进地图上的住宅存量。Kierston 以 PUMA 42-02803(阿伦敦市)为源生成约 12.5 万居民,使人口的统计特征与真实普查一致。
它是引擎的人口基础,理解它才能明白合成记录为何统计上逼真,以及为何同一流程可以复刻任意美国城市。
蜂窝信令与手机定位(CDR / serving cell / timing advance)
手机开机后附着在基站的某个扇区(serving cell)上,运营商记录 attach、切换、跟踪区更新、通话与短信等网络事件,即通话详单 CDR。timing advance 是上行传播时延的量化校正,步长约 78.125 米,可给出手机到天线的径向距离约束;小区方位角与波束宽度再给角度约束,两者联合才能粗定位,且『连上某小区』不等于『人在该小区』。
实时侦查任务几乎全靠这类间接位置证据,如何正确解读定位约束正是多数模型失败的核心原因。
ALPR 自动车牌识别
路侧摄像头对过往车辆的车牌做光学字符识别(OCR),输出车牌文本、时间、方向与置信度。真实系统存在漏读、误读(0/O、5/S 混淆)、无牌车误触发(spurious read)等错误,且误读的置信度也可能很高,因此任何单条读取都不能直接当事实,需要多条读取交叉核对。
论文按光照、车头时距与车速建模这些错误,plate-reconciliation 等任务直接考察模型能否处理带噪传感器记录。
智能体基准与受限工具接口
让大模型在沙箱中通过工具循环(shell、脚本执行、查询接口)自主完成多步任务的评测范式。本文以 pi coding agent 为 harness,模型只能通过一个 CLI 查询 15 个模拟数据源,每次查询限时限字段并写入审计日志,完全看不到底层仿真与答案。
评分对象是『查到了什么、推出了什么结论』,理解 harness 与接口限制是读懂实验设置的前提。
弃权(abstention)与选择性预测
在证据不足时选择不回答而非猜测。本文评分中弃权得 0 分、错误指认得负分,因此『知道何时收手』是理性策略。弃权率与已答准确率联合起来看,可以区分『能力不足』『过度自信』与『过度拒答』三种失败模式。
本文最重要的发现之一是前沿模型会弃权而多数模型乱指认,Table 15/16 必须用这个概念才能正确解读。
研究动机
执法与情报分析正在考虑用大语言模型汇总跨机构记录——运营商网络事件、车牌读取、银行流水、联邦与州行政档案——来定位人员、重建活动、指认嫌疑人。但这项能力目前无法测量:真实侦查数据难以获取,且几乎不存在完整的 ground truth(谁在何时何地做了什么只有当事人知道,卷宗里的结论本身可能就是错的);如果把各机构的数据表独立随机生成,又无法保证不同来源的记录描述的是同一个人的同一行为,跨源关联任务便无从设计。与此同时,厂商对『AI 侦查员』的能力宣称没有任何带已知答案的基准可以检验,而错误指认的代价由真实的人承担——一个把『出现在现场附近』当成『参与作案』、把『有持枪证』当成『嫌疑』的系统,会系统性地制造错误指控。
本文的目标是本文要造一座『有标准答案的城市』:以宾州阿伦敦为原型,从公开数据构建约 12.5 万居民的全行为仿真,让电信、金融、行政、车牌等所有 provider 记录都从同一份行为时间线确定性派生,使每个侦查问题都有精确可验证的答案。在此之上建立 KierstonBench,用 32 个任务族测量四类能力——跨源记录关联、日常轨迹重建、带证据截止时间的实时事件侦查、虚假证词识别。最后用 16 个当前模型回答两个问题:模型能否完成记录侦查?能否在证据不足时弃权,而不是提交记录不支撑的指认?
与已有工作不同的是,已有工作各占半边:人口与出行仿真(FRED、SUMO、MATSim、Urban Life、AgentSociety)有行为,但产出的是活动轨迹而非侦查用的 provider 记录;合成记录数据集(VAST 2014/2022、AMLSim、Synthea)有记录,但多为一次性静态数据集,面向人类可视化分析而非智能体;智能体基准(GAIA、AppWorld、τ-bench)评测应用内操作或网页检索,不评测从物理世界的间接痕迹推断结论。本文的独特切入点是把两者接起来:行为先发生、记录后派生;provider 按真实行业切分成 15 个互不共享人 ID 的数据源,唯一可用的 join 是记录内的标识符;再加上证据 cutoff、错误指认负分,以及把界面包装成普通数据仓库以消除『我正在被评测』的线索——这是同类基准中第一个为身份归因引入弃权惩罚的设计。
核心方法
直觉:想考『侦探』,就得先造一座会动的城市,让每个人真的活一天,再让运营商、银行、摄像头各自记下他们看到的那一小块——被测模型只能看记录,不能看剧本。技术路线分三块。其一,Kierston 引擎:31 个初始化阶段用 ACS PUMS 微数据、OpenStreetMap、FCC 塔台登记等公开数据建城(约 12.5 万居民、198 个基站结构承载 3319 个小区、74 台 ALPR 摄像头),行为运行时以 9 个固定顺序的 pass 把每天的活动调度成交易、信令、通话短信、车牌读取与外来车流。其二,事件注入:侦查场景用 TypeScript DSL 写成对基准日 KDAY 文件的 KDIF 增量,只重排受影响的居民并重新派生其记录,同一背景日可叠加枪击、爆炸、诱捕等多种剧本。其三,KierstonBench:15 个模拟数据源经 KDI CLI 提供给模型,模型在 20 分钟内自由查询、写脚本分析,提交结构化答案,按身份信用对照仿真真值打分,分数区间 −1 到 1。
核心是『一条行为时间线派生一切』:居民的活动(上班、上学、购物、聚会、通信)先被调度器定案,随后银行交易、基站附着、短信电话、车牌读取全部由这条时间线确定性派生——每条记录背后都有精确的生成事实,跨源关联题才有唯一答案,这与以往『各表独立合成』有本质区别。第二个关键设计是 provider 分离:15 个数据源互不共享居民 ID,唯一可用的 join 是记录里的标识符(车牌→车管所登记→车主 SSN→银行账户),复现了真实分析师跨系统工作的处境。第三是评分设计:身份声明按具体度计分(姓名 ±0.30、姓名+生日 ±0.60、SSN ±1.00),排序答案按 $$\text{score}=\max_{i\in\text{correct}}\frac{s_i}{\mathrm{rank}_i}-\min\Big(1,\sum_{j\in\text{wrong}}\frac{s_j}{\mathrm{rank}_j}\Big)$$ 计分——正确项按排名折减、所有错误项累加惩罚(封顶 1),弃权得 0,直接惩罚『嫌疑人堆砌』。第四是防评测感知:界面命名为 Allentown Data Interface,提示词不含任何基准、评分或仿真术语。
方法步骤详情
流程分四步。第一步建城:31 个阶段按依赖序执行——intake 把 OSM 转成建筑/POI 资产;population 用 ACS PUMS 克隆家庭并安置进住宅存量;work/school 匹配工作地点与学校并排班;towers 由 FCC 登记结构加建模的天台、单管塔、小基站组网(198 结构、3319 小区);社会图给每条边两个独立权重(exposure 共处频率、affinity 情感强度);再生成姓名、SSN、IMEI/SIM、银行账户、前科、枪支、车辆 VIN 等行政表,打包为 sim_init.bin。第二步逐日运行:9 个 pass 依次处理出租车与 911、逐人调度(各活动层提交 intent,调度器合成时间表并路由出行)、结算交易与逐分钟信令(服务小区、切换、timing advance 按 78.125 米步长)、外来车辆、ALPR 读取(白天正确率 0.970、夜间红外 0.985、黄昏 0.930,误读按 OCR 混淆分布生成)、通信(注意力曲线加 affinity 决定通话),打包成含 KSTATE 的 KDAY 文件;随机数由(全局种子、人 ID、日期、层)哈希决定,处理顺序不影响结果。第三步注入事件:场景脚本绑定角色(如『2 公里内持枪且有前科者』)、授予 replacement window,只重排受影响者(枪击 41 人、大规模枪击 1180 人),用引擎自身调度器重放并重新派生记录,存为 KDIF 增量、逐任务应用后回滚。第四步评测与评分:模型经 pi agent 在容器中通过 KDI 查询 15 个源(空间查询限 24 小时、订户级限 31 天),cutoff 后的记录被隐藏,20 分钟强制交卷;答案对照真值按身份信用计分,最多 3 个候选乘 1/0.8/0.6 系数,弃权计 0。
技术新颖性
与 Urban Life / Patterns of Life 相比,Kierston 首次把行政身份、运营商、银行、ALPR 等 provider 忠实格式(真实 TAC 的 Luhn 合法 IMEI、逐州牌照格式、宾州仅后牌规则)挂到行为时间线上,并带传感器误差模型;与 VAST Challenges 相比,它把一次性静态数据集升级为可复用引擎加程序化任务生成加受限智能体接口;与 AppWorld 相比,评测的是从物理/社会世界的不完整观测推断结论,而非应用内状态操作;与 MuSR/DetectBench 相比,不给候选线索清单,证据必须自己检索;与 AgentDojo 相比,欺骗来自证人证词与记录的矛盾,不是提示注入。工程上还有两点少见:按(种子、人、日、层)的键控随机流保证任意记录可精确再生、增删记录类型不影响已有记录;KDIF 增量让多个事件共享同一背景日而不复制全城模拟。
实验结果
16 个模型各在 32 个任务族上跑一个实例、限 20 分钟,得分区间 −1 到 1。总体结论是『多数模型做不了记录侦查』:全任务均值最高的是 GPT-6 Sol(0.55)与 Claude Fable 5.1(0.52,满分题最多 19/32),其后是 GPT-6.1 Sol(0.46)、GPT-6 Astra(0.43)、Claude Opus 5.5(0.39);Grok 4.7(0.20)、MiniMax M3(0.22)、GPT-6 Luna(0.15)基本不可用。分三组看:(1) 技术任务(22 族)多数模型得分 0.4–0.6,device-to-person、plate-reconciliation、account-resolution、counterparty-recon 等直接检索题几乎全场满分;但 5 级重构题几乎全军覆没——organization-membership 全体 0 分,colocation 最高仅 0.28,meeting-recon 无一模型得正分。(2) 实时侦查(7 族)是重灾区:在 5 个嫌疑人指认任务(mass-shooting、shots-fired、explosion、school-shooting、abduction)上没有任何模型指认出真凶,所有提交答案的模型都得 −1.00,GPT-6 系靠弃权保住 0 分;唯一的全组正分是 GPT-6 Astra 的 0.14,靠 mass-gathering 满分加其余弃权。(3) 欺骗任务(3 族)反而最好:Fable 5.1、Sonnet 5.5、GPT-6 Sol、DeepSeek V4.1 Flash、Kimi K3 均满分,多数模型能查出 stabbing/swatting/disappearance 中证词与记录的矛盾;例外是 Claude Opus 5 在 disappearance 上被『我的手机一直在家』的证词带偏,无视了其名下车辆的车牌移动记录。校准维度分化明显:GPT-6 Sol 弃权 13/32、已答均值 0.93,是『知道何时收手』的典范;GPT-6 Luna 弃权 22/32、已答均值仅 0.47,说明弃权本身不等于准确。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 全部 32 个任务族平均 | 平均得分(−1~1,弃权计 0) | 最高 GPT-6 Sol 0.55、Claude Fable 5.1 0.52(本文为基准首发,无先前 SOTA) | Grok 4.7 0.20、GPT-6 Luna 0.15、MiniMax M3 0.22 | 头部约为尾部 3 倍,但绝对值仅 0.55,离可用尚远 |
| 技术任务(22 族:记录关联与轨迹重建) | 平均得分 | Claude Fable 5.1 0.75(19/32 题满分) | Claude Sonnet 5.5 0.41、Grok 4.7 0.33 | 头部较最弱模型约 +0.34;多数模型落在 0.4–0.6 |
| 实时侦查(7 族:带 cutoff 的事件指认) | 平均得分 | GPT-6 Astra 0.14(唯一正分,靠弃权与 mass-gathering 满分) | Claude Opus 5 −0.55、MiniMax M3 与 Kimi K3 −0.71、Qwen 3.8 Max 已答均值 −1.00 | 5 个指认任务无一模型指认成功,答即得 −1.00 |
| 欺骗任务(3 族:证词与记录矛盾识别) | 平均得分 | 5 个模型满分 1.00(Fable 5.1、Sonnet 5.5、GPT-6 Sol、DeepSeek V4.1 Flash、Kimi K3) | GPT-6 Luna 0.00(全部弃权)、GPT-6 Astra 0.33 | 查证虚假证词是当前模型相对最强的能力 |
| 弃权校准(弃权数 vs 已答准确率) | 已答任务均值 / 弃权任务数 | GPT-6 Sol:0.93 / 13;GPT-6.1 Sol:0.86 / 15;GPT-6 Astra:0.80 / 15 | GPT-6 Luna:0.47 / 22(弃权最多但不准) | 前沿 GPT-6 系在『该收手时收手』上显著优于其他模型 |
局限与改进
作者承认:每个任务族只跑一个实例、单次尝试,模型间的分数差异可能在第二次运行中翻转(disappearance 原始 staging 有缺陷——遗留手机仍在收发消息,7 个模型的成绩来自旧版);行为引擎是规则加键控随机,没有天气、节假日、拼车与公交路径,消息量与接听率是调参而非拟合真实数据;messenger 平台、处方、911 只建到基准用到的深度,conversation-classif 甚至因接口未暴露平台线程历史而被判为证据缺口(gap)。我自己的补充观察:定位推理只能到小区扇区加 timing advance 的量级,5 级共同活动任务(colocation、meeting-recon)的失败也可能部分源于任务本身接近超人类难度,缺少人类分析师基线组无法区分;负分制下『不回答』与『答错』的区分依赖模型理解提示词,测到的可能部分是指令遵循而非侦查判断。
独立分析的弱点
第一,方差问题:32 题各一次、−1 重罚使分数剧烈波动(payer-infer 上多个模型 −1.00),排行榜名次不可靠——改进方向是每族采样 N 个实例报告置信区间,方法本身已支持,只差跑量。第二,泄漏风险:场景构造(decoy 持枪者、cutoff 分钟数、『先查枪支登记』这类错误启发式都写在论文里),后续被评模型可能从训练语料学到这些模式,导致基准失效——改进方向是轮换剧本族、对任务模板保密或定期重新生成。第三,行为真实性上限:规则驱动的居民不会因被追查而改变行为,真实嫌疑人会关机、弃卡、借车借牌,引擎虽支持 phone-left-behind 等动作但场景很少利用,模型没被真正逼到对抗性场景——改进方向是加入反侦查行为的对手模型。第四,评分对 SSN 级身份声明的重赏可能诱导模型产出高具体度的猜测而非有证据的推断——改进方向是分字段报告『有记录支撑的声明』与『无支撑声明』的比例。第五,双用途风险:引擎开源显著降低搭建监控数据管线的门槛,作者『不发布也一样』的论证有道理但不完全——改进方向是加许可条款限制部署规模或要求审计。
未来方向
作者提出的方向:把引擎用于电信、支付、保险、交通、应急服务、公共卫生等领域,为记录融合系统提供带真值的测试数据、为车牌读取器和基站选址做规划、用于分析师训练;用更多采样重跑评测系列(『只需新 series,方法不变』)。基于成果可延伸的方向:跨多日的纵向调查任务(跟踪嫌疑人多日模式与习惯养成);把引擎用作 RL 训练环境,训练侦查智能体的查证策略与弃权校准;加入对抗性嫌疑人(关机、换车、反侦查)与提示注入式的记录内容鲁棒性测试;扩展到不同州法律与牌照规则的其他城市验证可迁移性;以及用 plate-reader 误差模型与基站几何量化误读和『小区≠位置』对司法证据的影响——作者在伦理一节明确提到这是监管侧的重要用途。
复现评估
开源程度高:引擎、基准代码与全部公开输入都在 github.com/Kiz8-Team/kierston-oss,建城资产预生成后运行只需标准库加 NumPy,provider 表存 PostgreSQL 加 ClickHouse。但生成的数据输出与评测任务不发布(虚拟姓名、地址、标识符可能与真实人重合,关联到罪案有诽谤风险),所以复现评测必须自己跑管线生成城市与任务。算力与成本:仿真单机可跑;评测需要 16 个模型的 API,每题 20 分钟 × 32 题 × 16 模型,按 Figure 12 的单题 API 成本(头部模型约 1–2.5 美元)全套约数百至数千美元。工作量参照:论文项目由两人加大量 AI 辅助开发,从想法到出评测结果约 3–3.5 个月。综合判断:复现难度中等偏上,主要工程量在 31 个建城阶段对 ACS/OSM/FCC 等公开数据的获取与对齐,代码与文档齐全会大幅降低门槛。
论文图表