2022年荣获韩国软件竞赛IT架构奖项。
2023年,在中国出版专著《需求工程:数字化转型加速器》。
BMG公司持有20余项知识产权与专利。
说明:SOLVENT平台有不同的版本类型,业务建模版本类型在大陆地区的版权归属为中国建信金融科技有限责任公司,大陆地区的高版本类型以及除大陆区域外所有版本类型的版权归属为BMG公司。
内容目录
1 内容概述
2 应用研发过程
2.1 业务分析
2.2 业务模型
2.3 本体模型
2.4 应用设计
2.4.1 基于UML的设计
2.4.2 架构决策
3 关键研发成果
3.1 前端架构
3.1.1 用户体验框架
3.1.2 用户界面
3.1.3 用户界面逻辑
3.1.4 后端接口
3.2 后端架构
3.2.1 应用程序编程接口(API)
3.2.2 数据传输对象 (DTO)
3.2.3 应用服务
3.2.4 领域服务
3.2.5 存储服务
3.3 本体语义查询与答案
4 内容回顾
在快速发展的软件工程领域,人工智能为大幅提升开发效率创造了前所未有的机遇。本文探讨了一个突破性案例,该案例通过战略性地运用本体与AI代理,彻底重塑了企业级应用程序的研发模式。这种方法从根本上重新构想了业务需求转化为功能性软件的方式,从而显著缩短产品上市时间,提高业务敏捷性,提升质量保障级别,并降低开发成本。
本转化方法的核心之处是一个精密方法论,从29个维度分析业务需求文档,以此构建全方位的业务本体模型。这一多维本体作为整个应用生态体系的语义基础,使AI代理能够从语境层面深度理解复杂的业务规则和关联关系。本实施方案中运用基于图技术的本体服务器,为智能化设计实现系统提供了必要的结构化框架,此实现覆盖从前端的用户界面组件到后端业务逻辑。
本案例涉及住房信贷管理系统,覆盖从贷款申请启动至还款催收的全生命周期。该领域向来都是一个复杂业务流程,因其涉及大量监管要求、各种风险评估框架以及众多客户交互环节。本文介绍的系统是采用基于本体的方法,首先将复杂的业务数字化体现为知识模型,该模型可由AI代理解读、推理,并转换为可执行的应用组件。
尤为值得关注的是,此方法可以极大缩减开发周期。从初步理解业务需求到系统全面部署,整个过程仅耗时三天——这在传统软件工程模式下是无法实现的。这并非渐进式的改进企业软件交付方式,而是一次根本性革新式的再构思。
本文将进一步探讨促成该创新的架构原则、本体建模技术以及AI代理的行为机制。我们将从29个维度检讨本体的特定构成,阐述基于图的知识服务器的技术实现,并说明生成整个应用栈的自动化设计流程。此外,我们将定量评估开发效率的提升,并讨论系统质量与业务匹配度的定性改进。通过这份分析,我们旨在为致力于在软件工程实践中实现类似创新性突破的组织,提供一份可参照的蓝图。
在当今快速发展的数字化环境中,企业正面临着将战略愿景转化为实际运营成果的前所未有的挑战。基于业务本体的方法,能够为关键业务执行领域的转化提供完整框架(图1),涵盖企业能力评估、业务能力实现、业务模型创新、数字化与AI转型、价值挖掘与数据变现、领域专家系统、决策管理、应用研发以及数据管控。本文重点关注应用研发,作为所有其他创新场景在数字化领域得以实现的基础。
应用研发是九大创新场景的独特交汇点。其他场景侧重于构建业务能力、模型与决策,主要关注构建框架,而应用研发场景则是将这些概念性成果通过数字体系转化为落地实现的关键实施环节。如果没有基于业务本体的有效应用研发方法,即使是最精准的业务战略,往往只能停留于理论层面,难以在以数字为中心的经济环境下创造真实价值。在数字时代,业务执行与数字化实现已密不可分——这一看似基本的前提,实则蕴含着强大的变革力量。
将本体方法集成到应用研发中,标志着组织在概念化、设计与实现软件解决方案的方式上发生了深刻的范式转变。传统的应用研发常面临“翻译失真”问题,即业务需求在从业务利益相关者传递到技术实现团队的过程中发生曲解。业务本体提供了一个结构化的语义基础,以机器可理解的格式捕捉领域知识,从而在业务与技术利益相关者之间建立起一种共享语言。这座语义桥梁,使得人工智能驱动的开发工具能够在整个开发生命周期中,始终精准贯彻业务意图。
在一套完善构建的业务本体模型指导下的应用研发,使组织得以构建与业务操作紧密衔接的系统。本体驱动的方法不仅仅在于基于现有流程构建自动化的应用系统,其目的是创建能够内嵌业务知识、适应动态变化、并基于领域专业知识提供决策支持的系统。最终,这些应用不仅能够执行交易,更能积极地为业务智能、操作灵活性与获取战略优势做出贡献。这些应用由此成为业务能力的数字化载体,而非仅仅是技术产物。
本体驱动的应用研发方式的优势不仅限于技术层面,更重要的是创造核心业务价值。通过构建能够继承自业务并理解业务概念、关联关系与业务规则的应用系统,企业可以显著缩小战略构想与落地执行之间的差距。这种方法能够支持更快的市场响应、更有效的知识留存、更高的决策质量,并强化业务与技术领域间的联结。此外,本体驱动的应用通过将领域知识显性化、机器可处理化与AI赋能化,为持续创新奠定了坚实基础。
在接下来的章节中,我们将深入探讨如何将业务本体与AI技术相结合,从而转变应用研发的实践。我们将阐述知识提取与形式化的方法论、基于本体的软件工程技术、语义数据集成的方式,以及在应用全生命周期中保持本体一致性的框架。通过实际案例与实现模式的展示,我们将不仅展示这一方法是如何重塑应用开发本身的,同时也阐述为何应用研发会成为业务本体生态体系中其他八个创新场景的关键驱动力,最终推动实现真正的数字化业务转型。

【图 1】基于本体的业务和工作创新场景
本项目是一个实验性项目,旨在探索利用本体与AI代理开发企业级应用程序的潜力。为此,项目确立了以下核心原则:
基于以上原则,最终产品包含约4,500个本体元素、29个工作流、107个业务操作、42个用户界面、108个业务实体、64个业务事件、69个代码表、153项约束、101条业务决策规则、19个产品组件、13条定价规则、50条验证规则,以及约2,000个程序代码文件。内容包括代码实例(最底层元素)、验证规则、业务约束、数据安全设置、审批权限及各类业务规则。该应用覆盖从推出住宅首付贷款产品、获客、风险评估、贷款申请、抵押品评估与设立、贷款审批、还款管理,直至风险与合规监控的全生命周期。
开发企业级应用所面临的挑战远超传统编码。在迭代周期中保持一致性始终是难点——从初始概念到最终交付,知识、假设与实现方法常会发生变化。传统的基于提问的AI开发难以应对企业系统内部复杂的相互依赖,因为单个变动可能影响多个组件。此外,企业应用所需处理的信息量巨大,往往超出标准AI系统的语境窗口与注意力能力,因此需要采用超越常规开发范式的专门方法,以确保所有业务需求得到满足。
为此,我们采用了如图2所示的体系化的方法:
1) 基于本体的分析
为应对固有的复杂性,本体驱动方法首先利用专门的分析与建模代理(建模智能体),对业务及需求文档进行细致处理。这些AI代理提取关键概念、关系、约束与流程,将非结构化的业务叙述转化为规范化的模型。通过精准的自然语言处理、语义分析与知识提取技术,该阶段建立对业务领域的基础理解。与传统需求分析不同,代理生成的是机器可解释的表现形式,所构造的全面知识结构将指导后续所有研发工作。
2) 多视角业务建模
分析阶段生成29个视角的模型,全面展现企业架构。这些模型覆盖业务能力、组织架构、流程、信息流、系统、技术、安全、合规等关键维度,并为从C级别的高管到技术专家的各类利益相关者提供各种所需专门的视角。该方法的优势在于维持各视角间的语义关联,确保某一模型中映射的业务流程能正确关联到其他模型中的数据实体、角色与技术组件,从而形成对企业一致且多维的理解。
3) 本体模型集成与语义增强
随着各模型逐渐完善,它们通过一个整合过程形成统一的企业本体模型。该流程并非简单合并图表,而是进行深层的语义增强——模型元素通过有意义的关系相互连接。本体逐渐发展为知识图谱,其中实体通过类型化关系(如“流程消耗资源”、“部门负责对外能力”、“系统实现功能”)表达精确语义。这种丰富的语义赋予企业本体强大的推理能力,使其不再是传统的知识库,而是能实现自动化的一致性检查、影响分析与智能查询,最终成为企业业务与技术环境的鲜活数字孪生。
4) 本体划分确定项目范围
启动具体项目时,我们会体系化地从企业本体中识别并提取相关部分,形成项目专属本体。该范围界定过程不仅明确项目所需的关键元素,也识别出依赖关系、相关法规、利益相关方关切及相关举措的历史背景。生成的项目本体模型为开发工作提供了语义精确的边界,同时保持与企业本体语境的关联,这种方法可以确保资源聚焦于特定的业务能力,且项目符合企业标准规范。
5) 确定并验证项目范围
开发开始前,项目本体模型需要经过语义推理引擎的严格验证。引擎采用逻辑规则检测不一致性、识别缺口,并确保定义范围的完整性。例如,自动推理可发现业务流程缺失的必要数据输入、安全要求与可访问性要求间的冲突,或技术组件缺失所需能力等问题。此类验证不仅限于语法层面,更涵盖业务逻辑的语义检查,从而在开发前解决不一致与不完整问题,显著减少项目中期因范围变更或结构调整导致的高昂成本。
6) 多智能体协同开发
开发过程中,各专业AI代理基于已验证的输入数据协作,将业务需求转化为功能软件。用户体验设计代理从本体中提取用户旅程并设计最优流程;界面设计代理将其转化为符合本体模型中所包含的企业标识规范的线框图与视觉设计;应用设计代理建立符合企业标准的技术模式;数据库设计代理将信息模型转化为优化后的数据库结构。所有代理基于同一本体工作,使其能在应用领域专业知识解决具体问题的同时,保持所有产出的一致性。
在整个开发生命周期中,本体作为核心协调机制,维护着传统上相互独立的各类关注点之间的一致性。当业务分析师更新需求时,本体将变更的语义传播至受影响的用户界面、数据结构、安全控制与测试用例中。这种自动传播确保所有研发的工作成果能够保持对接,显著减少传统上对自然语言所描述的需求解读不一致,所导致的组件间实现不一致的问题,因为这里,所有开发者与AI助手们均引用同一套语义准确的本体定义。
随着开发推进,实现过程中的工作产物会根据本体所表达的业务意图进行持续性的验证。开发代理生成的代码不仅需通过语法检查,还需验证其语义是否与业务需求一致。例如,系统可自动检验数据访问组件是否强制执行了本体中定义的所有安全约束。这种持续验证能在早期发现业务意图与实现之间的偏差,避免问题遗留至集成测试或生产环境。
测试用例设计代理利用本体生成综合测试场景,以验证技术正确性及对业务规则的遵循。由于本体包含业务规则、约束与预期行为的正规定义,系统可自动生成测试用例,确保实现正确反映这些语义。质量审核代理则持续审查实现是否符合本体中编码的企业标准与最佳实践。这种方法显著提升了交付方案的业务价值,确保测试不仅验证系统“是否运行”,更验证其“是否按业务预期运行”。
一旦开发完成后,项目团队会创建一份“应用本体”,以业务与技术术语记录已构建的系统。该本体记录最终实现决策、其与初始业务需求的映射关系,以及需求如何被满足。应用本体还涵盖操作层面视角,包括操作参数、监控点与常见支持场景等。这一综合的知识库在应用的整个运行周期中作为权威参考,通过提供系统结构与行为的准确语义信息,支持维护、改进乃至最终被取缔的工作。
7) 语义问答系统
应用本体最终赋能领域专家系统,使其能从业务与技术角度回答关于应用的复杂问题。用户可提出如“修改此数据字段会影响哪些业务流程?”或“此功能适用哪些合规法规?”等自然语言问题。系统利用本体中丰富的语义关联,连接应用的各个层面,提供语境相关且精准的答案。该能力显著提升了知识转移效率、支持操作决策,并为系统未来演进提供宝贵洞察,从而形成一种从初始概念到运营支持全程保持语义准确性的完整研发方法。

