FinAgent · 金融合规智能体平台(多租户 / 审计 / 条款级引用)产品系统Vibe Coding

我要开发同款
x72026年10月19日
3阅读

技术信息

语言技术
HTTP、JavaScript、TypeScript、Node.js
系统类型
Web、Linux、Windows
行业分类
人工智能、金融

作品详情

行业场景

立项原因:金融机构上大模型问答,最先被合规卡住的不是效果,而是三件事——答案必须有制度依据且能回溯到具体条款、客户敏感信息不能出网、每一次调用都要能审计回放。通用问答产品在这三点上基本是空白:引用"看起来像",脱敏做在客户端,审计只剩聊天记录。
行业场景:银行/保险/证券的合规问答、内审取数、柜面与客户经理的制度查询,以及监管检查时的取证回放。这类场景的共同要求是"可解释、可追溯、可交付":一条答案要能说清依据哪一条制度、原文在哪一页、当时用的是哪个模型、花了多少钱、有没有降级。

功能介绍

1、合规问答:答案只依据制度条款生成,每条结论后标注《制度名》第X条,可展开查看条款原文与原文页码。
2、外发前脱敏:识别身份证、银行卡、手机号、邮箱、客户姓名,替换为掩码后再发往模型;原始值不出网、不落库,审计只记类型与掩码。
3、多租户与 RBAC:4 类角色(业务分析/合规复核/内部审计/平台管理员)× 6 项权限,服务端求值,越权返回 403 并记入审计流水;非管理员无法跨租户查询。
4、模型网关:按风险路由(集中度、关联交易、反洗钱、拨备等走强模型,其余走便宜模型,单价差 4 倍);租户级令牌桶限流;按 token 核算成本;主模型失败自动降级并在页面标注。
5、受限工具:只读查询授信台账。模型只能传结构化参数(行业/风险分类/逾期天数/排序/条数),租户条件与条数上限由服务端强制拼接,不向模型开放自由 SQL。
6、审计与回放:每次模型调用落库模型、档位、provider、token、成本、耗时、路由理由、降级原因;事件流水含 denied(越权)记录;工具调用单独留痕。
7、评测看板:20 条金融回归集,输出检索命中率、引用准确率、拒答正确率与平均成本,确定性可复跑、不消耗模型额度。
8、条款级制度库:8 部制度 / 24 条条款,引用粒度到条,记录章节与原文页码,支持按制度查看原文。

项目实现

独立完成需求抽象、架构设计与全部实现,规模 2248 行业务代码 + 33 个测试用例。技术选型刻意做减法:Node 24 原生跑 TypeScript,存储用内置 node:sqlite,HTTP 用 node:http,前端零构建(原生 HTML/CSS/JS),运行时零第三方依赖。
关键实现:
1)引用校验放在生成之后、落库之前:解析答案中的引用,只保留确实出现在本次检索结果里的条款,幻觉引用被剥离并计数——宁可少引用,也不给错引用。
2)脱敏放在链路最前端:任何外部调用之前完成替换;测试额外断言"落库内容里不允许出现原始卡号/手机号"。
3)检索用 BM25 + 结构化加权:条款号精确命中权重最高、制度名命中次之,中文按 bigram 切分;向量后端做成可插拔接口,未配置时纯离线可跑。
4)工具不给模型自由 SQL:模型只能表达业务语义参数,租户条件与 LIMIT 由服务端强制拼接;同时保留 Guard 拦截写操作/多语句/注释,防止以后有人加自由 SQL 入口。
5)评测口径写在页面上(retrieval-only),避免"100% 命中"被误读为端到端效果。
难点:拒答判定不能用关键词匹配。模型经常在正确回答之后再补一句"某细节制度未规定",早期版本会把它误标为拒答;最终改为以"是否存在可校验引用"为准,并补了对应测试用例。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论