aidd
AIDD框架:通过SudoLang伪代码语言和TDD工作流,让AI coding agent产出可维
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AIDD框架:通过SudoLang伪代码语言和TDD工作流,让AI coding agent产出可维
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2024 年,Google DORA 报告揭示了一个令人不安的趋势:AI 编程工具的广泛采用,与代码缺陷率上升 9%、系统稳定性下降高度相关。GitClear 追踪了 2020-2024 年间超过 2.11 亿行代码,发现 AI 生成的代码中重复率是人工代码的 8 倍。当 AI agent 以飞快的速度产出代码时,一个根本性的矛盾浮出水面:速度与质量的平衡。
paralleldrive/aidd 正是为解决这一矛盾而生。它的核心主张是:给 AI agent 提供一套结构化的开发框架——包括规范驱动的工作流、TDD 测试体系、自动代码审查——让 AI 的速度不再是技术债务的源头,而是可持续工程价值的发动机。
AIDD(AI-Driven Development)由 ParallelDrive 团队发起,定位是「AI 驱动开发的标准框架」(The Standard Framework for AI Driven Development)。项目始于对 AI coding agent 实际工程表现的深度观察:GitClear 的数据证实,当团队大量引入 AI 编程工具后,代码质量指标反而出现下滑,原因是 AI agent 倾向于跳过测试、耦合模块、重复逻辑、遗漏安全漏洞。
ParallelDrive 认为,问题的根源不在 AI 本身,而在于缺少一套让 AI 遵循的工程规范。AIDD 应运而生,目标类似当年 TypeScript 之于 JavaScript:给混乱的 AI 生成代码套上一层质量护栏。
AIDD 框架中最具创新性的设计是 SudoLang——一种专门为 AI agent 设计的类型化伪代码语言。传统 prompt 依赖自然语言,容易产生歧义和指令不一致;SudoLang 则引入了强类型、显式控制流和结构化语义,让人类开发者和 AI agent 之间有了一套无歧义的沟通协议。
例如,SudoLang 允许用类似下面的语法定义 AI 工作流:
/discover — 产品发现
/task — 从发现结果规划任务 epic
/execute — 以 TDD 方式执行 epic
/review — 审查执行结果
/log — 记录变更到 activity log
/commit — 提交到仓库
/user-test — 生成用户测试脚本
这套 slash command 体系让 AI agent 在每个开发环节都有明确的行为边界。
通过 npx aidd --help 或 npx aidd --cursor 集成到项目中,安装即用,无需 Docker 或本地配置。CLI 负责解析命令、加载配置文件、调用对应的 AI agent 工作流。Node.js >= 18 即可运行,门槛极低。
Agent Runtime 是 AIDD 框架的执行核心,它管理从产品发现到代码提交的全链路工作流。每个环节(discover → task → execute → review → log → commit)都有对应的 Markdown 指令文件(存于 ai/commands/),AI agent 通过读取这些指令文件理解当前阶段的任务要求。这种「指令即代码」的设计让工作流完全透明、可审计、可定制。
AIDD 还包含一个轻量级的 Node.js 后端框架(aidd/server),提供路由组合和中间件系统。支持的功能包括:
这套中间件体系是模块化的,开发者按需引入,避免了 Express/Koa 的过度封装。
AIDD 在 ai/skills/ 下维护了一组可复用的 AI agent 技能(遵循 AgentSkills.io 规范):
aidd-agent-orchestrator:多 agent 协同编排aidd-autodux:Redux 状态机自动生成aidd-churn:代码热点检测与重构优先级排序aidd-ecs:ECS(Entity Component System)架构支持aidd-riteway-ai:多步工具调用流程的 prompt 评估aidd-upskill:AIDD 自身技能的创建与评审ai/scaffolds/ 提供了 Next.js + shadcn/ui 的标准化项目模板,包含脚手架清单(SCAFFOLD-MANIFEST.yml)和 stash/restore 脚本,支持项目结构的版本化管理。
从代码结构来看,AIDD 采用了分层模块化架构:
| 层级 | 目录 | 职责 |
|---|---|---|
| CLI 入口 | bin/aidd.js | 命令行参数解析与分发 |
| 核心库 | lib/ | Agent CLI runner、agents-index、churn 分析器等 |
| AI 指令 | ai/ | Markdown 格式的工作流指令与技能定义 |
| 后端框架 | src/server/ | 中间件、路由组合、认证等 |
| 工具库 | utils/ | 通用工具函数 |
核心技术栈:
容器化支持:无 Dockerfile、无 docker-compose、无 Kubernetes manifest,项目不提供容器化部署方案。
Web-UI:无独立 Web 界面。Server Framework 是一组可嵌入的 Node.js 中间件,而非独立运行的 Web 服务。
快速部署:仅支持通过 npx aidd 或 npm install -g aidd 安装,部署前提为本地装有 Node.js >= 18。由于不是 Web 服务,不存在「一键启动」的概念。
硬件需求:极低。纯 CLI 工具,无需 GPU,512MB RAM + 50MB 磁盘即可运行。
综合评估:AIDD 的定位是开发者本地的 AI 工程框架,而非需要部署的服务。它的「安装」行为等同于在开发机器上配置一套工具链。
AIDD 并非银弹,有几个明显的局限:
平台锁定:虽然不绑定特定 AI 提供商,但 slash command 体系是 AIDD 独有的,迁移到其他框架需要重写所有 AI 指令文件。
学习曲线:SudoLang 和整套工作流需要团队成员接受培训才能有效使用,短期内可能拖慢开发节奏。
AI 模型依赖:框架假设 AI agent 能够理解并遵循 Markdown 格式的结构化指令,对模型能力有一定要求。能力较弱的模型可能无法充分利用工作流。
维护成本:AI 指令以 Markdown 文件形式存储在仓库中,随着项目规模增长,指令文件的版本管理和一致性维护会成为挑战。
AIDD 代表了 AI 编程工具发展的一个新阶段:从「让 AI 自由发挥」到「给 AI 套上工程护栏」。这类框架的出现,预示着 AI coding 工具将从「尝鲜玩具」逐步演变为「企业级工程实践」。
GitClear 和 DORA 的数据已经证明,盲目引入 AI 编程工具会带来真实的工程风险。AIDD 这类框架的价值在于,它承认了 AI 的局限性,并试图用结构化的工程流程弥补这些局限——而不是简单地相信「AI 生成的就是好的」。
如果用一句话总结 AIDD 的核心价值主张:不是让 AI 更快,而是让 AI 的快,变得可持续。