Skip to content

金融风控系统研发实施 ​

示例方案与真实状态

本文保留 Codex 与两个技能的研发方法与候选设计。用户随后授权创建,平台草稿已落地,部分计算已验证,实际结果见创建实录。尚未完成全业务联调或上线,不保存 API Key。

1. 输入与双 Skill 分工 ​

需求输入为用户提供的《金融风控管理系统-功能清单.xlsx》,已用 openpyxl 只读解析“功能清单”“入池单”“下单风控审核表”“看板页面”四个工作表。实施参考为仓库内 projects/financial-risk/implementation.md;其中早期认证失败记录是历史状态,最新状态以上述说明为准。

工具或技能研发职责交付边界
Codex阅读需求、拆解任务、编写脚本与文档、整理验证证据生成代码和设计不等于平台运行成功
informat-designer管理需求、分析设计、分批开发、测试、验收上线与运维移交按生命周期确定范围、变更影响、阶段门禁和证据
informat核对平台领域文档、方法 schema、SDK 与真实对象定义,执行获授权的调用使用真实 ID;结构写入串行执行,随后回读核对

进入平台实施前,先检查运行时注入的 INFORMAT_HOST、INFORMAT_AGENT_TOKEN 是否存在,只输出检查结论。不得将凭证写入文档、参数文件、日志、版本库或 scripts/.env。建设采用用户已确认范围;发布与业务验收分别记录。

2. 需求追踪与范围 ​

用稳定需求 ID 连接来源、模型、入口、任务、测试与验收。以下沿用实施基线,不因开发批次变化重编号。

需求 IDExcel 来源候选实现与验收目标
FR-01~03功能清单 6~9;入池单产品、入池申请、评级与额度;查重、自动或审批入池、评级依据可追溯
FR-04功能清单 10~12交易导入与持仓重算;重复交易不重复入账,更正后可对账
FR-05~06功能清单 13~17;下单风控审核表规则、下单审核、事件与处置;触发路径和审批结论可追溯
FR-07功能清单 18~20;看板页面持仓、现金、盈亏、类型占比与额度;展示口径和数据时点
FR-08功能清单 21~22交易软件同步与止损预警;接口和公式未提供,待确认
OA-01~02、SEC-01功能清单 23~28组织成员、OA 与权限;OA 是否同批实施待确认

每项台账记录“需求来源 → 决策版本 → 实现对象 → 测试用例 → 证据 → 当前状态”。未确认事项不能标为已完成;费用列为空、合计为零不能推导项目报价。

3. 候选模型与字段契约 ​

下表为设计建议,尚无真实表 ID、字段 ID。实施时以目标环境 schema 和回读定义校准类型、精度及配置。

对象关键字段示例类型与关系建议
产品 productproductCode、productName、assetCategory、currency、isListed代码和名称用 SingleText;品种、币种用 ListSelect;上市标记用 Checkbox
入池申请 poolApplicationproductId、applicationType、applicant、applicationDate、applicationStatusRelationRecord 关联产品;User 记录申请人;Date 记录日期;类型与状态用 ListSelect
投资账户 investmentAccountaccountName、owner、baseCurrencySingleText、User、ListSelect;账户与组合粒度待确认
下单申请 orderApplicationinvestmentAccountId、productId、direction、orderAmount、decisionSnapshot账户和产品关联;金额候选 Double,须验证存储精度;审批依据采用明确快照字段,结构化快照存储按真实能力选型
交易 trade、持仓 positionsourceTradeNo、quantity、price、tradeTime、marketValue交易保留来源和有效状态;持仓按账户与产品聚合,计算结果禁止普通用户编辑
规则 riskRule、额度 productLimitmetricCode、operator、threshold、thresholdUnit、ruleVersion指标、比较符、单位用稳定选项;金额、比例、保证金分开表达,保留版本与有效期
评级 riskRatingproductId、internalRating、ratingValidUntil、ratingReasonRelationRecord、ListSelect、Date、MultiText;外部评级与机构分别记录
事件 riskEvent、处置 riskTreatmentriskRuleId、actualValue、eventStatus、treatmentResult事件关联规则、账户和产品;处置关联事件,结果用 MultiText,材料用附件字段
行情与汇率 marketSnapshotproductId、price、exchangeRate、observedAt保存来源与数据时点;接口和估值口径确定后再实施

