商业银行融合程序调用链路与规格文档的AI编程实践
一、大语言模型时代下的研发范式重塑
在人工智能技术蓬勃发展的当下,大语言模型(LLM)正深刻地改变着软件开发的范式。从最初的代码自动补全,到如今能够理解复杂项目上下文并自主生成代码的“智能体”(Agent),AI编程正从简单的“辅助提示工具”向能力更全面的协作伙伴演进。而在实践进程中出现了不同的声音,有开发者认同效率实现了质的飞跃,在AI辅助下开发时间极大压缩;也有开发者主观感知效率反向下降,比如有复杂大型项目AI理解局限拖累进度、过度设计代码维护成本上升等因素。这种看似矛盾的现象,揭示了当前AI编程所处的一个混沌期:单点效率飙升,但系统效率停滞;代码生成加速,但软件质量承压。
对于银行金融业而言,这一挑战更为严峻。金融系统承载着海量资金和敏感数据,对安全性、稳定性和合规性有着近乎苛刻的要求。任何一次系统故障或安全漏洞,都可能引发巨大的经济损失和声誉风险,数据处理活动更是要求建立覆盖数据全生命周期和应用场景的安全保护机制。因此,银行金融机构在拥抱AI编程时,须在效率与风险之间找到新的平衡点,确保AI生成的代码符合监管合规要求。
规格驱动开发(Specification-DrivenDevelopment,后文简称 SDD)要求在编码前,先将模糊的用户需求转化为清晰、可验证的“规约”,以此作为AI生成代码的可靠来源。然而,将这一理念付诸实践并非易事。SDD 并非简单地“先写文档再写代码”的回归,它需要解决传统开发模式中效率低下的痛点,同时应对AI生成代码时可能出现的幻觉、上下文窗口限制等挑战。特别是在金融领域,系统往往庞大且复杂,各模块之间存在错综复杂的调用和依赖关系,如果AI对这些关系一无所知,不仅会占用大量的算力,生成的代码在架构上也可能与项目格格不入,埋下隐患。

面对这一应用难点,通过融合代码调用链路知识图谱与规格文档的创新实践,提前构建项目代码的调用关系图谱,为 AI 提供一个结构化的“项目记忆”,并结合 SDD 的方法论,指导AI生成更准确、更符合项目架构的代码,以达到提升AI代码生成效率和质量的目标,为 SDD 在商业银行领域的高效落地提供一条切实可行的路径。

二、SDD与知识图谱的协同融合创新
将SDD与代码知识图谱相结合,旨在解决SDD在大规模项目中可能遇到的效率瓶颈,以及分布式研发模式下的跨工程代码理解难题,同时充分发挥知识图谱在代码生成中的导航作用,最终实现1+1>2的效果。
(一)解决效率问题:从“随机生成”到“精准定位”
在商业银行的大型项目中,如果完全依赖AI从零开始生成代码,其效率是低下的。AI可能需要尝试多次,才能生成一个与项目兼容的解决方案。而有了知识图谱,AI的搜索空间可以被大幅缩小。

当开发者提出需求时,系统可以首先在知识图谱中定位相关的现有代码,例如找到功能相似的模块或相关联的类,然后让AI基于这些现有代码生成新的代码。这相当于让AI站在巨人的肩膀上进行创作,极大地提高了生成效率。同时,由于现有代码本身已经通过了测试,是项目架构的一部分,新代码与之协同工作,也可以降低出错概率。

以个人信贷为例,开发者需求为“请根据详细设计文档,帮我修改贷款审批模块资产查询交易。”
如果采用纯智能体无知识图谱方式,则智能体需首先探索整个工程,找到与贷款审批模块相关的逻辑。在智能体自主发现关联代码的过程中,存在以下问题:
1)对于企业级应用,一个业务往往跨多个版本库且存在大量代码,现有的智能体探索式发现机制存在长上下文瓶颈。
2)现有智能编码工具缺少记忆机制,导致每个新任务都需要重新探索整个工程,重复消耗大量Token且耗时长。
3)智能体探索得到的知识局限于版本库,业务知识的理解依赖版本库内的说明文档、代码注释,因此比较碎片化,缺乏系统性的业务知识。
因此考虑引入知识图谱,在用户提问后,基于应用知识图谱辅助智能编码:
1)搜索出贷款审批模块总体架构设计
2)基于总体架构设计,定位贷款审批模块详细设计文档。
3)找到贷款审批模块涉及的业务对象和关联的业务逻辑。
4)基于图谱找到业务对象对应的实体类,业务逻辑关联的代码。
5)形成最终上下文
这种基于现有代码的生成,AI不需要从头构建复杂的交易逻辑,而是可以复用现有的、经过验证的组件,从而降低风险。
(二)提升代码质量:从“伙伴”到“可靠”
知识图谱的引入,使得AI生成的代码不再是一个孤立的个体,而是项目整体架构的一部分。通过在图谱中捕获函数、类、模块之间的依赖关系,AI可以避免一些常见的错误,如循环依赖、架构腐化等。而在解决AI跨工程代码分析能力不足的挑战时,代码知识图谱凭借其强大的全局调用关系整合能力发挥了关键作用。它通过构建覆盖多工程的完整调用链路网络,有效解决了由于源码分散在不同工程中导致的AI上下文信息割裂问题,在以下三个方面提升代码质量:
1
公共代码复用
在传统的软件开发过程中,由于开发人员对企业内部的公共组件库了解不全面,常常会出现重复开发相似功能模块的情况,造成资源浪费和系统一致性下降。为解决这一问题,在每次编码会话结束后,引入智能代码审查体系统,通过以下方式提升代码复用率:
2)智能推荐机制
向开发人员推荐可复用的组件,并提供替代方案对比。对复用风险进行评估,如版本冲突、性能差异等,帮助开发人员做出合理决策。
2
合规检查优化
在软件开发过程中,存在开发人员遗漏导致的代码不符合开发规范和团队规约问题。为确保代码符合相关要求,引入智能合规检查机制,从以下几个方面进行优化:

