想象你是一位书评作家,接到一个让人头秃的任务:为一本 500 页的判决书写一篇 200 字的简介。这本书页数多到离谱,而你一次只能摊开三五页阅读——普通 AI 模型就是这样,一次只能“读”几百个字。聪明的书评家会怎么做?跳着读,用书签标记关键页,重点反复翻“判决如下”这样的核心章节,其余地方扫一眼就过。LED 和 LongT5 就是两位这样的“高效书评家”,专门为超长法律文书写摘要。它们一个用“滑动窗口+红色书签”的读法,一个用“每章选班长”的读法,都能在不逐字读完全文的情况下抓住重点。这篇文章就带你认识这两位书评家的手艺:它们如何对付万字判决书、怎么选型、怎么保证摘要不出错,以及落地时有哪些坑。
学会用 LED/LongT5 处理万字级判决书自动摘要,是法律 NLP 从业者提升效率、落地智能审判与案卷管理系统的关键技能——它把“读不完的卷宗”变成“一屏看懂的摘要”。
可视化演示
本节配有交互动效(进入视口后自动加载,约 3KB)。
LED注意力机制 ——局部滑窗+全局token处理16384长度 局部:滑动窗口注意力(半径w) 全局:关键token全局可见 效率:O(n×w)远优于O(n²) 限制:BERT仅512 token LED: Local(window=w) + Global(selected tokens) → 16384 tokens
长文档处理难点
书评家老周面对那本 500 页的判决书,双手一摊:一次只能摊开两三页,怎么办?普通 AI 模型比他更惨——受上下文窗口限制,一次只能读 512 或 1024 个 token,也就是几百个汉字。一篇判决书动辄一两万字,模型想读全文,就像让一个只能摊开两三页的人读完整个书架,只能把书撕碎、分段读、再强行拼凑,结果上下文信息大量丢失。
就算模型窗口强行扩大,新的麻烦又来了:Transformer 的自注意力机制要求每个字和整本书所有字两两“打招呼”,计算量随长度平方暴涨。老周读书好歹一页页翻,模型却是让所有页码互相递纸条,一万字就是一万乘以一万张纸条,根本递不过来。更扎心的是,判决书里真正的干货——裁判结果、关键金额——往往只占全文不到 1%,大部分篇幅是程序性叙述,信息分布极度稀疏。
这就是长文档处理的核心矛盾:窗口不够大,装不下;窗口硬撑大,算不动;就算算得动,重点还藏得深。LED 这类模型的出场,正是要同时解决这三座大山。
老周悟出的道理正在于此:与其硬背整本书,不如训练“摊开一页只看邻页”的读法,配合关键书签,就能把 500 页高效读完——这正是 LED 的出发点。
- 序列长度 n表示一句话或整篇文档的 token 数量。一篇 2 万字的判决书,n 就接近 2 万。
- 标准注意力 O(n²)每个 token 要和所有 token 两两计算相关度,n 翻一倍,计算量变成 4 倍,这就是平方爆炸。
- 窗口大小 w每个 token 只和左右 w 个邻居交互,w 远小于 n,好比读书只扫视上下几行。
- 滑动窗口 O(n×w)所有 token 都只看窗口内的邻居,总计算量约等于 n 乘以 w,随 n 线性增长,读完全书才变成可能。
LED模型原理
老周的读法升级了:每摊开一页,他先扫一眼书页上贴的红色书签——比如“判决如下”“本院认为”这些位置,再细读窗口内的邻页内容。这样一来,无论翻到哪一页,心里都装着全书最要紧的几个锚点。LED(Longformer Encoder-Decoder)就是把这套读法落地的模型。
LED 把 Longformer 的稀疏注意力搬进了编码器-解码器架构:编码器负责“读”超长的判决书输入,用滑动窗口加全局注意力处理几万字;解码器负责“写”摘要,用标准注意力逐个生成输出 token。滑动窗口让每个字只和周围 w 个字交流,复杂度降为线性;而少数被指定为全局注意力的 token——通常是 [CLS] 标记、段落首 token、关键实体——能“看见”全文,也能被全文“看见”,相当于书签页。
实际操作中,窗口大小 w 常取 512,全局 token 占比约 1%~2%。比如在判决书场景,把“判决如下”后面的裁判结果设为全局 token,模型生成的摘要就大概率不会漏掉最终结论。注意力机制的数学内核,依然是那个经典的“问题找答案”公式。
老周这套“窗口扫读加书签锚定”的读法,让 LED 在一万五千字的判决书上也能游刃有余。但另一位书评家 LongT5 提出了不同的意见:书签虽好,贴起来费劲,不如让每章自己选个班长。
- Q、K、V 三份向量分别代表“读者的问题”“书页的目录索引”“书页的内容本身”。每个 token 同时充当三份角色。
- QK^T 相似度打分把问题与所有索引做点积,得到“这一页和我的问题有多相关”的分数矩阵,矩阵越大计算越贵。
- 除以 √d_k用向量维度的平方根做归一化,防止点积数值过大把 softmax 推向饱和,就像打分后除以总人数得到平均分。
- softmax 变权重把相似度分数压成总和为 1 的注意力权重,告诉模型“哪些页值得投入更多精力”。
- 乘以 V 汇总按权重对所有页的内容加权求和,把分散的信息聚合成一个丰富的新表示,这就是模型“读”到的东西。
LongT5特性
LongT5 是 Google 推出的另一位书评家,它读判决书的方式更省事:不手动贴红色书签,而是每读一小段就临时指定一个“班长”,由班长汇总组员意见,再代表全组去和其他段落交流。这种机制叫做转瞬全局注意力(transient global attention):每个局部块临时选出一个 token 充当信息汇聚点,块内消息先汇总到班长,班长之间再互相沟通。
在架构上,LongT5 把 T5 的注意力替换成了 Longformer 风格,并设计了与之配套的预训练任务——类似 PEGASUS 的“摘要句遮蔽”:训练时把文档中的重点句子挖掉,让模型学会补全,相当于书评家练习“看到一段就猜这段的核心句”。相比 LED,LongT5 不需要预先挑好全局 token,实现更简单;在书籍、科学论文等长文摘要基准上,LongT5 的整体表现常常优于 LED。
但选型不能只看榜单:LED 的全局 token 是“手动指定”的,这种可控性在强结构任务里是巨大优势——判决书的“裁判结果”必须覆盖,你可以直接把它钉成书签;LongT5 的班长是自动选的,省心但不可控。两个模型都能处理 16384 token 以上的输入,对万字判决书都绰绰有余,差别在于你更想要“可控的重点”还是“自动的均衡”。
两位书评家各有绝活,但无论用谁,要写出合格的判决书简介,老周还得多了解判决书本身的“八股”结构——毕竟摸清骨架,才知道书签该贴哪儿。
- A_ij 注意力权重表示第 i 个 token 对第 j 个 token 的关注强度,整个矩阵就是模型的“读书记录”。
- 局部窗口分支当两个 token 距离不超过 w 时,使用滑动窗口注意力,只和邻居交换信息,成本可控。
- 转瞬全局分支当 j 恰好是当前块选出的代表 token t_b 时,i 能看到班长,班长聚合了全组信息后再与外界沟通。
- 其余置零既不挨着也不当班长的位置,注意力直接为 0,保证矩阵稀疏,省下大量计算。
判决书结构解析
判决书可以说是法律界的“八股文”,格式高度模板化。老周写书评前不会从头翻到尾,而是先看目录结构:首部写着法院名称、案号、当事人身份;随后是原被告的起诉与答辩事实;接着是“本院查明”和“本院认为”的裁判理由;最后落在“判决如下”的裁判结果。这四个板块就像书的四章,各有各的用处。
做摘要之前,先把判决书按结构切块,是提升质量的关键一步。你可以把“裁判结果”和“本院认为”区域标记出来,让它们在模型中充当全局注意力 token;也可以在输入中插入结构标记,比如 <当事人>、<争议焦点>、<裁判结果>,让模型学会按要素组织摘要。这样的“要素式摘要”能直接回答律师最关心的问题:当事人是谁、什么案由、法院怎么判。
结构化的另一个好处是让解码更有的放矢。摘要生成本质上是逐 token 的翻译过程——把判决书“翻译”成一两百字的简介,每一步生成都依赖已经写出的前缀和整篇原文。理解了结构,模型就知道“裁判结果”该放在摘要的哪个位置,而不是把“本院认为”的论证过程原样搬进摘要。
老周摸清了判决书的四章结构,书签贴得精准,摘要的骨架立刻立起来了。但书评写完了,怎么知道质量行不行?他需要两个帮手:一个机械的“数数员”,一个较真的“事实核对员”。
- X 判决书输入模型的“阅读材料”,也就是经过切块和标记的判决书全文。
- Y 摘要序列模型要生成的摘要,由 y_1 到 y_T 共 T 个 token 组成,就是最终那 200 字简介。
- y_<t 已生成前缀写第 t 个字时,前面已经写好的 t 减 1 个字,它们会引导后续的措辞,避免前言不搭后语。
- 连乘符号把每一步的生成概率乘起来,表示整段摘要的联合概率——老周写书评时,每句话都要承接前一句,最后连成完整段落。
摘要质量控制
老周写完书评初稿,先交给机械评分员ROUGE过一遍。这位评分员的方法很朴素:把老周的简介和标准答案都切成一个个小短语,数一数有多少短语重合。重合越多,分数越高。ROUGE-1 比单个词,ROUGE-2 比相邻两个词,ROUGE-L 比最长公共子序列,各有各的算法。
但 ROUGE 的缺陷在判决书场景里格外致命:它只比字面,不比事实。把“判决被告赔偿十万元”写成“判决被告赔偿十五万元”,字面高度重合,ROUGE 照样给高分;反过来,“驳回上诉”和“维持原判”意思几乎一样,字面却不重叠,ROUGE 分低得冤枉。法律摘要容不得这种“形似神非”,所以必须配上第二道关卡:事实一致性检测。
事实一致性检测通常用 NLI(自然语言推理)或问答式验证:把摘要里的关键实体——人名、金额、案号、刑期——逐个抽出来,和原文交叉核对。同时还要控制压缩率,一篇 2 万字的判决书压到 500 字是 4% 的压缩率,压得太狠就会丢掉“利息计算方式”这类细节,压得太松又失去了摘要的意义。通常 3%~8% 是经验区间,具体取决于下游是给法官快速浏览还是给律师深度检索。
有 ROUGE 数字数、事实核对员盯金额,老周的书评终于敢交稿了。不过他还缺最后一步:把 OCR 扫描件里的乱码、页眉、空行收拾干净——书稿太脏,再好的书评家也无从下笔。
- n-gram 短语连续 n 个词的组合,比如“判决如下”是一个 4-gram,“驳回上诉”是一个 4-gram。n 越小越看重字词级重合。
- Count_match 重合计数统计系统生成的摘要中,有多少 n-gram 与参考摘要相同,这是“撞上了多少词”。
- 分母 Count 参考总数参考摘要里全部 n-gram 的总个数,代表“标准答案一共有多少个要点短语”。
- 两者相除重合数除以参考总数,得到 0 到 1 之间的召回率,1 代表要点全部覆盖,但注意它只认字面不认语义。
法律文本处理
老周拿到手的判决书原稿,常常是从扫描件 OCR 出来的,页眉带着法院名,页脚压着案号,中间还混着乱码和全半角标点。他得先做一番“整书”工作:清洗 OCR 噪音,去掉重复页眉和案号,统一全半角符号,再按判决书的结构板块切块,避免把“本院认为”拦腰截断。
切块之后是“法言法语”适配。法律文本里“驳回”“不予支持”“缓刑”这些词,字少义重,token 化时要保证“判决如下”这类关键短语不被切开;训练数据里要多保留原判决书的措辞习惯,让模型学会用严谨的法言法语写摘要,而不是口语化的“法院觉得不对”。条件允许的话,还可以在输入里拼接结构标记,让模型一眼认出每个板块的职责。
落地部署时,硬件和工程细节同样重要。LED 在 16384 token 输入下推理,GPU 显存消耗不小,可以用 vLLM 加速推理、用 INT8 量化省显存;batch 内按长度 padding 到 8 的倍数,能明显提升吞吐。实践中还有一个高效的组合拳:先用抽取式方法从判决书里挑出最关键的句子作为候选,再让 LED 或 LongT5 对候选做生成式润色——既保证事实来自原文,又比直接端到端生成快不少。
老周把书稿整理干净、备好评分员和核对员,终于能批量给整柜的判决书写简介了。LED 与 LongT5 这两套读法,配上结构解析和质量把关,一套完整的判决书摘要生产线就此打通。
- 摘要 token 数生成摘要的长度,通常控制在 200~500 token,对应一两百字到四五百字。
- 原文 token 数判决书输入的长度,常见 5000~20000 token,这就是长文档模型的用武之地。
- 乘以 100%把比值转成百分数,方便在工程中设置压缩率阈值,超出阈值就触发摘要截断或重写提示。
AI 应用场景
法院智慧审判辅助系统
阶段:长文档摘要生成 + 要素抽取
解决的问题:法官审理案件前需要快速了解同类案件的裁判倾向,传统方式靠书记员人工阅读上万字判决书再提炼要点,一份至少半小时。用 LED 对历史判决书批量生成结构化摘要,把“当事人 + 案由 + 争议焦点 + 判决结果”压成半页纸,法官检索类案时一眼看懂核心信息,效率提升数倍。
具体案例:某基层法院导入近三年 5 万份民间借贷判决书,用 LongT5 批量生成摘要并建立索引。法官输入“借条 利息 驳回”,系统秒级返回几十份带摘要的类案,过去需要整个下午的检索工作压缩到十分钟。
律师事务所案卷管理系统
阶段:OCR 预处理 + 长文档摘要
解决的问题:律所常法顾问的合同纠纷判决书堆积如山,合伙人想判断“这个案子要不要上诉”,传统方式要安排律师逐份精读。用“清洗切块 + LED 抽取式摘要”自动生成案件简报,把判决结果、败诉原因、赔偿金额标红呈现,律师只需复核机器结论,决策周期从一周缩短到一天。
具体案例:某律所把 5000 份执行异议判决书导入系统,先用脚本清洗 OCR 噪音并按“本院认为”切块,再用 LED 生成 300 字摘要,自动核对被执行人、金额等实体,合伙人每周一看简报即可决定哪些案件跟进。
法律数据库 CaseBase 构建
阶段:文本摘要 + 质量校验
解决的问题:法律数据库需要给每篇判决书配摘要作为检索入口,人工撰写成本极高且标准不一。用 LongT5 生成初稿,再用 ROUGE 加实体核对双通道质检,不合格的退回重跑,把摘要入库成本降低 80%,同时保证“案号、金额、刑期”零差错。
具体案例:某法律科技公司用流水线处理 20 万篇刑事判决书:清洗 → 切块 → LongT5 生成 → 实体核对 → 人工抽检,摘要准确率从 82% 提升到 96%,数据库检索点击率提升 40%。
Python 演示
# -*- coding: utf-8 -*-"""简化版判决书摘要器: 用全局重点词加权加局部词频, 模拟 LED 稀疏注意力."""import refrom collections import Counter class JudgmentSummarizer: """对每个句子做局部词频打分, 并对命中重点词的句子加分.""" def __init__(self, top_k=5): self.top_k = top_k self.global_kw = ["判决如下", "本院认为", "依照", "原告", "被告", "驳回"] def _split_sentences(self, text): parts = re.split(r"(?<=[。!?;])", text) return [p.strip() for p in parts if p.strip()] def _tokenize(self, text): return re.findall(r"[\u4e00-\u9fa5]{2,}", text) def summarize(self, text): sentences = self._split_sentences(text) word_freq = Counter() for sent in sentences: word_freq.update(self._tokenize(sent)) for word in self.global_kw: word_freq[word] = max(word_freq.get(word, 0), 5) scored = [] for sent in sentences: words = self._tokenize(sent) score = sum(word_freq.get(w, 0) for w in words) / max(len(words), 1) score += min(len(sent), 120) / 120.0 if any(kw in sent for kw in self.global_kw): score += 2.0 scored.append((score, sent)) scored.sort(key=lambda x: -x[0]) return "".join(sent for _, sent in scored[: self.top_k]) if __name__ == "__main__": judgment = ( "原告张三诉被告李四民间借贷纠纷一案,本院受理后依法适用简易程序公开开庭审理。" "原告称被告于2021年3月向其借款十万元并出具借条一张。" "被告辩称借款已经偿还,但未提供还款凭证。" "本院认为,借条真实有效,被告主张还款但未举证,应承担不利后果。" "依照《中华人民共和国民法典》相关规定,判决如下:被告李四于本判决生效之日起十日内偿还原告张三借款十万元。" "案件受理费由被告负担。" ) summarizer = JudgmentSummarizer(top_k=3) summary = summarizer.summarize(judgment) print("原始判决书长度: ", len(judgment)) print("生成摘要: ") print(summary)
self.global_kw = ["判决如下", "本院认为", "依照", "原告", "被告", "驳回"]这些词相当于 LED 的全局注意力 token,命中就加权,保证裁判结果不被漏掉。parts = re.split(r"(?<=[。!?;])", text)按句号感叹号等边界切分句子,对应预处理阶段的结构切块。word_freq.update(self._tokenize(sent))统计全文档词频,作为“局部窗口内重要性”的近似信号。score = sum(word_freq.get(w, 0) for w in words) / max(len(words), 1)句子得分等于词频均值,高频词的句子更像“本院认为”这种核心句。if any(kw in sent for kw in self.global_kw): score += 2.0命中全局重点词的句子直接加分,模拟全局注意力的锚定效果。scored.sort(key=lambda x: -x[0])按得分降序排序,然后取前 top_k 句拼接成摘要。return "".join(sent for _, sent in scored[: self.top_k])把选中的句子按原文顺序拼回一段通顺的摘要,保证要素齐全。
常见误区
误区“判决书太长,直接把前面 512 个字截出来喂给 GPT 生成摘要不就行了?重点信息一般都在开头。”
正解判决书的关键结论恰恰在文末“判决如下”部分,事实陈述在中部,截断会把裁判结果整个丢掉,生成的摘要可能完全错误。正确做法是用 LED/LongT5 这类长文档模型,或者至少采用“开头 + 结尾 + 关键块”的拼接策略。就像书评家只读序言,永远写不出结局。
为何常见:早期模型输入窗口普遍只有几百 token,截断是最省事的处理方式,这种惯性思维延续到了长文档场景。
误区“滑动窗口把 O(n²) 降到 O(n×w),那窗口设小一点、全局 token 少一点,速度更快效果一定更好。”
正解窗口太小会切断长距离依赖,全局 token 太少则关键信息汇聚不足。实践中 w=512、全局 token 占 1%~2% 是常用的起点,还需要按任务调参。就像读书如果只看每段第一句,会漏掉藏在段落中间的转折和关键证据。
为何常见:只看到了复杂度公式的下降,忽略了模型“建模能力”的需求,把稀疏本身当成了目标。
误区“ROUGE-1 跑到 0.85,摘要质量肯定没问题了,可以直接上线。”
正解ROUGE 只统计字面 n-gram 重合,法律文本里“驳回上诉”与“维持原判”同义不同形会低分;反过来把“有期徒刑十年”写成“十五年”字面高度重合却事实全错。因此还必须做实体、金额、刑期的核对,ROUGE 只是初筛,不是质量保证。
为何常见:ROUGE 计算简单且在论文中被普遍使用,新手容易误以为它是摘要质量的天花板指标。
误区“LongT5 是更新的模型,论文里效果更好,直接无脑用 LongT5。”
正解LongT5 在通用长文摘要上确实整体更强,但 LED 可以手动指定全局 token,在“裁判结果必须覆盖”这类强结构任务中更可控;此外 LongT5 的模型体积和推理成本也不同。选型要看任务结构,而不是版本新旧,就像两位书评家各有擅长的文体。
为何常见:模型排行榜思维深入人心,忽略了任务特性与可控性需求。
误区“生成式摘要更流畅,所以一律用生成式,抽取式太土了。”
正解法律摘要对措辞极其敏感,生成式可能把“十万元”改写为“10 万元”或漏掉“本息”二字;抽取式直接拼接原文句子,能保证每个词都来自判决书。实务中常用“抽取 + 生成”两段式:先挑关键句,再让 LED 做润色重写,兼顾流畅与准确。
为何常见:生成式在新闻摘要等公开基准上表现亮眼,被媒体和论文过度推广,忽视了法律领域的严谨性要求。
面试题
Q1. LED 模型解决的核心问题是什么?
- A.提升文本分类准确率
- B.处理超长文档输入← 正确答案
- C.加快图像识别速度
- D.降低训练集数据噪声
答案:B。LED 即 Longformer Encoder-Decoder,专门为超长序列设计,能处理上万 token 的输入。A 是分类任务不是它的目标,C 是视觉领域,D 与模型架构无关。就像书评家老周的核心目标是“读完 500 页的书”。
Q2. 标准 Transformer 自注意力计算量随序列长度 n 如何增长?
- A.保持线性不变
- B.对数缓慢增长
- C.平方快速增长← 正确答案
- D.与长度无关系
答案:C。标准注意力每个 token 都要与所有 token 计算相关度,矩阵规模是 n×n,所以计算量是 O(n²)。这也正是长文档模型引入滑动窗口的原因,把平方降回线性。
Q3. LED 的滑动窗口注意力中,窗口大小 w 表示什么?
- A.全局 token 的总数量
- B.每个 token 关注的邻居范围← 正确答案
- C.摘要生成的最大长度
- D.训练时使用的 batch 大小
答案:B。w 是每个 token 能看到左右多少相邻 token 的范围,w=512 意味着每个 token 与周围 512 个邻居交互。A 是全局注意力,C 是解码长度,D 是训练配置,都不是窗口含义。
Q4. LongT5 的“转瞬全局注意力”指的是什么?
- A.块内选代表 token 聚信息← 正确答案
- B.所有 token 两两全交互
- C.只保留句尾一个 token
- D.用卷积替代自注意力
答案:A。LongT5 对每个局部块临时选出一个代表 token,块内信息先汇聚到代表,再与其他块的代表交互。B 是标准全注意力,C 和 D 与 LongT5 机制不符。就像每章选个班长去开年级会。
Q5. 关于 ROUGE 指标在判决书摘要中的局限,哪项说法正确?
- A.能准确反映法律事实一致性
- B.只统计字面重合不认同义改写← 正确答案
- C.对长摘要总是给出很好分数
- D.完全不需要参考摘要参与
答案:B。ROUGE 只统计 n-gram 字面重合,“驳回上诉”和“维持原判”语义相近但字面不重叠会低分,而金额写错的摘要可能高分。A 说反了,C 和 D 表述错误,所以选 B。
Q6. 判决书中“判决如下”之后的内容,对应摘要的哪个要素?
- A.当事人的身份信息
- B.案件的裁判结果← 正确答案
- C.起诉状的诉讼请求
- D.法院的全称与案号
答案:B。判决书的四大板块中,“判决如下”引出裁判结果,是摘要最核心的要素。A 在首部,C 在事实部分,D 在文书抬头,都不对应裁判结论。
Q7. 训练摘要模型时把“本院认为”设为全局 token,主要好处是什么?
- A.降低解码器的层数深度
- B.让模型重点建模裁判理由← 正确答案
- C.自动减少输入文本长度
- D.跳过分词等预处理环节
答案:B。全局 token 能“看见”全文也被全文看见,“本院认为”对应的裁判理由是判决书最需要建模的部分,设为全局 token 可让模型优先参考。A、C、D 与全局 token 机制无关。
Q8. 下列哪些措施能提升判决书摘要的事实一致性?
- A.增加 ROUGE-1 指标的权重
- B.核对实体金额与刑期← 正确答案
- C.采用抽取加生成两段式← 正确答案
- D.把滑动窗口扩大到全文
答案:BC。实体核对能直接发现金额刑期错误,抽取加生成两段式则保证候选句来自原文。ROUGE 只比字面不查事实,窗口扩大到全文也不解决事实一致性问题,所以选 B 和 C。
Q9. 关于 LED 与 LongT5 的对比,下列说法正确的有哪些?
- A.两者都支持超长文本输入← 正确答案
- B.LED 可手动指定全局 token← 正确答案
- C.LongT5 在所有任务上更强
- D.LongT5 使用转瞬全局注意力← 正确答案
答案:ABD。两者都能处理 16384 token 以上输入,LED 支持手动指定全局 token,LongT5 用转瞬全局注意力且无需预先指定。但 C 太绝对,LED 在强结构任务中可能更可控,所以不选 C。
Q10. 判决书摘要落地流程通常包含哪些环节?
- A.OCR 清洗与结构切块← 正确答案
- B.长文档模型生成摘要← 正确答案
- C.事实一致性质量检查← 正确答案
- D.手写卷宗人工归档
答案:ABC。落地产线是“清洗切块 → 模型生成 → 质量核对”三步走,对应本文第六节的完整流程。D 是人工动作而非 AI 流程环节,所以不选。