AI-DLC 项目代码与流程分析文档【初始项目分析】

AI-DLC项目地址:https://github.com/awslabs/aidlc-workflows/

1. 项目概述

AI-DLC 是一个AI驱动的自适应软件开发生命周期框架。它不像传统的瀑布流或敏捷开发那样死板,而是模拟了一个经验丰富的软件架构师的角色:它会根据项目的复杂度、现有代码库的状态(Greenfield 新项目 或 Brownfield 旧项目)以及用户的意图,智能地决定需要执行哪些开发阶段,跳过哪些不必要的步骤。

2. 核心入口 (Core Entry Point)

整个系统的核心大脑和逻辑入口是:

作用:

它是最高优先级的规则文件,定义了整个 AI-DLC 的"主循环"。它规定了 AI 在收到用户请求时必须遵循的 strict protocol(严格协议),包括:

  1. 加载通用规则(如术语、错误处理、验证规则)。

  2. 强制执行的检查(如内容验证、提问格式)。

  3. 生命周期调度 :它硬编码了从 INCEPTION(初始规划)到 CONSTRUCTION(构建)再到 OPERATIONS(运维)的流转逻辑。

  4. 自适应判断:它定义了何时执行某个阶段,何时跳过(例如:只有检测到旧代码时才执行逆向工程)。


3. 核心流程 (Core Workflow)

AI-DLC 的工作流分为三个主要阶段。流程是自适应的,部分步骤是条件触发的。

第一阶段:INCEPTION PHASE (规划与架构)

目标:确定"做什么" (What) 和"为什么做" (Why)

  1. Workspace Detection (总是执行):扫描工作区,判断是新项目还是旧项目。

  2. Reverse Engineering (条件触发):如果是旧项目 (Brownfield),分析现有架构、API 和代码结构。

  3. Requirements Analysis (总是执行):分析用户需求,深度自适应(简单需求简单分析,复杂需求深度追踪)。

  4. User Stories (条件触发):如果涉及用户交互或复杂业务,生成用户故事和画像。

  5. Workflow Planning (总是执行)关键决策点 。AI 在此阶段综合所有信息,生成一份 Execution Plan(执行计划),明确后续要跑哪些步骤,并由用户审批。

  6. Application Design (条件触发):设计高层组件、服务接口和依赖关系。

  7. Units Generation (条件触发):将大系统拆解为独立的"工作单元" (Units of Work),如微服务或模块。

第二阶段:CONSTRUCTION PHASE (详细设计与构建)

目标:确定"怎么做" (How) 并落地代码

注:此阶段通常包含一个"Per-Unit Loop"(按单元循环),即对每个拆分出来的单元(Unit)独立执行以下步骤:

  1. Functional Design (条件触发):设计具体的业务逻辑、领域模型和规则。

  2. NFR Requirements & Design (条件触发):处理非功能性需求(性能、安全、高并发)及其设计模式。

  3. Infrastructure Design (条件触发):设计基础设施(如 AWS 服务映射、数据库选型)。

  4. Code Generation (总是执行)

    • Part 1 Planning:先写代码生成计划。

    • Part 2 Generation:执行计划,生成实际代码和测试。

  5. Build and Test (总是执行):所有单元开发完成后,进行统一构建、单元测试、集成测试和性能测试。

第三阶段:OPERATIONS PHASE (运维)

目标:部署和运行 (Deploy & Run)

  • Operations:目前的占位符,未来扩展用于部署流水线、监控告警等配置。

4. 文件详细用途分析 (File Analysis)

为了便于团队分享,我将所有文件按目录结构进行了归类解析。

A. 核心规则目录 (aidlc-rules/aws-aidlc-rules/)

文件名 用途描述
core-workflow.md 总控文件。定义了完整的自适应工作流逻辑、阶段流转条件以及必须遵守的元规则(如强制日志记录、审批流程)。

B. 通用模块目录 (.../common/)

这些文件被其他所有阶段引用,提供标准和工具支持。

