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 辅助开发至关重要。

相关推荐
田井中律.2 小时前
Embedding
人工智能
dxnb222 小时前
Datawhale26年1月组队学习:Agentic AI+Task1工作流简介
人工智能·学习
aitoolhub2 小时前
H5交互设计:从策划到上线的实用方法论与避坑要点
人工智能·计算机视觉·交互·视觉传达
冰西瓜6002 小时前
从项目入手机器学习——(一)数据预处理(上)
人工智能·机器学习
EasyCVR2 小时前
视频融合平台EasyCVR构建太阳能供电远程视频监控系统的智慧中枢
人工智能·音视频
星浩AI2 小时前
深入理解 LlamaIndex:RAG 框架核心概念与实践
人工智能·后端·python
汤姆yu2 小时前
基于深度学习的火焰烟雾识别系统
人工智能·深度学习·目标跟踪
灯下夜无眠2 小时前
sklearn中fit、transform、fit_transform用法详解
人工智能·python·sklearn