金融监管处罚日报智能体设计

用托管智能体每天定时下载监管机构行政处罚公示,结构化保存处罚记录并生成日报草稿,覆盖职责分工、技能封装、定时任务、按域代理与人工审核流程。

阅读时长:12 分钟更新于:2026-10-20
监管处罚日报智能体架构图

监管罚单是银行判断监管执法重点的直接依据,银行合规、法务和风险管理团队需要每日跟踪监管机构新增的处罚公示。按单次处理 2 个监管来源、32 条处罚公示记录的工作量估算,人工完成下载、整理、查重和日报起草约需 3 小时;Kimi 托管智能体每日定时触发,将这一过程缩短至 20 分钟。

本案例介绍监管公示下载、处罚记录结构化保存、日报草稿生成和人工审核的实现方式。读者可以将这一流程复用到其他监管来源和存储数据库。

Agent 架构总览

监管处罚日报智能体架构图

应用由三部分组成:

  • 监管机构网站:本案例以金融监管总局和中国人民银行的行政处罚公示为核心来源。智能体只读取公开页面,不登录、不提交表单。

  • Kimi 托管智能体:平台托管智能体、会话和每日定时任务。智能体用技能中的下载脚本获取新增内容,按统一字段抽取罚单和案由,调用处罚记录库接口保存记录,再查询当天数据生成日报草稿。

  • 企业自建服务:企业提供一个轻量的处罚记录库,负责校验、查重、保存罚单、查询报告数据集和保存日报草稿。本文只定义记录库的接口和业务规则,企业接入时实现为自定义工具,接已有数据库或业务服务。

一次每日运行的流程如下:

  1. 定时启动:Kimi 托管智能体的触发器每天早上创建一个新会话。

  2. 读取来源:下载脚本逐一读取来源清单中的网站,找到新增的列表、详情页或公示文件。

  3. 结构化抽取:智能体把不同页面形态统一整理为文号、当事人、案由、处罚内容、金额、机关、日期和来源链接。

  4. 保存和查重:处罚记录库按来源和文号保存记录,重复文号更新已有记录,保存时完成机构类型、省份和职能领域分类。缺文号的记录用机关、公示日期和当事人拼成查重键,照常保存。

  5. 生成日报:智能体查询统计日期范围的数据集,按固定口径生成 Markdown 草稿。

  6. 人工审核:合规人员核对来源、数字和异常记录,再决定是否发布。

日报之外,可以另外定义一个触发器按月运行,用同一套来源清单和处罚记录库生成月报;月报直接查询记录库中已保存的历史数据,不拼接每日草稿。

核心设计

各层职责分工

智能体的行为由三处定义:

层职责
技能(监管日报技能)来源清单、下载脚本、数据格式约定、报告写作规则
系统提示词读取、下载、抽取、保存、查数据集、生成草稿的步骤,以及行为边界(不登录、不编造文号、失败如实标记、数字只来自数据集、只存草稿)
首条消息(触发器带入)任务指令和配置(日报还是月报、必需来源、统计时区、交付方式)
  • 共享内容进入技能和提示词,私有要求进触发器首条消息:来源清单和格式约定很少变化,任务配置可能经常调整。

先落库处罚记录,再生成日报

从官方公示到草稿经过四步:

步骤数据形态智能体处罚记录库
读取公示官方页面和公示文件调用下载脚本并抽取不参与
保存记录处罚记录(含案由)调用保存接口校验、查重、分类
查询统计统计数据集调用查询接口,按日期范围取数按口径聚合、返回统计
生成草稿日报草稿按固定模板生成不参与,草稿待人工审核

罚单记录是事实,日报是派生产物。先进行事实落库意味着:

  • 同一罚单按文号查重,不会重复统计;

  • 统计口径变化后可以从记录重新计算,不必重读网站;

  • 日报中的每个数字都能回到具体记录和原文链接。

智能体和脚本的分工

脚本负责下载页面和公示文件、校验响应、控制分页。固定来源每天按固定脚本处理,无需依赖模型临时判断,确保行为可复现并便于定位失败原因。