字段标识采用英文 camelCase;外键为业务对象名加 Id,快照加 Snapshot。选项 ID 使用稳定英文语义或间隔为 10 的字符串编码,不能用显示名称或随机 UUID 代替。产品代码唯一范围须结合市场、币种和来源确认。

产品详情通过 LookupList 展示申请、交易、评级和事件;事件详情展示处置列表。RelationRecordField 可带出当前展示值,但审批依据必须保存独立快照,不能随主数据变化。关联显示列需核对真实字段 ID、类型和非空列名。

表单按申请、产品、指标、评级、额度分组,短字段紧凑排列,长理由独立占宽,按实际内容与控件空间配置宽度。股票和固收字段按品种显示,新建时隐藏未产生的编号与结果。关键提交仍须服务端校验,隐藏或前端必填不能保证数据完整;Date 记录时刻时同时配置显示时间与日期时间格式。

4. 规则语义先于规则代码 ​

原始规则可复用的解释原则
国债自动入池、R1、阈值“无”“无”不是数值零;只描述该行阈值,不代表免除其他校验
存款单银行不超过总资产 5%按银行聚合;总资产分母、时点、范围与币种折算待确认
公司债等投资级且内部 R3 及以下,500 万美元保留外部评级、内部评级与金额条件;混合评级情形和机构映射待确认
债券基金 500 万或指定高分散高收益基金 300 万美元按具体类别匹配;不能将所有债券基金合并为同一规则
股票核心池、普通池 50 万美元保留市值、近 30 日交易指标、交易所与财务条件;原文美元交易量的金额口径待确认
指定衍生品 50 万、其他指定衍生品 10 万美元衡量保证金,不能用名义本金直接比较
法币挂钩且发行量大于 1000 亿美元的虚拟货币,500 万美元入池条件与下单额度分别判断;缺失评级不补造等级
“0 万美元,单独请示”进入例外审核,不能解释为不限额;批准额度与有效期另行确认

建议规则结果区分 pass、approvalRequired、blocked、dataMissing,这是待确认的应用契约,不是平台内置枚举。规则输入记录账户、产品、方向、金额、持仓、评级、行情与版本;输出保留命中原因和审批路径。多规则冲突、未成交订单是否占用额度、卖出适用范围须明确后再编码。

金额统一单位后比较;“<=”覆盖等于阈值的情况。缺失或过期评级、缺失行情或汇率不能按零值放行。评级权重、止损公式、成本和收益算法未提供,禁止由 AI 自行补齐。Codex 用于研发协作,不替代投资决策或人工审批。

5. 分批实现、入口与流程 ​

以下为分阶段实施方法;本轮已执行与尚未执行部分以创建实录为准。完整应用蓝图先确定业务范围和绑定规划,再按 informat 契约登记计划;组件数量来自业务需求,不为数量门禁新增无用对象。

阶段实施内容阶段交付与进入下一阶段条件
需求与设计查重、确认账户粒度、OA 范围、规则与角色;形成蓝图和差异清单需求追踪、模型、入口、权限、未知项和确认记录齐备
模型第一批全部基础表与无跨表依赖字段串行写入后全量回读,记录真实表和字段 ID
模型第二批关联记录、带出字段、查找列表、汇总及显示配置真实引用存在,表单和关联选择可用,样例关系验证完成
业务实现分层脚本、自动化、流程、按钮、监听与调度各组件有入口、权限、错误路径与幂等策略,回读结果符合设计
联调验收规则边界、交易对账、权限、流程、同步及看板需求逐项关联运行证据,缺陷与待确认项可追踪
发布移交取得范围明确的发布授权,检查、发布、验证运行态发布记录、冒烟证据、版本、回退方案和运维责任交接

入池申请“提交审核”绑定查重与规则判断,符合已确认条件才自动入池,否则走研究员、基金经理审批。下单申请“提交风控审核”绑定评级、持仓与额度检查,例外路由涉及总经理、家族办公室,实际岗位映射和顺序待确认。审批通过仅形成下单结论,不能当作成交或直接增加持仓。

交易工具栏绑定导入;交易变更监听触发相关账户与产品重算。定时扫描绑定风险检测、事件去重、分类审批和通知;事件“提交处置”绑定方案、结果与复核关闭。各流程共用一个应用级 Bpmn 和关联 BpmnData 模块,分别建立业务流程定义,不能随机指定审批人。交互确认可能分割服务端事务,暂停前已提交写入不能假定随后续失败回滚。

6. 分层脚本与集成 ​

优先读取用户或项目已有脚本模板,无适用模板才选技能骨架。建议调用链为 入口 → service → mapper → 平台 SDK,工具层处理对象转换、金额、时间和日志。service 只表达业务规则,不写 SQL;mapper 封装持久化和参数化查询。SQL 如确有必要,应按目标数据库采用存在性检查、幂等迁移等可重复执行方式,不能直接执行未验证的数据库方言。

每个类和函数详细说明职责、输入类型、返回值、权限、错误、副作用、幂等和事务边界。先核对各 informat.* 模块 SDK 签名;GraalVM 入参和返回值可能是 Java Map/List,需显式适配。金额使用经验证的十进制计算方案,不用普通浮点误差作为资金对账结论;平台表达式是 UEL,不能直接照搬 JavaScript。

关键日志记录 traceId、需求 ID、业务编号、规则版本、判断摘要、耗时及错误码;覆盖校验、审批、导入、重算、同步和事件去重。日志不得输出凭证、完整持仓或个人敏感信息。运行排错需关联真实运行日志与业务记录,无 ERROR 或脚本保存成功不足以证明通过。

外部集成先取得接口、认证、字段样例、分页、时区和频率,再设计“拉取 → 校验 → 幂等入账 → 更新指标 → 检测”。交易幂等键由来源系统、账户与来源交易编号等确认;更正和撤销保留追踪链。并发入账与事件去重须验证原子性,不能只依赖先查询再创建。失败记录可重试范围,通知失败不重复入账。看板按账户、币种和时点对账,未确认汇率前分币种展示。

7. 逐阶段提示词 ​

下面是未来阶段的可复用提示词模板,本轮不执行。平台实施需另有明确授权;任何不兼容改动均须用户手工确认,发布授权与验收结论分别记录。

阶段可复用提示词
需求整理使用 informat-designer 和 informat,只读分析指定 Excel 与实施基线。按需求 ID 输出来源、业务结果、范围、待确认项和验收入口,区分事实与假设,不进行平台写入。
蓝图设计根据已确认范围设计模型、字段类型、精度、关系、表单、角色权限与绑定规划。列出规则原文和可执行语义差异;未知项标为待确认,输出供人工确认的蓝图。
模型实施在本次已授权范围内,先查询真实结构并读领域文档与方法 schema。分两批创建基础模型和关联,结构写入串行、逐次回读,保留真实 ID 与差异,不改变未授权对象。
业务研发按项目模板实现入口、service、mapper、工具层;service 不写 SQL。类与函数写完整注释,关键动作打印脱敏日志,明确金额、幂等、并发、权限和失败契约,逐项核对 SDK。
联调测试按需求 ID 验证阈值以下、等于、超过,以及缺失数据、重复导入、更正、超额卖出、重复扫描和各角色越权。记录预期、实际、运行日志和业务记录,无证据不得标记通过。
发布移交核对已获授权的环境和版本,执行完整性检查与发布后冒烟,交付真实发布结果、回退边界、调度及同步监控责任;授权不足时停留在待发布状态。

8. 交付证据与当前结论 ​

验收证据模板为:需求 ID / 场景 / 数据与版本 / 操作身份 / 预期 / 实际 / traceId / 记录或流程 ID / 结论 / 缺陷。覆盖读取、写入、导入和脚本入口的权限;测试不能只用管理员。下单并发、重复同步、规则切换、历史审批快照和看板对账均须形成真实证据。

当前应用 ID 为 sokxosrao8s5v。模型、流程草稿、看板、角色与脚本已保存并回读,平台配置检查通过,纯计算在 Node 与真实 GraalVM 中验证。外部集成、实际入账、记录权限、审批实例与发布尚未验证,不能报告完整项目验收通过。

下一阶段待确认:OA 批次、账户范围、审批岗位、规则冲突与例外额度、评级权重、止损及收益算法、交易接口、行情汇率和调度频率。实际实施后再补充对象 ID、配置回读、日志、对账与验收记录;文档构建通过仅证明文档可构建,不能作为金融风控功能通过的证据。