夜雨聆风学习资料网

ARTICLE · 1158528

法律场景的 AI 部署,为什么需要这些零件

法律场景的 AI 部署,为什么需要这些零件

QUOTE

难的不是把模型跑起来,是把它的错误拦在签字之前。

—— 硅基法师

本文看点

01模型自己做不到什么

02检索这一层的由来

03工作流还是 Agent

04拒答与校验的四条底线

装好模型、拉下权重、套一个界面,这一步连部署都算不上,只是开工。

部署之所以复杂,不是因为做这行的人爱堆技术栈。是每一个零件都在堵一个具体的窟窿,少一个,模型就会在某个真实环节上翻车。

法律场景的窟窿比别的行当多,因为答案错一次的代价不一样。

这篇从头到尾只回答一个问题,为什么需要这些。

01

START

起点,先看模型自己做不到什么

大模型的本质很简单,按你给它的输入往下接字。

它没有你的资料。你的卷宗、所内模板、合同范本、刚出的司法解释,都不在它的参数里。

它没有记忆。你以为它在连续对话,实际是外面的程序每次都把前面的话重新拼一遍再喂给它。

它不知道自己错了。它吐出的每一句,在概率上都是"接得下去"的那句,不是"是真的"那句。

把这三件事放进法律工作,当场就会撞上三个问题。

第一个,它答不了你的事务所内部的事。你问它你们所那份代理意见模板怎么写的,它只能编一份看起来像的。

第二个,它答得出,但你没办法验证。它给的案号格式对,分句对,看起来像真的,你要一条一条去核。

第三个,超出范围它不会停。库里没有的东西,它不会说不知道,它会拿相近的内容顶上。

后面的零件都是被这三个问题逼出来的。有规模的部署,基本都是这么长出来的。

撞上的问题
被逼出来的零件
模型不知道你的资料
RAG,以及它前面的切片、向量化和检索
上下文装不下一个卷宗
切片策略、召回条数、阈值、重排
有些步骤能提前定死
工作流
有些问法穷举不完
Agent
模型自己不会读文件、不会调接口
Harness
流程和判断标准得有人写下来
Skill
模型不知道自己错在哪
引用绑定、字段校验、拒答、评测、人工闸门

02

WHY RAG

为什么需要检索这一层,拿 RAG 举例

先看两个绕不过去的限制。

一个是模型的参数里没有你的资料。你的卷宗、所内模板、合同范本、刚出的司法解释,都不在里头。

另一个是上下文窗口有限,一次能塞进去的字数有上限。一份卷宗几十万字,一个案子几百页,塞不进去。

想让模型知道你的资料,有三条路。

一条是继续预训练,把资料塞进参数。代价最大,而且资料一更新,参数就过期了。

一条是微调。它能让模型学会某种提问方式或者输出格式,但它不适合用来记资料,法条改一次版本,你还得重训一次。

第三条是把资料在提问的当下现查现给,这就是 RAG(Retrieval-Augmented Generation,检索增强生成)。

法律场景基本只能走第三条,理由有三。资料一直在变,法条修订、司法解释废止、判决被后续程序改变,参数化的办法跟不上。答案要能给出处,背进参数里的东西拿不出引用的位置。还有成本,前两条的投入和 RAG 不在一个量级。

落到具体做法,RAG 是现在最常见的一种。拿它当例子刚好,因为它把一个零件怎么带出一堆参数这件事演得最清楚。

RAG 的做法分四步。

切片。 把长文档切成一段一段,块与块之间留出重叠,防止一句话被劈成两半。

向量化。 把每块文本送进一个 embedding 模型,输出一串数字,也就是向量,意思接近的文本,向量方向接近。这一步决定了检索能按"意思"找,不只是按"关键词"找。

检索。 用户的问题也变成向量,拿去库里找方向最接近的几个块,这叫召回,取几个就是 top-k。

拼装与生成。 把召回的块拼进提示词,让模型只依据这些内容回答,并把来源标出来。

四步听着顺,每一步在法律场景都有专门的坑。这些坑解释了为什么同一个做法要配一堆参数,也解释了为什么同一套东西换个语料效果差一半。

切片这一环,法条不能按字数切。一条法文里可能分好几款,款下面还有项,切碎了检索出来就是断章取义。更稳的做法是按条文层级切,一条一块,太长的条再按款分。

向量化这一环,纯向量检索对精确串不敏感。第五百七十七条和第五百七十八条在向量空间里几乎贴在一起,因为大部分字是一样的。法律场景必须再补一路关键词检索,把条号、案号、专业术语这种精确匹配兜住,两路一起跑,再合并重排。

检索这一环,阈值和条数都要调。取回来的内容不相关,模型会被带偏。库里明明有,阈值卡太严没取出来,模型手上没有依据,只能硬答。上游再稳一点的做法是重排,先粗召回一批,再用一个更细的模型把候选重新排一遍,只留最前面的几条。对法律这种术语密集、长条文多的语料,这一步的收益通常比换一个更大的模型明显。

生成这一环,是幻觉真正发生的地方。检索到了内容,不代表模型会照着说,它可能扩写,可能把两条法条缝在一起,也可能把某款的内容安到另一款上。所以法律场景的输出必须绑引用,每个结论后面能看出它来自哪个块,点开能回到原文。

还有一件很多人踩过的事,库里的版本。库里同时存着新旧版本,检索层又没有生效日期可以过滤,你拿到的就是一条看着正确、实际已经失效的规则。这种错比没有答案更危险,因为它有出处。

绕到这里,规律就看得见了。为了让模型认识你的资料,先要装一个检索的零件。检索一装上,切片、向量化、召回条数、阈值、重排、引用绑定、版本过滤,一个一个跟着来,每一个都得调。取多了,无关内容把上下文塞满,上下文预算被无效的召回吃光,真正有用的材料就塞不进去了,等于开局把蓝条打空。取少了信息不够,模型开始补。

其他零件也是这么长出来的。一个窟窿带出一个零件,一个零件又带出一堆参数。

03

WORKFLOW OR AGENT

为什么需要工作流,什么时候才需要 Agent

有些事,步骤是能提前定死的。

合同进来,先抽取当事人,再比对模板条款,再查冲突条款,最后出报告。每一步的输入输出你都定好了,模型只在需要生成文字的那一步出现。这就是工作流。

写死的好处是可控。同样的输入走同样的路,出错能一眼看出是哪一步错的。在需要留痕的场景里,这是硬优点。

代价是不会应变。用户问的东西超出你列的步骤,它就走不通。

所以才有智能体(Agent)。它把"下一步做什么"交给模型来定。拿到一个目标,自己决定先查法条还是先读合同,读完再决定要不要换个方向。

它能处理没预料到的情况,代价是路径不固定。同一个问题问两次,走的可能是两条路。对法律来说这意味着你不能只看最后那份结果,你得能看到它中途干了什么。

判断标准只有一条。步骤能提前列出来,用工作流。列不出来,才上 Agent。反过来,明明能列出来还上 Agent,等于把可复现的流程换成掷骰子。

04

HARNESS & SKILL

为什么需要 Harness 和 Skill

Harness 是模型外面那层负责跑循环的程序,中文还没有固定译法。

模型自己不会读文件,不会发请求,也不会调用你的检索接口。这些活是它干的。它把该给模型的资料拼进上下文,把模型说要调的工具真的调一遍,把结果塞回去,再判断该继续还是该停。权限也在这层管,哪个工具能用、能碰哪些目录,靠它拦。

同一个模型换一个 Harness,效果能差出一大截,差别就在上下文怎么拼、工具怎么给。法律场景还要多一条,留痕也在这层,谁在什么时候查了什么,得能回溯。

Skill 是写给模型看的说明书,规定这类活按什么流程做、产物长什么样、有哪些注意事项。