智能体基于下载结果负责语义解析,包括理解行列关系、拆分罚单,以及按统一字段提取处罚内容和案由。

智能体直接读网页是遇到新来源时的探测手段:先让智能体直接读取入口,判断是列表、JSON、DOC 还是 HTML 表格,验证入口有效、格式可解析。探测时智能体可以用沙箱内置的网页读取工具,也可以调用 Kimi API 的 Web Fetch 接口;如果来源封禁平台共享出口(例如返回 403 错误页),按「来源网站封禁共享出口时配置按域代理」一节配置代理,改用在会话内下载的方式探测。验证稳定后,把读取方式固化成脚本和测试,以技能形式挂载,并添加来源进入主流程。

配置选择

模型选 kimi-k3。智能体需要理解不同监管网站的页面结构,抽取处罚字段并遵守固定的数据格式与报告口径。

各项资源的配置如下:

资源用途本案例的选择
智能体抽取处罚记录并生成日报草稿单智能体,kimi-k3
插件当前不需要下载与解析逻辑固化在监管日报技能和自定义工具中
技能来源清单、下载脚本、数据格式与报告规则监管日报技能
执行环境运行下载脚本和语义抽取通用云沙箱;来源封禁共享出口时按域配置代理
文件当前不需要公示由脚本下载,处罚记录写入企业处罚记录库
凭据库处罚记录库接口和代理认证创建触发器时通过 resources 绑定
触发器每日定时运行,月报可另建cron 30 8 * * *,new_session 模式
记忆库当前不需要跨天状态由处罚记录库保存,不依赖会话历史

运行成本

按单次处理 2 个监管来源、32 条处罚公示记录估算。模型输入按缓存未命中价计算,输出按输出价格计算,均见 kimi-k3 的 公开单价;沙箱按 托管智能体定价 的 ¥0.072 / 小时计算:

计费项估算用量估算成本
模型输入约 0.5–1.5M tokens约 ¥10–30
模型输出约 5–15K tokens约 ¥0.5–1.5
沙箱约 20 分钟约 ¥0.024
单次日报合计2 个来源、32 条记录约 ¥11–32
每月 30 次日报每日运行 1 次约 ¥316–946

同样是这批工作量,人工下载、整理、查重和起草约需 3 小时,智能体约需 20 分钟,耗时减少约 89%。以上为估算,实际用量随公示页数、附件篇幅、上下文缓存命中情况和返工轮次变化,以控制台账单为准。处罚记录库、企业代理和日报发布系统由企业自建,其基础设施与运维成本不计入上述费用。

从最小版本开始搭建

1. 准备处罚公示来源清单

处罚公示来源清单当前包含两个核心来源。来源 ID 是自定义的简短标识,用于在配置和报告中引用来源:

来源 ID来源入口 URL
nfra金融监管总局行政处罚https://www.nfra.gov.cn/cn/view/pages/ItemList.html?itemId=4113&itemName=%E6%80%BB%E5%B1%80%E6%9C%BA%E5%85%B3&itemPId=923&itemUrl=ItemListRightList.html&itemsubPId=931&itemsubPName=%E8%A1%8C%E6%94%BF%E5%A4%84%E7%BD%9A
pbc中国人民银行行政处罚公示https://www.pbc.gov.cn/zhengwugongkai/4081330/4081344/4081407/4081705/index.html

智能体只按清单读取,不自行增减来源。清单随下载脚本打包进技能,在第 3 节创建智能体时一并挂载。

2. 准备处罚记录库

智能体只需要三个接口:

保存处罚记录
查询报告数据集
保存日报草稿

记录库实现四类业务规则:

  • 校验:来源和批次标识必填,缺失整批拒收;文号和当事人同时缺失的单条记录拒收并进入复核;

  • 查重和保存:按来源和文号查重,相同文号更新已有记录;缺文号的记录用回退键照常保存;

  • 分类:保存时按规则填充机构类型、省份和职能领域,判不了归 unknown;个人罚单名称中没有单位的,按同批次机构罚单关联推断;

  • 报告:相同报告不重复生成草稿,日报初始状态始终是草稿。

记录库保存三类内容:

