用途:为解析结构化文本(测验题、表单、发票、文档等)提供在正则与 LLM 之间取舍的决策框架。核心思路是正则能低成本、确定性地处理 95% 至 98% 的情况,把昂贵的 LLM 调用留给剩余边缘案例。
适用判断:若文本格式一致且重复(超过 90% 遵循某种模式),从正则开始;正则覆盖 95% 以上则无需 LLM,低于 95% 则仅对边缘情况加 LLM。若文本为自由格式、变化极大,则直接使用 LLM。
架构模式:源文本→正则解析器(抽取结构,准确率 95% 至 98%)→文本清理器(去噪)→置信度评分器(标记低置信抽取)→高置信(≥0.95)直接输出,低置信(<0.95)交给 LLM 校验器→输出。
实现要点:提供正则解析函数 parse_structured_text,用命名分组抽取 id、text、choices、answer;置信度评分 score_confidence 根据选项过少、缺失答案、文本过短等扣分,identify_low_confidence 返回低于阈值项;LLM 校验 validate_with_llm 使用最便宜模型(示例为 claude-haiku-4-5-20251001)修复低置信项;process_document 组合完整流水线,仅在存在低置信项且提供 llm_client 时调用 LLM。资料给出生产测验解析流水线(410 项)指标:正则成功率 98.0%,低置信 8 项(2.0%),LLM 调用约 5 次,相比全用 LLM 节省约 95% 成本,测试覆盖 93%。
最佳实践:从正则起步;用置信度评分程序化识别需要 LLM 的部分;校验用最便宜模型;不修改已解析对象,清理与校验返回新实例;对解析器采用 TDD,先测已知模式再测边缘情况;记录正则成功率与 LLM 调用数等指标。
反模式:正则已覆盖 95% 以上仍把所有文本发给 LLM;对自由变化文本硬用正则;跳过置信度评分;清理/校验时原地修改对象;不测试畸形输入、缺失字段、编码问题等边缘情况。
适用场景:测验/试题解析、表单数据抽取、发票/收据处理、文档结构解析(标题、章节、表格),以及任何有重复模式且关注成本的结构化文本。限制:资料未提供具体安装方式、依赖版本或可直接运行的完整部署步骤。