为什么需要它,因为工作流能定死串行步骤,定不死判断标准。什么叫重大遗漏,哪些条款必须标红,这些东西不写下来,模型每次的判断都不一样。

但 Skill 不是代码,也不带数据,更不含兜底。它没进上下文,就等于不存在。装十个 Skill,等于给厨师十本菜谱,厨房还是空的。

05

GUARDRAILS

为什么需要拒答、校验、评测和人工闸门

前面这些零件装齐,模型还是会在两种情况下出错。

一种是检索不到。库里没有这块内容,模型面前有两条路,说不知道,或者拿相近的内容顶上。走后面那条就是幻觉,而且是看起来最有道理的一种幻觉,因为它确实引用了你的资料,只是引错了。

另一种是检索到了,但模型用错了。它把适用于 A 的规则套到 B 上,或者漏掉了后面那一条但书。

这两种靠提示词堵不住,能堵的是四件事。

每个结论绑出处。 检索不到依据就不出这条结论,宁可在稿子里留一个空的引注位。

把拒答写进流程。 系统提示里可以直接抄这一段。

「没有检索到依据时,只输出「没有依据,不能作答」。不要根据常识推测,不要补全,不要给相近的替代答案。」

结构化字段用代码校验。 条号、金额、期限、当事人名称,正则加交叉比对跑一遍,比信模型可靠。

留评测和人工闸门。 攒一组真实用例,改一次 prompt 跑一遍,效果是升是降有据可查。对外交付的最后一道必须是人。

这四条没有一条是大模型的能力,全部是工程活。

「幻觉不是靠换一个更强的模型解决的,它要靠工程化的调试和设计压下去。模型更强,幻觉会少一些,但不会归零,剩下那部分得由工程接住。」

06

LIMITS

已知限制

这篇没有实测数据,也没有具体项目可以对照,所以硬件选型和预算的结论一概不给。

另外两条是我自己的怀疑。一是上面这套做法能挡掉大部分低级幻觉,挡不住模型在检索到真材料之后做出错误的法律推理,那部分只能靠人。二是评测集的质量决定上限,用十道题测出来的通过率,说明不了第一百道题的结果。

07

CHECKLIST

可复用清单

•问题到零件的对照表,见第 1 节,用来判断这次部署到底需要什么,不需要什么

•检索这一层的检查点,见第 2 节:切片按层级、检索加关键词、阈值与条数要调、输出绑引用、库里要能按生效日期过滤

•工作流还是 Agent,见第 3 节:步骤能提前列出来就用工作流,列不出来才考虑 Agent

•四条底线,见第 5 节:结论绑出处、拒答写进流程、字段用代码校验、交付留评测和人工闸门

•拒答那段系统提示,见第 5 节,可以直接抄

∞

THE END

结语

这些零件不是可选项,每一个都是被一个具体问题逼出来的。少了 RAG,模型不认识你的资料。少了切片和检索参数,材料塞不进上下文。少了工作流和 Agent,流程要么不可复现,要么走不通。少了拒答和校验,错误会一路走到签字的人面前。

而部署这套东西的顺序只有一种,先找到具体的窟窿,再去装堵它的那个零件。

本文属于不定期栏目 · 工程学,讲自研插件与工作流。

另两条主线:奥术系「魔典」读论文,火焰系「装等榜」做工具测评,冰霜系「霜鉴」评 AI 与法律的热点。

---

转载与使用:本号文章欢迎转载,请保留作者与出处(硅基法师 / ai-ip.tech)。

免责:本号内容为个人学习与工具实践记录,不构成法律意见;涉及具体案件请咨询执业律师。

E N D

我是硅基法师,写 AI 和法律交叉地带的东西:论文怎么读、工具怎么测、热点怎么冷下来看。

如果你觉得这篇有收获,欢迎点赞、在看、转发三连,我们下篇见。

相关学习资料