aidlc-workflows
AI 编码代理的工程规范引擎,通过规则工作流让 AI 自主生成高质量、可维护的代码
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI 编码代理的工程规范引擎,通过规则工作流让 AI 自主生成高质量、可维护的代码
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2024 年下半年开始,一个有趣的现象在开发者社区蔓延开来:越来越多的团队开始尝试让 AI 代理(Agent)独立完成复杂的软件工程任务——从理解需求、编写代码,到跑测试、写文档,统统交给 AI。但问题也随之而来:AI 生成代码质量参差不齐、缺乏一致性、难以追溯、架构随意演进,团队很快发现"让 AI 写代码"反而带来了更多技术债。
就在这个时间节点,AWS Labs 推出了 AI-DLC(AI-Driven Development Life Cycle) 项目——一套专为 AI 编码代理设计的自适应软件开发工作流框架。与其说它是一个工具,不如说它是一套工程规范引擎:它不直接帮 AI 写代码,而是告诉 AI"在什么阶段该做什么事、该遵循什么规则、该输出什么产物"。
作者 Brian K. Sheppard(AWS 首席工程师)在一篇博客中指出,AI 代理在软件开发中最常见的失败模式,是缺乏对工程边界的理解——它们倾向于"直接开干",在需求都没理解清楚时就跳进代码细节,最终产出难以维护的碎片化实现。AI-DLC 的核心设计目标,正是解决这个问题。
AI-DLC 的方法论将软件开发划分为三个核心阶段,每个阶段都有明确的输入、输出和验证条件。AI 代理在每个阶段开始前,必须读取对应的规则文件(rule detail files),严格按照规范执行。
第一阶段:Inception(需求启动)
这个阶段相当于传统敏捷开发中的"需求澄清 + 架构设计"。AI 代理需要完成:理解用户意图并判断任务复杂度、检测当前工作空间状态、进行需求分析(requirements analysis)、编写用户故事(user stories)、制定应用设计方案(application design)、制定工作规划(workflow planning),最后输出产品愿景文档(Vision Document)和技术环境文档(Technical Environment Document)。
这个阶段的规则文件包含了大量"防 AI 翻车"的设计。例如 workspace-detection.md 要求 AI 代理在开始任何工作前,必须先检查项目目录结构,理解现有代码库的组织方式;requirements-analysis.md 则要求 AI 在给出技术方案前,先用苏格拉底式提问(基于 question-format-guide.md 中的规则)向用户确认需求细节,而不是凭自己的理解直接假设。
第二阶段:Construction(构建)
这是代码生成的核心阶段。规则文件将工作细分为:功能设计(functional design)→ 代码生成(code generation)→ 基础设施设计(infrastructure design)→ 非功能需求设计(NFR design)→ 构建与测试(build and test)。
AI-DLC 的一个关键设计是内容验证(content validation):每个阶段的产物都必须符合预定义的格式和质量标准。规则文件 content-validation.md 定义了文档必须包含的章节、代码必须满足的注释覆盖率、以及测试必须覆盖的边界条件。AI 代理在进入下一阶段前,必须自我验证当前阶段的输出是否达标。
第三阶段:Operations(运维)
部署与监控阶段,包括运维文档编写、部署流程定义、以及上线后的监控指标确认。
AI-DLC 的规则文件存储在项目工作目录中,按照目录结构组织:
其中 aws-aidlc-rules/core-workflow.md 是核心工作流入口,它是一个 Markdown 文件,定义了工作流的优先级和阶段跳转逻辑。这个文件同时被多个主流 AI 编码 IDE 支持:
| IDE / 工具 | 配置方式 | 规则加载路径 |
|---|---|---|
| Kiro | Steering Files | .kiro/steering/ |
| Claude Code | Project Instructions | .claude/ |
| Amazon Q Developer | Context Project Rules | .amazonq/ |
| Cursor | .cursorrules | .cursorrules/ |
| Cline | Custom Rules | .aidlc-rule-details/ |
| GitHub Copilot | Instructions | .github/copilot-instructions.md |
| OpenAI Codex | Project Context | .claude/ |
这种"规则即配置"的思路非常巧妙:AI-DLC 不修改任何 IDE 本身,而是通过在项目中注入规则文件,让现有的 AI 编码工具在加载项目上下文时自动读取这些规则。相比之下,大多数 AI 编程助手框架(如 AutoGPT、Swe-agent)都需要一个专门的运行时环境,侵入性很强。AI-DLC 的设计则完全是零侵入的。
除了规则工作流,AI-DLC 项目还包含一个完整的评估框架(evaluator),位于 scripts/aidlc-evaluator/ 目录下。这是一个 Python 项目(需要 Python 3.13+),使用 uv 管理依赖,包含以下核心包:
aidlc-runner:测试运行器aidlc-qualitative:质量评估(AI 生成内容的结构完整性、一致性)aidlc-quantitative:量化评估(代码覆盖率、测试通过率、构建时间)aidlc-contracttest:契约测试(验证 AI 输出是否满足规范)aidlc-nonfunctional:非功能需求测试(性能、安全、可访问性)aidlc-reporting:报告生成(Markdown + HTML)aidlc-trend-reports:趋势报告(跨版本质量变化追踪)评估框架还依赖 boto3,可以直接与 AWS 服务(CodeBuild、CodePipeline)集成,实现CI/CD 流水线中的 AI 代码质量自动评估。项目本身的 CI/CD 配置包含 8 个 GitHub Actions workflows,涵盖构建、CodeQL 扫描、安全扫描(bandit、semgrep、grype)等完整流程。

