← 返回信息流
Agent SkillLINUX DO · AI·1 小时前

后端实习一月:用Vibe Coding与人月神话反思AI协作开发

原标题:入职jd后端暑期实习一月vibecoing有感

速览

本文作者基于一个月后端实习经历,结合《人月神话》理论,深入反思Vibe Coding实践中AI协作开发的痛点。文章指出Coding Agent本质是多人接力,易导致概念完整性缺失和项目复杂度失控。作者分享了通过强化提示词工程、严格单一职责拆分、基于数据流Review代码及注入CodeGraph等具体实践来应对这些挑战。

AI 深度解读

背景

作者是一名后端暑期实习生,在入职一个月后,结合近期阅读的《人月神话》一书,对使用 Coding Agent(如 Codex、Claude Code CLI 等)进行软件开发(即 Vibe Coding)的实践进行了深度复盘与沉淀。

文章的核心出发点在于纠正对 AI 辅助编程的误解:使用 Coding Agent 进行软件开发的本质,并非简单的“人机对话”,而是多人接力协作开发。每一次与 LLM 的对话,相当于与一个全新的“人”沟通;而每一次与 Coding Agent 的对话,则相当于与一个能看到历史接力情况的“人”沟通。基于这一认知,作者试图解决 Vibe Coding 中常见的概念完整性缺失、复杂度失控、代码风格偏离等痛点。

核心内容

作者通过六个维度,详细阐述了如何在 Vibe Coding 中引入软件工程思维,以应对 AI 协作带来的挑战:

1. 概念完整性与文档主导 引用《人月神话》中关于“概念完整性”的观点,即设计应由极少数互有默契的人员实现。在 Vibe Coding 中,Coding Agent 的接力特性容易导致概念完整性被稀释。

  • 实践策略:在产出 PRD(产品需求文档)、TRD(技术需求文档)时,开发者必须深度理解文档逻辑。利用 Codex 的侧边栏提问功能审查建议修改点,防止过度设计。一旦文档确定,开发过程中应尽量避免修改,以维持设计的一致性。

2. 应对复杂度失控:提示词工程与任务拆解 随着开发进行,项目复杂度上升,这与《人月神话》中提到的“人手增加导致效率降低”现象类似。在 Vibe Coding 中,多轮对话等同于引入多个“虚拟人”协作,极易导致项目失控。

  • 实践策略:重视提示词工程。避免分步指令(先做 A 再做 B),而应在单段提示词中完整交代涉及 A、B、C 三个步骤的任务。同时,精细把控任务拆解的粒度,确保单个任务指令的清晰度和完整性。

3. 单一职责原则与 Session 管理 Coding Agent 代码质量的核心在于“单一职责”。

  • 实践策略:将一份 PRD 转化为多个基于“单一职责”拆解的 TRD 切片。每个切片包含适量的 Task。在开发时,一个 Session 仅完成一个切片的实现,下一个切片开启新的 Session。这种做法隔离了上下文,避免了单一长 Session 中职责混杂导致的逻辑混乱。

4. 人的掌舵作用与软件工程直觉 虽然 Coding Agent 可以辅助确定方向,但项目主线必须由人掌控。随着 AI 代码生成能力的提升,软件工程直觉成为 Vibe Coding 的关键竞争力。

  • 反思:作者指出,如何培养这种直觉和工程思维是当前从业者需要探索的课题,并呼吁社区交流相关书籍和建议。

5. 代码审查(Code Review)的双视角方法论 人必须审查 AI 生成的代码,但审查重点应从语法转向逻辑与价值。

  • 实践策略
    • 双视角解释:要求 Coding Agent 从“系统视角”(新增代码赋予系统什么新能力)和“用户视角”(用户感受到什么变化)解释新增代码。
    • 数据流走读:代码走读必须基于数据流。追踪数据从何处进入、初始形态如何,顺着数据流验证代码逻辑的正确性。

6. 解决 TRD 脱离代码库实际风格的问题 Coding Agent 生成的 TRD 往往脱离现有代码库或架构风格,破坏概念完整性,根本原因在于生成 TRD 时未充分基于已有代码事实。

  • 实践策略:引入 Codegraph 技术。自建 TRD Skill,让 AI 在编写 TRD 前,通过 Codegraph 充分获取代码库的已有代码事实,确保生成的技术方案符合现有架构和实现风格。

关键要点

  • 本质认知:Vibe Coding 的本质是多人接力协作,需警惕由此带来的概念完整性稀释和复杂度失控。
  • 文档纪律:PRD/TRD 需在开发前充分理解并锁定,避免开发中途频繁变更导致设计偏离。
  • 提示词优化:采用“单提示词多步骤”而非“多提示词单步骤”,并精细控制任务拆解粒度。
  • 架构隔离:遵循单一职责原则,将 PRD 拆分为多个 TRD 切片,每个切片使用独立的 Coding Agent Session 执行。
  • 审查范式:代码审查应结合“系统/用户双视角”解释与“数据流”追踪,而非仅关注语法正确性。
  • 上下文注入:利用 Codegraph 等工具,在生成 TRD 前注入代码库现有事实,确保技术方案与现有架构风格一致。

意义与影响

这篇文章为 Vibe Coding 从“直觉式编程”向“工程化编程”过渡提供了具体的方法论指导。它强调了在 AI 辅助开发时代,软件工程传统原则(如概念完整性、单一职责、数据流分析)的非但没有过时,反而变得更加重要

作者提出的具体实践(如基于 Codegraph 的 TRD 生成、双视角代码审查、Session 隔离策略)为解决 AI 代码“幻觉”、风格不统一和逻辑断裂提供了可操作的解决方案。这不仅有助于提升暑期实习生等初级开发者的代码质量,也为资深工程师如何利用 AI 提升架构一致性提供了新的视角。文章最终指向一个核心观点:在 AI 时代,人的核心价值在于工程直觉、架构把控和概念完整性维护,而非单纯的代码编写。

查看原文 →linux.do