【图 2】企业级应用研发语境
2.1 业务分析
业务分析是应用开发的基础支柱,需要能够系统地识别、审查和文档化驱动业务运营的核心需求。在当今数字化环境中,有效的分析不仅限于文档记录现有流程,更要挖掘隐藏的概念、未定义的关系以及存在但尚未明晰阐述的业务域。通过系统性调查,业务分析能够全面理解组织的运营框架、利益相关者的诉求和战略目标。作为第一个关键步骤,为所有后续研发活动奠定概念基础,确保技术解决方案贴合真实的业务需求,而非停留于表面。
深入的业务分析至关重要,它与应用程序的有效性及组织价值创造直接相关。肤浅或不完整的分析必然导致应用无法应对核心业务挑战,无论其技术实现多么卓越。反之,能够揭示先前未定义概念和关系的全面分析,可使组织开发出超越单纯对现有流程进行数字化,而是真正推动运营变革的解决方案。这种探索性分析帮助企业适应不断变化的市场条件,识别竞争优势,并发现潜在机遇。业务分析的丰富性与深度,直接决定应用程序能否创造有意义的业务价值与可持续的竞争优势。
在当今分析领域,AI赋能的商业分析代理正彻底改变企业驾驭和定义其运营领域的方式。这些专业的数字实体人拥有特定领域知识,能够以远超人工分析师的规模和速度,处理海量信息、识别模式并挖掘商业概念。流程分析代理负责绘制工作流程并识别低效环节;价值分析代理负责量化利益相关者的优先级,发现未满足的需求;实体分析代理负责发现和定义核心业务概念及其相互关系;监管代理则负责确保符合复杂的合规要求。这些专业化分析代理共同构成一个全面的分析生态系统,能够实现传统方法无法获得的洞察。
这类分析AI代理的显著特点在于其概念发现能力——即检测业务域中未命名或未定义的元素。AI代理并非仅仅记录显性知识,而是借助复杂的模式识别、语义分析与推理能力,识别那些存在却尚未正式定义的隐性概念。通过命名、定义并揭示这些先前不可见的元素,分析代理大幅扩展了应用开发可用的概念图景。这种概念的延伸催生出更全面的数字化解决方案,不仅能满足已知业务需求,也能回应利益相关者潜在、未表达的期望。最终,这类应用程序展现出更深刻的业务理解、更强的运营相关性,以及更卓越的创新价值交付能力。
2.2 业务建模
业务分析模型是应用程序开发的基础框架,它系统地捕捉显性和隐性的业务概念。这29个模型构建了一个全面的业务生态系统数字化展示方式,涵盖了从利益相关者价值链到组织职责的方方面面。通过从价值主张、能力需求、制造流程、交付机制和交换协议等不同角度审视业务流程,这些模型能够识别、命名、定义并将先前未被注意到的业务概念集成到应用程序架构中。这种深入的概念探索直接决定了最终应用程序的丰富性和有效性。
从原始业务分析到结构化模型的过渡是通过复杂的概念识别和关系映射流程实现的。最初,通过利益相关者访谈和流程观察收集有关业务运营的非结构化信息。随着信息被逐步组织成相关的模型,这些信息也逐渐被提炼和完善。每个模型都侧重于业务的不同方面,从人机交互到组织角色描述。这一转换流程体系化地将业务概念分类到合适的模型中,同时建立模型间相关概念的关键联系,最终展示出一致的业务环境,作为应用程序开发的蓝图。
这些模型着重关注商业生态系统中既相互关联又各自独立的方面。价值导向模型阐述了企业如何创造、生产、交付价值,以及如何与各利益相关方交换价值。能力模型则识别了实现这些价值所需的资源、技能和资产。交互模型描绘了人员如何在业务流程中与机器和系统进行交互。组织模型定义了业务单位之间的角色、职责和关系。这些模型共同提供了操作和战略层面的全面业务视图,揭示了以往隐藏的概念和关系,而这些概念和关系对于开发稳健的应用程序至关重要。
专业的AI建模代理彻底革新了这一分析流程,为每个建模维度提供领域专业知识。价值建模代理识别核心价值主张和权衡取舍;流程建模代理绘制工作流程和决策点;业务实体建模代理捕捉数据关系和生命周期状态;用户体验建模代理则专注于用户交互和体验历程。合规性建模代理确保监管要求得到正确整合;价值主张建模代理则提升业务市场的产品提案。在整个流程中,质量审核代理会对每个模型应用严格的标准,以验证其完整性、一致性以及与业务目标的契合度。这些AI专家代理全面确保最终模型达到必要的深度和质量,从而指导开发真正满足业务需求的成功应用程序。
2.3 本体论
贷款处理本体包含一个全面的语义结构,涵盖所有必要的领域知识,包括贷款产品、申请人信息、财务指标、监管要求、风险评估标准和业务流程工作流。它正式定义了借款人、担保人、贷款人、抵押资产、信用评分、贷款期限和还款计划等实体之间的关系。此外,它还整合了管理贷款发放和服务流程的业务规则、合规参数、审批工作流和决策标准。这种丰富的语义框架超越了静态信息的表示,体现了贷款操作中复杂的条件关系和依赖性。
该本体作为贷款应用开发的基础,其稳健性源于它能够提供超越部门壁垒和系统边界的唯一可信的业务资产。通过将分析和建模结果对接到一套一致的图模型中,该本体消除了通常困扰复杂软件开发项目的不一致性和矛盾之处。其规范化的语义结构支持自动推理和推断功能,能够在编写任何代码之前检测逻辑不一致、验证业务规则并确保符合监管要求。此外,基于图的表示方法,允许敏捷性地适应不断变化的需求、市场状况或监管框架,而无需进行彻底的系统改造,从而显著降低维护成本,避免造成技术债。
通过利用准确且语境丰富的信息,本体模型可以作为知识地图,使开发团队能够构建更准确、更合规的信贷处理系统。当开发人员或业务利益相关者就特定用例或边缘场景提出问题时,本体模型会提供完整的语境以及所有相关的邻近数据,而不是孤立的答案,从而实现对含义和依赖关系的整体理解。这种综合性知识库显著减少了对需求的误解,提高了业务和 IT 之间的领域一致性,并通过消除代价高昂的返工来加快开发周期。最终,信贷申请系统能够更忠实地实现业务意图,更容易适应变化,并在各个功能模块和用户界面之间保持一致性。

