
1. 金融信贷场景下 AI 智能体的整体设计思路1.1 为什么金融信贷需要 AgentArts 这类智能体平台金融信贷这个行业表面上看是借钱还钱但真正落到业务系统里它是一条极长的链路贷前获客与反欺诈、贷中额度审批与定价、贷后监控与催收每一个环节都牵扯大量非结构化文本——征信报告、银行流水、工商信息、合同条款、客服通话记录、工单描述。传统做法是写死规则引擎或者训练一堆小模型各管一段问题是规则维护成本高、模型之间割裂、新业务上线周期动辄以月计。我接触过不少信贷团队他们最痛的点其实不是没有 AI而是AI 散落在各个角落串不起来。一个客户提交申请后风控系统跑一套模型客服系统又是另一套问答机器人贷后催收再单独搞一个外呼脚本数据不通、上下文不共享最后客户体验割裂运营同学还得手动在几个后台之间来回切换。华为云 AgentArts 这类智能体开发平台的价值就在这里它把大模型能力、工具调用、知识库检索、工作流编排统一到一个可配置的框架里让信贷业务人员而不只是算法工程师能搭出一个能思考、会调用工具、有记忆的智能体。所谓能思考指的是它基于 ReAct 模式——推理加行动交替进行会调用工具指的是它能主动去查征信接口、算额度、发短信有记忆指的是它能记住多轮对话的上下文不会聊到第三句就忘了客户是谁。1.2 信贷智能体的核心能力拆解一个能真正跑在信贷业务里的智能体我把它拆成四层能力缺一层都会在实际落地时掉链子。第一层是意图理解与任务分解。客户说我最近手头紧想看看能不能多借点这句话背后可能是提额申请、可能是延期还款咨询、也可能是投诉。智能体要能识别意图并把多借点分解成查当前额度→查还款记录→评估提额资格→给出方案这一串子任务。第二层是知识检索RAG。信贷业务有大量政策文档、产品说明、费率表、合规话术这些内容更新频繁不可能每次都重新训练模型。RAG 的思路是把这些文档切片、向量化存进知识库智能体回答时先检索相关片段再让大模型基于检索结果生成回答。这样既保证了准确性又让知识更新变成改文档而不是重训模型。第三层是工具调用。智能体不能只会聊天它得能真正干活——调用征信查询接口、调用额度计算服务、调用短信网关、调用工单系统。AgentArts 里这些通过插件或工具的形式注册智能体在推理过程中自主决定调哪个、传什么参数。第四层是安全与合规护栏。金融行业监管严格智能体绝对不能乱说话不能承诺利率、不能泄露他人信息、不能给出违规建议。所以要有输出过滤、敏感词拦截、权限校验这些护栏机制。1.3 方案选型的几个关键取舍在实际搭建时有几个选择是绕不开的我把自己踩过的坑说一下。自建 vs 平台化。早期很多团队喜欢自己用 LangChain 之类的框架从零搭灵活是灵活但工程化成本极高——会话管理、并发控制、日志追踪、灰度发布全得自己写。AgentArts 这类平台把这些基础设施都封装好了你专注在业务逻辑上。代价是灵活性受一定限制但对于信贷这种业务逻辑复杂、底层技术不需要太花哨的场景平台化反而更划算。单智能体 vs 多智能体协作。信贷链路长有人主张拆成审批智能体催收智能体客服智能体各自独立再通过消息总线协作。我的经验是初期别急着拆先用一个智能体把主流程跑通等某个环节确实复杂到影响整体性能了再把它拆出去。过早拆分会带来上下文传递、状态同步一堆麻烦。RAG vs 微调。政策类、话术类知识用 RAG因为更新频繁而像如何判断一个客户的还款意愿这种需要模型内化的判断能力可以考虑微调。两者不是二选一实际项目里往往是 RAG 打底、微调补强。2. 核心细节解析与实操要点2.1 知识库构建RAG 在信贷场景的落地细节RAG 听起来简单——切片、向量化、检索、生成但信贷场景的文档有它的特殊性直接套通用方案会翻车。文档切片的粒度问题。信贷政策文档经常是总则-分则-附则的结构一个费率表可能横跨好几页。如果按固定字数比如 500 字硬切很容易把一张表格切成两半检索出来的是残缺信息。我的做法是按语义结构切先按标题层级切大块再在块内按段落切表格单独作为一个 chunk 并保留表头。AgentArts 的知识库支持自定义分段规则可以配置按 Markdown 标题或特定分隔符切分。向量化模型的选择。中文金融文本有不少专业术语通用 embedding 模型对等额本息先息后本连带责任保证这类词的区分度不够。实测下来选择针对中文优化过的 embedding 模型召回质量明显更好。如果平台支持建议用业务语料做一次领域适配。检索策略。纯向量检索有个毛病对精确匹配不敏感。客户问年化利率 3.6% 的产品有哪些向量检索可能返回一堆讲利率概念的文档却没命中那个具体数字。所以要用混合检索——向量检索加关键词检索BM25两路结果融合排序。AgentArts 里可以配置多路召回再重排。元数据过滤。信贷知识库一定要打标签产品线、地区、生效日期、文档类型。检索时先按元数据过滤再向量匹配能大幅提升准确率。比如客户是上海地区的就只检索上海适用的政策避免答出其他地区的规则。2.2 工具调用的参数设计与容错智能体调用工具最容易出问题的地方是参数。大模型生成的参数格式经常和接口要求对不上比如日期格式、金额单位、枚举值。参数 schema 要写死。在 AgentArts 里注册工具时把每个参数的名称、类型、是否必填、取值范围、示例都写清楚。模型看到清晰的 schema生成正确参数的概率会高很多。我见过有人图省事只写参数名不写类型结果模型传了个字符串一万给需要数字的金额字段直接报错。加一层参数校验。工具执行前先做校验格式不对就返回明确的错误信息给模型让它重新生成。这比直接抛异常好因为模型能根据错误信息自我修正。这就是所谓的自主容错——不是靠人兜底而是让智能体在失败后能重试。幂等性设计。信贷场景里有些操作不能重复执行比如提交审批发起扣款。工具接口必须支持幂等或者智能体侧要有去重逻辑防止模型因为超时重试导致重复提交。超时与降级。外部接口征信、核心系统响应慢是常态。工具要设超时超时后返回一个暂时无法获取请稍后重试的友好提示而不是让整个对话卡死。2.3 提示词工程让智能体说合规的话信贷智能体的提示词System Prompt是整个项目的灵魂写得好不好直接决定它会不会闯祸。角色设定要具体。不要写你是一个金融助手要写你是某银行信贷部门的智能客服负责解答客户关于个人消费贷款的咨询你不具备审批权限所有审批结果以系统为准。越具体模型越不容易越界。明确禁止事项。把红线写进提示词不得承诺具体利率、不得保证审批通过、不得泄露其他客户信息、不得提供规避监管的建议。同时配合平台的敏感词过滤做双重保险。输出格式约束。信贷回答最好结构化比如结论依据下一步。这样既专业又便于后续质检。可以在提示词里给出输出模板。少样本示例。给几个标准问答示例尤其是边界情况的示例比如客户情绪激动时怎么回应能显著提升输出稳定性。3. 实操过程与核心环节实现3.1 环境准备与平台接入先把基础环境搭起来。AgentArts 是云上平台登录控制台后主要做三件事创建智能体应用、配置模型、接入知识库和工具。模型选择上信贷场景对准确性和合规性要求高建议选能力较强的通用大模型作为主模型同时配置一个轻量模型处理简单意图分类做成本优化。AgentArts 支持多模型路由可以根据任务复杂度动态选择。知识库接入时先把信贷政策文档、产品手册、FAQ 整理成规范格式推荐 Markdown上传后配置分段规则和 embedding 模型。工具接入需要你有后端接口按平台要求封装成标准的 HTTP 接口填好 schema。提示知识库首次构建索引需要时间文档量大时建议分批上传边传边测检索效果别等全传完才发现切片策略不对。3.2 工作流编排把信贷审批链路串起来AgentArts 的工作流编排是可视化的拖拽节点连线。一个典型的提额咨询工作流大致是这样意图识别节点判断客户是想提额、想咨询费率、还是想还款。信息收集节点如果信息不全追问客户身份信息注意脱敏。知识检索节点检索提额政策。工具调用节点调用额度查询接口、还款记录接口。条件分支节点根据查询结果判断是否符合提额条件。生成回复节点综合所有信息生成回答。合规校验节点过滤敏感内容后再输出。每个节点之间传递的是结构化的上下文对象不是纯文本。这点很关键——用结构化数据传递下游节点才能准确拿到需要的字段而不是靠解析自然语言。3.3 关键参数计算额度评估的实操示例信贷智能体经常要做额度相关的计算这里给一个简化但可复现的例子。假设提额规则是基础额度 月收入 × 倍数系数倍数系数根据信用评分分档信用评分区间倍数系数说明750 以上8优质客户700-7496良好客户650-6994一般客户650 以下2谨慎授信最终额度还要考虑现有负债可提额度 基础额度 - 当前已用额度。在智能体里这个计算不要交给大模型心算——大模型算数不可靠。正确做法是封装成一个工具模型只负责提取参数月收入、信用评分、已用额度并调用工具计算逻辑在工具里用代码实现。这样既准确又可审计。def calculate_credit_limit(monthly_income, credit_score, used_amount): if credit_score 750: multiplier 8 elif credit_score 700: multiplier 6 elif credit_score 650: multiplier 4 else: multiplier 2 base_limit monthly_income * multiplier available max(base_limit - used_amount, 0) return { base_limit: base_limit, available_limit: available, multiplier: multiplier }模型调用这个工具后拿到结构化结果再组织成自然语言回复客户。整个链路清晰、可追溯。3.4 多轮对话与上下文管理信贷咨询往往不是一问一答就结束。客户可能先问费率再问提额最后问还款方式。智能体要能记住前面聊了什么。AgentArts 的会话管理会自动维护上下文但要注意上下文长度控制。聊得太久历史消息会撑爆模型的上下文窗口。我的做法是保留最近 N 轮完整对话更早的对话做摘要压缩。摘要里保留关键实体客户 ID、咨询的产品、已确认的信息丢弃寒暄内容。另外跨会话记忆要谨慎。同一个客户今天咨询、明天再来要不要记住昨天聊的涉及隐私建议默认不跨会话记忆除非客户明确授权。4. 常见问题与排查技巧实录4.1 检索不准RAG 效果差的排查路径RAG 效果不好是最常见的问题排查要按顺序来别一上来就怀疑模型。第一步看切片。把检索命中的 chunk 打印出来看看是不是切得七零八落。如果命中的是半张表格或者断句那就是切片策略的问题回去调分段规则。第二步看 embedding。把客户问题和命中文档的向量相似度算出来如果相似度普遍偏低可能是 embedding 模型不适合中文金融语料考虑换模型或做领域适配。第三步看检索策略。纯向量检索对数字、专有名词不敏感加上关键词检索做混合召回。第四步看重排。召回一堆结果后用重排模型rerank精排把最相关的放前面。这一步对最终效果提升很明显。第五步看提示词。检索结果对了但模型没用上那是提示词没写清楚必须基于检索结果回答。在提示词里强调如果检索结果中没有相关信息明确告知客户无法回答不要编造。4.2 工具调用失败参数与超时的处理工具调用失败通常有几类原因我整理成速查表现象可能原因排查方法解决思路参数格式错误schema 不清晰打印模型生成的参数完善 schema加示例接口超时下游系统慢看接口响应日志设超时重试降级权限拒绝token 失效检查鉴权配置刷新凭证加告警重复提交无幂等查业务流水接口加幂等键返回解析失败格式不符对比接口文档加适配层转换注意工具报错信息不要直接抛给客户看要转成友好话术。但给模型看的错误信息要详细方便它自我修正。4.3 合规风险智能体说错话的防范金融智能体最怕的就是说错话。我总结了几道防线输入侧过滤明显的恶意诱导比如教我怎么骗贷。推理侧提示词里写死红线配合平台的敏感词库。输出侧做二次校验检测是否包含承诺性词汇一定保证百分百、是否包含具体利率数字除非来自知识库、是否包含他人信息。事后侧全量记录对话日志定期抽检发现问题及时调整提示词和知识库。实测下来光靠提示词不够输出侧的关键词校验是最后一道保险一定要做。4.4 性能优化响应慢怎么办智能体响应慢用户等三秒就跑了。优化方向有几个并行调用。多个独立的工具调用可以并行发起别串行等。比如查征信和查额度可以同时进行。缓存。知识库检索结果、不常变的政策文档可以缓存。相同问题短时间内重复问直接返回缓存结果。流式输出。让模型边生成边返回用户看到字一个个蹦出来感知上快很多。模型分级。简单意图分类用小模型复杂推理用大模型别什么都上大模型。精简上下文。历史对话做摘要检索结果只取 top 3别一股脑全塞进去。5. 从学习笔记到生产落地的一些体会5.1 学习阶段和生产阶段的差异我一开始拿 AgentArts 做学习笔记项目时追求的是功能跑通——能检索、能调用工具、能多轮对话就满足了。但真正要上生产差距很大。学习阶段可以容忍 80% 的准确率生产环境 95% 都嫌低。学习阶段不用考虑并发生产环境可能同时几百个会话。学习阶段日志随便打生产环境日志要脱敏、要可追溯、要满足审计要求。所以我的建议是学习阶段就把工程化的习惯养起来——结构化日志、参数校验、异常处理、配置外置。这些习惯在 demo 阶段看不出价值但迁移到生产时能省大量返工。5.2 一个容易被忽视的点可观测性智能体是个黑盒它为什么这么回答不查日志根本不知道。所以可观测性必须从第一天就做。要记录的东西包括每次对话的完整输入输出、检索命中的文档 ID 和相似度、调用了哪些工具及参数、每步耗时、模型的 token 消耗。这些数据不仅能排查问题还能用来优化——比如发现某类问题检索总是命中不准就知道该补充知识库了。AgentArts 平台自带一些监控能力但业务侧的埋点还得自己加。别嫌麻烦出问题时这些日志就是救命稻草。5.3 后续可以扩展的方向这个学习笔记项目跑通后我试过几个扩展方向都挺有意思。一是多智能体协作。把审批、客服、催收拆成独立智能体通过一个调度智能体协调。适合业务复杂到单智能体提示词写不下的情况。二是接入更多数据源。除了知识库和接口还可以接入图数据库把客户关系、担保关系做成知识图谱智能体检索时能顺着关系链找到关联信息。这就是所谓的 GraphRAG 思路对反欺诈场景特别有用。三是主动式服务。现在的智能体都是被动应答客户问才答。可以做成主动的——监测到客户还款日临近主动推送提醒监测到客户额度快用完主动推荐提额。这需要智能体和业务系统深度集成。四是效果评估体系。建一套自动评估流程用标注好的问答对定期测试智能体量化准确率、合规率、响应时间让优化有数据支撑而不是凭感觉。最后分享一个我在实操中体会很深的小技巧别指望一次把提示词写到完美。我通常是先写个粗糙版本跑起来收集真实对话看模型在哪里出错然后针对性地改提示词。迭代个五六轮效果就稳定了。提示词工程是个持续打磨的活不是一锤子买卖。