# Credit Risk Cot

> 对公授信客户信贷风险逆向思维链(CoT)生成技能。给定原始信贷数据和目标风险点,深度模拟资深风险经理的研判逻辑,构建逻辑严密、证据确凿的推理链,解释为何从该数据能推导出该风险结论。触发词包括:"风险推理链生成"、"思维链分析"、"CoT生成"、"帮我分析一下这个风险点"、"生成思维链"、"这个结论的数据支撑是什么"、"风险点数据支撑分析"。不适用于:无原始数据的纯猜测分析、个人信贷风险评估、非风险类的正向财务分析、贷后风险监测(请使用loan-risk-monitor)。

- Skill: `aliyun/credit-risk-cot` (Agent Skill, multi-file: 16 files)
- Install (CLI): `npx skillmds@latest add aliyun/credit-risk-cot`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aliyun/credit-risk-cot/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: aliyun (https://skillmd.com/u/aliyun)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/aliyun/credit-risk-cot

---


## 目标角色 (Target Role)

- **角色**：信贷风险分析师 / 信审人员
- **使用场景**：贷前尽调、年度贷后复检、风险报告质检、授信审批答辩——需要向审贷委员会提交逻辑完整的风险分析
- **输出用途**：生成结构化推理链，作为风险结论的数据支撑和逻辑证据
- **决策层级**：信息辅助，为授信决策提供逻辑依据，不得直接作为审批结论
- **执行频率**：按需执行，每次授信申请或风险事件触发一次

## 数据接入 (Data Sources)

### 必需数据
| 数据项 | 来源 | 获取方式 | 敏感级别 |
|--------|------|---------|----------|
| 原始信贷数据（财务报表/信贷报告） | 用户上传 | 文件上传 | 内部 |
| 目标风险点 | 用户指定 | 对话输入 | 内部 |
| 行业背景信息 | 用户提供 / references/ | 对话输入或文件读取 | 公开 |
| 行业基准数据 | references/industry-benchmarks.md | 文件读取 | 公开 |

### 数据脱敏规则
- 企业统一社会信用代码：显示前 6 后 4，中间用 `*` 替代
- 银行账号：仅显示后 4 位
- 个人身份证号：显示前 3 后 4，中间用 `*` 替代
- 押品详细地址：不在输出中完整展示，仅展示区域和类型

### 降级策略
- 如果原始信贷数据为空或缺失：**必须立即终止分析，不输出任何内容**（核心约束）
- 如果行业背景信息缺失：标注"未纳入行业对标维度"，仅做个体分析
- 如果财务报表仅覆盖 1 年：标注"数据不足，趋势分析不可用"，仅做静态分析
- 如果报表口径不清晰（无法区分合并/母公司）：标注"报表口径存疑，分析基于合并报表假设"

## 术语消歧 (Terminology)

| 易混淆术语 | 本 Skill 中含义 |
|-----------|----------------|
| 合并报表 vs 母公司口径 | 合并报表数据只与合并报表数据对比，母公司口径只与母公司口径对比，严禁混用 |
| DSCR（债务覆盖率） | 经营现金流 / 当期应还本息，非 EBITDA/利息 |
| 净现比 | 经营现金流净额 / 净利润，衡量利润质量 |
| 在建工程 | 尚未完工转固的资本性支出，非存货或固定资产 |
| 产能利用率 | 实际产量 / 设计产能，行业对标关键指标 |
| 账龄 | 应收账款自确认之日起至分析时点的时间跨度，非逾期天数 |

## 执行流程 (Workflow)

> **先读后写**：在开始任何推理之前，必须先执行以下数据确认步骤：
> 1. 读取并列出所有输入数据（财务报表、信贷报告、目标风险点）
> 2. 确认数据的时间范围、会计准则（CAS/IFRS）和报表口径（合并/母公司）
> 3. 运行 `scripts/validate_financial_data.py` 验证数据完整性和勾稽关系
> 4. 仅在验证通过后进入步骤 1

### 步骤 1：信号识别

从原始信贷数据中精确引用与目标风险点相关的初步异常信号，按以下维度逐项排查：
- 资产负债：在建工程/存货/其他应收款连续多期同比大幅增长
- 盈利能力：毛利率/净利率呈现持续下滑趋势
- 现金流：经营现金流与净利润持续背离（净现比 < 0.5）
- 规模匹配：存货增速显著高于营业收入增速；应收账款增速超收入增速 50pct+

**防偷懒指令**：
- 不得跳过任何维度，即使某些维度"看起来正常"
- 所有引用数据必须与原文完全一致（含单位、小数位）
- 必须展示"中间跳板"，不能直接说"A导致C"
- 证据不足时，承认不足，不捏造数据

查阅 `references/cot-signal-library.md` 获取完整信号类型库。

- ✅ 识别到有效信号 → 进入步骤 2
- ❌ 原始数据中无任何可验证信号 → 终止该风险点分析，不输出任何内容
- ⚠️ 部分信号数据不足 → 标注"（数据不足，待核实）"，进入步骤 2

> 📋 数据来源：`user_upload`（用户上传财务报表/信贷报告）

### 步骤 2：行业趋势验证

获取细分行业公开数据，验证企业行为是否符合行业整体趋势，区分"个体问题"与"行业系统性风险"。

查阅 `references/industry-benchmarks.md` 获取行业基准数据。

**查核要点**：
- 全行业新增产能增长率是否远超下游终端需求增长率
- 产能利用率、价格走势、行业整体盈利状况
- 若行业已出现供过于求迹象，企业面临的风险将显著放大

- ✅ 行业数据获取成功 → 进入步骤 3
- ⚠️ 行业数据不可用 → 标注"未纳入行业对标维度"，进入步骤 3

> 📋 数据来源：`reference`（references/industry-benchmarks.md）

### 步骤 3：政策驱动力分析

研究相关国家及地方产业政策，判断政策对行业的当前影响方向（支持/中性/收紧）。

查阅 `references/policy-regulatory-framework.md` 获取监管文件清单。

**判断要点**：
- 前期是否存在鼓励性补贴、低门槛准入或过度宽松审批
- 当前政策方向是否已转向收紧，对企业盈利中枢的量化影响

- ✅ 政策分析完成 → 进入步骤 4
- ⚠️ 无明确政策文件可引用 → 标注"（政策信息不足）"，进入步骤 4

### 步骤 4：技术替代可能性评估

研判目标技术路线的生命周期位置，评估新技术对当前主业的替代威胁。

**评估维度**：
- 是否存在新技术方案对当前主流技术形成替代威胁
- 新技术的转换效率、生产成本、产业化成熟度
- 替代时间窗口估计及置信度说明

- ✅ 评估完成 → 进入步骤 5
- ⚠️ 技术信息不足以判断替代趋势 → 标注"（推断）"，进入步骤 5

### 步骤 5：财务后果敏感性测算

建立简化财务模型，对最坏情景进行压力测试，量化风险传导至还款能力的路径。

查阅 `references/financial-stress-test-params.md` 获取压力测试参数。

**测算要素**：
- 假设未来3年行业平均产能利用率低于盈亏平衡点
- 估算额外折旧摊销费用，计提相应资产减值准备金额
- 计算叠加后对企业 EBITDA / 净利润 / 经营现金流的侵蚀程度
- 将压力情景下的 DSCR 与授信条款约束对比

**输出格式**：以"收入下降X% → 毛利率变化Y pct → 净利润减少Z% → DSCR = W"的链式表达呈现。

- ✅ 测算完成 → 进入步骤 6
- ❌ 财务数据不足以建立模型 → 标注"数据不足，无法执行压力测试"，进入步骤 6

### 步骤 6：综合判断与授信建议

结合以上五步分析结果，形成因果链闭合判断，对齐目标风险点，给出授信决策参考。

**判断逻辑**：
- 若企业处于技术迭代前沿且具备强大研发实力 → 风险可能转化为机遇，可适度维持授信
- 若企业属于跟风式扩产且缺乏核心技术护城河 → 视为高风险客户，建议收紧授信

**授信决策参考输出**：
- 审慎评估长期偿债能力，给出具体阈值（如"DSCR < 1.2 时建议降额"）
- 考虑降低授信额度或缩短授信期限
- 要求补充抵押担保或增加财务约束条款（covenant）
- 或将企业列入重点关注名单，设定贷后监控触发指标

> 📋 执行主体：`ai→human`（AI 生成推理链 → 信审人员确认）
> 📋 确认机制：`approve`（推理链结论须人工审核确认）

## 输出格式 (Output Format)

### 逻辑思维链推导

```
### 逻辑思维链推导

#### 推理链

**【数据源1】** 只可引用原文数据，不可自行杜撰
- 依据：[完整复制原文内容]
- 来源：[标注数据来自哪个报表/哪个年份]

**【推导】** 基于数据源的逻辑推演
- 现象：数据表明...
- 推导：这一变化意味着...
- 影响：进而导致...

**【结论】**
综上，推导出...

**【基于因果链的逻辑推导步骤】**
1. 信号识别：[结论]
2. 行业趋势验证：[结论]
3. 政策驱动力分析：[结论]
4. 技术替代可能性评估：[结论]
5. 财务后果敏感性测算：[链式表达]
6. 综合判断与授信建议：[具体阈值]

### 最终综合结论
综合上述所有推理链，【原始信贷数据】充分支撑了【目标风险点】，核心逻辑为：...
（若证据不足，则仅输出："证据不足，无法构建有效推理链"）
```

### 输出字段规范
| 字段 | 类型 | 说明 |
|------|------|------|
| 数据源引用 | string | 必须标注来源（报表类型 + 年份 + 科目） |
| 推导过程 | array | [现象, 推导, 影响] 三段式 |
| 六步结论 | array | [步骤1-6 结论] |
| 不确定性标注 | enum | 必须标注"（推断）"或"（数据不足，待核实）" |
| 量化阈值 | string | 授信建议须附具体数值（如 DSCR < 1.2） |

> 📋 本输出可被 credit-risk-classification 和 post-loan-management Skill 解析使用。

## 合规红线 (Constraints)

1. **无数据时终止**：若原始信贷数据为空或缺失，或推理过程出现"无法验证"、"数据不足"，必须立即终止该风险点分析，不输出任何内容（含标题），直接跳过。
2. **禁止捏造数据**：只能使用原始信贷数据中明确出现的数字，禁止虚构任何数字。引用数字必须与原文完全一致（含单位、小数位）。
3. **禁止收益承诺**：任何情况下不得出现"预计恢复"、"有望好转"、"回收率预计 X%"等确定性表述。
4. **禁止数据猜测**：缺失数据须按降级策略处理，严禁用行业平均值替代真实数据（行业平均值仅用于对标比较）。
5. **报表口径一致性**：合并报表数据只与合并报表数据对比，母公司口径数据只与母公司口径数据对比，严禁混用。
6. **数据时效性标注**：如果引用的行业基准数据超过标注有效期，必须在输出中标注"⚠️ 行业基准数据可能已过时"。
7. **六步全覆盖**：每份 CoT 输出须经过全部6步推导框架，缺少任意步骤须在报告中说明跳过原因。
8. **正反证据均衡**：每个风险点须同时呈现支持该风险的证据和可能弱化该风险的例外情形，避免单向强化。
9. **不确定性显式标注**：基于推断（非原文数据）的结论须标注"（推断）"，数据缺失段须标注"（数据不足，待核实）"。
10. **禁止越权审批**：本 Skill 仅生成推理链和授信建议，不得代替人工审批或自动执行授信调整。

## 审计追踪 (Audit Trail)

每次推理链生成结束后，生成审计日志 `audit/{企业简称}_{日期}_cot_audit.json`：

```json
{
  "skill_name": "credit-risk-cot",
  "skill_version": "1.0.0",
  "execution_time": "YYYY-MM-DDTHH:mm:ss+08:00",
  "customer_id": "[脱敏]",
  "target_risk_point": "[用户指定的风险点]",
  "model": "claude-opus-4-7",
  "operator": "[姓名]（工号：[工号]）",
  "steps": [
    {
      "step": "数据确认与验证",
      "executor": "ai",
      "data_source": {"type": "user_upload"},
      "result": "通过/不通过",
      "duration_seconds": 0
    },
    {
      "step": "信号识别",
      "executor": "ai",
      "data_source": {"type": "user_upload"},
      "result": "通过/不通过/预警",
      "signals_found": 0
    },
    {
      "step": "行业趋势验证",
      "executor": "ai",
      "data_source": {"type": "reference"},
      "result": "通过/降级"
    },
    {
      "step": "政策驱动力分析",
      "executor": "ai",
      "data_source": {"type": "reference"},
      "result": "通过/预警"
    },
    {
      "step": "技术替代评估",
      "executor": "ai",
      "data_source": {"type": "context"},
      "result": "通过/预警"
    },
    {
      "step": "财务敏感性测算",
      "executor": "ai",
      "data_source": {"type": "user_upload"},
      "result": "通过/降级"
    },
    {
      "step": "综合判断与授信建议",
      "executor": "ai→human",
      "data_source": {"type": "context"},
      "confirmation": {"type": "approve", "approved_by": "[姓名]", "role": "信审人员"}
    }
  ],
  "warnings": ["如有"],
  "data_termination_triggered": false,
  "references_used": ["references/cot-signal-library.md", "references/industry-benchmarks.md", "..."]
}
```

审计日志保留期限 ≥ 3 年。

## 踩坑记录 (Gotchas)

### #1：无数据时未终止导致捏造推理链
- **症状**：原始数据中缺少关键科目数据，但推理链继续输出，引用了不存在的数字
- **原因**：忽略了"无数据时终止"的核心约束，模型自行推测补充数据
- **解决**：严格执行步骤 1 的终止条件——若数据缺失，立即终止该风险点分析，不输出任何内容

### #2：合并报表与母公司口径混用
- **症状**：将母公司利润表数据与合并资产负债表数据交叉使用，导致比率计算错误
- **原因**：未在执行流程开头确认报表口径，分析过程中随意切换口径
- **解决**：Workflow 开头"先读后写"阶段必须确认报表口径，全程保持一致；查阅 `references/financial-stress-test-params.md` 中的口径校验规则

### #3：账龄分析合并导致漏判
- **症状**：将不同账龄段（1年以内/1-2年/2-3年/3年以上）简单合并为一个总额，掩盖了长账龄异常增长
- **原因**：忽略了特定场景规范中"逐年、逐账龄段列出精确数值"的要求
- **解决**：涉及账龄分析时，必须逐年、逐账龄段列出精确数值，不得合并或模糊处理

### #4：行业对标错误——金融企业使用制造业指标
- **症状**：对银行/保险/券商等金融企业使用 Altman Z-score 等制造业风险指标，结果严重失真
- **原因**：未在执行流程开头识别企业行业分类，直接套用默认分析框架
- **解决**：步骤 1 信号识别前先确认企业所属行业，金融类企业跳过 Z-score 等制造业指标，改用 CAMELS 框架（见 `references/industry-benchmarks.md`）

## 质量要求 (Quality Requirements)

每次推理链生成完毕后，对照以下 8 条逐项自检，全部通过后方可输出：

1. **数据零捏造**：所有引用数字须与原始数据完全一致（含单位、小数位），无原文依据时须终止输出，不得补充推测。见 [Constraints #1](#合规红线-constraints)、[Constraints #2](#合规红线-constraints)。
2. **中间跳板完整**：推理链须包含完整传导路径（信号 → 现象 → 原因 → 影响 → 风险结论），禁止直接从信号跳结论。见 [Workflow 步骤 1](#步骤-1信号识别)。
3. **步骤六步全覆盖**：每份 CoT 输出须经过全部 6 步推导框架，缺少任意步骤须在报告中说明跳过原因。见 [Constraints #7](#合规红线-constraints)。
4. **数据来源显式标注**：每条引用数据须标注来源（报表类型 + 年份 + 科目），格式："（来自 2023 年合并利润表-营业收入）"。见 [Output Format](#输出格式-output-format) 输出字段规范。
5. **报表口径一致性**：合并报表数据只与合并报表数据对比，母公司口径数据只与母公司口径数据对比，严禁混用。见 [Constraints #5](#合规红线-constraints)、[Terminology](#术语消歧-terminology)。
6. **量化结论优先**：最终授信建议须附具体量化阈值（如"DSCR < 1.2 时建议降额至现有授信的 70%"），禁止纯定性表述。见 [Workflow 步骤 6](#步骤-6综合判断与授信建议)。
7. **正反证据均衡**：每个风险点须同时呈现支持该风险的证据和可能弱化该风险的例外情形，避免单向强化。见 [Constraints #8](#合规红线-constraints)。
8. **不确定性显式标注**：基于推断（非原文数据）的结论须标注"（推断）"，数据缺失段须标注"（数据不足，待核实）"。见 [Constraints #9](#合规红线-constraints)、[Output Format](#输出格式-output-format) 输出字段规范。

## 示例 (Examples)

### 示例 1：标准场景——在建工程异常增长的推理链

**用户输入**：
> 原始信贷数据：某化工企业 2021-2023 年合并资产负债表显示，在建工程从 2.1 亿增长至 8.7 亿（+314%），同期营业收入从 12.3 亿下降至 10.8 亿（-12%）。目标风险点：该企业存在盲目扩产风险，长期偿债能力存疑。行业：基础化工-聚氨酯。

**Skill 执行流程**：
1. 数据确认：读取财务报表 → 确认合并报表口径 → 验证勾稽关系 → 通过
2. 信号识别：精确引用在建工程增长 314%、营收下降 12% → 识别到"资产负债异常 + 规模不匹配"信号 → 通过
3. 行业趋势验证：查阅 industry-benchmarks.md → 聚氨酯行业产能利用率从 78% 降至 65%，全行业新增产能增长 45% → 行业系统性风险确认 → 通过
4. 政策驱动力分析：查阅 policy-regulatory-framework.md → "双碳"政策收紧高耗能化工项目审批 → 收紧方向 → 通过
5. 技术替代评估：新型环保材料对传统聚氨酯形成替代压力 → 预计 3-5 年 → 通过
6. 财务敏感性测算：假设产能利用率降至 55% → 收入下降 25% → EBITDA 覆盖利息不足 → DSCR = 0.8 → 通过
7. 综合判断：属于跟风式扩产，缺乏核心技术护城河 → 建议收紧授信，DSCR < 1.2 时降额

**输出摘要**：在建工程暴增 314% 与营收下降 12% 形成严重背离，行业产能过剩确认，政策收紧叠加技术替代压力，压力测试 DSCR = 0.8 低于安全线。建议审慎维持授信，设定 DSCR < 1.2 为降额触发条件。

### 示例 2：数据不足场景——终止输出

**用户输入**：
> 原始信贷数据：无原始数据源。目标风险点：该企业应收账款周转存在异常。

**Skill 执行流程**：
1. 数据确认：原始信贷数据为空 → 触发核心约束"无数据时终止"
2. 不执行任何分析步骤，不输出任何内容（含标题）

**输出**：（无输出，直接跳过）

## 非功能范围 (Out of Scope)

- 本 Skill 不执行贷前尽职调查或现场尽调（请使用尽职调查相关 Skill）
- 本 Skill 不生成授信审批结论或自动执行授信调整（仅生成推理链和建议）
- 本 Skill 不处理个人信贷/零售业务的风险分析
- 本 Skill 不替代人工判断——推理链须经信审人员审核确认后方可作为决策依据
- 本 Skill 不对原始信贷数据的真实性、准确性、完整性负责（数据由用户提供）
- 如果用户请求以上内容，明确告知并建议使用合适的 Skill 或联系相应部门