文件名 用途描述
process-overview.md 流程图与概览。包含 Mermaid 流程图,供 AI 理解各阶段的关系,也可用于向用户展示流程全貌。
welcome-message.md 欢迎语。用户首次交互时显示的标准化欢迎信息,介绍 AI-DLC 的理念。
terminology.md 术语表。统一团队语言,定义了 Phase vs Stage,Unit vs Service vs Component 等核心概念。
depth-levels.md 自适应深度标准。指导 AI 如何根据任务复杂度(简单Bug修复 vs 系统重构)调整文档的详细程度。
question-format-guide.md 提问规范。强制 AI 使用标准化格式(如多选题 + "Other" 选项)向用户提问,禁止在聊天框直接随意提问。
overconfidence-prevention.md 防过度自信机制。矫正 AI 倾向于"瞎猜"的行为,强制在有歧义时必须提问,宁可多问不可错做。
error-handling.md 错误处理与恢复。定义了当步骤失败、文件丢失或状态不一致时,AI 应如何引导用户进行恢复。
workflow-changes.md 变更管理。处理用户在流程中途提出的变更(如"想跳过这个阶段"或"想重做上一步")。
session-continuity.md 会话保持 。当用户第二天回来继续工作时,AI 如何读取 aidlc-state.md 并恢复上下文。
content-validation.md 内容校验。在写入文件前,强制检查 Markdown 语法、Mermaid 图表和特殊字符,防止生成损坏的文件。
ascii-diagram-standards.md 绘图标准。规定 ASCII 图表的绘制规范,确保在不同编辑器中的兼容性。

C. 初始规划目录 (.../inception/)

决定做什么 (What) 和规划 (Planning)

文件名 用途描述
workspace-detection.md 侦察兵。检测目录下的现有代码,判断项目类型,生成初始的状态文件。
reverse-engineering.md 逆向分析。针对旧项目,分析代码结构、API、依赖关系,生成当前架构文档。
requirements-analysis.md 需求分析 。引导用户明确需求,生成 requirements.md。包含需求澄清的问答逻辑。
user-stories.md 用户故事。基于需求生成用户画像 (Personas) 和 INVEST 原则的用户故事。
workflow-planning.md 战术指挥官 。根据需求和现状,决定后续要执行哪些步骤(Execute/Skip),生成 execution-plan.md
application-design.md 顶层设计。定义系统组件、服务边界和交互模式,不涉及具体代码实现细节。
units-generation.md 拆单。将大系统拆解为具体的开发任务单元(Units),为并行开发做准备。

D. 构建实施目录 (.../construction/)

决定怎么做 (How) 和实施 (Coding)

文件名 用途描述
functional-design.md 详细设计。针对具体单元,设计业务规则、数据模型和验证逻辑。
nfr-requirements.md 非功能需求。确定技术栈、性能指标、安全合规等要求。
nfr-design.md 架构模式。设计如何实现高可用、缓存策略、熔断降级等架构模式。
infrastructure-design.md 基础设施。将逻辑组件映射到物理设施(如 Docker, Lambda, RDS 等)。
code-generation.md 编码实现。核心编码规则。包含两步:先写计划(Plan),审批后再写代码(Generate)。明确规定代码不许写在文档目录里。
build-and-test.md 构建与测试。生成构建脚本、单元测试指令、集成测试方案和性能测试计划。

E. 运维目录 (.../operations/)

文件名 用途描述
operations.md 运维占位。目前作为占位符,预留给未来的 CI/CD、监控配置等流程。

F. 其他文件

文件名 用途描述
.gitignore 标准 Git 忽略文件,防止提交临时文件。

5. 团队分享建议

在向团队分享时,建议强调以下 AI-DLC 的三大核心价值

  1. 自适应性 (Adaptability):它不是死板的流程。简单的 Bug 修复会直接跳过设计阶段进入编码;复杂的系统重构则会完整执行所有设计和规划步骤。

  2. 规划先行 (Planning First):每个关键阶段(如编码、设计)都遵循 "Plan -> Approve -> Execute" 模式。AI 必须先告诉用户它打算怎么做,用户同意后才动手,极大减少了返工。

  3. 防幻觉机制 (Anti-Hallucination) :通过 overconfidence-prevention.mdquestion-format-guide.md,系统被设计为"不知道就问",而不是"不知道就编",这对于 AI 辅助开发至关重要。

相关推荐
NAGNIP3 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab4 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab4 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP8 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年8 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼8 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS9 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区10 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈10 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang10 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx