← 返回信息流
AI 资讯Hacker News·4 天前

基于pi.dev的SDLC工厂:从意图到测试代码

原标题:Show HN: Sdlc factory built on pi.dev:intent->DDD->architecture->tested code

速览

这个项目在pi.dev平台上构建了一个软件开发生命周期工厂,将用户意图转化为领域驱动设计(DDD),进而生成架构和经过测试的代码。它旨在自动化整个开发流程,提升效率。该工具可能对敏捷开发和代码质量有积极影响,但尚未公开广泛使用。

AI 深度解读

背景

在 AI 辅助软件开发快速发展的当下,如何确保 AI 生成的代码与架构设计保持一致、避免架构漂移,成为工程团队的核心难题。传统的文档驱动或代码评审方式往往滞后且容易遗漏。Hacker News 上发布的 Guardian 项目(基于 pi.dev 平台)提出了一种全新的 SDLC(软件开发生命周期)编排器:从业务意图出发,经过领域驱动设计(DDD)生成架构,再自动产出实现代码与测试,并通过 CI 流水线强制执行架构合规性。该项目已在真实项目 Rigorix 中得到验证:单一开发者在 11 天内用 Rust 编写了 146,312 行代码、30 个模块、580 次提交,整个过程中架构持续被验证,任何漂移在合并到主分支前即被拦截。

核心内容

Guardian 是一个端到端的 SDLC 编排器,专为 AI 辅助开发而设计。它将从业务意图到执行流水线的整个生命周期集中在一个 .pi/ 目录下。所有产物(模块、架构决策记录 ADR、路线图、议题、CI 脚本、智能体技能)都从这个目录生成,无需重复手写任何内容,从根本上杜绝信息漂移。

工作流程如下:

  1. 业务意图输入:用户提出业务需求,例如“我需要为受监管的金融交易构建审计日志系统”。
  2. 领域探索:用户与 AI 智能体反复交互,探索、迭代、细化领域模型。用户可以通过自然语言指令调整有界上下文、术语(如将“审计记录”改为“证据记录”)。
  3. 架构模块生成:用户确认领域模型后,Guardian 为每个有界上下文生成一个架构模块,包含分层结构、聚合、仓库接口、领域事件等。例如审计模块会生成 Rust 的 AuditRecordRepository trait。
  4. 丰富模块文档:智能体读取领域探索结果,为每个模块填充完整的 DDD 内容,包括 Mermaid 数据流图、真实的 Rust 结构体桩代码、API 端点表、通用语言、跨上下文依赖、安全考虑等,产生生产级架构文档(每份 5-20 KB)。
  5. 人工审查与决策记录:用户审查生成的架构,修改依赖关系(如将幂等处理器与签名验证器改为并行)、要求添加 ADR(如解释为何选择 HMAC-SHA256 而非 ECDSA)、生成系统总览图。每个关键决策都记录为 ADR。
  6. 锁定路线图:架构确定后,Guardian 生成分阶段路线图,每个阶段包含依赖、迁移和验收标准。用户采纳后,Guardian 为每个模块生成一个 Epic,每个组件生成一个 Issue,Issue 携带架构上下文和 DDD 模式。
  7. 智能体执行:智能体按阶段自动实现代码,用户审查 PR。Guardian 自动推进流水线:实现→验证→创建 MR→合并。如果使用 --tdd 标志,Guardian 会先生成确定性失败的单测(基于组件契约而非 LLM),引导智能体遵循红-绿-重构流程。
  8. 架构强制执行:所有变更都通过架构验证脚本(如 check_ddd_structure.sh)检查。如果某个 AI 或开发者在领域层引入了对基础设施层的依赖,CI 将直接失败,阻止合并。

Guardian 的核心哲学是:架构漂移变成编译时错误,而不是文档注释或代码评审中容易被忽略的备注。

关键要点

  • 全生命周期集中管理:所有产物存储在单个 .pi/ 目录下,无需手动维护多个文档或配置文件。
  • 人机协作的领域建模:AI 辅助但人类主导,用户可以通过自然语言反复调整领域模型,直到准确反映业务需求。
  • 自动生成生产级架构文档:基于领域探索结果,自动生成包含图表、代码桩、API 表、术语表等高质量文档,可直接用于实现。
  • 架构决策记录(ADR)机制:每个关键设计选择都生成标准化的 ADR,确保决策可追溯。
  • 确定性测试生成(TDD 模式):测试不是由 LLM 生成,而是从组件结构化数据(名称、描述、依赖、影响层)派生,确保测试与架构契约严格一致。
  • CI 级架构合规检查:任何违反 DDD 分层规则的变更都会导致 CI 失败,从根本上阻止架构漂移进入主分支。
  • 真实案例验证:在 Rigorix 项目中,单一开发者在 11 天内使用 Guardian 构建了 30 个模块、14.6 万行 Rust 代码,所有架构约束均被强制执行。
  • 无 LLM 参与测试生成:避免 LLM 产生幻觉或不一致,测试完全基于结构化组件数据。

意义与影响

Guardian 代表了一种将架构治理与 AI 代码生成深度结合的新范式。它解决了当前 AI 辅助开发中的几个关键痛点:

  • 架构一致性:AI 生成的代码往往遵循隐式模式,但容易与预定义的架构产生漂移。Guardian 通过 CI 强制约束,使得架构真正成为可执行的规范。
  • 可追溯性与文档同步:传统开发中,架构文档与实现容易脱节。Guardian 的 .pi/ 目录作为单一事实源,所有产物自动保持同步。
  • 降低认知负载:开发者只需要关注业务意图和架构决策,复杂的实现细节(如 DDD 样板代码、测试、CI 脚本)由系统自动生成。
  • 可复现性:整个开发过程以代码和配置的形式被版本化,团队可以轻松回放、审查或复现任何阶段的设计决策。
  • 对 AI 代码生成工具的约束:Guardian 实际上为 AI(如 GPT 类模型)设置了一道“安全带”,防止其生成违反架构的代码,使得 AI 能够在更可控的环境下发挥生产力。

虽然当前 Guardian 是一个展示项目,但其设计理念可能对未来 SDLC 工具的发展产生深远影响——当架构本身成为可执行的程序的一部分,软件工程的迭代速度和可靠性有望得到质的提升。

查看原文 →github.com