AI 编程时代,最大的瓶颈不是 AI 不会写代码,而是 AI 不知道项目为什么这样设计。

当项目规模从几十个文件增长到几万行代码,单纯依赖聊天上下文已经不可持续。优秀的 AI Coding 实践,需要给 Agent 建立一套“项目记忆系统”。


一、AI Coding 的新问题:代码生成容易,项目理解困难

过去的软件开发流程:

需求
 ↓
架构设计
 ↓
编码
 ↓
测试
 ↓
上线

开发者的大脑承担了大量隐性知识:

  • 为什么选择这个技术?
  • 为什么这个模块这样拆?
  • 哪些坑踩过?
  • 哪些方案被否决?
  • 当前开发进行到哪里?

这些信息通常存在:

  • 聊天记录
  • Jira / 禅道
  • 个人记忆
  • 临时 Markdown
  • Git commit message

但是 AI Agent 没有这些长期记忆。

每次开启 Codex / Claude Code / Cursor:

AI:
“请告诉我项目背景。”

开发者:
“你先看看代码……”

AI:
扫描几十分钟……

然后:

  • 上一次讨论的架构忘了
  • 已经解决的问题重新分析
  • 历史方案重复评估
  • 上下文窗口快速消耗

因此,AI Coding 的核心问题变成:

如何让 AI 像一个长期参与项目的高级工程师一样工作?

答案:

建立项目级 AI 文档架构。


二、核心思想:把项目文档变成 AI 的长期记忆

实践中,一个好的 AI 工程项目,需要解决四件事:

根据实际规范设计,文档体系主要解决:

  1. 项目入口

    新人或者 AI 能快速知道:

    • 项目是什么
    • 如何启动
    • 如何验证
  2. Agent 入口

    AI 每次接手任务:

    • 先读什么
    • 不应该读什么
    • 如何恢复上下文
  3. 决策追溯

    记录:

    • 为什么这么设计
    • 为什么不用其他方案
    • 历史问题如何解决
  4. 会话连续

    每次 AI 会话结束:

    • 保存现场
    • 保存下一步
    • 下次继续工作

这实际上就是给 AI 建立:

项目的“长期记忆层”。


三、推荐的 AI Coding 项目目录结构

一个适合 Codex / Claude Code 的工程结构:


project/

├── AGENTS.md
├── README.md
├── STARTUP.md
├── CHANGELOG.md
├── HANDOFF.md
├── DoneAndTODO.md
├── .codexignore
│
├── docs/
│   ├── README.md
│   ├── documentation-architecture-standard.md
│   │
│   ├── architecture/
│   │
│   ├── adr/
│   │
│   ├── validation/
│   │
│   ├── handoff/
│   │
│   ├── archive/
│   │   └── done-and-todo/
│   │
│   ├── troubleshooting.md
│   │
│   └── templates/
│
└── scripts/

    ├── session-start.sh
    └── session-end-check.sh

这个结构最大的特点:

高频信息放根目录,长期知识放 docs。


四、最重要的文件:AGENTS.md

如果说 README 是给人看的,

那么:

AGENTS.md 是给 AI Agent 看的。

它定义:

  • AI 工作规则
  • 项目约束
  • 常用命令
  • 会话启动方式
  • 会话结束方式

例如:


# Project Agent Guide

## Runtime

Java 21
Spring Boot 3.x
Maven


## Session Start

开始编码前:

1. 阅读 HANDOFF.md
2. 阅读 DoneAndTODO.md
3. 阅读 active checklist


不要默认读取:

- archive
- history
- logs


## Risk Gate

以下操作必须确认:

- 数据库 migration
- 删除数据
- 架构调整
- 大范围重构


## Git Rules

不要主动 commit。

这样以后 AI 任务:

用户:

继续上次任务

AI:

自动:

读取 AGENTS.md

↓

读取 HANDOFF.md

↓

读取 DoneAndTODO.md

↓

恢复现场

不再需要复制几千字 Prompt。


五、HANDOFF.md:解决 AI “失忆”

这是整个体系里最有价值的文件。

它不是历史记录。

它代表:

当前项目现场。

例如:

# HANDOFF


## Current Status

已完成:

- 用户登录模块重构
- Redis缓存优化


## Current Task

正在处理:

订单支付链路优化


## Blocker

支付回调测试环境不可用


## Next Step

1. 完成接口测试
2. 更新ADR
3. 验收


## Dirty Files

