| name | tyc-litigation-analysis |
| description | 诉讼风险分析 — 涉诉全景扫描 + 案件性质与执行风险深度分析,投资 / 法务 / 审计场景 |
| category | invest |
| version | 1 |
诉讼风险分析
触发条件
投资前诉讼风险专项、法务季度风控检视、审计风险识别、供应商/客户准入的诉讼尽调时触发。
关键词:诉讼、涉诉、裁判文书、被执行、失信、案件分析
输入要求
用户输入的企业标识可能是以下三种形式之一,Step 0 会按形式分流,不要急着把用户原话当成 searchKey 喂给后续步骤:
| 输入形式 | 示例 | 是否需要 L0 实体锚定 |
|---|
完整企业名(含组织形式后缀:有限公司 / 股份有限公司 / 集团 / 合伙企业 / 个体工商户 / 事务所 / 中心 等) | 北京字节跳动科技有限公司 / 腾讯科技(深圳)有限公司 | ❌ 跳过 L0,直接当 searchKey |
| 统一社会信用代码(USCC) 18 位大写字母+数字 | 91110108551385082Q | ❌ 跳过 L0,直接当 searchKey |
| 企业简称 / 曾用名 / 品牌名 / 模糊指代 | 字节 / 抖音 / 今日头条 / 乐视 / 阿里 | ✅ 必须先走 L0,由用户在候选中确认唯一企业,再拿 creditCode 作为 searchKey |
经过 Step 0 锚定后,下文 Step 1+ 的 searchKey 都指精确企业名或 USCC,调用方式不变。
执行流程
Step 0: 实体锚定(条件性 · L0 工具:search_companies)
目的:用户给的常常是简称、曾用名、模糊指代,下游所有步骤都依赖精确企业;先用 L0 把它消歧成唯一 creditCode,避免后续步骤在错主体上反复烧 token。
判定与分流:
-
若 userInput 匹配 USCC 正则 ^[0-9A-Z]{18}$ → 跳过 L0,searchKey = userInput
-
若 userInput 含组织形式后缀(有限公司 / 股份 / 集团 / 合伙企业 / 事务所 / 个体工商户 / 分公司 等)且长度 ≥ 6 → 跳过 L0,searchKey = userInput
-
否则(简称 / 曾用名 / 品牌名 / 任何看起来不完整的字符串)→ 必须走 L0:
- 调用
search_companies (searchKey: userInput)
- 在返回
items[] 中默认按 regStatus ∈ {存续, 在业, 在营, 开业} 过滤,按 regCapital 倒序取 Top 5 作为候选展示
- 候选 = 1 → 自动锚定,
searchKey = items[0].creditCode
- 候选 ≥ 2 → 暂停执行,向用户输出候选清单(
name / creditCode / regStatus / regLocation / legalPersonName)请求确认,待回复后取选定企业的 creditCode 作为 searchKey
- 候选 = 0 → 终止流程,提示"未找到匹配企业,请提供更完整的名称或换关键词"
对用户的话术(候选 ≥ 2 时):
你说的「{userInput}」匹配到 N 家企业,请确认是哪一家:
| # | 企业名称 | USCC | 状态 | 法定代表人 | 注册地 |
|---|
| 1 | … | … | 存续 | … | … |
| 2 | … | … | 存续 | … | … |
回复编号(1-N)以继续,或回复"都不是"重新输入。
Step 1: 案件数量与类型分布
get_judicial_documents — 裁判文书
get_judicial_case — 司法案件
get_case_filing_info — 立案信息
get_court_notice — 开庭公告(在途案件)
Step 2: 执行端风险
get_dishonest_info — 失信被执行人
get_judgment_debtor_info — 被执行人
get_high_consumption_restriction — 限高
get_terminated_cases — 终本案件
get_judicial_auction — 司法拍卖
Step 3: 案件深度(对 TOP 5 重大案件)
get_lawsuit_detail — 逐案详情
- 识别:案由 / 标的额 / 原被告位 / 当前阶段
Step 4: 历史案件趋势
get_historical_judicial_docs — 历史裁判文书
- 对比最近 3 年趋势
输出格式
# 诉讼风险分析报告 — {name}
> 出具: {ISO8601} · 企业代号: {creditCode}
## 一、涉诉总量
| 维度 | 数量 | 备注 |
|------|------|------|
| 裁判文书 | {n} 篇 | |
| 司法案件 | {n} 件 | |
| 立案信息 | {n} 条 | 含在途 |
| 开庭公告(未来) | {n} 条 | 近 90 天 |
## 二、案件类型分布
| 案由 | 数量 | 占比 | 作为原告 | 作为被告 |
|-----|------|------|---------|---------|
| 买卖合同 | ... | ... | ... | ... |
| 劳动争议 | ... | ... | ... | ... |
| 侵权 | ... | ... | ... | ... |
> 原告占比 {ratio}: 正常商业维权 / 高频起诉(警示)
## 三、执行端风险
### 失信记录
- 失信被执行人: {n} 次
- 最近失信: {YYYY-MM-DD}
- 最大标的: ¥{amount}
### 被执行人
- 累计被执行次数: {n}
- 累计标的金额: ¥{amount}
- 未结清金额: ¥{amount}
### 限制消费
- 限高记录: {n} 条
### 终本案件
- 终本次数: {n}(终本 = 法院暂无财产可执行)
- 终本未结标的: ¥{amount}
### 司法拍卖
- 被司法拍卖资产: {n} 项
## 四、TOP 5 重大案件深度
### 案件 #1
- 案号: {caseNo}
- 案由: ...
- 标的额: ¥...
- 当事人位置: 原告 / 被告
- 当前阶段: 一审 / 二审 / 执行
- 案件摘要: ...
...
## 五、历史趋势
| 年份 | 涉诉数量 | 败诉率 | 标的额 |
|------|---------|-------|--------|
| {YYYY-3} | ... | ... | ... |
| {YYYY-2} | ... | ... | ... |
| {YYYY-1} | ... | ... | ... |
趋势判断: 上升 / 持平 / 下降
## 六、风险结论
- **综合诉讼风险等级: 低 / 中 / 高 / 极高**
- 主要风险点: ...
- 投资 / 合作影响:
- 低: 可推进
- 中: 限制条款 / 保证金
- 高: 谢绝 / 强担保
错误处理
- 若 Step 0 候选 = 0 → 终止流程,提示"未找到匹配企业,请提供更完整的名称或 USCC",不要带着错主体往下跑
- 若 Step 0 候选 ≥ 2 而用户在合理时间内未回复 → 暂存上下文,不要自行选择第一条作为锚定(错锚定的代价远大于等待)
- 案件数为 0 → 正常结论,记"无公开涉诉"
- 历史数据
_empty → 该章节标注"无历史涉诉数据"
- 单案件详情失败 → 该案件标注
[!] 跳过,不影响整体
示例
输入: searchKey = "某曾涉诉企业名称"
新输入形态参考(Step 0 引入后的三种典型):
例 1(USCC 直通,跳过 L0):
输入: userInput = "91110108551385082Q" → Step 0 判定 USCC,searchKey = userInput,直接进 Step 1。
例 2(完整企业名直通,跳过 L0):
输入: userInput = "北京字节跳动科技有限公司" → Step 0 判定含 有限公司 后缀且长度 ≥ 6,searchKey = userInput,直接进 Step 1。
例 3(简称,必走 L0):
输入: userInput = "字节" → Step 0 调 search_companies (searchKey: "字节"),过滤存续后取 Top 5,向用户列出候选请求确认;用户回复"1"(北京字节跳动科技有限公司)→ searchKey = items[0].creditCode,再进 Step 1。
与其他 Skill 的关系
- 广义风险扫描 →
/tyc-health-scan
- 法律风险可视化 →
/tyc-legal-risk (legal)
- 债权回收专项 →
/tyc-debt-recovery (legal)