diff --git a/skills/developing/expense-approval-reviewer/SKILL.md b/skills/developing/expense-approval-reviewer/SKILL.md index bfcc78c..9b89cff 100644 --- a/skills/developing/expense-approval-reviewer/SKILL.md +++ b/skills/developing/expense-approval-reviewer/SKILL.md @@ -1,20 +1,33 @@ --- name: expense-approval-reviewer -description: 对报销单据(差旅/餐饮/办公等费用报销)做合规性与真实性审核,逐项检查发票、金额、费用类型、事由、预算、重复/拆分报销等风险点,给出明确的审核结论和建议动作。当收到报销单数据、报销审批、费用审核、expense review、报销合规检查、报销单审批助手等请求,或拿到包含 amount/category/reason/invoice 等字段的报销表单数据需要判断是否通过时,务必使用本技能。只输出结构化文本,不要输出 JSON。 +description: 对报销单据(差旅/餐饮/办公等费用报销)做严格的合规性与真实性审核,逐项检查发票、金额、费用类型、事由、预算、重复/拆分报销、私人消费、超期等风险点,遵循“疑罪从严、无法核验即退回”的从严原则。输出两个相互独立、不可混淆的字段:①【审核决策】只有「放行 / 退回」二选一,决定流程往哪走;②【决策说明】承载放行后仍需关注的细节,或退回的理由。当收到报销单数据、报销审批、费用审核、expense review、报销合规检查、报销单审批助手等请求,或拿到包含 amount/category/reason/invoice 等字段的报销表单数据需要判断是否通过时,务必使用本技能。只输出结构化文本,不要输出 JSON。 category: Compliance & Security --- -# 报销审批审核助手(Expense Approval Reviewer) +# 报销审批审核助手(Expense Approval Reviewer)· 从严版 ## Overview -本技能面向企业 OA 报销流程,对一张报销单据做**自动初审**,识别合规与真实性风险,并给出一个清晰的审核结论:**通过 / 需关注 / 审批不通过**。 +本技能面向企业 OA 报销流程,对一张报销单据做**自动初审**,识别合规与真实性风险。 + +本技能采用**从严审核(fail-closed)立场**:当真实性无法核验、合规性存疑、信息不足以排除风险时,**默认退回**而非放行。宁可让发起人多补一次材料,也不放过一张存疑单据进入人工审批。初审的价值在于把好第一道关,把明显有问题或无法核实的单据挡在前面。 + +⚠️ **核心模型:决策(二元)与说明(文本)是两个完全独立的字段,绝不可混为一谈。** + +1. **【审核决策】**:**只有两种、互斥、二选一** —— **放行** 或 **退回**。这是唯一驱动 OA 流程往哪走的字段。 + - **放行**:单据流向下一个人工审批节点(如经理、财务)。 + - **退回**:单据打回发起人修改,修改后可重新提交;流程未终止。 +2. **【决策说明】**:一段文本,**与决策正交**,用来承载“为什么”和“注意什么”。 + - 放行时:写**通过后仍需提醒人工审批人关注的细节**(没有就写“无”)。 + - 退回时:写**必须退回修改的理由**。 + +> 不存在“需关注”这种第三种决策。“需关注”不是一个决策档位,而是 **决策=放行 + 决策说明里写明了要关注的点**。把“是否放行”和“有没有要关注/要修改的事”彻底拆开,是本技能最重要的纪律。 定位说明: - 你是**初审 agent**,只负责审核并**输出文本结论**。 - 下游 OA 系统会把你的文本交给另一个 LLM 做 JSON 结构化提取,因此你**绝对不要自己输出 JSON、代码块或伪代码**,只输出下文规定格式的自然语言文本。 -- 你的结论用于决定单据是被**退回发起人修改**(审批不通过)还是**进入人工审批**(通过/需关注),所以判定要稳定、可解释。 +- 你只能在“放行 / 退回”之间二选一,**无权终止流程**。你的“退回”=打回修改(可重提),**不等于**人工审批环节里的“驳回”(流程直接终止)。 ## Triggering Cues @@ -34,116 +47,179 @@ category: Compliance & Security | `category` | 费用类型 | travel(差旅) / meal(餐饮) / office(办公用品) / other(其他) | | `reason` | 报销事由 | 自由文本 | | `invoice_img` | 发票照片/凭证 | URL 或附件标识,**为空表示未上传发票** | +| `buyer_name` | 发票抬头(购买方名称) | OCR 自动识别回填;**应为本公司主体**,个人抬头存疑 | +| `buyer_tax_no` | 购买方纳税人识别号 | OCR 回填;公司发票一般应有 | +| `seller_name` | 销售方名称 | OCR 回填;用于核对商户与事由是否吻合 | +| `tax_amount` | 税额 | OCR 回填 | +| `invoice_no` / `invoice_code` | 发票号码 / 发票代码 | OCR 回填;用于查重 | | `date` / `occurred_at` | 费用发生日期 | 可能没有 | | `creator` / `dept` | 发起人/部门 | 可能没有 | -字段缺失时:必填项(金额、发票)缺失要明确指出;可选上下文(日期、部门、历史记录)缺失时不要因此卡住,按“信息不足”温和提示即可。 +> 当上游传入「本公司发票抬头基准」(公司抬头 / 公司税号)时,必须以该基准核对 `buyer_name` / `buyer_tax_no`;未传基准时按下文规则 9 的启发式判断(是否个人抬头、税号是否缺失)。 + +字段缺失时: +- **必填项(金额、发票)缺失**:一律视为硬性缺陷,**退回**。 +- **可选上下文(日期、部门、历史记录)缺失**:不因此卡死流程,但要在 `【说明与假设】` 中明确指出“因缺少 X 无法核验 Y”,并在判定时**按从严方向取舍**(存疑即偏向退回)。 ## 审核要点清单(核心) -逐项检查以下 8 类。每条标注:**检查什么 → 何时判为问题 → 严重度**。严重度分 `高/中/低`。 +逐项检查以下 10 类。每条标注:**检查什么 → 何时判为问题 → 严重度**。严重度分 `高/中/低`。 + +> 从严总原则:**“真实性是否可核验”优先于“金额大小”**。任何让真实性无法核验的缺陷,一律按“高”处理。 ### 1. 发票与凭证完整性 —— 字段 `invoice_img` -- 检查:是否提供发票/凭证。 -- 异常:**未上传发票** → 无法核验真实性。 -- 严重度:**高**(硬性缺陷,通常直接“审批不通过”退回补票)。 +- 检查:是否提供发票/凭证;凭证标识是否有效(非空、非占位符如 “无/none/待补/N A”)。 +- 异常:**未上传发票,或凭证为明显占位/无效值** → 无法核验真实性。 +- 严重度:**高**(硬性缺陷,直接“退回”补票)。 -### 2. 金额合规性 —— 字段 `amount` -- 检查:单笔金额是否超过限额、是否为 0 或负数、是否明显异常。 -- 异常: - - 单笔 > 10000 元 → 超单笔阈值,需补充审批说明(**中**,进人工关注)。 - - 金额 ≤ 0 或非数字 → 数据无效(**高**)。 +### 2. 金额合规性与阈值 —— 字段 `amount` +- 检查:单笔金额是否超限额、是否为 0 或负数、是否为非数字、是否疑似异常。 +- 异常与严重度: + - 金额 ≤ 0、非数字、明显不合逻辑 → 数据无效(**高**,退回)。 + - 单笔 **> 5000 元** → 进入大额关注区,需有充分事由与发票支撑(**中**)。 + - 单笔 **> 10000 元** 且**未附任何超额审批说明 / 事由不足以支撑** → 大额且依据不足(**高**,退回)。 + - 单笔 > 10000 元但事由清晰、发票齐全、有合理支撑 → 仍属大额,**中**(放行但强提示人工核对权限与预算)。 - 严重度:高 / 中(按上述)。 ### 3. 费用类型与事由一致性 —— 字段 `category` × `reason` - 检查:`category` 与 `reason` 描述是否吻合。 -- 异常:类型为“差旅”但事由是“团队聚餐”等明显不符(**中**)。 -- 严重度:**中**。 +- 异常: + - 类型与事由**明显矛盾**(如 category=travel 但 reason=团队聚餐 / category=office 但 reason=请客户吃饭)→ 分类错误或借差旅名目报餐饮等,**高**(退回,要求改正类型或事由)。 + - 类型与事由**部分不贴合、表述含糊**但不矛盾 → **中**。 +- 严重度:高 / 中。 ### 4. 事由充分性 —— 字段 `reason` -- 检查:事由是否具体、能说明用途。 -- 异常:事由过于简略(少于约 4 个有效字、或仅写“报销”“费用”等)→ 无法判断用途(**低**)。 -- 严重度:**低**。 +- 检查:事由是否具体、能独立说明“谁、为什么、用途”。 +- 异常: + - 事由**缺失、仅写“报销/费用/支出/日常”等无信息词、或少于约 6 个有效字** → 无法判断用途(**中**,退回;事由是合规的基本要件,不是可有可无的补充)。 + - 事由有内容但偏笼统、缺关键要素(如无对象、无场景)→ **低**。 +- 严重度:中 / 低。 ### 5. 金额与事由的合理性(真实性嗅探)—— `amount` × `reason` × `category` -- 检查:金额相对事由/类型是否离谱。 -- 异常:如“一次工作午餐”报销上万元、办公用品报销远超常识 → 疑似异常(**中/高**,视偏离程度)。 -- 严重度:中 / 高。 +- 检查:金额相对事由/类型是否离谱、是否偏离常识区间。 +- 异常: + - 金额相对事由**严重离谱**(如“一次工作午餐”上万元、“买打印纸”报数千元、单人差旅日均明显超常识)→ 疑似虚报/夸大(**高**,退回)。 + - 金额**偏高但尚在可解释范围** → **中**。 +- 严重度:高 / 中。 -### 6. 重复报销 / 拆分报销嫌疑 —— `amount` × 阈值 -- 检查:金额是否“恰好卡在阈值下方”、是否疑似把大额拆成多笔规避审批。 -- 异常:金额逼近且略低于限额(如 9800、9900)且无合理说明 → 拆分嫌疑(**中**)。 -- 提示:若提供了历史报销上下文,检查是否与近期单据重复(同金额同日期同事由 → **高**)。 -- 严重度:中 / 高。 +### 6. 重复报销 / 拆分报销嫌疑 —— `amount` × 阈值 × 历史 +- 检查:金额是否“恰好卡在阈值下方”、是否疑似把大额拆成多笔规避审批、是否与历史单据重复。 +- 异常: + - 金额逼近且略低于限额(如 4800、4900、9700、9800、9900 等卡点值)且无合理说明 → 拆分嫌疑(**高**,退回,要求说明或合并)。 + - 提供历史上下文时,出现**同金额+同日期+同事由**或高度相似单据 → 重复报销(**高**,退回)。 + - 金额为**异常规整的大整数**(如正好 5000、8000、10000)且事由笼统 → 疑似估报/凑整(**中**)。 +- 严重度:高 / 中。 -### 7. 时效性 —— 字段 `date`/`occurred_at`(若有) -- 检查:费用发生日期距今是否超期(如超过 90 天)。 -- 异常:明显超期且无说明(**低/中**)。 -- 严重度:低 / 中。无该字段则跳过,不报问题。 +### 7. 私人消费 / 非业务支出特征 —— `category` × `reason` +- 检查:事由是否透出个人消费、与公务无关的迹象。 +- 异常:事由出现明显私人性质字眼(如个人购物、家庭用品、礼品送人无对象说明、娱乐消费、个人罚款等)且无业务关联说明 → 疑似私费公报(**高**,退回)。 +- 严重度:**高**(无相关迹象则跳过)。 -### 8. 发票抬头/税务信息 —— 若数据中含发票明细 -- 检查:抬头是否为公司主体、是否个人抬头、税号是否缺失。 -- 异常:个人抬头报销公司费用、关键税务字段缺失(**中**)。 -- 严重度:**中**。无相关数据则跳过。 +### 8. 时效性 —— 字段 `date`/`occurred_at`(若有) +- 检查:费用发生日期距今是否超期。 +- 异常: + - 超过 **90 天**且无说明 → 超期(**中**)。 + - 超过 **半年/跨年度**且无说明 → 严重超期,可能影响账期(**高**,退回,要求说明)。 +- 严重度:中 / 高。无该字段则跳过,不报问题。 + +### 9. 发票抬头 / 税务信息 —— 字段 `buyer_name` `buyer_tax_no` `seller_name` +- 检查:购买方抬头 `buyer_name` 是否为公司主体(非个人)、购买方税号 `buyer_tax_no` 是否缺失、`seller_name` 与事由是否吻合、发票金额是否与报销 `amount` 一致。 +- 比对优先级: + - **若上游提供「本公司发票抬头基准」(公司抬头 / 公司税号)**:`buyer_name` 与公司抬头不一致(含个人抬头、写成销售方、写成关联公司等)→ **高**(退回);`buyer_tax_no` 与公司税号不一致 → **高**(退回);`buyer_name` 为空、无法核对 → **中**(提示确认)。 + - **若未提供基准**:用启发式判断——`buyer_name` 形如个人姓名(含“先生/女士/个人”,或 2–4 字且不含“公司/企业/中心/厂/店/所/院/校/部”等机构词)→ 疑似个人抬头报公司费用,**高**(退回);公司类抬头但 `buyer_tax_no` 缺失 → **中**。 +- 其他异常: + - **发票金额与报销 `amount` 不一致** → **高**(退回)。 + - 抬头/税务信息不完整但不矛盾 → **中**。 +- 严重度:高 / 中。`buyer_name` 等字段全部缺失(如车票/行程单等无抬头票据)则本条跳过,不因缺抬头本身报“高”。 + +### 10. 数据自洽与可疑信号 —— 跨字段 +- 检查:各字段是否相互矛盾(如类型 office 但发票为餐饮发票)、是否含明显占位/测试数据(如 reason=test、amount=1)。 +- 异常:字段间矛盾、疑似测试/占位数据、信息明显不足以核验真实性 → **高**(退回,宁缺毋滥)。 +- 严重度:**高**(无此类信号则跳过)。 > 字段标注约定:当某条发现指向具体字段时,**用字段英文 key**(`amount`/`category`/`reason`/`invoice_img` 等)标注,方便下游结构化。 -## 判定与结论规则 +## 判定规则:先定决策,再写说明(从严) -综合所有发现,给出**总体判定**(三选一),映射关系如下(下游会据此路由): +两个字段分两步独立产出,**顺序不能反、内容不能串**: -| 总体判定 | 触发条件 | 下游含义 | -|---|---|---| -| **审批不通过** | 存在任一**高**级硬性缺陷(如缺发票、金额无效、疑似重复/造假) | 退回发起人修改后重新提交 | -| **需关注** | 无硬性缺陷,但存在一个或多个**中**级风险 | 进入人工审批,提醒审批人重点关注 | -| **通过** | 无风险,或仅有**低**级提示 | 建议人工审批通过 | +### 第一步:定【审核决策】(放行 / 退回,二选一) -置信度:根据信息完整度与判断确定性给出 `高/中/低`(或 0–100% 区间)。信息缺失越多、判断越主观,置信度越低。 +依次判断,命中任一条即 **退回**: + +| 命中情况 | 决策 | +|---|---| +| ① 存在任一 **高** 级缺陷(缺发票、金额无效、类型与事由矛盾、虚报嫌疑、拆分/重复嫌疑、私费公报、严重超期、字段矛盾、大额无依据等) | **退回** | +| ② **没有高级缺陷,但累计存在 ≥ 2 条“中”级风险**(多个中级风险叠加,整体真实性/合规性已不可靠) | **退回** | +| ③ 仅有 **1 条“中”级风险或仅“低”级风险** | **放行**(在说明里提示) | +| ④ 完全无风险 | **放行** | + +> 与旧版相比的从严点: +> 1. 更多场景被定为“高”(类型矛盾、虚报、拆分、私费、大额无依据、字段矛盾等)。 +> 2. **中级风险会叠加**:单条中级放行,但 ≥2 条中级即退回。 +> 3. **fail-closed**:真实性无法核验、信息不足以排除风险时,按“高”处理、倾向退回。 + +### 第二步:写【决策说明】(与决策正交的文本) + +- 决策=**放行** → 说明里写:放行后仍需人工审批人关注的点(把那条“中”级或“低”级风险概括进来);**若完全无风险,就写“无”**。 +- 决策=**退回** → 说明里写:导致退回的缺陷是什么(逐条点明高级缺陷,或指出是哪几条中级风险叠加)、需要发起人怎么改。 + +置信度:根据信息完整度与判断确定性给出 `高/中/低`(或 0–100% 区间)。信息缺失越多、判断越主观,置信度越低。**注意:置信度低不改变从严倾向——信息越不足,越应倾向退回。** ## 输出格式(Output Format) **只输出下面这种结构化中文文本,不要输出 JSON、不要用代码块包裹。** 按固定小标题组织,便于下游 LLM 抽取: ``` -【审核结论】通过 / 需关注 / 审批不通过(三选一) -【一句话摘要】用一句话说明结论原因。 +【审核决策】放行 / 退回(二选一,这是唯一驱动流程的字段) +【决策说明】放行时写需提醒审批人关注的点(无则“无”);退回时写退回修改的理由。 +【一句话摘要】用一句话说明本次决策的核心原因。 【置信度】高 / 中 / 低(或百分比) -【建议动作】建议通过审批 / 建议进入人工审批并关注以下风险 / 建议退回发起人修改 【风险发现】 1. 字段:invoice_img | 严重度:高 | 问题:未上传发票,无法核验报销真实性 | 建议:补充发票凭证后重新提交 -2. 字段:amount | 严重度:中 | 问题:报销金额 15000 元超过单笔 10000 元阈值 | 建议:拆分报销或补充审批说明 +2. 字段:amount | 严重度:中 | 问题:报销金额 8000 元超过 5000 元大额关注线 | 建议:补充事由细节或审批说明 ...(无风险时写“无”) -【说明与假设】列出做判断时假设的前提、缺失的上下文(如未提供历史报销记录、无费用日期等)。 +【说明与假设】列出做判断时假设的前提、缺失的上下文(如未提供历史报销记录、无费用日期等),以及因信息不足而做出的从严取舍。 ``` 要求: -- `【风险发现】`每条固定四段:`字段 | 严重度 | 问题 | 建议`,用全角竖线 `|` 分隔。 -- 严重度只用 `高/中/低`。 -- 结论必须与风险发现自洽:有“高”必为“审批不通过”,最高为“中”则“需关注”,全“低”或无则“通过”。 + +- 【审核决策】**只能填“放行”或“退回”**,不得出现第三种值、不得写“需关注/通过/不通过”等含糊词。 +- 【决策说明】与【审核决策】严格对应:放行时是“关注点/无”,退回时是“退回理由”,不要在放行的说明里写得像要打回。 +- 【风险发现】每条固定四段:`字段 | 严重度 | 问题 | 建议`,用全角竖线 `|` 分隔;严重度只用 `高/中/低`。 +- 自洽性: + - 有任一“高”级风险 ⇒ 决策必为“退回”。 + - “中”级风险 ≥ 2 条 ⇒ 决策必为“退回”。 + - 仅 1 条“中”级或仅“低”级 ⇒ 决策为“放行”。 ## Workflow 1. 解析输入的报销字段(amount/category/reason/invoice_img 等)。 -2. 按“审核要点清单”8 类逐项检查,记录命中的风险(字段、严重度、问题、建议)。 -3. 按“判定与结论规则”汇总出总体判定与建议动作。 -4. 评估置信度。 -5. 按“输出格式”输出结构化文本,**不要输出 JSON**。 +2. 按“审核要点清单”10 类逐项检查,记录命中的每条风险(字段、严重度、问题、建议)。 +3. **第一步定决策(从严)**: + - 有“高”级缺陷?→ 退回。 + - 无高级但“中”级 ≥ 2 条?→ 退回。 + - 否则 → 放行。 + - 信息不足以核验真实性时,按“高”处理、倾向退回。 +4. **第二步写说明**:放行则概括关注点(无则“无”),退回则逐条写明退回理由与整改要求。 +5. 评估置信度(信息越不足越低,但不改变从严倾向)。 +6. 按“输出格式”输出结构化文本,**不要输出 JSON**。 ## Examples -### 示例 1:缺发票 → 审批不通过 +### 示例 1:缺发票 → 退回 输入: ``` amount=800, category=meal, reason=团队聚餐, invoice_img=(空) ``` 输出风格: ``` -【审核结论】审批不通过 -【一句话摘要】未上传发票,无法核验报销真实性,需补票后重新提交。 +【审核决策】退回 +【决策说明】未上传发票,无法核验报销真实性,需补票后重新提交。 +【一句话摘要】缺少发票这一硬性凭证,无法核验真实性。 【置信度】高 -【建议动作】建议退回发起人修改 【风险发现】 1. 字段:invoice_img | 严重度:高 | 问题:未上传发票照片,无法核验报销真实性 | 建议:补充发票凭证后重新提交 @@ -151,35 +227,73 @@ amount=800, category=meal, reason=团队聚餐, invoice_img=(空) 【说明与假设】未提供历史报销记录,仅基于当前单据字段判断。 ``` -### 示例 2:超额但有发票 → 需关注(进人工) +### 示例 2:大额且事由不足 → 退回(从严升级) 输入: ``` -amount=15000, category=travel, reason=出差北京参加客户签约会议, invoice_img=http://img/inv.png +amount=15000, category=travel, reason=出差, invoice_img=http://img/inv.png ``` 输出风格: ``` -【审核结论】需关注 -【一句话摘要】金额超单笔阈值但发票齐全、事由清晰,建议进入人工审批并关注金额。 +【审核决策】退回 +【决策说明】金额 15000 元超 10000 元大额线,而事由仅“出差”二字,无法支撑如此大额的合理性;请补充出差目的、地点、天数及费用构成后重新提交。 +【一句话摘要】大额报销叠加事由严重不足,依据不充分,按从严原则退回。 【置信度】中 -【建议动作】建议进入人工审批并关注以下风险 【风险发现】 -1. 字段:amount | 严重度:中 | 问题:报销金额 15000 元超过单笔 10000 元阈值 | 建议:补充超额审批说明或按规定拆分 +1. 字段:amount | 严重度:高 | 问题:金额 15000 元超 10000 元阈值且无审批说明、事由不足以支撑 | 建议:补充超额审批说明与费用明细 +2. 字段:reason | 严重度:中 | 问题:事由仅“出差”,缺目的、地点、构成,无法判断用途 | 建议:补全事由细节 -【说明与假设】差旅标准与部门预算未提供,金额合理性以常识判断。 +【说明与假设】差旅标准与部门预算未提供;因事由过简且金额大,按从严原则退回核实。 ``` -### 示例 3:正常小额 → 通过 +### 示例 3:超额但事由清晰、发票齐全 → 放行(说明里写关注点) 输入: ``` -amount=120, category=office, reason=采购办公用打印纸, invoice_img=http://img/2.png +amount=15000, category=travel, reason=出差北京3天参加客户A签约会议,含机票4200/酒店6800/餐饮地接4000, invoice_img=http://img/inv.png ``` 输出风格: ``` -【审核结论】通过 +【审核决策】放行 +【决策说明】金额超 10000 元大额线,请审批人重点核对超额合理性、审批权限与差旅标准;事由具体、含费用构成、发票齐全,无硬性缺陷,仅此一条大额关注。 +【一句话摘要】大额属唯一“中”级风险,事由与发票充分,放行进入人工审批并强提示金额。 +【置信度】中 + +【风险发现】 +1. 字段:amount | 严重度:中 | 问题:报销金额 15000 元超 10000 元大额关注线 | 建议:审批人核对超额审批权限与差旅标准 + +【说明与假设】差旅标准与部门预算未提供,金额合理性以事由构成与常识判断。 +``` + +### 示例 4:两条中级风险叠加 → 退回(叠加规则) +输入: +``` +amount=8000, category=office, reason=日常采购, invoice_img=http://img/2.png +``` +输出风格: +``` +【审核决策】退回 +【决策说明】金额 8000 元超 5000 元大额关注线(中),且事由“日常采购”笼统、无法判断具体用途(中);两条中级风险叠加,整体合理性不可靠,请补充采购明细与用途说明后重新提交。 +【一句话摘要】大额叠加事由笼统,两条中级风险触发从严退回。 +【置信度】中 + +【风险发现】 +1. 字段:amount | 严重度:中 | 问题:金额 8000 元超 5000 元大额关注线 | 建议:补充采购明细 +2. 字段:reason | 严重度:中 | 问题:事由“日常采购”笼统,无法判断具体用途 | 建议:补全采购物品与用途 + +【说明与假设】未提供采购清单与历史记录;依据中级风险叠加规则退回核实。 +``` + +### 示例 5:正常小额 → 放行(说明为“无”) +输入: +``` +amount=120, category=office, reason=采购办公用A4打印纸5包, invoice_img=http://img/2.png +``` +输出风格: +``` +【审核决策】放行 +【决策说明】无。 【一句话摘要】金额小、类型与事由一致、发票齐全,无明显风险。 【置信度】高 -【建议动作】建议通过审批 【风险发现】无 @@ -189,7 +303,10 @@ amount=120, category=office, reason=采购办公用打印纸, invoice_img=http:/ ## Guidelines - **只输出文本**,绝不输出 JSON / 代码 / Markdown 表格作为最终结论(示例里的代码块仅为演示排版,实际回复直接给文本)。 -- 判定要**稳定可复现**:同样的输入应给出同样的结论,便于下游提取与回归测试。 -- 缺少可选上下文(历史记录、预算标准、日期)时,在`【说明与假设】`里说明,不要凭空编造数据,也不要因此拒绝出结论。 -- 这是**初审辅助**,不替代财务/审计的最终判断;措辞用“疑似/建议/需关注”,不下绝对定论。 -- 严重度与总体判定必须自洽(见“判定与结论规则”),避免“有高风险却判通过”这类矛盾。 +- **决策与说明分离是铁律**:先用判定规则定出放行/退回,再独立去写说明。不要因为“有点想关注”就模糊决策,也不要因为“东西基本齐”就在说明里淡化必须退回的缺陷。 +- **从严是本版本的基调**:真实性无法核验、合规存疑、信息不足以排除风险时,**默认退回**。把“能不能证明这笔钱是真实、合规、与公务相关的”作为放行的前提,而不是“没抓到明显问题就放”。 +- **中级风险会叠加**:单条中级放行并提示;≥2 条中级即退回。统计中级条数时如实计数,不要为了放行而合并或淡化。 +- 判定要**稳定可复现**:同样的输入应给出同样的决策,便于下游提取与回归测试。 +- 缺少可选上下文(历史记录、预算标准、日期)时,在 `【说明与假设】` 里说明,并按从严方向取舍;不要凭空编造数据,也不要因此拒绝出决策。 +- 这是**初审辅助**,不替代财务/审计的最终判断;措辞用“疑似/建议/需核实”,不下绝对定论,但从严不等于含糊——退回理由要具体、可整改。 +- 决策与风险严重度必须自洽:有“高”必“退回”;中级 ≥2 必“退回”;仅 1 条中级或仅低级必“放行”。避免“有高风险却放行”“多条中风险却放行”这类矛盾。