1. 金融信贷场景下AI智能体的核心命题拆解
1.1 为什么金融信贷是AI智能体最“难啃”的骨头
金融信贷这个领域,但凡做过一两个项目的人都知道,它跟通用问答、内容生成这类场景完全不是一个量级。核心矛盾在于:信贷业务对错误零容忍,但传统规则引擎又完全跟不上业务迭代的速度。
我接触过不少信贷团队,他们最头疼的问题高度一致:风控规则写了几百条,每加一个新产品就要重新梳理一遍;客户经理每天花大量时间在重复的资质初审上;贷后监控全靠人工盯报表,等发现异常的时候往往已经逾期了。这些痛点的本质是——流程中需要“判断”的环节太多,而每一个判断又依赖多个数据源的交叉验证。
AI智能体在这个场景里的价值,不是替代风控决策,而是把那些“需要看多个系统、查多项资料、做初步判断”的重复性脑力劳动承接过来。华为云AgentArts平台提供的智能体编排能力,恰好能把这些分散的判断逻辑串成一条可执行的自动化链路。
1.2 AgentArts在信贷流程中的定位:不是替代,是“副驾驶”
很多人一听到AI智能体做信贷,第一反应是“AI要取代风控人员了”。这个理解偏差很大。我在实际项目中反复验证过一个结论:智能体最合适的角色是“信贷副驾驶”——它负责信息采集、初步核验、材料完整性检查、风险信号提示,最终决策权仍然在人和规则引擎手里。
AgentArts的定位就很清晰。它提供的是智能体的编排框架、工具调用能力和多轮对话管理,你可以把它理解成一个“乐高底座”,信贷业务里的各种能力(OCR识别、征信查询、规则引擎、评分卡模型)都是积木,通过AgentArts把它们拼成一个能自主完成任务的智能体。
这样做的好处是:当业务规则变化时,你只需要调整智能体的编排逻辑,不需要重写底层代码。我见过一个团队,原来改一条风控规则要走两周的发布流程,用智能体编排之后,半天就能上线验证。
1.3 一个典型的信贷智能体需要具备哪些核心能力
拆解下来,一个能真正跑起来的信贷AI智能体,至少需要这五项能力:
- 多轮信息采集:能像真人客户经理一样,逐步引导客户提供所需材料,而不是一次性丢一个长表单
- 工具调用与数据整合:能调用OCR识别身份证、银行卡,能查询征信接口,能读取内部风控系统的数据
- 规则推理与条件判断:能根据采集到的信息,判断是否满足准入条件,是否需要补充材料
- 异常处理与容错:当某个接口超时、某份材料模糊不清时,能自主决定是重试、降级还是转人工
- 全流程可追溯:每一步判断的依据、调用的工具、返回的结果都要有完整日志,满足合规审计要求
这五项能力里,前三项是基础,第四项是区分“能用”和“好用”的关键,第五项是金融行业的硬性门槛。AgentArts在工具调用和编排方面提供了比较完整的支持,但容错逻辑和审计日志需要你在设计阶段就考虑进去。
2. 基于AgentArts的信贷智能体架构设计
2.1 整体架构:三层结构,各司其职
我在实际项目中采用的架构是三层结构,这个结构在多个信贷场景中验证过,扩展性和可维护性都比较理想。
第一层是交互层,负责和客户或客户经理对话。这一层用AgentArts的对话管理能力实现,支持文字、语音、图片多种输入形式。关键设计点是:对话状态要持久化,客户中途退出再进来,能接着上次的进度继续。
第二层是编排层,这是智能体的“大脑”。它根据当前对话状态和已采集的信息,决定下一步该做什么——是继续问问题,还是调用某个工具,还是转人工。AgentArts的工作流编排功能主要用在这一层。
第三层是能力层,包含所有具体的工具和服务:OCR识别、征信查询、规则引擎、评分卡模型、数据库操作等。这一层的能力通过API暴露给编排层调用。
三层之间通过标准化的消息格式通信,每一层的输出都包含结构化的状态信息,方便上层做判断。这种分层的好处是:任何一层的改动不会影响其他层。比如你要换一个OCR服务商,只需要改能力层的适配器,编排层的逻辑完全不用动。
2.2 工具选型:为什么选AgentArts而不是自己搭
市面上做智能体编排的方案不少,有开源的框架,也有各家云厂商的平台。我选AgentArts主要基于三个考虑:
第一,和华为云生态的集成成本低。信贷业务本身就在华为云上跑,数据库、存储、函数计算都是现成的,AgentArts直接调用这些服务不需要额外做网络打通和鉴权适配。我算过一笔账,自己搭一套编排框架,光是和现有系统的对接就要多花两周时间。
第二,内置的对话管理和状态机能力比较成熟。信贷场景的对话不是简单的问答,而是有明确阶段划分的——身份核验阶段、资料采集阶段、风险评估阶段、结果通知阶段。AgentArts的状态机编排能很自然地表达这种阶段流转,不需要自己从头实现一套对话状态管理。
第三,可观测性做得比较到位。每个智能体任务的执行链路、每一步的耗时、工具调用的返回结果,在控制台上都能看到。这对排查问题和合规审计太重要了。我之前用开源框架搭过一个版本,日志散落在各个服务里,排查一个问题要翻好几个地方。
当然也有取舍。AgentArts的灵活性肯定不如完全自研,某些特殊的编排逻辑可能需要绕一下。但对于大多数信贷场景来说,它的能力边界是够用的。
2.3 数据流转与安全边界设计
信贷场景的数据敏感性不用多说,架构设计阶段就必须把安全边界划清楚。我的做法是:
敏感数据不落盘。身份证号、银行卡号、征信报告这些信息,在智能体内部流转时全程加密,只在内存中解密使用,用完立即清除。AgentArts支持在工具调用时传递加密后的数据引用,而不是明文数据本身。
工具调用走内网。所有涉及敏感数据的工具(征信查询、内部风控系统)都部署在内网,智能体通过VPC内的私有端点调用,不经过公网。
对话内容脱敏存储。智能体和客户的对话记录需要保存用于审计,但保存前要做脱敏处理——身份证号只保留后四位,手机号中间四位打码,地址信息只保留到区县级别。
权限最小化。每个工具只授予完成其功能所需的最小权限。比如OCR识别工具只能读取图片,不能访问数据库;征信查询工具只能查询,不能修改任何数据。
这些安全措施在AgentArts的配置里都有对应的实现方式,关键是在设计阶段就要想清楚,不要等上线了再补。
3. 核心环节实操:从零搭建一个信贷初审智能体
3.1 环境准备与基础配置
开始之前,你需要准备这些东西:
- 华为云账号,并且开通AgentArts服务
- 一个VPC,用于部署内网工具服务
- 至少一个ECS实例,用于跑OCR和规则引擎的适配服务
- 对象存储OBS桶,用于存放客户上传的图片和文档
- 如果要用到征信查询,需要提前申请对应的数据接口权限
配置步骤我按实际操作顺序列一下:
- 在AgentArts控制台创建一个新的智能体应用,选择“工作流编排”模式
- 配置对话入口,设置欢迎语和初始状态。欢迎语要明确告知客户“本次对话将被记录用于服务质检”,这是合规要求
- 创建状态机,定义信贷初审的各个阶段:
init→identity_verify→document_collect→risk_check→result_notify - 为每个状态配置对应的处理逻辑和转移条件
这里有个细节要注意:状态机的初始状态不要直接进入信息采集。我一般会加一个disclaimer状态,先展示授权协议和隐私政策,客户确认后再进入正式流程。这个设计在合规检查时帮了大忙。
3.2 对话流程编排:让智能体像真人一样引导客户
信贷初审的对话流程设计,核心原则是一次只问一件事,问完确认再继续。我见过一些智能体设计成一次性列出所有需要提供的材料,结果客户要么漏传,要么传错,反而增加了来回沟通的成本。
具体编排逻辑是这样的:
身份核验阶段,智能体先请客户提供身份证正反面照片。收到照片后,调用OCR工具识别姓名、身份证号、有效期。识别成功后,用TTS或文字回复“已识别到您的信息,请确认姓名是否为XXX”。客户确认后进入下一阶段。如果识别失败或信息不完整,智能体要能判断是图片质量问题还是证件本身问题,分别给出不同的提示。
资料采集阶段,根据客户申请的贷款产品类型,动态决定需要采集哪些材料。比如信用贷只需要身份证和收入证明,抵押贷还需要房产证和评估报告。这个动态决策逻辑通过AgentArts的条件分支来实现——根据product_type变量的值,走不同的采集路径。
风险评估阶段,智能体调用内部规则引擎做初步筛查。这里的关键是规则引擎的返回结果要结构化,不能只返回“通过/不通过”,而要返回具体的规则命中情况和风险等级。智能体根据返回结果决定是继续流程、要求补充材料,还是转人工复核。
结果通知阶段,根据风险评估的结果,生成对应的通知话术。通过的话告知预计额度和利率范围,需要补充材料的话列出具体清单,转人工的话说明原因并给出预计等待时间。
整个流程中,智能体需要维护一个context对象,记录当前状态、已采集的信息、已调用的工具和返回结果。这个context在每个状态转移时传递,确保智能体“记得”之前发生过什么。
3.3 工具调用与容错处理:智能体“聪明”与否的分水岭
工具调用是智能体能力的核心体现,但真正拉开差距的是容错处理。我总结了几种常见的异常情况和对应的处理策略:
| 异常类型 | 典型场景 | 处理策略 |
|---|---|---|
| 接口超时 | 征信查询接口响应超过5秒 | 重试2次,间隔1秒;仍失败则降级为人工查询,同时通知客户“系统正在处理,请稍候” |
| 返回数据格式错误 | OCR返回的JSON缺少必填字段 | 记录原始返回内容,尝试用备用解析逻辑提取;仍失败则提示客户重新上传 |
| 业务规则冲突 | 客户收入满足A产品要求但不满足B产品要求 | 智能体根据优先级规则自动选择最合适的产品,并在通知中说明推荐理由 |
| 客户输入异常 | 客户连续三次输入无法识别的内容 | 转人工坐席,同时把已采集的信息和对话记录一并转过去 |
这些容错逻辑在AgentArts里通过try-catch节点和条件分支来实现。我的经验是:每一个工具调用节点后面都要跟一个异常处理分支,不要假设任何接口是100%可靠的。
还有一个容易被忽略的点:超时时间的设置。不同工具的超时时间应该不一样。OCR识别一般1-2秒够了,征信查询可能要3-5秒,内部规则引擎通常很快,500毫秒以内。超时时间设得太短会导致频繁重试,设得太长会让客户等太久。我一般会先跑一轮压测,拿到各工具的实际响应时间分布,然后取P95值再加一点余量作为超时阈值。
3.4 状态管理与上下文传递的实操细节
AgentArts的状态管理用的是session机制,每个对话会话有一个唯一的session_id,所有状态数据都挂在这个session下面。实操中有几个坑我踩过:
坑一:状态数据太大导致性能下降。一开始我把客户上传的所有图片的base64编码都塞进session里,结果session体积膨胀到几MB,每次读写都很慢。后来改成只存OBS的URL,需要的时候再去拉取,性能好了很多。
坑二:并发对话的状态隔离。如果同一个客户开了两个对话窗口,两个session之间要完全隔离。AgentArts默认是按session_id隔离的,但如果你在工具层用了全局变量,就可能出现串数据的情况。我的做法是所有状态数据都通过参数传递,工具层不保存任何会话相关的状态。
坑三:长时间未操作的会话清理。客户可能聊到一半就走了,这些僵尸session如果不清理会占用资源。我设置了一个定时任务,超过30分钟没有交互的session自动归档,归档前把关键信息写入数据库,下次客户回来可以通过身份验证后恢复进度。
4. 常见问题排查与实战避坑指南
4.1 智能体“答非所问”的排查思路
这是最常见的问题,客户问了一个问题,智能体回答的内容完全对不上。排查思路按优先级来:
第一步,检查意图识别是否准确。AgentArts的意图识别是基于你配置的语料训练的。如果客户用了你没覆盖到的表达方式,就可能识别错误。解决办法是定期分析对话日志,把识别错误的case补充到训练语料里。我一般每周做一次语料迭代,持续跑一个月之后,意图识别准确率能从最初的70%左右提升到90%以上。
第二步,检查状态机是否卡在某个状态。有时候智能体不是“答错”,而是“没听懂但不敢说”,于是重复上一个状态的话术。这种情况要看日志里状态转移的记录,确认是不是某个条件分支没有覆盖到。
第三步,检查工具返回结果是否被正确解析。如果工具返回了数据但智能体没用到,可能是解析逻辑有问题。AgentArts的调试模式可以单步执行,能看到每一步的输入输出,排查起来比较方便。
4.2 工具调用超时与降级策略的配置要点
工具调用超时是生产环境最常见的问题。我的配置原则是:
- 每个工具单独配置超时时间,不要用全局默认值
- 重试次数不超过2次,超过2次说明不是偶发问题,重试也没用
- 降级策略要提前定义好,不能等出问题了再想怎么办
- 降级后的用户体验要平滑,不要让客户感觉到系统出了问题
举个例子,征信查询工具的超时配置是这样的:超时时间5秒,重试2次,重试间隔1秒。如果3次都失败,降级为“人工查询”模式——智能体告诉客户“您的征信信息需要人工核实,我们会在2小时内给您回复”,同时后台生成一个工单派给征信查询岗的同事。
这个降级策略的关键是不要让客户干等。客户最怕的是“系统卡住了但没人告诉我”。明确告知客户发生了什么、接下来会怎样、大概多久有结果,体验就好很多。
4.3 合规审计视角下的日志与追踪设计
金融行业的合规审计要求:每一笔业务操作都要能追溯到具体的操作人、操作时间、操作内容和操作结果。智能体虽然没有人直接操作,但它的每一个决策都要有依据。
我的日志设计包含这几个层次:
对话日志:记录客户和智能体的每一轮对话,包括时间戳、输入内容、输出内容、当前状态。敏感信息脱敏后存储。
工具调用日志:记录每一次工具调用的请求参数、返回结果、耗时、是否成功。请求参数中的敏感字段用哈希值代替。
决策日志:记录智能体在每个状态转移点的决策依据。比如“从document_collect转移到risk_check,因为已采集到身份证、收入证明、征信授权书三份材料”。
异常日志:记录所有异常情况,包括异常类型、发生时间、处理策略、最终结果。
这些日志统一写入华为云的LTS日志服务,保留期限设置为至少6个月(具体看监管要求)。AgentArts的控制台可以按session_id或时间范围检索日志,排查问题时比较方便。
4.4 性能优化:让智能体响应更快、更稳
性能优化主要从三个维度入手:
减少不必要的工具调用。有些信息可以从缓存里拿,不需要每次都调接口。比如客户的基本信息,在第一次采集后缓存到session里,后续直接读取。
并行化可以并行的操作。比如OCR识别身份证和银行卡可以同时进行,不需要串行等待。AgentArts支持并行分支,把这两个操作放在并行节点里,总耗时从2秒降到1秒左右。
优化对话话术的长度。智能体的回复太长会增加TTS合成的时间和客户阅读的时间。我一般把每轮回复控制在50字以内,复杂信息用列表或卡片形式展示。
实测下来,经过这些优化,一个完整的信贷初审对话(从开始到出结果)的平均耗时从最初的3分钟左右降到了1分半左右,客户体验提升很明显。
4.5 从“能用”到“好用”的迭代经验
最后分享几个让智能体从“能用”变成“好用”的经验:
第一,给智能体加“确认”环节。在关键信息采集完成后,让智能体复述一遍并请客户确认。这个动作看起来多余,但能大幅减少后续因为信息错误导致的返工。
第二,设计“兜底话术”。当智能体不确定该怎么回答时,不要瞎编,而是说“这个问题我需要帮您转接人工客服,请稍等”。兜底话术的质量直接影响客户对智能体的信任度。
第三,定期做“盲测”。找几个不了解这个智能体的人,让他们以真实客户的身份和智能体对话,记录所有卡壳的地方。这些卡壳点就是下一步迭代的重点。
第四,关注“转人工率”这个指标。转人工率太高说明智能体能力不足,太低可能说明智能体在“硬撑”——明明处理不了却不转人工,导致客户体验更差。我一般把转人工率控制在15%-25%之间,具体看业务复杂度。
第五,不要追求一步到位。先让智能体处理最简单的场景(比如只做信息采集和初步筛查),跑稳了再逐步增加复杂度。我见过一个团队一上来就想做全流程自动化,结果问题太多,最后整个项目被叫停。分阶段迭代,每个阶段都有可衡量的效果,这样推进起来阻力小很多。
这个方向后续还可以往“多智能体协作”扩展——比如一个智能体负责对话,一个智能体负责风控判断,一个智能体负责合规检查,它们之间通过消息队列通信。AgentArts目前对多智能体协作的支持还在完善中,但基础的消息传递机制已经有了,感兴趣的话可以先做个小demo验证一下。