数据保存内容用途
处罚记录文号、当事人、处罚内容、金额、机关、日期、来源查重、查询和统计
读取批次来源、时间范围、成功状态和异常记录判断本次覆盖是否完整
日报草稿数据集范围、统计 JSON、Markdown 和审核状态人工审核和后续发布

企业接入时,把这三个接口实现为自定义工具绑定到智能体,背后接现有数据库或业务服务;操作名和输入输出保持不变,智能体的提示词和调用方式不需要改。

3. 创建监管处罚日报智能体

系统提示词负责定义任务和边界,无需为每个网站硬编码解析规则。示例如下:

你负责每天整理银行监管行政处罚记录并生成日报草稿。

每次运行:
1. 读取处罚公示来源清单中的全部必需来源,只访问处罚公示来源清单中的网站域名。
2. 按技能固化的方式下载固定来源的公示;发现来源结构变化或新来源时,先小样本验证,不直接把新页面纳入统计。
3. 只抽取原文能够确认的字段,缺失字段保留为空。个人罚单必须抽取所在单位;文号缺失照常保存,不编造文号。
4. 按统一结构保存处罚记录和案由;机构类型、省份和职能领域由处罚记录库分类,你不需要分类;不要直接根据网页内容计算跨来源总数。
5. 保存完成后查询本次日期范围的数据集,基于数据集返回的统计结果生成 Markdown 日报草稿;数字只能来自数据集。
6. 日报必须列出网站覆盖情况和失败来源;待复核项以处罚记录库返回的复核队列为准。
7. 日报是监管线索整理,不是法律结论。

行为边界:
- 不使用搜索结果直接扩展正式统计来源。
- 不登录、不提交表单、不修改官方网站。
- 读取失败不能写成网站没有可确认的记录。
- 行政处罚和行政监管措施分开保存、分开统计。
- 日报只保存为草稿,等待人工审核。

监管日报技能随官方智能体交付,包含任务流程、数据格式约定、报告写作规则、来源清单和下载脚本。本案例的技能已经上传并挂载到官方智能体,可以直接复用;自建智能体时,按同样方式打包上传,记录技能 ID 和版本,创建时绑定。

数据格式约定:统一字段

不同来源的页面形态不同,但智能体抽取和下载脚本都以同一组字段为目标;这组字段作为数据格式约定写入技能:

{
  "source_id": "official_source",
  "source_type": "administrative_penalty",
  "document_number": "处罚决定书文号",
  "party_name": "当事人名称",
  "party_type": "institution",
  "causes_raw": ["违法违规行为原文"],
  "penalty_content_raw": "行政处罚内容原文",
  "money_components": [
    {
      "type": "fine",
      "amount_cny": 1000000
    }
  ],
  "penalty_authority": "作出决定机关",
  "published_at": "2026-09-24",
  "decision_date": null,
  "source_url": "官方原文 URL",
  "extraction_status": "confirmed"
}

页面解析方式可以不同,字段结构和保存接口保持一致,新增来源时不需要改动保存逻辑。

创建智能体:

cURL:

curl --request POST "https://api.moonshot.cn/v1/agents" \
  --header "Authorization: Bearer $KIMI_API_KEY" \
  --header "kimi-api-version: 2026-09-01-beta" \
  --header "Content-Type: application/json" \
  --data '{
    "name": "监管处罚日报智能体",
    "description": "定时读取监管处罚公示,保存结构化记录并生成日报草稿",
    "model": {"id": "kimi-k3"},
    "skills": [{"skill_id": "skill_your_skill_id", "version": "1"}],
    "tools": [
      {
        "type": "custom",
        "name": "save_penalty_records",
        "description": "校验并保存行政处罚记录,重复文号更新已有记录。",
        "input_schema": {"type": "object", "properties": {}}
      },
      {
        "type": "custom",
        "name": "query_report_dataset",
        "description": "按日期范围查询处罚报告的统计数据集。",
        "input_schema": {"type": "object", "properties": {}}
      },
      {
        "type": "custom",
        "name": "save_report_draft",
        "description": "保存监管日报 Markdown 草稿,供人工审核。",
        "input_schema": {"type": "object", "properties": {}}
      }
    ],
    "system": "你负责每天整理银行监管行政处罚记录并生成日报草稿。读取固定的处罚公示来源,保存罚单和案由,个人罚单抽取所在单位;分类由处罚记录库完成;基于已保存数据生成报告;读取失败如实标记覆盖不完整。"
  }'

