Files
th-hotel-simple/docs/import/reusable/ai-native-software-engineering-standard.md
2026-07-17 13:13:47 +07:00

277 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AI-Native Software Engineering Standard (AI-NSES)
| 项 | 内容 |
| --- | --- |
| Version | 0.1 |
| Scope | 可复用软件工程标准 |
| Audience | 人类开发者、产品人员、架构师、AI Agent |
## 1. Purpose
AI-NSES 是一套面向 AI 协作开发的软件工程标准。
它不属于某一个具体项目,而是描述:
- 项目应该如何组织。
- 文档应该如何维护。
- AI Agent 应该如何工作。
- 开发流程应该如何闭环。
目标是让任何新的 AI Agent 在几分钟内理解项目,而不依赖历史聊天记录。
## 2. Design Philosophy
### Documentation First
复杂软件首先是知识,其次才是代码。代码是项目知识的一种实现形式。
### Context Driven
Prompt 是临时的Context 是长期资产。重要知识应该沉淀在仓库,而不是沉淀在聊天记录里。
### Living Documentation
文档不是一次性产物。文档随着项目成长,开发结束时文档也应该同步结束。
### AI as Team Member
AI 不是单纯的代码生成器而是项目成员。它可以参与需求分析、产品设计、架构设计、开发、Review 和维护。
## 3. Core Principle
Build a project that teaches AI.
Do not teach AI every day.
中文说明:让项目成为 AI 的长期记忆,而不是每次都重新解释项目。
## 4. Recommended Project Structure
```text
project/
├── AGENTS.md
├── CONTEXT.md
├── PROJECT_STATE.md
├── docs/
│ ├── domain/
│ ├── architecture/
│ ├── workflows/
│ ├── adr/
│ ├── specs/
│ └── guidelines/
├── src/
└── tests/
```
中文说明:实际项目可以使用 `client/``server/``backend/``frontend/` 等目录,只要在 `CONTEXT.md` 或项目架构文档中说明映射关系即可。
## 5. Document Responsibilities
### AGENTS.md
读者:所有 AI Agent。
职责:规定 Agent 如何工作包括默认工作流程、Debug 原则、Spec 原则、文档更新原则和 Review 原则。
更新频率:极低。
### CONTEXT.md
读者:人类成员和 AI Agent。
职责:介绍项目整体背景,包括产品目标、技术栈、系统组成、当前模块和当前开发方向。
更新频率:低。
### PROJECT_STATE.md
读者:人类成员和 AI Agent。
职责:记录当前项目状态,包括当前 Sprint、当前 Feature、当前 Priority、Known Issues 和 Next Steps。
更新频率:高。建议每完成一个 Feature 或 Checkpoint 更新一次。
### docs/domain/
读者:产品、业务、开发和 AI Agent。
职责:记录业务知识。建议一个业务对象一个文档,例如 `Guest.md``Hotel.md``Order.md``Reservation.md``Email.md``Task.md``PMS.md`
内容包括定义、生命周期、业务规则和关系。禁止记录实现细节。
更新频率:低。
### docs/architecture/
读者:架构、开发和 AI Agent。
职责:记录系统设计,例如 `ARCHITECTURE.md``DATABASE.md``EVENTS.md``MODULES.md`
重点描述模块边界、系统通信、数据库、事件和部署边界。
更新频率:低。
### docs/workflows/
读者:产品、业务、开发和 AI Agent。
职责:记录业务流程,例如 Email Processing、Reservation Sync、Task Generation、Webhook Processing。
重点描述输入、输出、状态流转、异常和补偿。
更新频率:中。
### docs/adr/
读者:架构、开发和 AI Agent。
职责:记录重要架构决策。每个重要设计决策一份文档。
建议格式:背景、为什么、备选方案、最终选择、影响。
规则ADR 永远追加,不覆盖历史。
### docs/specs/
读者:产品、开发、测试和 AI Agent。
职责:记录具体功能规格。每一个 Feature 对应一个 Spec。
生命周期Draft -> Approved -> Implemented -> Archived。
规则Spec 完成以后保留,不删除。
### docs/guidelines/
读者:开发、测试和 AI Agent。
职责:记录长期规范,例如 API、UI、CODING、TESTING、SECURITY。
更新频率:极低。
## 6. Knowledge Layers
### Long-term Knowledge
生命周期:整个项目。
包括 Vision、Domain、Architecture、Guidelines。
### Medium-term Knowledge
生命周期:一个版本或一个阶段。
包括 Workflow、ADR、Spec。
### Short-term Knowledge
生命周期:一个 Sprint 或一个开发周期。
包括 Current Sprint、Known Issues、Next Steps、Backlog。
## 7. Stable vs Dynamic Documents
长期稳定:
- `AGENTS.md`
- `CONTEXT.md`
- `docs/domain/`
- `docs/architecture/`
- `docs/guidelines/`
中期演进:
- `docs/workflows/`
- `docs/adr/`
- `docs/specs/`
高频更新:
- `PROJECT_STATE.md`
中文说明:这样可以避免整个仓库每天发生无意义变化,也能让新 Agent 快速判断哪些文档代表长期事实,哪些文档代表当前状态。
## 8. Feature Lifecycle
任何 Feature 默认按以下顺序推进:
```text
Idea
-> Requirement
-> Discussion
-> Specification
-> Implementation
-> Verification
-> Documentation Update
-> Done
```
Documentation Update 属于 Definition of Done不能跳过。
## 9. AI Working Principles
- AI 应先理解,再开发。
- 复杂需求默认先讨论,不立即编码。
- 复杂功能默认先 Spec不直接实现。
- Bug 默认先定位,不猜测修复。
- UI 默认保持一致性,不过度设计。
- 代码修改前先确认目标、边界和验收标准。
- 涉及接口、安全、权限、数据模型或外部系统时,先读相关契约文档。
## 10. Documentation Rules
所有文档必须回答一个问题:
未来的新 Agent 为什么需要阅读它?
如果回答不了,就不要创建,也不要维护。
文档应该小、独立、易维护。
不要维护一个 8000 行的 `DOMAIN.md`。应该按对象拆分成 `Order.md``Guest.md``Hotel.md``Email.md``Task.md`
## 11. Documentation Update Rules
完成 Feature 后必须检查:
- Domain 是否需要更新。
- Architecture 是否需要更新。
- Workflow 是否需要更新。
- ADR 是否需要新增。
- Spec 是否需要改为 Implemented 或补充结果。
- Project State 是否需要更新。
- 安全、权限、接口契约是否需要同步。
如果没有文档变化,应明确说明:
```text
No documentation changes required.
```
不要为了修改而修改文档。
## 12. Success Criteria
一个新的 AI Agent 进入项目后,阅读以下有限文档即可开始工作:
```text
AGENTS.md
-> CONTEXT.md
-> PROJECT_STATE.md
-> 相关 Domain
-> 相关 Workflow
-> 相关 Spec 或 ADR
```
无需阅读整个代码库。
无需依赖历史聊天记录。
## 13. Scope
AI-NSES 不限制编程语言、框架、数据库或 AI 模型。
它适用于 Codex、Claude Code、Gemini CLI、Cursor以及未来任何 AI Agent。
它描述的是软件工程,不是某个具体工具。