[控场AI]
· 11 分钟阅读· 5,578 字

CreateNow可控式开发实战:让AI按需求逐项写代码

CreateNow可控式开发实战:让AI按需求逐项写代码

从需求到代码:AI不只是吐代码的机器

很多人对AI编程的印象还停留在"丢一句话,吐一堆代码"的阶段。但真正的软件开发远不止于此——需求拆解、架构搭建、模块化开发、验收测试,每一步都需要专业的流程把控。CreateNow正在尝试改变这一现状,让AI像一个真正的高级软件工程师一样,按照专业开发流程逐项推进需求。

本文基于B站UP主的CreateNow实战教程,带大家了解这种"可控式AI开发"的具体工作方式。

右侧就是CreateNode和智能体交互的日志,咱们看一下,每次执行的都是都会先分析现有代码,看一下当前项目实现情况,还内置了很多当前主流的项目开发SQL,下面是开发这个需求发送给智能体的提示词,够专

几分钟之后,再来看一下,看一下日志输出第二个需求已经开发完了,需求中的每一个验收标准都实现了呢。

首推小米,其次Kimi和GLM。

什么是可控式开发

告别一次性代码生成

传统的AI编程工具往往是"一锤子买卖":你描述需求,AI一次性生成全部代码。这种方式在小项目中尚可,但面对复杂项目时问题频出——代码结构混乱、模块耦合严重、需求遗漏难以追溯。

这里需要理解"模块耦合"为何是AI一次性生成代码的致命伤。模块耦合是软件工程中的经典问题,指的是不同代码模块之间的依赖程度。高耦合意味着修改一个模块可能导致其他模块连锁出错,在大型项目中会导致维护成本呈指数级增长。传统AI一次性生成代码时,由于缺乏全局架构视角,往往会产生紧耦合的代码——函数之间直接调用、全局变量滥用、接口定义模糊等问题。专业软件工程中通常遵循SOLID原则(单一职责、开闭原则、里氏替换、接口隔离、依赖反转)来降低耦合度。以"单一职责原则"为例,它要求每个模块只负责一件事,这样当需求变更时只需修改对应模块而不会波及全局。而"依赖反转原则"则要求高层模块不应依赖低层模块的具体实现,而是依赖抽象接口——这使得模块可以独立替换和测试。AI一次性生成代码时很难自发遵循这些原则,因为它缺乏对项目长期演进的预判能力,而可控式开发通过流程化手段强制引入架构约束,从根本上缓解了这一问题。

CreateNow的思路截然不同。在上一期教程中,智能体已经以"顶级产品经理"的身份完成了需求拆解,将一个家庭相册项目分解为多个清晰的模块和验收标准。到了开发阶段,智能体切换为"高级软件工程师"角色,严格按照拆解好的需求逐项实现。

开发流程的专业化

进入CreateNow的开发平台后,界面会展示项目的各个模块需求。点击"先初始化再执行"按钮后,智能体的工作流程如下:

  1. 搭建项目主体架构:先建立整体骨架,而非直接写功能代码
  2. 逐个执行需求:按模块顺序依次开发,每次只聚焦一个需求
  3. 分析现有代码:每次执行前,智能体会先审视当前项目的实现情况,确保新代码与已有代码协调一致
  4. 验收标准逐项检查:每个需求完成后,对照验收标准逐条确认

这种"先架构后实现"的开发模式在软件工程中被称为"自顶向下设计"(Top-Down Design),与之对应的是"自底向上"的方式。自顶向下设计的核心优势在于:在编写任何具体功能代码之前,先确定系统的整体结构、模块边界和通信协议。这就像建筑师先画蓝图再砌砖——确保每一块砖都知道自己该放在哪里。在AI编程场景中,这种方式尤为重要,因为它为后续每一步的代码生成提供了明确的约束条件和上下文框架。

值得一提的是,CreateNow内置了当前主流的项目开发SQL和专业提示词模板。发送给智能体的指令不是简单的自然语言描述,而是经过精心设计的专业提示词,这大幅提升了AI理解需求的准确度。

提示词工程(Prompt Engineering)在AI编程中扮演着至关重要的角色。简单的自然语言描述如"写一个登录功能"往往导致模型生成泛化的、缺乏上下文的代码。而专业提示词模板会包含技术栈约束(如"使用React 18 + TypeScript + Tailwind CSS")、代码风格规范(如"遵循Airbnb JavaScript Style Guide")、错误处理要求(如"所有异步操作必须包含try-catch和用户友好的错误提示")、与现有代码的接口约定(如"认证模块暴露useAuth hook,返回user对象和login/logout方法")等结构化信息。研究表明,结构化提示词可以将AI代码生成的准确率提升30%-50%。更进一步,优秀的提示词模板还会包含"负面约束"——明确告诉AI不要做什么,比如"不要使用any类型""不要在组件中直接调用API"等。CreateNow内置的专业提示词模板本质上是将资深工程师的经验编码化,让AI在生成代码时拥有更完整的上下文信息,从而产出更符合工程规范的代码。

