点击蓝字 关注我们

引言

随着人工智能技术的飞速发展,AI编程已从最初的辅助工具演变为能够深度参与软件开发全流程的强大伙伴。从简单的代码补全、语法纠错,到复杂的代码生成、测试用例编写,乃至整个项目的架构设计,AI正在深刻地改变着软件工程师的开发模式。在这一浪潮中,开发者社区涌现出众多优秀的AI编程工具,它们不仅提升了开发效率,更激发了全新的编程范式。

本文将以一个完整的插件项目开发过程为例,详细记录我们如何利用腾讯最新的CodeBuddy IDE和CNB(Cloud Native Development Environment)云原生开发环境,从最初的"氛围编程"(Vibe Coding)实践,到后来转向"规约编程"(Spec Coding)的完整探索过程。我们将展示从项目初始化、环境搭建,到概念设计、MVP实现的每一个环节,以及两种不同AI编程范式的实际应用效果。通过这个案例,读者可以深入了解CodeBuddy在代码生成、文档编写、流程自动化等方面的强大能力,以及CNB在团队协作和环境管理上的独特优势。

工具链介绍

本次实验采用了一套AI原生工具链,旨在最大化发挥AI在软件开发中的潜力,其核心是腾讯的CodeBuddy IDE和CNB云原生开发环境。

CodeBuddy IDE

CodeBuddy是一款深度集成大语言模型的集成开发环境,搭载了最新的Claude Sonnet 4.0模型,作为一个能够理解项目上下文、参与开发全流程的智能编程伙伴,其核心能力包括:

  • 智能代码生成:根据自然语言描述生成高质量代码

  • 上下文感知:精准理解开发者意图,提供贴切的建议

  • 自动化文档编写:自动生成项目文档,沉淀项目资产

  • 计划与执行:对复杂任务进行分解和计划,并按步骤执行

CNB云原生开发环境

CNB(Cloud Native Development Environment)提供统一、高效的云端开发环境,通过声明式配置和Dockerfile,保证了环境一致性并简化了管理流程,支持版本管理、环境管理和CICD工作。

氛围编程 vs. 规约编程

在项目开发过程中,我们实际体验了两种不同的AI编程风格:

氛围编程(Vibe Coding:这种风格更依赖开发者的直觉和灵感,边想边写,追求快速迭代和原型验证。开发者与AI在一种相对自由的"氛围"中协作,AI根据当前的上下文和开发者的即时想法提供支持。这种方式非常适合从0到1的探索性项目,能够快速将创意转化为现实,激发创新思维。然而,氛围编程容易导致代码结构混乱,缺乏统一的设计规范,随着项目规模的扩大,容易积累技术债务。

规约编程(Spec Coding:与氛围编程相反,规约编程强调"先设计,后实现"的严格流程。在编码之前,首先通过AI生成明确的规范(Specification)、设计文档和领域模型,建立项目的"宪法"。开发者与AI都严格遵守这些"规约"进行开发,确保每一步都有据可依。这种方法虽然前期投入较大,但能保证代码的结构清晰、质量更高,非常适合需要长期维护和多人协作的项目。

01 氛围编程阶段:项目初始化与骨架搭建

我们的AI编程探索从氛围编程开始。为了充分发挥AI编程的能力,体会氛围编程的过程,我们选择在一个全新项目上进行尝试,目标是开发一个飞书插件。

云开发环境搭建

我们首先利用CNB搭建了云开发环境。CNB提供的声明式yaml配置和Dockerfile让我们能轻松构建统一的开发环境,为团队协作和氛围编程提供了极大便利,真正实现了"一次配置,处处运行"。

项目骨架生成

在氛围编程模式下,我们使用CodeBuddy对CLI工具生成的标准前端目录进行改造,构建一个前后端一体的mono repo结构。通过"提示词美化"和"计划模式",CodeBuddy迅速列出并执行了涵盖创建monorepo、配置package.json、初始化server端及联通前后端调用的完整任务计划。

【插图1】【CodeBuddy任务规划界面】

CodeBuddy的执行结果相当出色,几乎一次性完成了所有任务,非常符合一个MVP的全栈项目要求。除了因为插件的client端并非常规的React Web App而需要一些额外的vite配置外,整个过程非常顺畅。

项目目标文档创建

在氛围编程的理念下,我们希望AI能生成所有项目文档,并将知识沉淀为项目资产。我们向CodeBuddy发出生成项目目标文档的指令。

【插图2】【项目目标文档生成过程】

CodeBuddy迅速生成了一份完善的项目概览文档(PROJECT_OVERVIEW.md),其中包含了Kanban方法论、Feishu项目工具、项目目标、商业价值、技术架构和预期成果的详细描述。

【插图3】【CodeBuddy生成的项目概览】

经过微调和简化,我们最终形成了一份清晰、准确的项目目标文档,作为项目的背景知识提供给大模型。

【插图4】【最终项目目标文档】

02 氛围编程阶段:概念设计与领域建模

继续氛围编程的探索,我们的目标是让AI输出所有相关文档,并将文档作为后续工作的输入。

领域概念文档与领域模型生成

我们让AI生成领域概念文档和领域模型。在氛围编程的自由模式下,第一次尝试时AI生成了过多内容,显得过分热心。这正体现了氛围编程的特点:AI会根据当前上下文自由发挥,有时会超出预期。

【插图5】【领域模型生成命令】

我们选择回滚,并给出了更明确的生成命令,要求AI生成精简的概念模型文档和领域模型UML图。

【插图6】【精简后的生成指令】

第二次生成的内容精简了很多,CodeBuddy生成了清晰的DOMAIN_MODEL.md文档,直观展示了"租户"(Tenant)和"空间"(Space)等核心概念及其关系。

【插图7】【领域模型文档结构】

模块架构规划

我们让CodeBuddy编写模块说明文档以规划项目架构。AI在features目录下规划了board和kanban-configuration等模块,并生成了相应的MODULE_DOCUMENTATION.md文件。

【插图8】【模块文档编辑界面】

经过这一系列氛围编程的实践,我们的项目文档已经初具规模,为后续开发提供了基础。

03 规约编程阶段:第一个MVP实现

从氛围编程到规约编程的转变

在完成了前两个阶段的氛围编程实践后,我们开始反思这种开发模式的效果。虽然氛围编程在快速原型和创意实现方面表现出色,但我们也意识到了其局限性。

转变的原因

我们意识到,Vibe Coding与Spec Coding代表了两种截然不同的风格:

  • **Vibe Coding(氛围编程)**依靠直觉和灵感,边想边写,适合快速打原型、验证想法,但这种做法只适合0到1的阶段,从1到N会遇到困难。Vibe Coding速度快、创意足,却容易积累技术债。

  • **Spec Coding(规约编程)**则先定义规范与设计,再按计划实现,适合多人协作和长期维护。Spec Coding结构清晰、质量高,但前期投入大、迭代慢。

考虑到我们开发的飞书项目插件是一个需要长期维护的项目,我们决定从第三阶段开始采用Spec Coding策略。

规约编程的实施

从这一期开始,我们把开发模式从氛围编程改为规约编程。这意味着我们需要更加严格地遵循"先规约,后实现"的原则,确保每一步开发都有明确的规范指导。

基于前期氛围编程阶段积累的文档和设计基础,我们开始在规约编程模式下实现第一个MVP,目标是让插件获取并显示用户有权限访问的所有空间列表。

第一个功能实现:获取空间列表

在规约编程模式下,我们向CodeBuddy下达了明确的指令,要求它根据飞书插件的官方文档,实现获取飞书项目一个租户下的空间列表功能。CodeBuddy迅速生成了相关代码框架。

【插图9】【CodeBuddy代码生成界面】

然而,我们发现CodeBuddy生成的代码还存在一些编译错误,这表明相比一些更成熟的工具,CodeBuddy在代码质量方面还有提升空间。

认证流程问题解决

在调试过程中,我们遇到了插件认证上的问题。从CodeBuddy生成的代码来看,存在着非常多标准OAuth2认证流程的痕迹,例如redirect_url和auth/callback等流程设计。但实际上,飞书插件使用的是私有认证协议,而非OAuth2。

【插图10】【认证问题分析过程】

AI这种"真假参半"的幻觉情况,需要依靠人类驾驶员的经验去甄别判断。在规约编程的指导下,我们采取了系统性的解决方案:

  1. 去伪存真:明确告诉CodeBuddy认证流程并非OAuth2协议,而是私有协议,让其去除代码中所有关于OAuth2相关的流程代码,特别是redirect_url及其相关的设计文档。

  2. 提供精确规约:重新向CodeBuddy提供飞书插件开发者手册中认证部分的具体内容,包括认证流程图以及前端调用示例代码,而不是简单地给文档URL。

这次的效果让人非常满意,CodeBuddy不仅生成了正确的认证代码,还更新了一个redesign summary文档,将认证过程的知识留存了下来。

【插图11】【认证重设计文档】

MVP成果

最终,我们成功在插件界面中获取并显示了空间列表,第一个MVP顺利完成。

【插图12】【最终MVP成果展示】

根据预估,如果手动开发,这个工作量应该需要2-3天,而利用CodeBuddy助力,我们在1-2天的时间内完成了这个工作,效率提升显著。

实践总结

这次从氛围编程到规约编程的完整实验,让我们深刻体会到了不同AI编程范式的特点和适用场景,氛围编程和规约编程各有其价值,关键是在合适的阶段选择合适的方法。同时,也充分验证了CodeBuddy+CNB工具链的强大能力。我们相信CodeBuddy和CNB将在未来的软件开发中发挥越来越重要的作用。

CodeBuddy+CNB核心优势总结

通过完整的项目实践,我们总结出CodeBuddy+CNB工具链在AI原生开发中的核心优势:

1. 智能任务分解与执行能力:CodeBuddy展现出了类似人类工程师的思维模式,能够将复杂的开发任务自动分解为可执行的步骤。从项目骨架搭建到monorepo结构改造,CodeBuddy都能提供清晰的任务规划,并按步骤高质量执行,这大大降低了项目启动的复杂度。

2. 上下文感知与知识沉淀:CodeBuddy不仅能理解当前的开发需求,更能将开发过程中的知识自动沉淀为项目文档。从项目目标文档到领域模型,从模块架构到认证重设计总结,AI生成的文档成为了项目的重要资产,为后续开发提供了宝贵的上下文。

3. 云原生环境的协作优势:CNB提供的统一云端开发环境彻底解决了"环境不一致"的经典问题。通过声明式配置,团队成员可以在完全相同的环境中进行AI编程实验,这为氛围编程和规约编程的无缝切换提供了技术保障。

4. 灵活的编程范式支持:CodeBuddy既能支持氛围编程的自由创作,也能适应规约编程的严格要求。在氛围编程阶段,它能快速响应开发者的创意想法;在规约编程阶段,它能严格按照提供的规约和文档生成高质量代码。

5. 问题诊断与自我修正能力:当遇到认证流程错误时,CodeBuddy不仅能接受纠正,还能主动生成redesign summary文档,记录问题解决过程。这种自我反思和知识更新的能力,使得AI能够在项目进展中不断优化。

6. 端到端的开发流程覆盖:从环境搭建、项目初始化、文档生成、代码编写到问题调试,CodeBuddy+CNB覆盖了软件开发的完整流程,真正实现了AI原生的开发体验。

氛围编程 vs. 规约编程的实战对比

氛围编程阶段的表现

  • 优势:快速启动,创意丰富,能够迅速将想法转化为原型

  • 挑战:AI容易"过度发挥",生成过多内容,需要频繁调整和回滚

  • 适用场景:项目初期的探索和快速验证

规约编程阶段的表现

  • 优势:结构清晰,质量可控,知识沉淀效果好

  • 挑战:需要更多前期规划,对开发者的架构能力要求更高

  • 适用场景:正式开发阶段,特别是需要长期维护的项目

开发效率提升

整个项目开发过程中,CodeBuddy在项目骨架搭建、文档编写和功能实现等方面都显著节省了时间。特别是在处理认证流程这类有明确规范的任务时,规约编程模式下的AI表现更加稳定可靠。总体而言,开发效率提升了30%-50%。

AI编程的关键洞察

  • 人机协作的重要性:AI的"幻觉"问题依然存在,需要开发者具备足够的经验来甄别和纠正

  • 上下文的关键作用:提供精确的规约和文档,能显著提升AI的输出质量

  • 知识沉淀的价值:AI生成的文档不仅支持当前开发,更成为项目的重要资产

展望

完成第一个MVP后,我们已经搭建了完整的系统架构。下一步,我们将继续在这个骨架基础上逐步增加新功能,例如获取每个空间的工作项类型列表等,继续贯彻规约编程的做法。我们也将继续探索和分享AI原生时代下的最佳开发实践,与广大开发者共同迎接这场深刻的技术变革。

Agilean 是一家管理咨询业的科技公司,致力帮助企业全面提升数字化管理能力,成为企业数字化转型过程中长期可信赖的伙伴。在过去的十来年间,我们持续为国家开发银行、中国银联、平安银行、上海银行、上海农商、广发银行、宁波银行、长沙银行、招商证券、中金财富、易方达、深信服、天马微电子等国内众多行业标杆客户提供过管理咨询与工具改造升级服务,并在业界拥有不俗的口碑。我们具有深入的领域知识、丰富的流程优化经验、能系统性支持高层管理者落地战略愿景与管理思路,并擅长用咨询与数字化管理工具相结合的方式,帮组织快速实现管理升级。

企业小助手二维码.jpg

如想进一步了解我们的解决方案,欢迎扫码添加左侧二维码咨询~

分享

收藏

在看

点赞

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