CLI:

kha agents create --file - <<'JSON'
{
    "name": "监管处罚日报智能体",
    "description": "定时读取监管处罚公示,保存结构化记录并生成日报草稿",
    "model": {"id": "kimi-k3"},
    "skills": [{"skill_id": "skill_your_skill_id", "version": "1"}],
    "tools": [
      {
        "type": "custom",
        "name": "save_penalty_records",
        "description": "校验并保存行政处罚记录,重复文号更新已有记录。",
        "input_schema": {"type": "object", "properties": {}}
      },
      {
        "type": "custom",
        "name": "query_report_dataset",
        "description": "按日期范围查询处罚报告的统计数据集。",
        "input_schema": {"type": "object", "properties": {}}
      },
      {
        "type": "custom",
        "name": "save_report_draft",
        "description": "保存监管日报 Markdown 草稿,供人工审核。",
        "input_schema": {"type": "object", "properties": {}}
      }
    ],
    "system": "你负责每天整理银行监管行政处罚记录并生成日报草稿。读取固定的处罚公示来源,保存罚单和案由,个人罚单抽取所在单位;分类由处罚记录库完成;基于已保存数据生成报告;读取失败如实标记覆盖不完整。"
}
JSON

保存响应中的智能体 ID,创建定时任务时需要引用。企业接入时,再为智能体绑定处罚记录库的三个自定义工具。

4. 创建执行环境

执行环境承载会话、脚本运行和工具调用。创建一个云端执行环境即可:

cURL:

curl --request POST "https://api.moonshot.cn/v1/environments" \
  --header "Authorization: Bearer $KIMI_API_KEY" \
  --header "kimi-api-version: 2026-09-01-beta" \
  --header "Content-Type: application/json" \
  --data '{
    "name": "监管处罚日报环境",
    "description": "运行每日监管处罚读取和日报生成任务",
    "config": {"type": "cloud"}
  }'

CLI:

kha environments create --name "监管处罚日报环境" --description "运行每日监管处罚读取和日报生成任务"

保存响应中的执行环境 ID,创建定时任务时需要引用。

来源网站封禁共享出口时配置按域代理

云端执行环境通过平台共享出口 IP 访问公网,个别监管网站会封禁这类 IP。

可在执行环境中按域名配置自有代理(proxy):

  1. 准备一个出口 IP 未被该网站封禁的 HTTP(S) 代理。目标网站封的是数据中心 IP,代理出口需要家庭或办公宽带这类普通 IP;

  2. 代理有认证时,先把凭据存入凭据库;

  3. 在执行环境的网络配置中添加代理,仅将代理应用到被封禁的域名,不要开启全局代理,其他来源继续直连;

  4. 保存后新建会话验证,旧会话仍使用旧配置。

在执行环境的网络配置中添加按域代理

5. 配置每日定时任务

使用 Kimi 托管智能体的触发器每天创建一个新会话,避免不同日期的任务上下文互相干扰。下面的示例每天 08:30 运行:

cURL:

curl --request POST "https://api.moonshot.cn/v1/triggers" \
  --header "Authorization: Bearer $KIMI_API_KEY" \
  --header "kimi-api-version: 2026-09-01-beta" \
  --header "Content-Type: application/json" \
  --data '{
    "name": "每日监管处罚日报",
    "agent_id": "agent_your_agent_id",
    "environment_id": "env_your_environment_id",
    "session_mode": "new_session",
    "policy": {
      "type": "cron",
      "expression": "30 8 * * *",
      "timezone": "Asia/Shanghai"
    },
    "resources": [
      {"type": "vault", "vault_id": "vlt_your_vault_id"}
    ],
    "initial_events": [
      {
        "type": "user.message",
        "data": {
          "content": [
            {
              "type": "text",
              "text": "读取上一个自然日新增的行政处罚公示,必需来源为 nfra 和 pbc,统计时区为 Asia/Shanghai。保存结构化记录,生成日报草稿并报告网站覆盖情况;日报仅保存为草稿,不直接发布。"
            }
          ]
        }
      }
    ]
  }'