[图 3] 本体图示例
2.4 应用设计
当战略性地采用本体模型作为底层业务语义模型,应用设计流程得以实现根本性的变革。本体模型中统一的、结构化且对接的信息架构,显著简化了设计流程。本体驱动的实现方法中,具有一个平台无关的模型(PIM),能够准确捕捉业务语义,使AI设计代理在极少人工干预下能够理解和实现需求。这些AI代理在84项架构决策的指导与约束下,将丰富的本体模型转化为功能性软件组件。这一框架能够确保最终应用在满足实施环境的技术需求的同时,仍然保持业务语义的一致性。
UML工作成果——包括类图、用例图、组件图、交互图、数据库结构和状态转换图等——通过AI代理直接在本体中生成和表示。这标志着设计方法论的一次范式转变:传统上,设计师需手动将业务需求转化为这些技术表达;现在,AI代理则系统化地分析本体关系、层次结构与业务规则,生成一致的设计工作成果,并保持与原始业务模型的可追溯性。这种自动化转换方式,既提供了实现所需的特定技术细节,也完整保持业务域的语义内涵。
架构决策为AI代理的工作提供了关键语境,架构决策中包括了定义本体概念如何映射到应用组件、建立服务接口模式、确定状态管理方法以及指定数据持久化策略等。这些决策作为桥梁,将本体丰富的语义与实际实现问题有效衔接,使AI代理能够生成不仅技术上准确,更重要的是能够贴合业务需求的解决方案。最终的应用设计在业务契合度与技术合理性之间求得平衡,展现出AI驱动的设计流程,如何借助本体模型生成既符合底层业务语义、又满足所有功能与非功能需求的复杂软件架构。
2.4.1 基于UML的设计
UML视图构成了信贷申请系统的完整设计文档,从多角度展现系统架构。这些文档包括:通过类图展示实体关系的结构视角,通过序列图捕捉交易流程的行为视角,以及描述系统整体架构的组件图。这些元素共同形成统一蓝图,通过明确信贷处理各环节——从申请受理、审批流程到客户管理——的边界、交互与责任,有效指导系统实现。
这些架构工作成果在系统实现过程中发挥关键的指导作用,既保障开发工作的一致性,也确保与业务需求持续对齐。各类视图在利益相关者之间建立起共享的术语与共识,并强化设计模式与架构约束。通过提供定义清晰的接口与组件关系,架构图减少了实现过程中的歧义,促进了模块化开发。这种结构化方法支持工作条线的并行研发,同时维护系统完整性,最终减少集成问题以加快部署进度。
AI代理之所以能出色生成这些架构工作成果,是因为它们能体系化处理海量的软件模式、领域模型与最佳实践知识,而不受人类设计师常有的认知偏差或思维不一致的影响。它们可基于需求快速评估多种设计方案,生成符号完全一致、内容全面的设计文档。与人类设计师可能在多图表间引入不一致或忽略细节集成点不同,AI代理能够全面覆盖系统各方面,并保持不同视图之间的完整可追溯性。此外,AI生成的设计还受益于内置的质量审核机制,该机制系统验证其是否符合架构原则、设计模式与安全实践,从而产出更健壮、更易维护的系统,更好地应对持续变化的业务需求。
2.4.1.1 类图

[图 4] 设计-类图
2.4.1.2 用例图

[图 5] 设计-用例图
2.4.1.3 组件图

[图 6] 设计-组件图
2.4.1.4 交互图

[图 7] 设计-交互图
2.4.1.5 数据库结构

[图 8] 设计 – 数据库结构
2.4.1.6 状态转换图

[图 9] 设计-状态转换图
2.4.2 架构决策

[图 10] 设计-架构决策
本文中实现的信贷申请系统成功实施了三层架构,包括响应式前端应用、后端服务和存储库层,实现了清晰的职责分离。前端采用符合用户体验指南的现代响应式Web框架构建,确保跨设备访问并保持视觉一致性。前端优先实施全面的语法和语义验证,以便在用户流程早期发现错误,同时融入业务工作流逻辑,引导申请人直观地完成贷款流程。API层作为前端与后端组件之间的明确接口,支持前后方各自独立开发,并通过标准化接口保持清晰的通信渠道。
后端服务基于Spring Boot开发,遵循领域驱动设计原则,使技术实现与业务域保持一致。该方法清晰界定了信贷处理系统中各功能域的边界,从而更好地组织业务逻辑。持久层采用优化的数据访问模式,并通过适当的事务管理确保数据完整性。整体系统架构充分考虑了安全性、可扩展性和性能等非功能性需求,并实施了相应的缓存策略与连接池机制,以应对不同的贷款申请负载。
在实施阶段,各AI代理依据其专业角色协同工作,共同构建系统组件。前端程序员代理专注于基于响应式设计原则创建直观的用户界面,并实现客户端验证与工作流引导。应用架构师代理构建了整体架构,定义组件边界与通信模式;应用程序员代理则实现了后端服务的核心业务逻辑。集成程序员代理确保系统各层之间的无缝整合,数据库设计代理优化了表结构设计与查询性能。这种专业AI代理之间的职责划分,保障了每个组件均具备相应的专业水准。
测试与质量保证是实施过程中的关键环节。负责测试数据生成的AI代理生成了涵盖各类贷款申请场景的多样化数据集,包括可能触发验证失败或异常处理路径的边缘场景。AI测试代理系统性地验证系统功能是否符合需求,并执行单元测试、集成测试与端到端测试,确保系统在各层均可正常运行。同时,AI质量审核代理审查代码质量指标、性能基准与安全实践,确保系统符合既定的工程标准与最佳实践。这种全面的测试方法有助于在实施早期发现并解决问题。
工程化的实施工作流程,通过建立清晰的交接步骤与协作机制,有效协调了各AI代理的工作。前端程序员代理完成用户界面组件后,集成程序员代理验证其与API接口协议的兼容性,测试员代理则根据需求确认其行为符合预期。应用架构师代理定期审查架构,确保实施决策与整体系统设计保持一致。这种协调机制使得经验丰富的AI代理能够充分发挥各自专业知识,同时保持项目方向的一致性。最终成果是一个高质量、稳健的信贷申请系统,这表明基于AI的软件工程能够通过协调的专业能力与严格的流程规范,有效实现复杂的业务应用。
3.1 前端架构
3.1.1 用户体验框架

[图 11] 实现 – 用户体验框架
3.1.2 用户界面

[图 12] 实现 – 用户界面
3.1.3 用户界面逻辑

[图 13] 实现 – 用户界面后端 – Stub API 驱动
3.1.4 后端接口

[图 14] 实现 – 后端接口
3.2 后端架构

[图 15] 实现 – 后端架构工作成果
3.2.1 应用程序编程接口(API)

[图 16] 实现 – 后端应用程序 API
3.2.2 数据传输对象(DTO)

[图 17] 实现 – 后端 DTO
3.2.3 应用服务

[图 18] 实现 – 后端应用服务
3.2.4 领域服务

[图 18] 实现 – 后端领域服务
3.2.5 存储服务

[图 19] 实现 – 后端存储服务
3.3 本体语义查询与应答
在当今复杂的企业环境中,将业务与IT本体整合为唯一的且一致的框架,是一项具有变革意义的成就。此统一的知识库作为组织的“唯一可信知识库”,成为一个全面而权威的信息中心,覆盖从高层战略目标到技术实施细节的各个方面。通过建立业务概念与技术表达之间的双向可追溯性,组织得以消除传统上隔离战略规划与执行的信息孤岛。这种集成化方法确保所有业务需求、流程定义和战略举措都直接关联到相应的技术组件,从而在整个企业范围内形成连续一致的责任链并达成共识。
唯一可信知识来源的价值远不止于技术上的精妙。它从根本上改变了决策方式,能够为跨领域问题提供一致且可靠的答案——而以往这类问题往往需要协调多个来源中相互矛盾的信息。无论是高层管理者询问某项技术实现如何支撑战略目标,还是IT团队需要了解系统变更对业务运营的影响,统一本体都能通过自然语言查询提供即时、情境相关的洞察。这种能力显著缩短了信息检索时间,消除了依据过时或矛盾数据行动的风险,并使所有利益相关者都能基于对业务现实与技术实现的共同理解开展工作。
当组织基于唯一可靠信息源运作时,业务敏捷性——即快速有效响应市场变化的能力——将得到显著提升。面对新的机遇或挑战,管理者能够迅速追溯其对业务与技术的波及影响,从而以前所未有的清晰度掌握受影响的流程、系统及依赖关系。这种可视性支持更快、更自信的决策,并使组织能够基于对企业级影响的全面认知来推动变革。自然语言查询功能进一步加速了这一过程,它通过普及对复杂信息的访问,使各层级利益相关者无需专业技术背景即可获取所需的具体洞察。
尤为重要的是,这种统一的本体为持续创新与改进奠定了坚实基础。随着业务战略演进与技术实施方案更新,唯一可信信息源亦会持续演化,从而维持业务意图与技术执行之间的关键联结。这一动态的知识库减少了组织在变革过程中常见的知识流失,并使团队能够在前人工作的基础上持续推进,而非反复解决相同问题。通过建立这样一个全面且易于访问的企业知识体系,组织不仅能优化当前运营,更能凭借提升的敏捷性、减少的冗余以及更有效的跨业务-IT边界的协作,赢得可持续的竞争优势。