实战体验:家庭相册项目开发全过程

开发过程的可视化

在实际操作中,右侧面板会实时显示CreateNow与智能体交互的完整日志。开发者可以清楚地看到每一步的执行情况——当前在开发哪个需求、智能体分析了什么、生成了哪些代码。

用教程作者的话说:"咱们可以端着咖啡杯看着你的数字牛马在干活,这感觉棒极了。"虽然是玩笑话,但确实反映了这种开发模式的核心优势:开发者从编码者转变为监督者,关注的重心从"怎么写代码"转移到"代码是否符合需求"。

这种角色转变在软件工程领域有一个更学术的表述:从"实现者"到"审查者"的转型。在传统团队开发中,代码审查(Code Review)被公认为提升代码质量最有效的实践之一——Google的工程实践指南显示,经过审查的代码缺陷率比未审查的低60%以上。可控式AI开发本质上将开发者置于"永久Code Review"的状态,每一步生成的代码都在开发者的监督视野内。这不仅提升了代码质量,也让开发者对项目全貌保持清晰认知,避免了"AI写了什么我都不知道"的失控感。

模型选择对开发质量的影响

教程中特别提到,需求执行的速度和质量与所选大模型密切相关。根据作者的实测经验,不同模型在AI代码生成任务中的表现差异明显:

  • 首推Claude:编码能力最强,生成代码质量最高
  • 其次Kimi和GLM:国内模型中表现较好
  • DeepSeek广告:属于中等水平
  • 本地部署模型:能力可能相对较弱

不同大模型在编码任务上的表现差异,根源在于训练数据、模型架构和对齐策略的不同。Claude(由Anthropic开发)在编码任务上表现突出,部分原因是其训练过程中对代码理解和逻辑推理的特别优化,以及其较长的上下文窗口(支持200K tokens)使其能够理解大型代码库的全貌。编码任务对模型的要求是多维度的:语法正确性、逻辑一致性、API调用准确性、代码风格统一性,以及最关键的——在长上下文中保持连贯性。所谓"长上下文连贯性",是指当模型需要同时考虑数十个文件、数百个函数的相互关系时,能否保持全局一致性而不产生矛盾。这类似于一个作家写长篇小说时需要记住所有角色的性格和情节线索。上下文窗口越大、注意力机制越精确的模型,在多文件协调开发中的表现越好。国内模型如Kimi(月之暗面)凭借其超长上下文能力和GLM(智谱AI)凭借其代码预训练数据的质量,在代码生成领域进步显著,但在复杂逻辑推理和多文件协调方面仍与顶尖模型存在差距。值得注意的是,模型能力的排序并非一成不变——随着各厂商持续迭代,格局可能在数月内发生变化。

这个排序对于选择AI编程工具的开发者来说很有参考价值。编码任务对模型的逻辑推理、代码理解和上下文把控能力要求极高,选对模型是成功的一半。

容错与断点续开发

在测试过程中,作者也遇到了智能体返回错误导致需求执行中断的情况。但CreateNow的设计考虑到了这一点——只需重新点击"自动执行",智能体会根据当前执行进度继续开发,而不是从头开始。

这种断点续开发的能力在实际项目中非常实用,毕竟AI模型的输出并非百分百稳定,中途出错在所难免。能够从断点恢复而不丢失已完成的工作,极大降低了开发过程中的时间成本。

从技术实现角度看,断点续开发的核心挑战在于状态管理和上下文恢复。在传统软件开发中,CI/CD(持续集成/持续部署)流水线通过版本控制和构建缓存实现类似功能——比如GitHub Actions可以缓存依赖安装步骤,Jenkins可以从失败的阶段重新执行。AI开发场景中的断点续开发需要记录更复杂的状态信息:当前已完成的需求列表、已生成的代码文件状态、项目的依赖关系图,以及智能体的决策上下文(即AI在做出某个架构决策时的"推理过程")。当中断恢复时,系统需要重新构建完整的项目状态快照,并将其作为上下文注入给AI模型,使其能够"理解"项目当前的进度并无缝继续。这比简单的代码版本回滚复杂得多,因为它还需要恢复AI的"思维状态"——让模型理解之前为什么做出某些设计选择,以确保后续代码与前序代码在风格和架构上保持一致。这本质上是一个"有状态AI工作流"的工程问题,也是当前AI Agent框架(如LangChain、AutoGen等)正在积极探索的方向。

可控式开发的价值与局限

为什么"可控"很重要

从这个教程可以看出,CreateNow试图解决AI编程中一个核心痛点:可控性。当项目复杂度上升时,开发者需要的不是一个黑盒式的代码生成器,而是一个能够按照专业流程、逐步推进、可追溯可回溯的开发助手。

这种可控式AI开发模式的优势在于:

  • 需求与代码的对应关系清晰:每段代码都能追溯到具体需求
  • 问题定位更精准:某个模块出问题,只需重新执行该需求
  • 开发过程透明可控:日志记录完整,便于审查和调试

需求可追溯性(Requirements Traceability)是软件工程中的核心实践,在航空航天、医疗设备、金融系统等安全关键领域甚至是强制性合规要求。它指的是建立需求文档与代码实现之间的双向映射关系——既能从需求找到对应代码(正向追溯),也能从代码反查其来源需求(反向追溯)。在传统开发中,这通常通过需求追踪矩阵(RTM, Requirements Traceability Matrix)来实现,记录每个需求对应哪些设计文档、代码模块和测试用例。然而,手动维护RTM是一项繁琐且容易过时的工作,很多团队在项目后期就放弃了维护。缺乏可追溯性的项目在需求变更时往往陷入混乱——不知道改动会影响哪些代码,也不知道某段代码为什么存在(所谓的"僵尸代码")。CreateNow通过将需求拆解与代码生成绑定,天然且自动地建立了这种追溯关系,这在AI生成代码的场景中尤为重要,因为开发者需要理解和信任AI产出的每一行代码的来源和目的。当某个功能出现bug时,开发者可以直接定位到对应的需求条目,审查该需求的验收标准是否完备,而非在茫茫代码中大海捞针。

当前的局限性

当然,这种模式也有明显的局限。首先,它高度依赖底层大模型的编码能力,模型选择直接决定了开发质量。其次,对于需要深度架构设计和复杂业务逻辑的企业级项目,AI生成的代码能否达到生产级别的质量标准,仍然需要打一个问号。

所谓"生产级别的质量标准",在企业软件开发中有着明确的量化指标。它通常包括:代码测试覆盖率(行业标准通常要求80%以上)、性能基准(如API响应时间P99小于200ms)、安全合规(如OWASP Top 10漏洞防护)、可观测性(完善的日志、指标和链路追踪)、以及容错能力(优雅降级、熔断机制等)。当前AI生成的代码在功能正确性上已经表现不错,但在这些"非功能性需求"方面往往存在明显短板——比如缺少边界条件处理、忽略并发安全问题、不考虑数据库查询性能优化等。这些问题在小型项目中可能不会暴露,但在高并发、高可用的生产环境中可能导致严重故障。

教程作者也提到,下一期将介绍测试平台,这恰恰说明——AI写的代码同样需要严格测试,自动化开发并不意味着可以跳过质量保障环节。

总结

CreateNow展示了一种值得关注的AI开发范式:将需求管理、架构设计、模块化开发和验收测试整合到一个可控的工作流中。对于中小型项目和个人开发者来说,这种"端着咖啡看AI干活"的体验确实令人期待。但要真正替代专业开发流程,还需要在代码质量、架构合理性和测试覆盖率等方面持续进化。

从更宏观的视角来看,CreateNow代表的可控式AI开发处于AI编程工具演进的一个重要节点。早期的AI编程工具(如GitHub Copilot)定位为"行级代码补全",解决的是打字效率问题;中期的工具(如Cursor、Windsurf)升级为"文件级代码生成",解决的是功能实现问题;而CreateNow这类工具正在向"项目级开发管理"迈进,试图解决的是工程流程问题。这三个层次分别对应着AI在软件开发中扮演的不同角色:打字员、程序员、工程师。未来的终极形态可能是AI能够独立完成从商业需求到上线运维的全生命周期管理,但这需要AI在系统设计、技术决策和风险评估等方面达到人类专家水平——这一天或许比我们想象的更近,但也绝非一蹴而就。

核心要点

  • 可控式开发的本质:将AI编程从"黑盒生成"转变为"流程化、可追溯、可监督"的专业开发模式
  • 开发流程四步走:架构搭建→逐需求开发→代码协调分析→验收标准检查
  • 模型选择至关重要:Claude在编码任务中表现最优,模型的上下文能力和逻辑推理能力直接决定产出质量
  • 断点续开发:容错机制确保中断后可从当前进度继续,不丢失已完成工作
  • 角色转变:开发者从编码实现者转变为质量监督者,关注重心从"怎么写"转向"写得对不对"
  • 局限性认知:AI生成代码在非功能性需求(性能、安全、容错)方面仍需人工把关,测试环节不可省略
#CreateNow#可控式AI开发#AI编程工具#模块化开发#AI代码生成#需求驱动开发#断点续开发#AI软件工程
分享:

相关推荐