10.3 面向数据采集工作流的提示词设计方法论(AI数据采集工作流) 📅 2026/8/20 14:35:40 叶彦辛《扣子编程从一句话到产品上线零门槛AI心流开发》全书案例分享~_扣子编程从一句话到产品上线:零门槛ai心流开发-CSDN博客第 7 章曾提出面向 Agent 的提示词五要素模型第 8 章把它扩展为面向工作流的提示词六要素模型第 9 章又在多模态多渠道维度上叠加成七要素模型。本章在数据采集场景下进一步把方法论扩展为八要素模型——在第 9 章的七要素之上新增了“目标 Schema 驱动”这一专门服务于结构化输出的要素。本节以笔者发给扣子编程的原始提示词为例提炼面向数据采集工作流的提示词设计八要素模型。10.3.1从一段完整的工作流提示词说起本章的原始提示词如下请帮我搭建一个扫描型PDF财务数据自动提取工作流。当我上传一份扫描版的上市公司年度报告PDF后,系统应自动完成OCR识别、表格区域定位、字段语义锚定、数值校验、异常标注,最终输出一份结构化的CSV文件,可被下游数据库或BI系统直接消费。目标CSV字段(每一行对应一个会计期间):report_period 报告期(如 2025年度)revenue 营业收入(元)operating_cost 营业成本(元)gross_margin_pct 毛利率(%)rd_expense 研发费用(元)rd_to_revenue_pct 研发投入占营业收入比例(%)operating_profit 营业利润(元)net_profit_attr 归属于上市公司股东的净利润(元)eps_basic 基本每股收益(元/股)eps_diluted 稀释每股收益(元/股)roe_weighted_pct 加权平均净资产收益率(%)total_assets 资产总计(元)total_liabilities 负债合计(元)equity_attr 归属于上市公司股东的所有者权益(元)debt_ratio_pct 资产负债率(%)ocf_net经营活动产生的现金流量净额(元)unit金额字段统一单位(默认元)extraction_confidence 本期所有字段的整体置信度(0-1)needs_review 是否含待复核字段(Y/N)工作流结构请按以下节点设计:1. 开始节点: 输入字段 scanned_pdf(File类型,必填)、target_schema(JSON,可选默认使用上述字段)2. 页面切分节点(pdf_split): 能力PDF解析图像处理。把多页PDF拆为单页图像(300dpi)3. OCR识别节点(ocr_loop,以循环子图形式实现): 能力多模态视觉模型。对每页做高保真OCR,输出页面文本块和初步表格结构4.表格区域定位节点(table_locate): 基于OCR结果筛选含财务表格(利润表/资产负债表/现金流量表)的页面5.字段语义锚定节点(field_anchor): 能力大语言模型。把OCR文本中的会计科目按目标schema映射,处理同义词与简称6.数值校验节点(value_validate): 能力代码工具大语言模型。检查勾稽关系(资产负债权益、毛利率反算、加总核对)7. 异常标注节点(anomaly_mark): 能力规则引擎大语言模型。为每个字段打置信度,失败校验项标注 needs_reviewY8. CSV输出节点(csv_output): 能力代码工具。按目标schema组装CSV,带BOM头便于Excel直接打开合规与质量约束:-严禁编造任何数字。OCR识别不出的字段必须留空,并把needs_review设为Y-所有金额单位必须归一化(统一为元),由unit字段声明-中文数字(壹/贰/叁等)必须识别并转换为阿拉伯数字-表格跨页时必须合并,不允许两张子表分行输出-财务勾稽关系必须验证:资产合计负债合计所有者权益合计(允许±0.5%误差);毛利率(营收-营业成本)/营收(允许±0.3%误差)-字段值落在合理范围之外(如毛利率100%或0%、ROE50%或-50%)必须标注待复核最后,请输出 csv_url(可下载的CSV)、extraction_summary(提取摘要)、review_items(待复核字段清单),三者一次性返回。这段提示词与第 9 章的提示词最大的差别在于第 9 章是图像驱动 → 多渠道差异化输出本章则是扫描图像驱动 → 严格契约的结构化输出。这种差别背后是八个关键决策点。提示词页面如图 10-2 所示。图 10-2 提示词输入页面10.3.2决策点一输入形态的具体化声明提示词第一句“当我上传一份扫描版的上市公司年度报告 PDF 后”比看上去更重要。它向扣子编程传达了三层信息其一是输入类型File 类型PDF 格式其二是输入语义扫描版即图像化的 PDF没有可选中文本其三是输入领域上市公司年度报告意味着字段相对标准化、勾稽关系可预期。对比第 9 章的输入声明——“当我上传一幅产品白底图后”本章的输入声明在两个维度上更进一步第一个维度是从单幅图像到多页 PDF对页面切分能力提出了要求第二个维度是从干净视觉到嘈杂视觉对 OCR 鲁棒性提出了要求。这两点决定了开始节点之后必须紧跟一个页面切分节点且 OCR 节点必须采用多模态视觉模型而非传统 OCR 引擎并以循环子图的形式逐页处理。10.3.3决策点二目标Schema驱动提示词花了相当大的篇幅明确列出 19 个目标字段的字段名、字段类型与字段语义说明。这种“先把输出长什么样子完整说清楚再描述怎么得到它”的设计是本章相对于第 9 章七要素模型新增的第八个要素——目标 Schema 驱动。为什么要把字段定义置于结构描述之前因为字段定义本质上是工作流的“出口契约”。一旦出口契约确定所有上游节点的能力设计都被精确锚定OCR 节点知道要识别哪些数字、表格定位节点知道要找哪几张表、字段语义锚定节点知道要做哪些同义词映射、数值校验节点知道要校验哪些勾稽关系、CSV 输出节点知道要按何种列顺序组装。反之如果先描述节点结构、后描述字段扣子编程就会被动地按节点结构搭建但无法在节点之间做出全局优化。目标 Schema 驱动还带来三个额外的工程收益。第一字段定义中显式声明的字段类型如 revenue 是数值型且单位为元直接驱动了下游 CSV 输出节点的类型校验。第二字段语义说明如“归属于上市公司股东的净利润”为字段语义锚定节点提供了精确的目标描述避免模型自行揣摩。第三extraction_confidence 与 needs_review 两个元字段的存在让“诚实地表达不确定性”成为工作流的一等公民而不是隐藏在日志里的次要信息。10.3.4决策点三工序声明先于节点结构提示词中“系统应自动完成 OCR 识别、表格区域定位、字段语义锚定、数值校验、异常标注最终输出一份结构化的 CSV 文件”一句是典型的工序声明。这一声明既不是对节点结构的描述也不是对字段定义的描述而是介于二者之间的“工艺路线图”。它告诉扣子编程从 PDF 到 CSV必须经过这五道工序且五道工序的顺序不可调换。工序声明的工程价值在于它把工作流从“功能集合”变成了“工艺流程”。在功能集合视角下OCR、表格定位、字段映射、校验、标注是平行的能力在工艺流程视角下它们是先后承接、互相依赖的工序——OCR 没跑完表格定位无从谈起字段映射没做完校验无可校验。这种工艺感的声明让扣子编程在生成节点顺序时不会出现“先校验后识别”这种荒谬错误。10.3.5决策点四角色化描述的隐式植入与第 9 章对每条渠道使用“小红书 → 生活仪式感”这类显式角色标签不同本章的提示词没有写“请扮演一位财务数据分析师”这样的话。但通过“扫描版的上市公司年度报告”“会计科目”“勾稽关系”“加权平均净资产收益率”等专业术语的密集使用提示词已经向扣子编程隐式地植入了“专业财务数据提取员”的角色定位。这种隐式角色化是数据采集场景的特有现象——领域专业术语本身就是最准确的角色锚点比泛泛地说“请你扮演专家”更能引导模型进入专业上下文。10.3.6决策点五视觉理解约束的前置声明“高保真 OCR”“识别哪些页含财务表格”“表格跨页时必须合并”“中文数字必须识别并转换为阿拉伯数字”——这一系列约束都是视觉理解层面的前置声明。它们规避了三类高风险问题第一是 OCR 漏识别高保真要求驱动模型对低对比度、轻微旋转的页面也要尽力识别第二是表格分裂跨页必须合并的要求规避了同一张表被识别成两张的常见错误第三是中文数字脱节壹、贰、叁、肆、伍、陆、柒、捌、玖、零这些大写数字在中文财报中常见于审计意见与签字页必须被规范化。与第 9 章的视觉前置约束“清晨阳光洒落的窗台”“高级灰调办公室”相比本章的视觉前置约束更偏工程而非美学——前者约束的是“画什么样的图”后者约束的是“怎么看清这张图”。两种视觉约束在工作流中的角色不同但都属于“视觉理解能力的前置规范”这一统一范畴。10.3.7决策点六数值校验闭环的显式契约提示词中“财务勾稽关系必须验证资产合计负债合计所有者权益合计允许±0.5%误差毛利率(营收-营业成本)/营收允许±0.3%误差”一段是数值校验闭环的显式契约。这一契约直接驱动了数值校验节点的核心逻辑实现——节点内部会以代码工具的形式实现这些勾稽关系的检查函数并把检查结果写入 extraction_confidence 字段。与第 9 章经验五“可发布性约束必须前置”相对应本章把“可信性约束必须前置”作为同等重要的设计原则。可发布性约束服务于面向人的传播场景可信性约束服务于面向机器的消费场景。两种约束在不同场景下保护的都是同一个东西——下游的使用者不会被错误的内容或数据所误导。10.3.8决策点七合规与质量护栏“严禁编造任何数字”“所有金额单位必须归一化”“字段值落在合理范围之外必须标注待复核”——这一组约束构成了合规与质量护栏。其中最重要的是第一条“严禁编造”。在数据生成场景中模型偶尔编造一两个细节并不会带来灾难性后果但在数据采集场景中模型编造的数字会被下游系统当作真实事实处理可能引发严重的业务后果。因此本章提示词把“严禁编造”放在合规护栏的第一条并通过“识别不出的字段必须留空标注 needs_reviewY”这一具体执行细则把抽象的“不编造”原则落到了可机器执行的层面。10.3.9决策点八输出契约的多产物声明提示词最后一句“请输出 csv_url、extraction_summary、review_items三者一次性返回”是输出契约的具体声明。它要求工作流1七个节点全部跑完后才结束2 三个产物一次性交付避免运营在不同 URL 之间来回点击3三个产物的形态各异——csv_url 是结构化数据、extraction_summary 是自然语言摘要、review_items 是结构化待办清单——分别面向不同的消费者。这种“一份输入 → 多份异构产物”的输出契约设计是数据采集工作流相对于内容生成工作流的另一个特点。在内容生成中输出通常是单一形态在数据采集中输出往往需要同时面向自动化下游CSV与人类审核者摘要待办两类消费者的需求形态截然不同必须分别交付。【提示】把以上八个决策点合在一起就构成了面向数据采集工作流的提示词设计八要素模型输入形态声明、目标Schema驱动、工序声明、角色化描述、视觉理解约束、数值校验闭环、合规与质量护栏、输出契约。其中第二项“目标Schema驱动”是本章相对于第9章七要素模型新增的要素也是数据采集场景区别于数据生成场景的核心标识。大家在为任何“非结构化输入→结构化输出”的工作流设计提示词时都可以用这八要素作为检查清单确保设计决策完整覆盖了数据采集场景的特殊考量。