[图 20] 实现-综合知识库专家系统
通过实践,我们证明一项融合本体论与AI代理工程的实验性项目取得了显著成功,彻底改变了企业应用开发的格局。团队仅用三天时间和150美元预算,就交付了一套涵盖前端应用与后端数据库的完整住宅信贷申请系统,其开发速度之快前所未有。这一成就挑战了传统开发模式——后者通常需要数周甚至数月时间以及更高预算才能实现类似成果。该项目的成功体现在多方面,包括业务敏捷性的提升、系统质量保障、显著的成本节约,以及对企业级标准的全面遵循。

[图 21]开发人员和AI代理在设计阶段的角色
最为重要的成就在于建立了能够连接业务需求与IT运维的唯一可信信息源。基于本体的方法实现了业务概念与技术实现之间的无缝转换,从而消除了企业软件项目中常见的脱节现象。这一统一的知识库能够真实地反映系统架构中的业务逻辑,有效避免了业务分析师、架构师和开发人员之间因交接转手而产生信息损耗的问题。此外,AI代理成功解析了本体模型,生成了既准确体现业务领域内涵,又严格遵循架构最佳实践的一致性高质量代码。

[图 22] 开发人员和 AI 代理在实施、测试和实施阶段的角色
该工程化方法的可重复性和一致性是另一项关键成就。传统的开发方式常因人为因素导致质量波动和进度难以预测。相比之下,本项目证明,基于本体模型与工程工作流程对AI代理进行正确引导,能够产出可预期的高质量成果。这种一致性贯穿所有系统组件,从数据模型到用户界面,最终形成一个完整连贯的整体,而非零散元素的简单拼凑。此外,该方法具备良好的适应性,能够在保持架构完整性的同时,实现对需求变化的快速响应与迭代。
本项目总结的首要关键经验,是工程化工作流(方法论)的重要性。项目中我们发现,AI代理需要结构化的流程才能发挥最佳效能。临时性的指导方式往往导致结果不一致,而采用定义清晰的工程工作流程——明确顺序、依赖关系与质量门控制节点——可显著提升成果的一致性与质量。这种结构化方法使得代理能够始终在恰当的语境中开展工作,并基于已有成果持续延伸,而非创建彼此孤立的组件。同时,该流程也有助于高效检测并纠正错误,防止问题在系统架构中扩散。
本项目凸显了具备领域专长能力的综合型AI代理的必要性。通用AI工具在企业级架构任务中表现欠佳,而基于特定工程模式与架构原则训练的代理则取得了显著更优的效果。最有效的代理不仅掌握了技术知识,还展现出对业务的领域概念的理解以及跨领域转换的能力。这种综合素养使它们能够在满足业务目标与技术约束的同时,做出恰当的权衡与设计决策。
架构决策被证明是影响系统整体质量的关键因素。本项目显示,AI代理在获得明确指导时能有效实现架构模式,但在需自主做出架构决策时则表现不足。最成功的路径是由人类架构师定义关键的架构原则与模式,再由AI代理在全程实现中始终如一地应用这些原则。这种责任分工结合了人类的战略思维优势与AI执行的一致性和细节专注力,形成一种互补协同的关系,最终达成出色的架构成果。
最后,该项目揭示了AI代理的训练与传统软件开发存在本质区别。最有效的方法并非单纯提供规范指令,而是引导代理理解架构决策背后的“原因”。基于架构原则与领域模型进行训练的代理,能够自主推理出合适的实施方案;而仅接受具体指令训练的代理,则持续依赖外部指导。这一发现表明,未来的AI增强型开发应更注重构建具备深层概念理解能力的代理,而非仅仅扩展其代码生成范围。通过在此类代理训练上投入,企业能够建立可持续的开发体系,在保持本实验项目所展现的高效性的同时,持续交付高质量的企业级解决方案。
e-mail : [email protected]
当前软件开发环境正在发生深刻变革。开发者不仅需要编写代码,更需以创造性和直观的方式解决问题。在此背景下,一种名为 “随性编程(Vibe Coding)” 的新理念应运而生。
传统开发强调严谨规划与结构化方法,但快速迭代的技术趋势和用户需求要求开发者采用更灵活、适应性更强的方法。Vibe Coding 正是响应这种需求而诞生的一种开发实践。
近年来,如何在生产力和创造力之间寻求平衡已成为开发者社区的热点话题。随着越来越多的开发者遭遇职业倦怠并丧失编码热情,Vibe Coding 作为一种让开发过程既愉悦又高效的方法,正受到广泛关注。
在本文介绍的业务能力工厂项目中,我们尝试运用 Vibe Coding 方法扩展一款价值百万美元软件的功能,旨在体验这种新方法的成熟度并评估其实际适用性。
目的: 基于最新人工智能技术,利用数字孪生(公司业务模式的数字化表达)的本体模型,研发能够自动执行业务的操作系统,为将来能够实现企业的自主式运营奠定基础。
目标: 企业自主性 – 相当于自动驾驶第三级(作为本项目首次迭代的目标),目标是通过具有超强能力的智能体自动执行业务,以最大限度减少人工干预。
自主执行业务创新
自主研发业务解决方案
自主完善业务模型
自主执行业务流程
端到端需求管理自动化及 IT 开发/运维自动化
下图展示了全局视图,图中左边部分展示的是已经产品化的SOLVENT平台。SOLVENT平台的目标是帮助企业构建基于本体模型的数字孪生体系,用以实现业务转型与业务建模。借助平台能够用数字化的方式定义公司所有的业务及工作流,以及与企业业务相关的所有元素的定义、元素之间的关系,以及业务涉及的所有方式方法都能得以清晰的界定。目前已在国际性企业应用,欢迎访问Business Model Governance-BMG公司网站(http://www.bmgovernance.com) 获取更多资讯。

图-1 平台配置全局视图与Vibe Coding 应用区域(黄色区域)
图中右侧黄色区域则是运用 Vibe Coding 的大胆尝试。即本文所提及的“业务能力工厂”Dreamer软体项目,业务能力工厂连接IT系统并通过向LLM提供语境,让智能代理人自动完成企业的业务流程。其中关键组成有:
模型上下文协议 (Model Context Protocol-MCP),负责为 LLM 提供执行企业业务流程所需的上下文语境;
检索增强生成系统 (Retrieval Augmented Generation-RAG),通过将企业各部门能力向量化,而提供企业特定的专属知识;
LLM大语言模型整合接口,可以支持智能体有选择地使用特定LLM,发挥特定LLM模型的优势;
指挥控制组件负责协调智能体间的协作;
以及流程引擎,负责整合协同所有组件,产生实际的业务价值。
Dreamer的客户端是Visual Studio Code(VS Code) 的扩展应用。 IT 开发工作本身就是一个遵循工作流(即方法论)的过程,经过这个工作流创建出来的应用程序应该是可以在 VS Code IDE 环境中执行的,所以采纳了VS Code的扩展程序,并且可以与 GitHub 等工具无缝集成。

图-2 监控业务能力活动
首次尝试便挑战采用Vibe Coding的编程方式构建如此规模的系统,可谓大胆(甚至略显鲁莽)。整个项目历时两个月,设计调研耗时一月,开发时长一月。期间历经数十次濒临放弃的困境,在不断的试错、失望与重燃希望中前行。

图-3 统一的代理模型和业务本体
本项目关键创新之一是强大能力的智能体代理人(AI Agent)。代理是特定专业角色的数字化化身,具备执行流程所需的基本能力,其核心能力包括:
知识与流程掌握:理解任务相关的知识及处理流程。
规划与推理能力:能够按需求规划并制定方案。
精细化执行:能够掌握执行任务所需的详尽操作步骤和必要工具。
上下文共享:能够根据需要,与现有系统或外部系统共享上下文。
实时协作:能够与其他代理实时交互协同。
这些强大专业能力的高能代理(Higer Competency体现了实际工作中的各类专业人士,是执行任务所需的各类专家角色的实例化(代理人是根据本体模型-Ontology中具有的详细角色描述和职责来创建)。
业务能力工厂是自动执行企业数字孪生的本体模型而自动生成的系统,成为直接基于数字化企业的数字孪生本体(Digital Twin Ontology)执行业务创新和业务模式的系统,凭借其强大的能力,它们本质上构成了能够在完全虚拟环境中自动运行企业的操作系统(OS)——您可将其理解为企业的操作系统。,用户可以通过此操作系统提供的客户端监控流程的执行情况以及执行结果。欢迎通过 YouTube 了解演示视频(业务能力工厂–梦想家)

图-4 智能体代理知识库
本项目架构中的另一关键点是智能体代理知识库(Agent Knowledge Base)。
首先,如前所述,打造“高能”(Higer Competency)代理需要丰富的场景化知识及强大的规划和推理能力。最终,自动化构建了领域专家语言模型(Expert Language Model)。构建该模型所需的所有信息,均来自数字孪生(Digital Twin)中业务创新和业务模型实践的积累,并通过专门的知识管道汇聚而成。以金融机构为例,包含约百种核心专业能力(Competency)的定义,并且根据需要可以定义60~70种对外能力(Capability)。
其次,知识库中要考虑的另一个维度是知识图谱(Knowledge Graph),其基础是组织的业务创新与业务模型的本体模型。业务本体(Business Ontology)兼具内生性(Endogenous内部形成)和外延性(Exogenous外部扩展),本体模型中明确定义了语法、语义及实体关系,会随业务演进动态更新。在商业语境下,与价值定义、价值创造、价值交付和价值获取相关的所有内容均被建模于图谱之中。由此形成的企业知识体系是真实的、一致的、无冗余的数字化知识,而且实现了从战略层到IT代码的关联。
在业务能力工厂的环境中,工作任务被具体化并动态分配给待命状态的智能体代理。流程中的每项任务作为工作行动而执行,并辅助以适合的工具,而来自当前系统的信息(经由模型上下文服务器 Model Context Server)或上下文语境决策/信息(经由大语言模型服务器 LLM Server)将按需进行聚合与处理。
本项目采用的主要技术(Vibe Coding)。如下
服务器环境
操作系统:Mac OS、苹果 M2-Max、12 核、64GB
编程语言:Python
代理对代理通信:G-RPC
通信协议:Web Socket
数据库:矢量数据库(Chroma)、图形数据库(MemGraph)、本体数据库(MongoDB)
基础架构模式:事件驱动架构
代理使用的 LLM:OpenAI-4o、Anthropic-Claude 和 Opus、Google-Gemini、Ollama-Mistral
开发工具:没有使用 Copilot 或 Cursor,只使用了Prompt(用于找出问题、制约因素和解决方案,之所以仅采用 API目的是实现 IT开发自动化)。
作者在开发时采用的 LLM Prompt 服务主要比例是Anthropic-Claude(约占 80%)、Opus(约占15%)、Google-Gemini(约占 5%)。Opus质量与Claude 相比差别不大,之所以使用 Opus,因其在特定时间段内允许的最大提示数较高,但性价比一般,Google-Gemini 与之类似。Claude虽有令牌限制(单个提示符可使用的最大令牌数量,包括输入和输出),但差异不大,对于一般开发而言,个人认为Claude应该足够了。
客户端环境
操作系统以运行VSCode:Mac OS、Windows、Unix 等
编程语言:HTML/CSS、Java 脚本、Type 脚本
执行环境:VS Code IDE 扩展(将来也可使用 Electron 或 Eclipse Theia)
参与该项目的开发人员有较专业的本体知识,但编程语言基础有限:
服务器的技术知识:几乎没有(有读过一本 Python 简介)经验
客户端技术知识: 无经验,无技术知识
业务本体系统知识 : 高级
架构思维水平:高级
元认知水平:高级
解决问题水平:高级
以上初步介绍了项目的目的和背景,下面具体了解以下Vibe Coding。
Claude 对 Vibe Coding 的解释
Vibe Coding 是一种开发方法,开发者信任自身的直觉与感受,并强调编码过程的流程(flow)。它不仅关注技术能力,更积极利用开发者的情绪状态和创造力。
关键在于开发者需找到自己的编码节奏与风格。如同音乐家即兴演奏,Vibe Coding 的精髓在于鼓励开发者顺其自然地编码,发现创造性的解决方案。这是一种相较于传统方法论和分析方法更有机、更直观的开发方式。
Vibe Coding 也强调开发环境与工具的个性化,鼓励每位开发者建立最舒适高效的环境,并形成独特的编码风格。这不仅是编写代码,更是将开发行为视为一种艺术表达。
Gemini 对 Vibe Coding 的解释
“Vibe coding” 是开发者社区使用的一个新术语,由 “vibe”(氛围、感觉)和 “coding”(编码)组合而成。它指的是一种主要依赖开发者“直觉”—他们的经验与本能—而非严格、详细的预先计划或既定理论来编程的风格。它是一种感受问题整体脉络,并在解决方案浮现时自发编码的方式,如同爵士乐手无需乐谱的即兴演奏。
这个术语具有双重含义,根据使用者的经验和情况,可能具有积极和消极的含义。例如,资深开发者(“老手”)的“即兴编码”被视为多年深厚经验积累的洞察体现, 他们的直觉通常被视为一种快速高效的解决问题的能力,并常常受到人们的钦佩。反之,缺乏经验的初级开发者无计划的编码则常被视为负面行为,导致难以维护的“意大利面条式代码”或技术债。
在追求极速交付的环境中,“氛围式编码”尤其常见,多见于需要快速原型的初创公司、韩国“快速行动”文化中需要快速实现功能的公司,或协作负担较少的个人项目。当前端开发者凭“感觉”微调 UI 而无固定设计稿,或资深开发者凭直觉定位复杂 Bug 根源并修复时,也体现了 Vibe Coding。
归根结底,Vibe Coding 的成败取决于开发者经验。初级者的“直觉”可能只是有根据的猜测,而高级者的“直觉”则是数万小时解决各类问题实践中根深蒂固的模式识别结果。因此,即使编码方式看似类似,最终代码的可靠性、可扩展性和质量将因经验差异而大相径庭。
简言之,“Vibe coding” 是一个既幽默又现实的术语,表明软件开发不单单是由僵化的逻辑与工程化过程的复杂活动,有时更需要创造力与艺术天赋。它是现代开发者文化的一部分,既承认系统开发方法的重要性,也认可开发者从多年经验中获得的直观洞察力的价值。
本项目开发者对 Vibe Coding 的解释(经验之谈)
正如本项目实践所示,Vibe Coding 并非基于传统开发方法(无论是瀑布式还是敏捷式),即开发者根据经验和技术知识,按部就班地进行分析、设计、编码和测试(产出物)。Vibe Coding 是一种更关注待开发对象的需求即开发目标的必要性(Why),和软件应具备的能力(What)的方法,并将实现需求目标的方法(How)定义为一种与人工智能即LLM进行交互式开发的方式。
本项目的核心驱动力是通过未来可期的技术手段确保企业竞争力方法。核心观点是,无论是否期待,很快利用 AI 和机器人确保企业竞争力都会是至关重要的。因此,我们致力于,通过利用强大的 AI 和执行机器人(智能体代理),研发企业经营业务的方式-业务流程(活动工作流),以提升流程的能力,从而确保企业的竞争力。此外,如果这种方法能从元认知层面得到验证,智能体代理也将可以自主地实现业务模型创新。基于此必要性(Why),我们定义并开发了系统所需的必要能力(What)。
因此,如前所述,尽管对开发和运行环境的底层技术知之甚少或一无所知,本项目的开发者最终实现了目标。当然,过程绝非轻松。作为首次尝试,困难重重,并因 LLM 的“幻觉”问题屡次受挫。在反复试错中,我获得了丰富体验,也洞察了未来软件行业应关注的方向以及教育应如何变革等关键问题。
人工智能交互式开发
Vibe Coding 的核心是与人工智能协作开发。它将需求编写为提示指令,通过 LLM 服务获取预期结果。因此,编写高质量的提示(上下文+指令)至关重要。高质量输入带来高质量输出。不一致的提示会带来严重问题:起初差异微小,但随着开发深入和代码复杂度增加,差异会被放大,最坏情况是需丢弃整个代码库重头再来。
无固定预设产出物
目前,Vibe Coding 的基础输入尚无固定标准或强制产出物。当然,如果能提供模型通常能获得更高质量的输出,熟悉建模比如UML的开发者应加以利用。若计划仅凭提示开发,系统性地学习编写提示是明智之举(若时间允许,我将在后续文章尝试总结)。
迭代、增量式开发
即使最强大的 AI 也难以一次性完成开发。迭代和增量开发是基本要求,熟悉此方式的开发者会更容易上手。不限于此,掌握架构思维和重构技能的开发者将更感轻松。
始于原型设计作为基础起点
如前所述,Vibe Coding 本质上是交互式开发,与原型设计类似。通常(即使你本无意于此)通过创建雏形(Mock-up)并逐步细化来实现。也就是说,开发者可以简单地开始(Mock-up),欣赏雏形的完备性,感觉应用系统接近完成开发,认为只需少量优化工作。当然,若能较好地掌控过程,确实可在短时间内完成应用开发。
“Why”、“What” 至关重要,将“How” 交由 AI 主导
一旦明确“Why”(目的)和“What”(所需内容),AI 就能快速生成简洁代码(Clean Code)。开发者无需深厚的底层技术知识即可进行开发。本项目开发者对技术基础了解甚少,但成功开发便是例证。未来,开发者应大胆让 AI 生成“How”,而将重点放在“Why”和“What”上。但需明确“How”的范畴。根据本项目经验,“How”分两种:一是已知的或是他人已实践过的;二是未知的新方法。第一种情况可放心交由 AI;第二种情况仍需依赖开发者。
实践 Vibe Coding,开发者首先清晰理解自身需要做什么(即开发目标)至关重要。Vibe Coding 是与 LLM(AI)协作完成项目的过程。LLM 在生成结果方面确实迅速,这意味着在简单编码任务上,开发者无法与 AI 竞争。开发者真正的价值在于元认知。一旦不是局限于眼前问题,而是探究根本性问题时,AI 能成为绝佳工具。
根本性问题是指什么? 即通过追问“为什么”(如同“设计思维”或“六西格玛”研讨会所做),理解根本需求与需交付的价值;然后通过系统思维或架构思维,理解结构性交付该价值所需的能力;再通过相互独立完全穷尽(Mutually Exclusive, Completely Exhausted-MECE)技术验证完整性;最后进行一步一步地重复上述步骤逐步推进。
逐步重复推进是指从高层级向低层级反复应用上述技巧从而展开细化。“What”与“How”的关系是层级性的——在任何层级,其下一层级总是上一级的“How”。从整体完备的结构看,“What”与“How”如同父子关系,在层级之间中反复出现。
理解这一点,可以说已掌握 Vibe Coding 的核心。
余下便是编写提示。向 LLM 清晰传达项目目标(通常 4-5 句足够,最多不超过 10 句)后,将“What”作为“Prompt”输入,LLM 便能顺畅生成“How”。关键在于理解,所生成的“How”会根据“Why”和“What”的不同呈现不同的结果。
此外,截至 今日2025.6.3 的 LLM 技术(如 Anthropic Claude Opus4, Google Gemini Pro 等)尚无法管理如本文规模的大型项目的上下文。这意味着开发者需要自己记忆下之前曾经给LLM解释过的内容,或者另外记录在笔记中。我推测在此规模下无法持续保持一致的上下文的原因,更多在于商业化服务的各种限制(如 Token 限制、调用频率限制),并非 LLM 自身的能力问题,后面我也会解释。
事实上,最初我并未计划构建如此庞大的系统。最初的目标是建立一个“解决方案工厂”,在业务创新和业务建模平台上开发业务解决方案。此功能可以为方案设计人员汇总知识并提供数据,一般可通过 Java 编码实现。例如,针对预测客户终身价值的主题,可以借助 LLM 和本体模型获取必要的数据,并开发数据挖掘或机器学习的解决方案用以提供所需数据。这可以通过链式或树状结构完成。这些经验催生了利用 LLM、MCP、Agent、RAG 等最新 AI 技术用于整个业务流程的创新和自动化的想法。之所以有这样的想法,也是源于实现能力胶囊(一种开创性的企业能力获取方式,已注册专利)的想法。更多信息可参考BMG网站,也可以通过检索“可打包的业务能力”(Packaged Business Capabilities-PBC, Gartner 2022 年新兴技术之一)了解其概念。
基于这个背景,我们启动了这个略显宏大的项目“业务能力工厂”(如图1中黄色区域)。
开端很美好,我仅提供了几句背景介绍和描述目标、价值、所需能力等的提示,就产生了令人震惊的代码。如前所述,作为对底层技术毫无经验或知识的开发者,首次测试时看到输出成果,堪称神奇。回想起来,对于我这样没有基础技术知识的人,起初并不敢触碰生成的代码,遵循指令第一次测试的时候,魔术一般神奇。大部分功能代码和测试迅速生成,感觉开发工作仅需两三天。
然而,常言道“细节决定成败”( the devil is in the details),问题接踵而至。我尝试用下图记录这段经历,欣赏阶段、失望阶段和愤怒阶段。 
图-5 Vibe Coding之旅及阶段
我的首次体验遵循(1)号曲线,几天内完成了超过 90% 的代码。此欣赏阶段感觉很神奇,对 AI 的信任开始超越对人类,毕竟仅用几句话就生成了可执行且看似完美的代码。然而,很快我遭遇“Token 限制”。大约在代码量达到 1000 行(大概数字不是精准数字)时,限制开始显现。这意味着在对话涉及约 1000 行代码后,会收到提示达到 Token 限制、需重启会话的通知。重启会话意味着丢失上下文。需要重新提供。在进行一些修正后,又再次提示达到限制,如此反复了一整天。然后突然间,收到信息提示由于操作过于频繁需等待一段时间。这让人不禁怀疑幕后是否真有人在编码?为何不让我继续?
逐渐地,我进入了失望阶段。我检查了 LLM 提供商的订阅等级,得知越昂贵的等级限制额度数会越高,是哦,总是会有办法。于是我果断升级到最高级别。情况似乎略有好转,但失望犹存。我一度打算放弃,心想“让一台机器开发这么多东西还是太难了”,但已投入太多时间,遂想再次尝试。也许明天可以?但随时间推移,遇到了更严重问题。由于重试次数过多,开始发现代码开始不一致,偶尔还会出现“幻觉”。代码是生成了,但由于误解了意图,最终产出错误代码,只能忽略已有代码。
代码质量每况愈下,我开始进入愤怒阶段,到目前位置我一直信任LLM,但这有意义吗?LLM 坚称其生成的代码正确,而且在代码生成完毕还会信心满满地提示此段代码拥有“完美”逻辑。但事实上编译时出现 140 个错误,代码和其他程序之间也出现了不一致的现象,让人很生气,。但我质问为何代码不匹配时,它却轻描淡写地告知遗漏了某些内容。在一番情绪化对话后,LLM突然开始逐个程序或函数生成代码,突然给出一段代码并要求我修正。它指示只需修改几行代码,但代码行号并不匹配。然后,在抛出编译错误后不仅要求我来修改,它还会抱怨我改错了。真实不可理喻!若有这样的人类员工,定会被解雇!至此是无法保证代码质量,只能回滚到上一个检查点版本。浪费了两三天时间,深感沮丧。
那么,该如何改变图中的曲线呢? 有没有可能改变,至少保持在曲线 (2),或者有希望实现理想曲线 (3)吗?答案是肯定的,最终我找到了实现曲线 (3) 的方法。我认为目前还是无法完全避免失望阶段,但我可以完成项目并达到 100% 质量要求,即理想的能力水平。秘诀在于:从现在起,开发者需改变人类开发过程中的时间分配方式,明确核心重点,并学习如何与 AI 协作。
之所以使用“旅程”(Journey)一词,因为它不仅是简单旅行(心情轻松欣赏风景),而是计划抵达目的地、面对挑战、解决问题、步步前行,有时折返、绕路,当最终抵达时,它并非终点,而是新阶段的起点。
上图中第二条(2)曲线与第三条曲线(3)的区别在于:第二条曲线无法达到理想质量,只能持续改进程序;而第三条曲线则能在某一刻达到理想质量,最终得到具备预期能力的程序。

图-6 第三条曲线的架构思维
系统思维 (System Thinking)
系统思维要求思考任何系统(最终目标)时,兼顾整体与部分。这是认识论的重要概念,也是解决问题方法的起点。如上图所示,一个目标由其子组件(左侧小圆圈)组成。但仅满足子组件要求不足以构成母体,因为母体总存在涌现(Emergent Property)出的新属性。因此,需要将母体分解为子组件,并理解母体的涌现属性。例如,汽车由发动机、底盘、方向盘等组成,但仅有这些并不能成为汽车。需要理解是什么使其成为汽车,并将这些特性添加到组件中。Jamshid Gharajedaghi 的《Managing Chaos and Complexity》一书对系统思维有极大帮助。
架构思维 (Architectural Thinking)
关于架构思维,需解释两点:重构与横切的维度。
随着系统演进或时间推移,熵增导致异常频发。在程序设计中,重构是应对方法之一。如上图所示,在步骤①中,子元素边界清晰,但随着步骤深入,分支间冗余增加。经验表明,当此现象出现时,LLM 生成的代码质量会急剧下降,“幻觉”也随之增加。开发者需要监控这种风险。一旦识别此问题,应如图 ②所示界定范围,并沿图 ③ 箭头示意方向重构。重构的标准是功能内聚性与松耦合。这又面临“What”的问题。我们可以指示 LLM 进行重构,但若“What”不明确,问题依旧。
重构的标准是横切的视角。本项目早期困难之一是草率重构,一开始的时候程序创建关注的是层级深度也就是功能深度,如此创建每个功能时无法分考虑全面的维度,所以树状结构中并不建议一枝深入。更重要的是层级迭代逐步深入,每层都需要考虑重构,明确重构角度至关重要。阅读至少一本关于架构设计模式的书籍将大有裨益。
上下文语境思维 (Contextual Thinking)
代表“How”的子元素会根据“Why”(目标)和“What”(能力)的定义而变化。母元素是“What”,子元素是母元素的“How”, 进一步思考,从“子元素的子元素”角度看,子元素本身也是一个“What”。关键在于,如果“How”(子元素)生成错误,其下所有内容都将错误。因此,开发者应始终以符合上下文思维的方式与 AI 协作,例如上图 ④ 所示的范围界定。AI 能在瞬间生成“How”,但其保持上下文语境一致性的能力有限。如果开发者未能从上下文角度审查生成的代码,开发者将很快偏离轨道,经历第二条甚至是第一条曲线的旅程。
开发者需要对上下文语境(Context)有清晰理解,需要理解并维系语境无关(context-free),语境感知(context-aware),语境注入(context-injection)和基于语境(context-based)的含义。并善于运用抽象与具体化。LLM 本质上是基于用户(开发者)的上下文思维生成代码,其基础是学习自他人的代码。因此,若开发者缺乏上下文思维,输出代码也将处于同等水平。我多次观察到一旦开发者具备上下文意识,只需少量推动(nudge)即可带来很大改观。Park Changkyu 教授(世界百强工程师之一)所著《If Content is King, Context is God》书名恰如其分地道出了真谛。
理解语言 (Language Understanding)
LLM 是大型语言模型。理解语言将帮助你更有效地使用 LLM,获得更高质量的输出。这意味着你需要使用动词、名词、形容词、副词等构建句子。而名词代表了是什么,动词代表了期望的价值(通过动作制造价值)。建议尽可能避免使用形容词和副词,必要时根据情况注明其参照物(比如示例)或具体数值。
对于名词,保持用法一致性至关重要。尽管LLM生成结果时,会根据含义判断用词的相似性,但有时因不一致,经过长时间开发,你以为在不同开发阶段指代不同事物的名词,由于不一致导致不得不回溯到之前的备份代码。实际上,角度上微小的偏差,随着时间推进会画变成巨大弧线导致更大的差异。
对于动词,建议开发者根据价值期望找到合适的动词作为标准。在本项目系统中,我对约 60 个动词进行分类,选出代表动词,相应的问题模式随着动词组织并嵌入到对应的智能体代理中。而且强调从批判性思维角度定义动词,因为动词表达了产出成果的预期价值,智能体代理能提出各种补充问题,从而可以获得更高质量的结果。在本项目中,我采用了同样的方式与AI互动。若对语境性质疑提问不熟悉,推荐阅读 Warren Berger 的《A More Beautiful Question: The Power of Inquiry to Spark Breakthrough Ideas》。
Vibe Coding 实践中,我得到的重要启示是:开发是一项创造性活动,而不仅是技术任务。你会意识到代码不仅是实现功能的工具,也是表达开发者思想与创造力的媒介。同时,Vibe Coding 过程中的试错不可避免。LLM 创建的大多是“How”的子元素,没有“How”就无法构建更高层级元素。然而,拥有所有部件也不等同于高层级元素,必须添加开发者的创新(emergent property)属性。本项目中我的感受,AI 能完成基础层面,但从特定应用层面看,产品最终体现的是开发者的水平。这也是Vibe Coding实践项目中,在经历数百次失败后的我的深刻体会(我每天的工作时间可以作为参考,是从早 8 点至晚 9 点,中间有约 1 小时用餐和 2-3 小时锻炼)。
定期备份与设计泛化
在多数应用开发中,很难从欣赏阶段直线抵达最终产品。一旦创建超过一个功能并进行几次修改,就会进入失望阶段。此时需立刻回滚到上次备份检查点。没有备份后果是灾难性的。有时会试图修复,但极易陷入愤怒阶段。经验表明,回滚是减少失望与愤怒阶段的关键。因此,我的原则是每完成一项能力或功能就进行备份。备份分两种:物理代码备份和设计备份(即提问备份)。设计备份比代码备份更重要。因为代码是“How”,若“Why”或“What”改变,“How”会随之过时,之前的工作成果可能失效。而定义和指导“Why”与“What”的提示若保留在最终版本中,即使需求变化,也能快速修改“How”。
澄清 (Clarification)
开发者编写提示传递给 AI,由 AI 解释需求并生成代码。然而,准确传达需求并非易事,开发者编写的需求常有不一致或不完整之处。这种情况下,生成的代码自然偏离预期,将项目推回第一条曲线。本项目开始时尝试尽可能多地提供提示/指令来解决,但常遇到因不完整的需求导致污染底层代码的情况。为保持在第三条曲线上,我采用的方法是,先定义需求,向 AI 解释(而非直接指令生成代码),在 AI 指出缺失或我们确认无误并获得“批准”后,再让其生成代码。这显著减少了“幻觉”次数,挫折阶段也相应减少。
完整代码集 (Complete Code Set)
AI 的记忆是有限。LLM 理论上能记住每次对话,但商业化服务为保障资源效率必然存在限制。特别是当发现问题或传达改进需求时,生成的代码往往不是完整集合。若开发者稍有不慎,会立刻进入第一条曲线,因为生成代码是基于相似性分析,而且关注的是有问题的代码或新功能的程序,所以,未参与改进或缺陷修复的那部分正常的代码可能会丢失。从资源效率看合理,但对开发者而言,稍不留神就会发现代码被修改,若无备份,直接跌入愤怒阶段。项目初期多次发生此情况,后来我总是在创建新代码时比较总行数。若行数差异巨大,立即质询原因。AI 的回应总是“对不起”。这种情况该怎么办呢?解决方案是下达“编写一套完整代码”指令。但如果因此触发 Token 限制怎么办?只能重启会话并重新设置上下文——核心问题在于如何保持上下文?我尝试了多种关联上下文的方法,但官方答案是无法知晓上一会话的上下文。(尝试在聊天中重建上下文一段时间后,虽然LLM的官方声明是其并“不知道上下文”的,但我常感觉他是“知道的”)。要求重设上下文?这让人愤怒。怎么办?如果项目已进行一段时间,重新输入所有内容会导致两三次对话后再次触及 Token 限制,被迫开启新会话,令人沮丧。解决方案?如果应用足够大,重新输入完整上下文不现实。架构思维再次发挥作用:根据图6 的对应节点,将注意力集中在上次层节点,只为重构的代码集(程序)输入上下文,有时甚至无需输入。一旦设置好图 中④ 所示范围并上传关联程序(可以简单假设每个节点会对应一套程序),随着程序的上传,上下文随之更新。现在似乎进入可控阶段,但如果重构不顺利,需要上传的代码总量增加,会直接触发 Token 限制,再次回到第一条曲线。
提供正确视角 (Providing the Right Perspective)
在项目进行中,以 AI 为工具通过提示(输入指令)生成代码的体验新奇且令人大开眼界。然而,习惯后观察生成的代码和描述,会有种感觉:虽然是在生成代码,却像在导入他人的代码——我感觉自己在修改别人已经完成的逻辑和设计以适应这个项目。这是很自然结果,但感觉像在隔靴搔痒,特别是在生成的代码与自己预期似像非像不太一样的时候。此时需要清晰地表达自己的观点以明确视角。视角可能多种多样,考虑抽象层级、软件生命周期、利益相关者价值观(如测试视角)、架构等,重点是要明确的视角清晰地融入到指令中。
提示或助推 (Hints or Nudge)
LLM 依赖词汇和上下文相似性决定生成内容。多数情况下,输入的上下文(指令)和会话中累积的上下文决定生成是否合适。但有时,使用暗示 (Hints) 或助推 (Nudge) 传达难以包含在上下文或指令中的特定需求,能极大提升效率和质量,特别是针对用户便捷性或界面美观性需求时。这种情况,提供所需界面的示例图片,或暗示一个广为人知的常见示例,能快速达成目标。本项目常使用 VS Code 的标准作为提示或助推,因为应用是作为VSCode插件形式运行的。在创建后端程序时,使用类似提示和助推的效果也很好。当然,也可根据前述思维方式灵活运用。有时,生成并测试代码后仍出现类似错误,而且会反复出现。此时,若像对待反复出错的员工一样,在代码中加入“彻底检查代码”之类的指令,AI 会注意到并立即响应。
避免过度信任 (Avoid Excessive Trust)
本项目中,我注意到一个现象:在以交互方式向 AI 提出需求、审查和测试结果时,会发生奇怪的立场转换。起初对话由开发者驱动,但逐渐地,AI 负责设计与开发,开发者沦为测试员。例如,首次对话是“编写一个界面”,生成屏幕代码后测试主要由人完成。但若后续提出改进或报错,AI 即成为设计者和开发者,人类开发者根据 AI 指示测试、报告结果、检查日志、修改配置。此时,“系统用例”变成了“人类用例”。当 AI 生成和指示的东西失效时,挫败感渐生。这似乎养成了一种基于信任的过度依赖习惯,仿佛 AI 完美无缺。就目前而言,我们不应如此信任 AI,如果过度信赖,很可能落入第一曲线的旅程。始终保持批判性思维,不要忽视 AI 生成的代码也可能出错,尤其在重构不力时,它会复制人类开发遇到的问题。
Vibe Coding 的优势显而易见,无需赘述。但它也有其阴影。最大风险是陷入“自我合理化的陷阱”。人们可能将懒惰或缺乏规划简单地美化为 Vibe Coding。真正的 Vibe Coding 中重点是在随意编程的自由度下,不会忽视目标与质量。Vibe Coding 容易诱使你忽略全局,直接进入编码阶段——因为输入一些需求和指令,代码看起来就非常棒(正如许多 YouTuber 展示的),让你产生应用开发已完成的错觉(即进入欣赏阶段)。这种诱惑难以抗拒,却是通往失望与愤怒的捷径。即使“成功开发”,也会导致开发者对代码缺乏深入理解,换句话说,修改他人开发的代码与修改自己开发的代码,面临的风险是不同的。避免此陷阱的方法是深化对架构的理解,在Vibe Coding时将基础目标、所需能力与架构衔接统一,这样 Vibe Coding 可以成为一种可控的开发方法。
传统开发方法中,角色分工明确(架构师、设计师、程序员、测试员等),底层技术也细分(数据库架构师、应用部署架构师等)。但在 Vibe Coding 中,这些界限变得模糊:那些常规化的、对应“How”的任务,实现起来太容易、太快(自动化了)。 
图-7 Vibe Coding与传统开发的差异-步骤与工作量
结果是,经验丰富老道的(contextual seasoned ‘감’ 있는)的开发者更能适应 Vibe Coding。因此,关键问题是如何快速培养新开发者成为拥有“有感觉的”的“多面手开发者”(真正的精益开发者)。
自计算机诞生以来,软件开发方法在持续演进中。持续演进的重点持续上移中,代码本身的重要性相对下降:从微码(微指令Micro Code)编码,到编程(Cobol),再到设计(结构化设计Structured Design),再到分析(统一建模语言UML),再到业务(信息工程Information Engineering),再到客户价值(Design Thinking设计思维, Customer Get Job Done客户目标工作)。经过本项目的实践,发现AI 可替代(或促进)的工作范围比预想更广,如图8绿色区域所示。软件开发流程的演进历史表明,AI 可替代的工作遵循同样模式。这仅在应用开发领域,若考虑本项目中系统所做的事情(业务能力工厂-业务执行自动化),可以预见这种范式转变将更为迅速。

图-8 按开发阶段划分区域
为了更好地实践 Vibe Coding(或换一种说法,如何保持人类开发者的价值),我们应关注什么?
我们需要清晰理解需求。需求分两种:业务需求与 IT 需求。业务需求是在理解外部竞争环境(PESTNL – 政治、经济、社会、技术、自然、法律)、客户价值、业务领域竞争格局以及基于战略的业务变革后,对业务模型进行再设计的要求。IT 需求则可视为对技术基础进行改进或储备,以将业务需求构建为运营模型的要求。由此可见,IT 需求与 IT 架构对齐变得日益重要。IT 架构定义可借助 AI,但因架构的目的是实现战略,所以不同公司架构必然各异。因此,加强架构教育与实践能提升 Vibe Coding 有效性。
而业务模型则更为重要。公司通过业务创造价值。如果定义价值、制造价值、交付价值和获取价值的业务被明确定义,将最大化 Vibe Coding 的有效性。构建业务能力工厂(本项目目标)的主旨,正是基于定义明确的业务模型,建立一个能直接执行业务(无需任何编码)的系统,并通过此系统自动化企业大部分工作(IT 开发和业务运营流程)。
是什么使这一切成为可能?答案是企业的数字孪生系统。 在数字孪生中,从业务模式开始,所有员工日常工作的任何事情(知识Knowledge),都在基于业务本体的业务模型中得以足够细化、精确定义,和数字化表述。这正是本项目流程能够在业务能力工厂中立即执行的原因。
那么,如何构建这样一个数字孪生系统? 目前为止,仍然需要由业务专家和业务建模师完成。AI 尚无法完全替代,毕竟每家公司愿景、价值观、目标不同,员工技能各异。虽然在韩国的应用情况尚不清楚,但在海外已有许多公司致力于构建业务本体模型,我们参与海外项目已超 10 年,据我们了解类似有约 20 家公司采纳了这种方式。例如,我们直接参与的某金融机构项目中定义了数千个客户价值定义、一千多个价值制造/交付/获取活动、约 4000 个业务任务、数千个决策报告与数据脉络、数百个业务动词和数万个业务名词。每个概念都有明确目的、定义和范围,这些概念之间的关系定义呈现为多维。基于此业务本体模型,我们尝试在业务创新和运营模式变革(业务改进与 IT 开发)中努力最大化客户价值与敏捷性。本文介绍的项目??旨在直接在业务创新与建模平台上开发和执行业务运营流程,如同部署一项计划让流程直接部署即可执行。
Vibe Coding 是在现代软件开发环境中提升开发者创造力和可持续性的一种新模式。它不仅是开发方法,更是帮助开发者提升工作价值、产出更优成果的途径。
然而,Vibe Coding 也对开发者构成挑战。如果开发者不适应前文所述的思维方式(系统思维、架构思维、上下文思维、语言理解等等),他们将面临被替代的风险。因此,开发者必须从现在开始习惯新的思维和工作方式。
公司拥有利用这种新开发方式的巨大机遇,但如果不能对其业务进行明确的定义,Vibe Coding 只能成为效仿其他组织先进技术的工具,能带来的利益也是有限的。请问:您公司的业务定义在哪里?仍然碎片化地存在于员工大脑中或现有的程序中吗?这样的公司无法获得全部收益。
因此,需要从现在起来开始为你的企业构建数字孪生,开发者也要开始尝试新的思维方式与元认知实践方法。新范式的浪潮比想象中来的更快。祝愿您的企业可以充分准备,在浪潮中生存并能扬帆前行。
附录:传统开发与 Vibe Coding 的不同
|
维度 |
传统开发 |
Vibe Coding |
|---|---|---|
|
方法的基本差异 |
– 手工键入所有函数、变量和逻辑 |
– 用自然语言表达意图和目的 |
|
开发者角色演变 |
– 程序员 → 亲自编写每一行 |
– 架构师 → 设计整体系统结构 |
|
开发流程差异 |
-需求分析 |
-设定愿景与目标 |
|
生产力和高效性 |
-耗时编写样板代码 |
-AI 即时生成样板 |
|
如何学习与成长 |
Javascript function traditionalLearning() { |
Javascript |
|
解决问题的方法 |
– 独立思考 |
– 与 AI 头脑风暴 |
|
代码质量与一致性 |
– 依赖开发人员个人风格 |
– AI 自动应用最佳实践 |
|
创造力与实验性 |
– 实现可行性优先 |
– 探寻“这可能吗? |
|
主要区别概述 |
Vibe Coding 将开发者从“代码打字员”进化为“软件架构师”。AI 负责处理重复性和机械性任务,而开发者则专注于创造力、解决问题和创造商业价值。这不仅仅是工具使用方式的改变,更是我们思考和处理开发方式的范式转变。正如计算器的出现将数学家从简单计算中解放出来,使他们能够专注于更复杂的理论研究一样,Vibe Coding 也让开发者能够专注于解决更高层次的问题。 |
|
参考文献:

在现代企业环境中,本地大脑大语言模型接口已经成为企业赖以驾驭复杂商业环境的关键工具。作为知识工厂的一个重要组成部分,本地大脑的建立,不仅能深度理解公司行业和客户,还能确保公司的知识和洞察力能满足其特定需求和挑战。
首先,本地大脑通过开发全面的业务本体来构建,包括对公司产品、服务、流程和市场动态的深度理解。这种深度理解是全球大脑可能缺乏的,但对企业来说却是至关重要的。有了这个本地大脑,企业就能够把握住行业和客户的细微差别,从而制定出更精准的战略和决策。
其次,本地大脑可以是基于业务本体构建的任何语言模型,该模型是在公司内部数据的基础上训练而成的,使其能够理解公司的具体情况并产生独到的见解。这种见解能够帮助企业洞察市场趋势,挖掘潜在的商业机会,从而取得竞争优势。
此外,本地大脑的建立是一个集合企业内部各利益相关方智慧的过程。主题专家们将他们的专业技能和知识融入到业务本体中,使其能够捕捉到行业和客户的细微差别。同时,企业的流程和工作流也被映射到本体上,形成一个操作层面的业务模型,详细介绍公司的运营方式。
创新枢纽提供的本地大脑大语言模型接口的能力不仅在于其深度理解企业和行业,还在于其能够生成独到见解,以及其集合企业内部各利益相关方智慧的能力。它是全球大脑的有力补充,使企业能够提出符合其目标和独特需求的见解和解决方案。通过利用本地大脑,企业可以降低单纯依赖全球大脑所带来的风险,确保所提供的知识和建议准确无误并符合公司需求。它是企业提升竞争力,驾驭复杂商业环境的重要工具。

利用大型语言模型和人工智能工具,可以更有效地开发和优化解决方案。理解问题是解决方案开发的核心。我们通过与客户、合作伙伴和内部团队进行深入对话,以了解他们的需求和期望。我们使用大型语言模型,分析和解析这些对话,从而更好地理解问题的核心。
我们还会利用业务模型和知识工厂来定义和优化我们的解决方案。问题澄清的过程和构建解决方案都可以借助人工智能工具。这可能包括使用机器学习算法来预测未来趋势,或者使用自然语言处理工具来解读明确隐含的问题,或者借助大语言模型深度探索问题的关联和可能的方案。
在这个多次中,定义提示是另一个关键步骤。提示可以帮助我们更深入地理解问题,并找到可能的解决方案。这些提示不仅需要明确地表达问题的目标,还需要定义期望的答案格式和推理参数。探索解决方案后,借助AI可以模拟解决方案的效果,同时也会利用大型语言模型来生成可能的解决方案,也可以比较评估每个解决方案的优点和缺点,从而找到最佳的解决方案。
在找到最佳解决方案后,我们会进行测试和验证。我们利用人工智能工具来模拟解决方案的实际效果,同时也会利用大型语言模型来生成测试报告。我们会根据这些报告来调整和优化我们的解决方案。
综上所述,利用大型语言模型和人工智能工具,我们能够更有效地理解问题,构建和探索解决方案,并进行测试和验证。这种方法不仅提高了我们的工作效率,也使我们能够提供更高质量的解决方案。

业务本体在需求工程中的重要性不可忽视。需求工程是一种工程化方法,它全面跟进并落实需求,以实现业务模型的数字孪生。在这个过程中,业务本体扮演了关键的角色。业务本体是对业务领域知识的系统化表述,包括概念、关系和规则。本体模型是一个核心知识图谱,为组织和管理公司的知识资产提供了一个结构化框架。
从本质上讲,业务本体是一种以系统化有组织的方式定义业务世界的方法。涉及企业感兴趣的业务、规划、运营以及与生态、环境互动的所有关键概念,以及概念的关系,包括数据、元数据、模型、元模型、元模型的模型等所有的知识内涵及关联关系。业务本体的主要目的是为业务领域提供一种可在整个组织内使用的通用语言和理解,业务本体模型可以清晰地揭示出业务需求的内在逻辑和关系,从而有助于精确地捕捉和描述业务需求。
在知识管理中使用业务本体,首先,有助于确保知识的组织方式易于查找和使用。这是因为本体为组织信息提供了清晰的结构,从而更容易浏览和定位特定的知识片段。其次有助于确保知识的一致性和准确性。通过定义业务范畴内的关键概念和关系,本体有助于确保每个人都使用相同的定义和对这些概念的理解。这有助于避免混淆和误解,以免造成代价高昂的错误。
而且,业务本体论还有助于改善组织内部的协作和沟通。通过提供对业务领域的共同语言和理解,不同团队和部门可以更容易地协同工作和共享知识。这可以提高决策的效率和效果,并为整个企业带来更好的成果。
以下客户的项目中签约使用SOLVENT平台
《数字孪生构建方法论》(包括《持续价值创新方法论》)在中国有超过20家金融机构(包括所有大型商业银行)中得到应用与验证。