src/payment/*

核心原则:

HANDOFF 永远保持短。

不要写成:

2026-01 做了什么
2026-02 做了什么
2026-03 做了什么
...

历史交给:

docs/handoff/

规范建议:

  • HANDOFF:100~150 行以内
  • 超过:归档旧版本。

六、DoneAndTODO.md:AI 的路线图

很多 AI Coding 失败,是因为:

AI 不知道:

“现在最重要的事情是什么”。

所以需要:

DoneAndTODO.md

保存:

  • 已完成
  • 当前阶段
  • 下一步
  • 长期 TODO

例如:

# Done


## Completed

[x] 用户中心重构

[x] Redis缓存升级


# TODO


## Current Sprint

- 支付链路压测
- MQ异常恢复


## Long Term

- 引入搜索服务
- 优化RAG召回

它和 HANDOFF 区别:

文件 作用
HANDOFF 当前接手现场
DoneAndTODO 项目路线图

七、ADR:让 AI 知道“为什么”

很多 AI 生成代码最大的问题:

代码能运行。

但是:

架构可能错。

原因:

AI 不知道历史决策。

例如:

为什么不用 Redis Search?

为什么使用 Milvus?

为什么订单服务拆出去?

需要:

docs/adr/

保存:

Architecture Decision Record。

示例:

docs/adr/

0001-use-milvus-vector-search.md

0002-payment-service-split.md

内容:

# ADR 0001

## Context

业务需要知识库检索。


## Decision

采用 Milvus + BGE Embedding。


## Alternatives

ES Vector Search


## Consequences

优点:

- 大规模向量检索


缺点:

- 增加运维组件

ADR 解决:

AI 可以理解过去为什么这么做。


八、Validation:不要相信“应该可以”

AI Coding 最大风险:

AI 认为完成,实际上没有验证。所以需要:

docs/validation/

保存:验证过程。例如:

docs/validation/

payment-checklist.md

2026-07-26-payment-report.md

Checklist:

## 验证步骤

1. 启动服务

2. 调用接口


curl xxx


预期:

返回200

Report:

环境:

Ubuntu 24.04

结果:

通过


证据:

curl返回200
SQL结果正常

区别:

文件 作用
checklist 怎么验证
report 这次验证结果


九、.codexignore:控制 AI 上下文成本

很多人不知道,AI 最大的问题不是不会搜索。而是搜索太多。

例如:

rg xxx .

扫描:

node_modules

target

日志

编译产物

.git

缓存

产生大量无价值 Token,因此需要增加.codexignore 文件

.codexignore

例如:

.git/

.idea/

target/

node_modules/

dist/

.venv/

*.log

对AI而言,最终产生的效果是:

有效代码
+
有效文档

而不是:

代码
+
垃圾生成文件
+
历史日志

十、AI 编程必须引入“证据等级”

传统开发:一句话 ---> “已经完成。”

AI 时代:肯定是远远不够的,必须区分:

标记 含义
Verified 已验证
Source-read 只读源码确认
User-confirmed 用户确认
Target-design 目标设计
Assumption 推测
Blocked 阻塞

例如:错误方式

已经支持千万级并发

而实际正确的应该是:

Target-design:
设计支持千万级

Verified:
压测10000 QPS通过

这个机制非常重要。

因为 AI 最容易犯浑:

把设计方案描述成已经实现。


十一、高风险操作必须增加人工确认

AI Agent 能力越来越强。

但是:

不能让 AI 自动执行所有事情。

必须人工确认:

  • 数据库迁移
  • 删除数据
  • 架构调整
  • 密钥操作
  • 大范围重构

推荐流程:

AI:

当前状态:

计划:

修改:

验证:

风险:

需要确认:

等待:

用户确认

再执行。


十二、会话开始 / 结束自动化

优秀 AI Coding 流程:

不是:

打开IDE
输入问题
开始聊天

而是:

Session Start

固定流程:

git status

git branch

git log

读取:

HANDOFF.md

DoneAndTODO.md

Active Checklist

Session End

完成工作后:

自动检查:

是否更新:

HANDOFF

DoneAndTODO

CHANGELOG

ADR

Troubleshooting

十三、最终效果:AI 从“代码助手”升级为“项目成员”

没有规范:

AI:

帮我写个接口

↓

重新理解项目

↓

重复踩坑

有规范:

AI:

读取项目记忆

↓

理解架构

↓

知道历史决策

↓

继续当前任务

↓

留下新的现场

这实际上形成:

             项目代码
                |
                |
        +---------------+
        | AI Knowledge  |
        |   Layer       |
        +---------------+
                |
 --------------------------------

 AGENTS
 README
 HANDOFF
 ADR
 Architecture
 Validation
 Troubleshooting

 --------------------------------

                |
              Codex

十四、适合企业落地的 AI Engineering 标准

未来的软件工程,不只是:

代码管理

而是:

代码管理
+
知识管理
+
AI上下文管理
+
决策管理
+
验证管理

一个成熟 AI Coding 项目应该具备:

✅ AI 可快速接手
✅ 新人快速理解
✅ 架构决策可追溯
✅ 历史问题可查询
✅ 会话上下文自动恢复
✅ 防止 AI 误操作


总结

Codex、Claude Code、Cursor 这些工具真正进入企业开发后,最大的变化不是:

AI 写代码更快。

而是:

软件项目开始拥有“机器可理解的工程记忆”。

未来优秀工程师的能力,不只是设计系统和写代码。

还包括:

如何设计一个让 AI 高效协作的软件工程体系。

AGENTS.md + HANDOFF.md + ADR + Validation + docs 架构,正在成为 AI Coding 时代新的工程基础设施。


封面彩蛋(均为一次性成图,未做二次优化):

微信AI生图v1:

简短提示词优化:

标题:从 “会写代码” 到 “会管理 AI 工程”:Codex 实战中的项目文档规范设计

基于标题内容,以及参考图优化一下图并生成一个新的

公众号AI生图v2

Image

千问网页版:基于v1版生成

介于千问生成此图时,我和它沟通过具体事项,后单开一个会话,无上下文污染进行成图效果:

我也是笑了。。。。

豆包网页版基于V1版生成:

chatgpt网页版基于V1版生成:

Gemini网页版基于V1版生成:

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