1. 金融信贷场景下智能体落地的整体设计思路
1.1 为什么金融信贷是智能体最值得啃的硬骨头
金融信贷这个领域,表面上看流程标准化程度很高——获客、进件、初审、风控、授信、放款、贷后,每一步都有SOP。但真正做过信贷系统的人都知道,魔鬼全在细节里。同一个客户,不同渠道进来的资料格式不一样;同一个风控规则,不同产品线的阈值不一样;同一个监管要求,不同地区的执行口径还有差异。这种"大框架稳定、小细节极度碎片化"的特征,恰恰是传统规则引擎和普通RPA最头疼的地方,也是AI智能体最能发挥价值的战场。
我最初接触华为云智果AgentArts这个平台,就是被一个很具体的痛点逼过去的。当时团队维护着一套信贷审批辅助系统,里面光"收入认定"这一个环节就写了三千多行规则代码,每加一个资方、每换一个产品,就得改代码、跑回归、等发版。业务同事还天天催:"这个规则昨天就该上了,客户等着放款呢。"那种被规则变更追着跑的感觉,做过信贷系统的人都懂。
AgentArts吸引我的点在于,它把智能体的编排能力做成了可视化的画布,同时底层又保留了很强的工具调用和知识库检索能力。说白了,就是让业务逻辑和代码逻辑解耦——规则变了,改的是知识库和提示词,不是Java代码。这个思路对信贷场景来说,价值太大了。
1.2 智能体在信贷链路中的定位选择
在动手之前,我先想清楚了一个问题:智能体到底应该放在信贷链路的哪个位置?是替代人工审批,还是做辅助?我的判断是,现阶段最稳妥、也最容易出效果的定位是"智能辅助+人机协同"。具体来说,就是让智能体承担三类工作:
第一类是资料预审与信息抽取。客户提交的身份证、银行流水、收入证明、征信报告,格式五花八门,智能体负责把这些非结构化信息抽成结构化字段,并做初步的完整性校验。这一步纯人工做,一个客户平均要花十五到二十分钟,智能体可以压缩到几十秒。
第二类是规则匹配与风险提示。把信贷政策、产品准入条件、风控规则做成知识库,智能体根据客户画像去检索匹配,输出"符合/不符合/需人工复核"的结论,并附上依据条款。这一步的价值不在于替代审批人做决策,而在于把审批人从翻文件、查规则里解放出来。
第三类是贷后预警与客户触达。根据还款行为、外部数据变化,智能体生成预警信号,并起草触达话术,由客户经理确认后发送。
这个定位的好处是,智能体不直接碰资金决策,风险可控;同时它干的都是重复性高、规则性强、但又需要一定理解能力的活,投入产出比最高。
1.3 平台选型的几个关键考量
市面上做智能体的平台不少,我最终选AgentArts,主要看中四点:
一是知识库能力要够硬。信贷场景的知识库不是简单的FAQ,而是包含大量表格、条款、附件的复杂文档。AgentArts支持多种格式的文档解析,还能做分段和向量化,检索时能定位到具体条款,这个对信贷场景太重要了。
二是工具调用要灵活。信贷系统里有很多存量接口,比如征信查询、黑名单校验、额度计算,智能体必须能调这些接口。AgentArts的工具编排能力让我可以把这些接口封装成工具,在画布上直接拖拽使用。
三是流程可控可追溯。金融行业对可解释性要求极高,智能体的每一步推理、每一次工具调用、每一条知识库引用,都必须留痕。AgentArts的执行日志和链路追踪做得比较完整,能满足审计要求。
四是部署要合规。信贷数据敏感,必须能私有化部署或者用专属云。AgentArts在这块的支持比较到位,数据不出域这个底线能守住。
提示:选平台时不要只看Demo效果,一定要拿自己业务里最脏、最乱的那批数据去测。很多平台在干净数据上表现很好,一遇到扫描件、手写体、多页表格就露馅。
2. 核心细节解析与实操要点
2.1 知识库构建:把信贷政策"喂"给智能体
知识库是智能体的地基,地基没打好,上面盖什么都是歪的。信贷知识库的构建,我踩过的坑最多,这里详细说说。
第一步是文档收集与清洗。信贷政策文档通常有几个来源:监管文件、总行制度、分行细则、产品说明书、操作手册。这些文档格式各异,有PDF、Word、Excel,还有扫描件。我的做法是先把所有文档统一转成可编辑格式,扫描件用OCR识别,然后人工过一遍,把页眉页脚、水印、无关的修订记录删掉。这一步很枯燥,但省不得。我试过偷懒直接扔原始PDF进去,结果检索出来的内容里混着大量页眉文字,智能体回答时经常把"内部资料 请勿外传"这种话也带出来,非常尴尬。
第二步是分段策略。这是最考验经验的地方。信贷文档的分段不能简单按字数切,要按语义单元切。我的原则是:
- 一个完整的规则条款作为一个分段,比如"收入认定标准"下的每一条单独成段;
- 表格类内容保留表头,把每一行转成"字段名:字段值"的文本形式;
- 附件和正文的引用关系要保留,比如正文说"具体见附件三",那附件三的内容要打上关联标签。
分段长度我一般控制在300到500字之间。太短了信息不完整,太长了检索精度下降。这个区间是实测下来比较平衡的。
第三步是元数据标注。每个分段都要打上标签,比如所属产品线、适用地区、生效日期、文档类型。这些标签在检索时可以做过滤,极大提升准确率。举个例子,客户问"这个产品最高能贷多少",如果知识库里同时有A产品和B产品的额度规定,没有元数据过滤就会串。打上产品线标签后,检索时先过滤再匹配,准确率能提升一大截。
第四步是检索策略调优。AgentArts默认用的是向量检索,但纯向量检索在信贷场景有个问题:它对数字和专有名词不敏感。比如"年化利率不超过24%"和"年化利率不超过36%",向量相似度很高,但意思完全相反。我的做法是向量检索加关键词检索混合,对数字、金额、比例这类内容强制走关键词匹配。这个配置在平台里可以调,具体参数后面实操部分会讲。
2.2 工具编排:让智能体真正"能干活"
知识库解决的是"知道什么",工具解决的是"能做什么"。信贷智能体需要调用的工具,我梳理了一下,大概分四类:
| 工具类型 | 典型工具 | 调用频率 | 关键注意点 |
|---|---|---|---|
| 查询类 | 征信查询、黑名单校验、工商信息查询 | 高 | 注意接口超时和限流,要设重试和降级 |
| 计算类 | 额度计算、利率计算、还款计划生成 | 高 | 计算逻辑要固化在工具里,不要让模型算 |
| 写入类 | 进件登记、审批意见回写、预警工单创建 | 中 | 必须加人工确认环节,不能自动执行 |
| 通知类 | 短信发送、站内信推送、企微消息 | 中 | 话术模板要审核,变量替换要校验 |
这里重点说两个坑。
第一个坑是让模型做计算。我一开始图省事,想让智能体自己算月供,结果它给出的数字经常差几块钱。后来老老实实把还款计划计算封装成一个工具,模型只负责提取参数(本金、利率、期数),计算交给工具。金融场景对数字精度要求极高,差一分钱都是事故,这个懒偷不得。
第二个坑是工具调用的异常处理。征信查询接口偶尔会超时,如果智能体没有降级策略,整个流程就卡住了。我的做法是给每个工具设置超时时间和重试次数,超时后返回一个明确的错误码,智能体根据错误码决定是转人工还是走备用方案。比如征信查询失败,就提示"征信查询暂时不可用,请稍后重试或转人工审核",而不是傻等着。
2.3 提示词设计:把审批专家的经验"翻译"成指令
提示词是智能体的灵魂。信贷场景的提示词,我的设计原则是"角色清晰、步骤明确、边界严格、输出规范"。
角色设定要具体。不要写"你是一个信贷助手",要写"你是一名有十年经验的信贷审批辅助专员,熟悉个人消费贷和经营贷的准入政策,你的职责是根据客户资料和知识库规则,给出初审意见,但不做最终决策"。
步骤拆解要细致。把审批流程拆成明确的步骤,让智能体一步步执行。比如:
- 检查客户资料完整性,列出缺失项;
- 从资料中提取关键字段(年龄、收入、负债、征信记录);
- 根据客户所在地区和申请产品,检索对应的准入规则;
- 逐条比对规则,记录符合和不符合的项;
- 输出初审意见,格式为"建议通过/建议拒绝/需人工复核",并附依据。
边界约束要强硬。明确告诉智能体什么不能做:不能编造知识库里没有的规则,不能替客户做决策,遇到不确定的情况必须标注"需人工确认"。我还会加一句"如果知识库中没有相关规则,请明确说明'未找到相关规则',不要自行推断"。
输出格式要固定。用JSON或者固定模板,方便下游系统解析。比如:
{ "conclusion": "需人工复核", "matched_rules": ["规则A-3", "规则B-1"], "violated_rules": ["规则C-2"], "missing_info": ["近六个月银行流水"], "reason": "客户负债率超过产品准入阈值,但提供了额外资产证明,需人工判断" }这个格式是我迭代了好几版才定下来的。早期版本输出的是自然语言,下游系统解析起来很痛苦,后来改成结构化输出,对接效率高了很多。
3. 实操过程与核心环节实现
3.1 环境准备与基础配置
动手之前,先把环境理清楚。我用的是华为云智果AgentArts的专属云版本,主要是出于数据合规考虑。基础配置分几步:
第一步,创建智能体应用。在AgentArts控制台新建一个应用,选择"工作流编排"模式。这里有个选择:是用对话模式还是工作流模式?信贷审批这种有明确步骤的场景,我强烈建议用工作流模式,因为流程可控,每一步的输入输出都能定义清楚,调试也方便。
第二步,配置知识库。把前面清洗好的文档上传,设置分段规则。AgentArts支持自定义分段,我一般设置按标题层级分段,最大分段长度500字,重叠50字。重叠是为了避免关键信息被切断。向量化模型选平台默认的就行,实测在中文信贷文档上效果够用。
第三步,封装工具。在"工具管理"里新建工具,每个工具定义好入参和出参。以征信查询为例:
{ "tool_name": "query_credit_report", "description": "根据客户身份证号查询征信报告摘要", "input_params": { "id_card": "string, 客户身份证号", "query_reason": "string, 查询原因代码" }, "output_params": { "credit_score": "integer, 信用评分", "overdue_count": "integer, 近两年逾期次数", "debt_ratio": "float, 负债率", "query_status": "string, 查询状态" }, "timeout": 5000, "retry": 2 }工具描述要写清楚,因为模型是根据描述来决定调不调这个工具的。描述写得太模糊,模型就可能该调的时候不调,或者不该调的时候乱调。
第四步,编排工作流。在画布上把节点连起来。我的工作流大致是这样的:开始节点接收客户资料,然后并行走两条线——一条是资料抽取,一条是知识库检索,两条线汇合后进入规则比对节点,最后输出初审意见。并行处理能省不少时间,实测下来比串行快百分之四十左右。
3.2 资料抽取环节的实现细节
资料抽取是整条链路的入口,这里出问题后面全白搭。信贷资料主要有几类:身份证、银行流水、收入证明、征信报告、资产证明。每类的抽取策略不一样。
身份证相对简单,用OCR加字段映射就行。但要注意,有些客户的身份证是临时身份证或者消磁了,OCR识别率会下降。我的做法是设置一个置信度阈值,低于阈值的字段标红,提示人工核对。
银行流水是最麻烦的。不同银行的流水格式完全不同,有的用"收入"字样,有的用"代发工资",有的用"转账"。我的做法是先用关键词匹配定位到可能的收入项,再用规则判断。比如连续三个月同一日期、同一金额的入账,大概率是工资。这个逻辑我封装成了一个工具,叫"流水收入识别",模型负责调用,具体判断逻辑在工具里。
收入证明通常是扫描件,需要OCR加人工复核。这里有个技巧:让智能体把识别出的关键信息(姓名、单位、月收入、盖章日期)列出来,和身份证、流水做交叉验证。如果收入证明上的月收入和流水里的代发工资差异超过百分之二十,就标记为"需人工核实"。这个交叉验证的逻辑,是我从老审批员那里学来的,非常实用。
征信报告的解析最复杂,因为格式固定但内容多。我的做法是只抽取关键字段:信用评分、逾期记录、查询次数、负债总额。其他内容不抽,避免信息过载。抽取出来的字段直接喂给规则比对节点。
实操心得:资料抽取环节一定要设"兜底策略"。我遇到过客户上传的是一张手写的收入证明,OCR完全识别不了。这时候智能体不能卡死,要能识别出"这份资料无法自动处理",然后转人工。这个判断逻辑很简单,但能避免很多客诉。
3.3 规则比对与意见生成
规则比对是智能体的核心价值所在。我的实现方式是"检索+比对+生成"三步走。
检索阶段,根据客户画像(地区、产品、客群类型)构造检索query,从知识库里召回相关规则。这里有个细节:检索query不能只用客户的基本信息,还要带上"准入条件""额度""利率"这些意图词,这样召回更准。比如query写成"个人消费贷 准入条件 年龄 收入 负债率 征信要求",比只写"个人消费贷"召回质量高很多。
比对阶段,把客户字段和规则逐条对照。这一步我让模型做,但给了很明确的指令:对每条规则,输出"符合""不符合""无法判断"三种结论之一,并说明理由。无法判断的情况包括:客户资料缺失、规则表述模糊、存在例外条款。这三种情况都要转人工。
生成阶段,把比对结果汇总成初审意见。意见的格式我前面说了,用JSON。但这里有个优化:我让智能体在输出JSON的同时,也生成一段自然语言的摘要,方便审批人快速浏览。摘要控制在两百字以内,只讲关键结论和主要风险点。
实测下来,这套流程对标准件(资料齐全、情况简单)的处理准确率能达到百分之九十以上,对非标准件的处理准确率在百分之七十左右。非标准件的错误主要集中在"规则理解偏差"上,比如规则说"原则上不超过",智能体有时候会理解成"绝对不能超过"。这类问题需要通过持续优化提示词和补充示例来解决。
3.4 人机协同界面的设计
智能体再强,现阶段也离不开人。人机协同界面的设计,核心原则是"让审批人做判断,而不是做查找"。
我的界面设计是这样的:左边是客户资料原文,中间是智能体抽取的结构化字段和比对结果,右边是审批操作区。智能体把"需要人工确认"的点用黄色高亮标出来,审批人只需要看这些高亮项,确认或修改即可。实测下来,审批人的单件处理时间从平均十五分钟降到了六分钟左右。
这里有个细节很重要:智能体的每一条结论都要能追溯到依据。审批人点击"不符合规则C-2"这个结论,界面要能弹出规则C-2的原文和出处。这个追溯功能,是审批人信任智能体的关键。没有追溯,审批人不敢用;有了追溯,审批人会把智能体当成一个靠谱的助手。
4. 常见问题与排查技巧实录
4.1 智能体"胡说八道"怎么办
这是最常见的问题,专业说法叫"幻觉"。信贷场景里,智能体编造规则、编造数字,后果很严重。我遇到过智能体说"根据某某文件第几条,该客户不符合准入",结果一查,那个文件根本不存在。
排查思路分三层:
第一层,检查知识库。幻觉往往是因为知识库里没有相关内容,模型只能自己编。解决办法是补充知识库,或者在提示词里明确"如果知识库中没有相关规则,请回答'未找到相关规则'"。
第二层,检查检索配置。有时候知识库里有,但检索没召回来。这时候要调检索参数,比如提高召回数量、调整相似度阈值。AgentArts里可以设置"最小相似度分数",我一般设在0.75左右,低于这个分数的结果不采纳。
第三层,检查提示词。提示词里如果给了模型太多自由发挥的空间,它就容易编。我的做法是加约束:"你的所有结论必须基于知识库中检索到的内容,引用时注明来源文档和条款编号。"
下面这张表是我整理的幻觉问题速查表:
| 现象 | 可能原因 | 排查方法 | 解决措施 |
|---|---|---|---|
| 编造不存在的规则 | 知识库缺失或检索失败 | 用相同query手动检索知识库 | 补充知识库,调低相似度阈值 |
| 数字计算错误 | 让模型做了计算 | 检查是否调用了计算工具 | 把计算逻辑封装成工具 |
| 张冠李戴(A产品规则用到B产品) | 元数据过滤未生效 | 检查检索时是否带了产品线标签 | 补全元数据,检索时强制过滤 |
| 结论与依据矛盾 | 提示词逻辑不清 | 检查提示词的步骤拆解 | 细化步骤,增加自检环节 |
4.2 工具调用失败的排查
工具调用失败在实操中很常见,原因五花八门。我总结了几类:
接口超时是最常见的。信贷系统的接口,尤其是征信查询,响应时间波动很大。我的做法是设置合理的超时时间(一般五秒),超时后自动重试两次,还失败就返回错误码,让智能体走降级流程。
参数错误也很多。模型提取的参数格式不对,比如身份证号多了一个空格,或者日期格式不对。解决办法是在工具定义里加参数校验,格式不对直接返回错误提示,让模型重新提取。
权限问题偶尔会遇到。有些接口需要特定的权限令牌,令牌过期了就会调用失败。这个要在工具配置里做好令牌管理,定期刷新。
限流问题在高并发时会出现。信贷业务有高峰期,比如月初、季末,接口调用量激增。我的做法是在工作流里加一个队列节点,控制并发数,避免把下游接口打挂。
4.3 效果不达预期的调优路径
智能体上线后效果不好,不要急着推翻重来,按这个路径一步步调:
第一步,看数据。把智能体处理错误的案例捞出来,分类统计。是抽取错误多,还是检索错误多,还是比对错误多?找到主要矛盾。
第二步,看日志。AgentArts的执行日志很详细,能看到每一步的输入输出。我经常通过日志发现一些意想不到的问题,比如某个字段的抽取规则写错了,导致后续全错。
第三步,小步迭代。每次只改一个地方,改完测一批数据,看效果变化。不要一次改好几个地方,否则出了问题不知道是哪个改动导致的。
第四步,建评测集。从历史数据里挑一批有代表性的案例,人工标注正确答案,作为评测集。每次迭代后跑一遍评测集,看准确率变化。这个评测集我建议至少两百条,覆盖各种边界情况。
4.4 合规与审计的注意事项
金融行业做智能体,合规是红线。我踩过的坑主要有两个:
一是数据留存。智能体处理过程中产生的中间数据,比如抽取的字段、检索的记录,都要留存备查。AgentArts的日志功能可以满足这个要求,但要记得开启日志持久化,默认可能只保留一段时间。
二是决策可解释。智能体给出的每一个结论,都要能解释清楚是怎么来的。这个前面说了,靠的是知识库引用和工具调用记录。审计的时候,要能还原出完整的决策链路。
注意:不要用智能体直接做拒绝决策。我的做法是智能体只输出"建议拒绝",最终拒绝必须由人工确认。这不仅是合规要求,也是保护自己。
5. 智能体在信贷场景的扩展玩法
5.1 从单智能体到多智能体协作
单智能体跑通之后,我开始尝试多智能体协作。思路是把审批流程拆成几个专职智能体:资料审核智能体、规则比对智能体、风险评估智能体、意见生成智能体。每个智能体只干一件事,通过工作流串联。
这样做的好处是每个智能体的提示词可以写得更聚焦,效果更好。比如资料审核智能体只关心资料完整性和字段抽取,不用管规则;规则比对智能体只关心规则匹配,不用管资料格式。职责单一,调试起来也容易定位问题。
坏处是链路变长,延迟增加,而且智能体之间的信息传递容易丢失。我的做法是在关键节点加"信息校验",确保上游输出符合下游输入要求。
5.2 贷后预警场景的智能体设计
贷后预警是另一个很适合智能体的场景。传统做法是写一堆规则,比如"逾期超过三天发短信,超过七天打电话"。但实际情况复杂得多,客户可能只是忘了,也可能真的遇到困难了,一刀切的规则效果不好。
我用智能体做贷后预警的思路是:根据客户的还款历史、当前逾期情况、外部数据变化(比如工商信息变更、司法信息),生成个性化的预警等级和触达策略。比如一个一直按时还款的客户偶尔逾期一天,可能只需要一个温和的提醒;一个频繁逾期的客户又逾期了,可能需要客户经理直接介入。
触达话术也让智能体生成,但必须经过审核才能发送。我建了一个话术模板库,智能体根据客户情况选择合适的模板并填充变量,这样既保证了个性化,又控制了合规风险。
5.3 持续运营的关键指标
智能体上线不是终点,持续运营才是。我关注的指标主要有几个:
| 指标 | 含义 | 目标值 | 监控频率 |
|---|---|---|---|
| 抽取准确率 | 字段抽取正确的比例 | 95%以上 | 每日 |
| 检索命中率 | 知识库检索到相关规则的比例 | 90%以上 | 每周 |
| 初审通过率 | 智能体给出明确结论的比例 | 80%以上 | 每日 |
| 人工修正率 | 审批人修改智能体结论的比例 | 15%以下 | 每日 |
| 平均处理时长 | 单件从进件到出意见的时间 | 3分钟以内 | 实时 |
这些指标里,我最看重的是"人工修正率"。这个指标直接反映了智能体的可信度。修正率高,说明智能体结论不准,需要调优;修正率低,说明智能体靠谱,可以逐步扩大应用范围。
6. 一些踩坑之后的真心话
做智能体这一年多,最大的体会是:技术不是最难的,难的是让业务方信任它。我见过太多项目,技术做得漂漂亮亮,但业务方不用,最后不了了之。要让业务方用起来,关键是两点:一是让智能体干那些他们不想干的活,比如翻文件、查规则;二是让智能体的结论可追溯、可修正,给他们安全感。
还有一个体会是,不要追求一步到位。我一开始想做一个全流程无人化的审批智能体,结果发现根本不现实。后来退一步,只做辅助,反而落地很快,业务方接受度也高。先让智能体在某个环节跑通,证明价值,再逐步扩展,这个节奏比较稳。
最后说个具体的技巧:智能体的提示词要定期review。业务在变,规则在变,提示词如果一直不更新,效果会慢慢下降。我一般每个月review一次提示词,把新出现的bad case加进去,把过时的约束删掉。这个习惯坚持下来,智能体的效果能一直保持在一个不错的水平。
信贷智能体这个方向,我觉得才刚刚开始。现在做的更多是"辅助人",未来随着模型能力提升和合规框架完善,可能会走向"替代部分人"。但不管怎么变,金融场景对准确性、可解释性、合规性的要求不会变。做这个方向,敬畏心比技术更重要。