Loading

高级技巧-让AI自我迭代

如何实现一个会"自我进化"的AGENTS.md

这事是怎么开始的

用AGENTS.md一段时间之后,我开始想一个问题:能不能让AGENTS.md自己越来越完善?

你想啊,我每次和AI配合工作,都会产生一些新的经验。比如AI在某个场景下处理得不好,我手动调整之后,这个经验能不能被记录下来,下次AI就能自动避开这个坑?

这就是AGENTS.md自我迭代的思路。听起来有点玄乎,但实现起来其实没那么复杂。

自我迭代的基本原理

核心思路其实很简单:让AI在每次完成任务之后,检查一下AGENTS.md需不需要更新。如果发现有什么遗漏或者错误,就自动补充或修正。

具体来说,这是一个反馈循环:

第一步,AI读取AGENTS.md,了解项目规范。第二步,AI执行任务。第三步,AI评估执行效果。第四步,如果发现问题或者学到新东西,就更新AGENTS.md。第五步,下次任务继续。

这个循环跑起来之后,AGENTS.md就会随着项目的成长不断进化。

一个简单的自我迭代模板

# AGENTS.md - 具备自我迭代能力的配置

## 项目基本信息
(略)

## 迭代记录

### 2026-03-13
- 添加:React 18 严格模式配置
- 修正:测试命令应为 pnpm test 而非 npm test

### 2026-03-10
- 添加:禁止在组件中直接使用 console.log

### 2026-03-05
- 初始版本

触发自我迭代的几种方式

方式一:基于问题的迭代

每次AI遇到问题并解决之后,自动把解决方案记录到AGENTS.md里。

## 问题解决记录

<!-- 问题: AI 在生成 API 错误响应时使用了错误的格式 -->
<!-- 解决: 添加了标准的错误响应格式规范 -->
<!-- 日期: 2026-03-13 -->

<!-- 问题: 组件样式没有使用 CSS Modules -->
<!-- 解决: 在代码规范中明确了使用 CSS Modules -->
<!-- 日期: 2026-03-10 -->

你可以在AGENTS.md里加一个"问题解决记录"章节。AI在处理任务的过程中,如果发现之前没处理好的问题,就自动把解决方案写进去。

方式二:基于使用反馈的迭代

AI完成任务后,你可以让它回答几个问题:这次任务完成得怎么样?有没有什么问题?下次需要注意什么?然后把这些反馈整合到AGENTS.md里。

## 使用反馈

### 2026-03-13
**反馈内容**:API 接口的认证逻辑需要更详细的说明
**更新内容**:添加了 JWT 认证的具体实现规范
**更新人**:Claude Code

### 2026-03-11
**反馈内容**:状态管理使用 Zustand 而非 Redux
**更新内容**:修改了状态管理规范
**更新人**:Cursor

方式三:定期审查和更新

设置一个定期任务,让AI主动去审查AGENTS.md的有效性,检查项目有没有什么新的变化需要同步到AGENTS.md里。

# 每月运行一次 AGENTS.md 审查
pnpm agents:review

这个命令可以是这样的一个脚本:

// scripts/review-agents.ts
import { readFile, writeFile } from 'fs/promises';
import { execSync } from 'child_process';

async function reviewAgentsMd() {
  // 1. 读取当前 AGENTS.md
  const content = await readFile('AGENTS.md', 'utf-8');

  // 2. 检查项目是否有变化
  const packageJson = JSON.parse(await readFile('package.json', 'utf-8'));
  const dependencies = Object.keys(packageJson.dependencies);

  // 3. 生成审查报告
  const report = [];

  // 检查命令是否有效
  try {
    execSync('npm run build', { stdio: 'ignore' });
  } catch (e) {
    report.push('⚠️ build 命令可能有问题');
  }

  // 4. 输出建议
  console.log('AGENTS.md 审查报告:');
  report.forEach(item => console.log(item));

  // 5. 询问是否需要更新
  return report;
}

reviewAgentsMd();

具体的迭代实现

说了这么多原理,来点实际的。下面是一个可以真正运行的自我迭代AGENTS.md方案。

# AGENTS.md - 智能迭代版本

## 项目基本信息
(标准内容...)

## 自我迭代配置

### 启用状态
`enabled: true`

### 迭代策略

#### 1. 问题驱动更新
当AI遇到问题并找到解决方案时,自动更新本文件的"问题解决记录"章节。

#### 2. 任务后审查
每次完成重要任务后,检查以下内容:
- 是否有新的依赖被添加?
- 是否有新的规范需要记录?
- 是否有规范已经过时需要删除?

#### 3. 定期全量审查
每两周运行一次脚本审查本文件的完整性:
```bash
pnpm agents:audit

迭代规则

允许自动更新的内容

  • 代码规范补充
  • 命令更新
  • 问题解决记录
  • 使用反馈

需要人工确认的内容

  • 新增章节
  • 删除已有章节
  • 修改核心项目信息

问题解决记录

(初始为空,AI会自动填充)

使用反馈

(初始为空,AI会自动填充)

注意事项

  • 每次更新都会创建 Git commit
  • 重大变更需要 Pull Request 审核
  • 保留历史版本以便回滚

## 版本控制和回滚

自我迭代虽然爽,但也有风险。要是一个手抖,把错误的规范写进去了,可能会带偏后续所有的AI工作。所以版本控制很重要。

我的建议是:每次AGENTS.md有更新,都创建一个Git commit。这样随时可以回滚到之前的版本。

```bash
# 自动提交 AGENTS.md 更新
git add AGENTS.md
git commit -m "docs: 更新 AGENTS.md - $(date '+%Y-%m-%d')"

如果你用的是支持AGENTS.md的AI工具,很多都内置了版本控制功能。比如Claude Code会记住每次修改,你可以随时查看历史版本。

自我迭代的边界

虽然自我迭代很好用,但有些东西是不适合让AI自己迭代的。

核心项目信息不适合。比如项目名称、技术栈这些基础信息,应该由人来确认。AI对这些的理解可能会跑偏。

安全相关的内容不适合。比如认证密钥、数据库密码这些敏感信息,绝对不能让AI自己来处理。

团队共识不适合。如果AGENTS.md是团队共用的,任何修改都应该经过团队成员的确认,不能由AI自己来决定。

我的做法是:在AGENTS.md里明确标注哪些内容可以自动更新,哪些需要人工确认。这样既保证了迭代的效率,又避免了失控的风险。

小结

AGENTS.md的自我迭代,核心思路就是让AI在工作过程中不断学习和积累经验,把这些经验沉淀到配置文件里,下次工作就能做得更好。

实现方式主要有三种:问题驱动更新、使用反馈更新、定期审查更新。你可以根据自己的项目情况选择合适的策略。

当然,自我迭代不是万能的。有些内容还是需要人工把控,不能完全交给AI。

下期是这个系列的最后一篇:团队最佳实践。我们聊聊AGENTS.md在团队中怎么用,包括模板设计、协作流程、文档维护这些内容。


posted @ 2026-03-17 16:39  饭勺oO  阅读(3100)  评论(0)    收藏  举报