图1:AI-DLC 规则在 Kiro IDE 中加载后的界面 —— AI 代理在 Kiro Vibe 模式下运行工作流,IDE 左侧显示规则面板,确认核心工作流已激活。
AI-DLC 提供了可插拔的扩展(extensions)机制,目前内置三个扩展领域:
扩展机制采用按需加载(opt-in)模式:AI 代理在初始化时只加载轻量级的 .opt-in.md 文件,进入需求分析阶段时才向用户确认是否启用某个扩展。只有用户明确同意后,对应的完整规则文件才会被加载到上下文中——这样的设计确保了灵活性,不会让 AI 的上下文窗口被大量规则文件撑爆。

图2:AI-DLC 规则在 Amazon Q Developer IDE 插件中加载 —— Amazon Q 是 AWS 官方的 AI 编程助手,AI-DLC 通过 .amazonq/aws-aidlc-rule-details/ 路径注入规则。
AI-DLC 的技术栈非常简洁,核心是一套 Markdown 规则文件,不需要任何特定的运行时环境:
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 规则格式 | Markdown | 人类可读、版本可控、易于协作 |
| 规则引擎 | 路径解析 + 文件加载 | AI 代理读取本地文件,无需网络调用 |
| 分发格式 | GitHub Releases (zip) | 版本化管理,用户下载到项目目录 |
| 评估框架 | Python 3.13+ / uv | 可选组件,用于量化评估 |
| CI/CD | GitHub Actions / AWS CodeBuild | 项目自身使用 AWS 生态 |
| 代码质量 | bandit, semgrep, grype, CodeQL | 多层安全扫描 |
代码质量工具链非常完善:.bandit(安全扫描)、.checkov.yaml(基础设施即代码扫描)、.gitleaks.toml(敏感信息检测)、.grype.yaml(容器镜像漏洞扫描)、.semgrepignore(静态分析忽略规则)、.pre-commit-config.yaml(Git 提交前检查)。这套工具链确保了 AI-DLC 项目本身的工程质量和安全性。
AI 框架方面,AI-DLC 本身不依赖特定的 LLM API,它是一个框架无关的工程规范系统。不过从评估框架的实现来看,它支持通过 aidlc-runner 与外部 LLM API 交互来完成质量评估任务。
对于有经验的开发者来说,AI-DLC 的上手成本极低:
ai-dlc-rules-v<x.x.x>.zip整个过程不超过 5 分钟,没有任何服务端需要部署,也不需要配置任何 API 密钥。唯一的要求是你的 AI 编码工具需要支持自定义规则/上下文文件——目前主流工具(Kiro、Claude Code、Amazon Q、Cline、Cursor、GitHub Copilot)都已支持。
评估框架的上门槛稍高一些,需要 Python 3.13+ 环境、uv 包管理器,以及对 AWS 服务(可选)的基本了解。但它是完全可选的——只有当你需要量化追踪 AI 代理的代码质量时才需要安装。
AI-DLC 也不是完美的解决方案。最大的局限性在于规则的维护成本:随着项目规模增长,规则文件也会变得越来越庞大和复杂。如果不及时更新规则,AI 代理可能会遵循过时的工程标准,反而适得其反。团队需要建立规则文件的维护流程,与代码审查一样对待。
其次,AI-DLC 假设 AI 代理能够可靠地"自我反思"——在进入下一阶段前验证当前阶段的输出质量。但当前主流 LLM 的自我反思能力并不总是可靠,有时候 AI 会"自信地"跳过验证步骤,把有问题的代码带入下一阶段。评估框架在一定程度上缓解了这个问题,但仍然无法完全消除风险。
最后,这套方法论更适合有经验开发者的团队——AI-DLC 对"什么是好的软件设计"有很强的假设,它更像是为专业开发者设计的 AI 工作流增强工具,而非面向零基础用户的"AI 编程入门指南"。
AI-DLC 的出现代表了 AI 编程工具领域的一个重要转向:从业界最初追求"让 AI 更快地写更多代码",到开始关注"让 AI 更规范地写更有质量的代码"。随着 Claude Code、Cursor、Cline 等专业 AI 编码工具的崛起,单纯的速度优势已经不够了——团队需要的是可预测、可审计、可协作的 AI 生成代码。
AI-DLC 2.0 预览版正在推进"可验证的自修正工程工作流"(verifiable self-correcting engineering workflows),目标是让 AI 代理能够像专业工程师一样,在发现错误后自动回滚、自我修正,而不仅仅是在代码审查中被动的"被纠正"。
从 GitHub Stars 增长曲线来看,AI-DLC 从 2024 年底的数百 star 增长到当前的 3300+,保持了良好的增长势头——这说明市场对"AI 编程规范工具"的需求是真实存在的,而非昙花一现的热点。随着 AI 编码代理从"辅助工具"进化为"开发主力",类似 AI-DLC 这样的工程化框架将成为团队管理 AI 代码质量不可或缺的组成部分。