实战经验: 告别AI技术债, 我是如何AI Codin,g的
AICoding不只是写代码,更是构建长期可维护的技术资产。本文从真实项目出发,拆解如何识别“技术债”陷阱,并通过模块化思维、语义封装与协作机制,打造可持续的AI工程体系。
在开发中深度使用AI编码很长一段时间后,我总结出了一些经验。和很多人一样,我起步时也只是把它当成一个“智能助手”,一个能帮我写写函数、补全代码的工具。但随着项目变得越来越复杂,这种模式的严重局限性也很快就暴露了出来。
我发现,这些AI助手在“战术”上很出色,但在“战略”上却一塌糊涂。它们能写出一个漂亮的函数,却无法理解整个项目的架构。你让它写个功能,它可能会“重复造轮子”,而不是去调用你已经封装好的库。这导致我们的项目代码开始变得混乱,维护成本急剧上升。
我很快意识到,我的问题不是“AI能不能编码”,而是“我该如何构建一个系统,让AI能够有纪律地、可预测地去构建和维护一个复杂的、高质量的产品?”
我的经验是,没有一个AI模型是万能的。比如,我发现OpenAI的Codex在生成和理解文档结构方面表现非常出色,而Anthropic的ClaudeCode(CC)在执行复杂的、需要一步步来的多步骤任务时,表现得更可靠。
所以,我需要的不是一个“更好”的AI,而是一个能驾驭这些不同AI能力的“框架”。
这篇文章就是我摸索出的实践手册。它是一个战略性的AI开发框架,核心是我称之为“项目知识库”(ProjectKnowledgeBase,PKB)的机制。这是一个动态的中央记忆体,它既是我们项目的“宪法”,也是AI在执行任何操作前都必须查阅的“唯一事实来源”。
我把整个开发生命周期分成了四个关键阶段。
我学到的第一课就是:一切成功的工程都始于一个清晰的蓝图。
在我的实践中,AI最容易犯的错误就是“自由发挥”,而这恰恰是架构腐烂的开始。所以,我定下了一个死规矩:在“蓝图规划”阶段完成之前,任何人(包括AI)都不准编写任何功能代码。在这个阶段,AI的角色不是程序员,而是系统分析师和解决方案架构师。
从“调查问卷”开始:我们的流程从不始于一个模糊的提示。我制作了一套详尽的结构化调查问卷,强制性地收集所有关键决策点:项目类型、技术栈偏好、核心功能点,乃至部署和运维的细节。
让AI“捍卫”它的选择:当团队对技术选型不确定时,我会让AI启动研究模式。它必须给我一份对比分析报告,并“捍卫”它的推荐。比如,为什么在这个项目上用FastAPI而不是Django?它必须给出基于性能、生态和开发周期的合理论证。
产出“项目宪法”:这个阶段的最终产物是一份《技术解决方案文档》。我把它当成我们团队的“宪法”。它详细规定了最终的技术栈、精确的目录结构、统一的开发规范(比如我们的Git提交约定和分支策略)以及完整的部署方案。
只有当这份“宪法”被批准后,我们才能进入下一个阶段。
这是我整个框架的核心,也是我们从传统开发中分离出来的关键一步。在项目骨架创建后,我不会立即开始开发功能,而是首先让AI为项目构建一个专属的“大脑”,也就是“项目知识库”(PKB)。
1)扫描与解析:我让AI深度扫描整个项目结构,解析所有配置文件,识别出已确立的技术栈和依赖关系。
2)自动生成知识文档:AI会在项目根目录下创建一个专用的知识库目录。这是AI未来所有工作的“唯一事实来源”。它会自动生成一系列文档:项目架构图、文件索引、复用函数库、API契约等等。
3)定义“抽象契约”:在所有文档中,我认为“抽象契约”(我称之为自定义库.md)是最具变革性的。AI会智能识别出我们项目中所有“二次封装”的库,比如我封装的全局HTTP客户端apiClient,或者数据库管理器dbManager。
4)最关键的是,我让AI在这份文档中明确标注“被禁止”的原生库调用。例如,文档会规定:
必须使用:apiClient
禁止使用:fetch,axios(直接调用)
这个初始化阶段,把一个通用的AI模型,转变成了一个只懂我们这个项目的“领域专家”。它现在不仅有了完整的上下文,更重要的是,它被我定义的“抽象契约”给牢牢束缚住了。
当项目的“宪法”和“大脑”都准备就绪后,真正的功能开发才开始。我把开发工作分解成一系列高级任务(比如“实现用户JWT认证系统”),然后让AI逐个执行。
我为AI的每一次任务执行,都设定了一个不可跳过的、线性的“纪律性执行”工作流:
第一步:学习
在编写任何代码之前,AI的第一动作永远是“学习”。它必须强制性地重新读取“项目知识库”。它会自查:这个功能有没有现成的复用函数?我必须遵守哪些“抽象契约”?
第二步:提议
基于学习,AI必须制定一个详细的执行方案,并呈现给我(或团队成员)确认。这个方案会明确列出它打算修改哪些文件、如何使用我们自定义的库。这彻底解决了AI的“黑盒”操作问题,我能完全掌控它的意图。
第三步:执行
一旦我点击“确认”,AI才开始编码。在这里,我会根据任务类型选择合适的AI。如果只是生成文档,Codex可能就够了。但如果是这种需要严格遵循多步骤指令的复杂任务,我的经验是ClaudeCode(CC)往往表现得更可靠,因为它对长上下文的遵循性更好。
第四步:进化(关键闭环)
这是我系统中“自我调节”的关键。当一个任务被成功执行和验证后,AI的最后一个动作是“知识沉淀”:它必须立即更新“项目知识库”。
比如,如果它创建了一个新的API端点,它必须自动打开API契约.md并把这个新端点的文档添加进去。如果它提炼出一个新的通用工具函数,它必须将其记录到复用函数库.md中。
这个“进化”步骤创造了一个强大的良性循环:项目越复杂,AI写的代码越多,我们的“项目知识库”就越丰富、越智能。而知识库越智能,AI在未来执行任务时就越精确、越高效。
我的经验是,无论规则多么严密,“熵增”(即混乱度增加)总是会发生。无论是AI还是团队里的新人,都可能在不经意间引入错误或制造技术债。
为此,我的框架包含了一个独立的、强大的“持续性审计”工作流。我把它设为一个自主运行的AI代理,它的角色不是“执行者”,而是项目的“哨兵”或“超级审查员”。
常规审查:它会像一个资深开发一样,定期扫描代码库,寻找被注释的旧代码、过时的TODO标记,或者检查核心依赖库有没有爆出新的安全漏洞。
“抽象契约”执法:这是它最重要的工作。它会无情地对照“项目知识库”,Grep搜索那些在“抽象契约”中被“禁止使用”的原生库调用(比如直接使用fetch)。一旦发现,立即标记为严重违规。
全链条逻辑审查:这是我最喜欢的功能。我训练它做“全链条”分析。比如,它可以追踪一个配置变量(如VOUCHER_EXPIRE_DAYS=30),从后端的Python配置文件开始,跟着它进入API,再到前端的ReduxStore,最后一直追踪到React组件。它能发现那种最隐蔽的错误,比如前端是不是把“30天”错误地当成了“30秒”来用。
量化报告:审计结束后,AI会生成一份详细的报告,把问题按“严重、重要、轻微”分类,并给出精确到行号的修复建议。最后,它会给出一个客观的“代码质量评分”(例如:85/100),让我们团队对项目健康状况一目了然。
这套四阶段的框架(蓝图、初始化、执行、审计),就是我在AI驱动开发实践中摸索出的“战法”。
它帮助我超越了“战术性”的编码辅助,真正进入了“战略性”的项目治理。这个系统让我能充分利用不同AI模型的独特优势,同时又通过一个强大的框架来约束它们,保证了项目的整体架构愿景。
在这个系统中,AI不再是一个随性的“智能助手”。它成为了一个有纪律、有记忆、可审计、并能与项目一同进化的“首席架构师”。这是我目前找到的,能真正利用AI系统性地构建高质量、可维护软件的最佳路径。
特朗普访问中东 此行瞄准的是啥10干部违规吃喝1死步行者vs骑士媒体人:特朗普收了钱就卖以色列国台办:不可能再让台从中国分裂出去12岁女孩不知情欠债250万成老赖LPL 宫斗哥伦比亚确认加入“一带一路”倡议阿根廷将手机关税从16%降至零韩安冉宣布自己怀孕而且是双胞胎(内容来源:全天候科技)
作者: 编辑:余欣悦
越牛新闻客户端
越牛新闻微信
绍兴发布微信
越牛新闻微博
绍兴发布微博
新闻热线
0575-88880000
投稿信箱
zjsxnet@163.com