1)检查代码是否符合企业的开发规范,例如接口规范、数据库规范、Java编码规范等。

2)检查代码是否符合团队内制定的编码规范,如命名规则、代码结构、注释规范等。

3)验证文档是否完整,包括接口文档、设计文档等。
3
安全检查优化
代码安全性是软件质量的重要组成部分。传统的安全检查往往依赖人工或静态扫描工具,存在漏检、误报等问题。通过引入智能化安全检查机制,从以下几个方面提升代码安全性:
1)检测代码中是否存在已知的安全漏洞模式(如SQL注入、XSS攻击、缓冲区溢出等)。
2)检查第三方依赖库的安全性,识别是否存在已知漏洞或过期版本。

此外,知识图谱还可以与SDD中的工程规约相结合,形成更强大的约束机制。在SDD中,“工程规约”是人工制定的最高准则。而知识图谱则提供了技术层面的客观事实。在商业银行领域,这种规约与知识图谱的结合尤为重要。规约可以包含诸如“所有涉及资金交易的模块必须经过双写日志记录”、“禁止在核心交易系统中引入新的外部依赖”等规则,而知识图谱则确保这些规则在代码层面得到严格执行。
三、银行场景落地的实践启示
为了更直观地理解这一融合实践,下面以一个商业银行的迭代项目为例,描述其开发流程:

-
初始化项目与构建知识图谱:项目启动时,首先使用静态分析工具(如Tree-sitter、JavaParser等)扫描现有代码库,构建项目的知识图谱,包括调用图、依赖图等。同时,制定项目的工程规约,明确技术栈和约束条件,例如“ORM框架为Mybatis,敏感信息禁止在日志中输出”等。规约中还应包含符合《银行保险机构数据安全管理办法》的要求,如数据分类分级保护、最小权限原则等。
-
编写功能规约:产品经理和架构师协作,使用自然语言或轻量级标记语言语法编写功能规约文档,对主要业务功能的逻辑流程、验收标准等进行约束。例如,对于一个“账户余额查询”功能,规约会明确“必须校验用户身份”、”结果必须包含账户ID、余额和币种”等要求。同时,规约应明确数据安全要求,如“查询过程中涉及的账户信息必须进行脱敏处理,符合个人信息保护要求”。
-
生成详细设计方案:AI获取优化需求,读取规约文档,并查询知识图谱以获取项目现有架构信息,输出详细设计方案。例如,AI可能发现项目中已存在一个“用户认证”模块和一个“账户服务”模块,于是决定在新功能中复用这些模块,而不是重新实现。AI据此生成详细设计方案,包括需要修改的现有模块和新增的模块。方案中详细说明了如何复用现有组件,避免重复开发,同时确保符合监管要求。
-
任务分解与实现:AI将技术方案拆解为任务列表,每个任务都标注了需要修改或创建的文件。在实现阶段,AI针对每个任务,从知识图谱中检索相关代码片段作为上下文,然后生成具体代码。例如,对于一个“发送通知”的任务,AI会从图谱中找到项目中已有的“消息队列”服务,并生成调用该服务的代码,而不是自己实现一个消息队列。同时,AI应确保生成的代码符合数据加密和访问控制要求,如使用国密算法进行数据加密。
-
质量检查与闭环:代码生成后,系统自动运行测试,验证功能是否符合规约。测试应包括功能测试、安全测试和合规性检查。如果发现代码引入了新的依赖或架构问题,或者违反了数据安全规定,系统反馈给AI,AI可以尝试修正或由开发者介入调整规约和方案。但无可否认,此过程的建设尚存较大优化空间,测试覆盖的全面性和准确性有待进一步提升。
通过这一完整的开发过程流水线,规格驱动开发和知识图谱形成了协同:规约提供了业务意图,知识图谱提供了技术约束,AI则在二者的指导下生成代码。
四、未来展望
融合代码调用链路知识图谱与规格驱动开发,驱动从“对话式编程”走向“工程化编程”,从“随机生成”走向“精准生成”,显著降低人工审计与合规检查的成本。这一实践的核心价值在于:将人类的工程智慧(规范、架构约束)与AI的计算能力深度结合,让AI在明确的框架内发挥创造力,而不是盲目地探索。
当然,这一实践路径也面临着诸多挑战,如如何自动化构建高质量的知识图谱、如何在知识图谱中表达业务领域的知识、如何处理规约与实现之间的反馈闭环等。AI编程的研发范式还在高速迭代,在商业银行领域,更快的响应速度、更高的安全性和更严格的合规性,依旧是AI编程的核心目标所在。后续,工行软件开发中心积极拥抱变革,持续走在金融科技的数智化转型前列。
作者:中国工商银行软件开发中心广州技术部

近期好文:
DeepSeek V4 预览版正式发布,1.6万亿参数、百万上下文、华为芯片
“高效运维”公众号诚邀广大技术人员投稿
投稿邮箱:jiachen@huayou-tech.com,或添加联系人微信:greatops1118。

“点赞”+“红心”,让我元气满满
夜雨聆风