CLI:

kha triggers create --file - <<'JSON'
{
    "name": "每日监管处罚日报",
    "agent_id": "agent_your_agent_id",
    "environment_id": "env_your_environment_id",
    "session_mode": "new_session",
    "policy": {
      "type": "cron",
      "expression": "30 8 * * *",
      "timezone": "Asia/Shanghai"
    },
    "resources": [
      {"type": "vault", "vault_id": "vlt_your_vault_id"}
    ],
    "initial_events": [
      {
        "type": "user.message",
        "data": {
          "content": [
            {
              "type": "text",
              "text": "读取上一个自然日新增的行政处罚公示,必需来源为 nfra 和 pbc,统计时区为 Asia/Shanghai。保存结构化记录,生成日报草稿并报告网站覆盖情况;日报仅保存为草稿,不直接发布。"
            }
          ]
        }
      }
    ]
}
JSON

触发器除了指定智能体和执行环境,还要在 resources 中绑定凭据库,供智能体访问处罚记录库。必需来源、统计时区和交付方式等任务参数写入 initial_events 的任务指令,不作为独立的资源类型挂载。技能决定可读取的来源,任务配置规定本次必须覆盖的来源。处罚记录库无法读取智能体挂载的技能,只能根据配置中声明的必需来源核对实际收到的记录;缺少来源时,标记为覆盖不完整。

日常运行使用新会话;跨天状态由处罚记录库保存,不依赖会话历史。触发器负责按时间启动任务,不负责读取网页、查重或审核报告。

需要月报时,再创建一个触发器,把 cron 表达式改为按月运行(例如每月 1 日 09:30),并在任务指令中把统计范围设为上一个完整自然月。月报和日报共用智能体、技能和处罚记录库,只有触发时间和统计范围不同。

6. 手动运行并检查结果

定时任务创建后,先手动运行一次:

cURL:

curl --request POST "https://api.moonshot.cn/v1/triggers/$TRIGGER_ID/run" \
  --header "Authorization: Bearer $KIMI_API_KEY" \
  --header "kimi-api-version: 2026-09-01-beta" \
  --header "Content-Type: application/json" \
  --data '{
    "payload": "运行一次测试:读取最近一次公示,保存记录并生成日报草稿。"
  }'

CLI:

kha triggers run "$TRIGGER_ID" --payload "运行一次测试:读取最近一次公示,保存记录并生成日报草稿。"

检查以下结果:

  • 两个必需来源是否都被读取;

  • 每条记录是否保留原文链接;

  • 重复文号是否没有新增第二条记录;

  • 缺文号的记录是否用回退键保存,并在报告脚注按机关和公示日期指代;

  • 无法确定所在单位的个人罚单是否进入复核队列;

  • 报告是否从已保存的数据集生成;

  • 报告状态是否仍为草稿;

  • 网站读取失败时,报告是否明确标记覆盖不完整。

7. 审核日报草稿

日报草稿包含:

  • 本次统计日期范围;

  • 网站覆盖情况;

  • 新增处罚记录;

  • 处罚金额和处罚动作汇总;

  • 大额处罚记录;

  • 待复核项;

  • 每条重点记录的原文链接。

合规人员确认来源、数字和文字表述后,再由企业应用发送到飞书、邮件或内部合规系统。智能体不直接发布未经审核的日报。

接入企业系统

三个接口以自定义工具的形式绑定到智能体,底层实现可以替换为 SQLite、PostgreSQL、MongoDB 或企业已有数据平台。

主流程来源的下载脚本随技能维护;来源必须经过企业网关、代理或专用解析服务时,把下载封装为自定义工具。新来源先由智能体探测,验证稳定后再固化脚本,不需要为每个网站提前开发程序。

相关文档

金融监管处罚日报智能体设计:定时读取公示、结构化落库与日报草稿生成