当私募基金风控遇上企业数据API,真实踩坑记录
前阵子接了个活,给一家PE基金做数据接入方案。
客户背景挺典型的:管理规模十几亿,被投企业七八个,风控两个同事,听起来不是什么大工程,但做下来发现,这个场景里有一堆细节是行业报告不会写的。
写这篇博客的目的:一个是想记录下踩过的坑,另一个是给有类似需求的同行提个醒。
业务聊起来简单,技术落地全是事
风控同事的需求听起来很直接:
- “我要知道法人什么时候变了。”
- “我要查这家公司的关联方。”
- “最好能自动给我推告警,不用我每天盯着。”
翻译成技术语言,每个需求背后都有一堆问题:
法人变更确实有工商变更接口,返回数据里有变更事项和变更前后内容,但实际用的时候发现两个问题:
-
变更类型只分”变更”和”注销”,不告诉你”为什么变”,法人从老王变成小李,可能是老王主动退,也可能是被强制踢出去。这两种情况对风控的意义完全不一样,但接口数据区分不了。
-
更新有延迟。不是”今天变明天就能查到”,实测下来大概还有1-2天,碰上节假日更慢。
关联方识别——企查查有”受益所有人”和”实际控制人”字段,股权结构嵌套三层以上是常态,你要从股东列表往上追溯、识别一致行动人、还原实控人路径。但怎么用、边界在哪,说实话我也是边做边摸索。
API不少,但拼起来费劲
企查查开放平台上的接口挺多,我大概过了一遍,光核验类的就有:
-
企业信息核验(ApiCode: 2001),1块钱一次;
-
企业工商信息(ApiCode: 410),2毛钱;
-
客户身份识别(ApiCode: 2003),3块钱,扩展了股东、实控人那些字段。
投后风控要查的东西往往不是一个接口能搞定的。你可能同时需要工商信息、司法风险、知识产权状态、舆情动态——这意味着一次完整的查询要调四五个接口。
成本先放一边,光是数据格式统一就够烦的。每个接口返回的字段名、结构、层级都不一样,你要自己做清洗和映射。接口文档写得不差,但你要花时间理解每个字段的业务含义,不是看个名字就完事了。
后来我想了个笨办法:封装一层业务组件,把常用的查询组合打包。比如”被投企业月度巡检”这个组件,内部自动调工商变更、司法风险、舆情三个接口,输出统一的JSON格式。后续再接告警系统或者报告生成器就方便多了。
但这样做的问题:你要维护这套映射规则,接口字段一变动就得跟着改。
监控告警的噪音真的很烦
投后监控说起来简单:有变化就告警,但实际做的时候发现,告警太多了。
一家企业同时有地址变更、经营范围微调、联系方式更新——这些要不要推?推了风控同事看不过来,不推又怕漏掉重要信息。
后来我跟客户的风控负责人聊,他说他们真正关心的就几件事:失信被执行、新增行政处罚、股权被冻结、核心高管变动。
所以我们做了个分级告警:
-
红色:失信、行政处罚、股权冻结——立即推送
-
黄色:法人变更、高管变动——当天汇总推送
-
绿色:地址变更、经营范围微调——每周推送
这个逻辑不复杂,但优先级怎么定、什么字段对应什么级别,得跟业务方反复确认。你不问他,他就默认”所有变更都要推”。
MCP接入:让AI自己查数据
这部分我想多聊两句,因为这是我觉得最有意思的方向。
传统的API集成方式是你自己写代码调接口,数据拉进来存到本地数据库,AI从这个数据库里读。这种方式我之前用过,好处是数据自主,坏处是:
-
开发成本高。你要自己对接接口、做数据清洗、管维护。
-
实时性差。拉进来的数据是”快照”,不是”实时”。
-
AI不知道”快照”之外的事。问它”这家公司现在还在正常经营吗”,它只能回答”数据库里显示是的”——但万一你昨天刚更新,今天就被列入经营异常了呢?
企查查出的智能体数据平台换了个思路:让AI在推理的时候直接调接口。
接入方式比我预期的简单,分三步:
第一步:去平台注册账号,拿到API Key
第二步:配置到你的AI工具里
以Claude Desktop为例,找到配置文件 claude_desktop_config.json,加一段:
{
"mcpServers": {
"qcc": {
"url": "你在企查查控制台获取的专属URL"
}
}
}
支持的平台挺多的:Cursor、CodeBuddy(腾讯云)、Claude Desktop、阿里云百炼、Coze(扣子)、Cherry Studio、Dify……基本上你能想到的都有。
第三步:直接说话
配置好之后,不用写代码、不用记命令,直接问就行:
"帮我查一下被投企业A的工商状态和股权结构"
"有没有新增的司法风险?"
"给我出一份尽调简报"
AI会自己判断要调哪些工具,然后把结果整理成你能看懂的回复。
MCP里面装了什么
说完了怎么接,再说说里面有什么。
企查查把数据能力拆成了四个模块:
|
模块 |
工具数 |
干啥用的 |
|---|---|---|
|
企业基座 |
12个 |
工商照面、股东、高管——先搞清楚”这家公司是谁” |
|
风控大脑 |
34个 |
失信、处罚、异常、冻结——扫风险 |
|
知产引擎 |
6个 |
专利、商标、资质——看技术储备 |
|
经营罗盘 |
13个 |
舆情、招投标、融资动态——了解”最近在干嘛” |
有个设计细节我觉得值得说:触发即熔断。
什么意思呢?当查询命中风险时,不是把原始数据扔给AI,而是给AI一个明确的信号——”这里有问题,停”。比如查完发现这家公司是失信被执行人,系统不会返回一堆数据让AI自己判断,而是直接告诉AI:”这是一个红色风险”。
这样设计的好处是:AI不会被噪音数据带偏,推理路径更清晰。
帮私募基金做投后监控,我的demo思路
结合上面的能力,我给客户出了个demo方案,大概是这样:
数据层:
企查查API:工商、司法、知产、舆情
MCP接口:AI实时查询用
内部数据:被投企业台账、持仓成本
服务层:
定时任务:每天批量查一遍被投企业状态
变更检测:对比昨天的数据,发现差异就记录
告警生成:根据风险等级推不同的人
AI交互层:
风控人员直接问:”被投企业A最近有什么变化?”
AI调企查查查一圈,回来告诉他:”法人上个月变了,高管团队近期有两人离职,新增一条开庭公告……”
风控人员判断要不要采取行动
这个方案目前还在demo阶段,真实落地还要解决一些问题。但方向是清晰的:让风控人员用自然语言跟数据交互,而不是让他学怎么写SQL。
几个没解决好的问题
做了这个项目,有些东西我到现在也没想清楚:
数据成本。一次投后巡检调五六个接口,几十家企业跑一遍,成本不低。如果客户是百亿规模还好,十几亿的PE对这个成本挺敏感的。包年套餐有,但具体怎么算我没完全搞明白。
历史数据追溯。接口查的是当前状态,历史变更记录能查到多久的?客户问过我,我没答上来,得再问问企查查那边。
多数据源整合。企查查的数据覆盖已经很全了,但有些细分领域(比如特定行业的资质许可)可能还是要接其他数据源。多个数据源怎么统一管理,还在探索,以下是几个常用的接口:
以上是我在做这个项目时的一些记录和思考。不构成任何建议,有说得不对的地方欢迎指出。
更多推荐



所有评论(0)