3.1 KiB
Executable File
3.1 KiB
Executable File
Agent as Code
定义
Agent as Code是将AI协作的所有文件以代码的方式管理的理念,实现可版本化、可复用、可共享。
核心思想:AI的行为由代码(配置文件)决定,而不是由人的临时提示决定。
核心特征
1. 可版本化
- 所有配置纳入Git管理
- 变更有历史记录
- 可回滚到历史版本
2. 可复用
- 配置可在项目间复用
- Skills可在团队间共享
- 最佳实践可沉淀
3. 可共享
- 团队成员共享AI配置
- 新成员快速上手
- 统一团队AI行为
核心文件
AGENTS.md(宪法级)
# 项目信息
- 项目名称:XXX
- 技术栈:Java 17, Spring Boot 3.x
# AI行为规则
1. 代码必须符合规范
2. 数据库表必须包含时间戳字段
3. API必须使用RESTful风格
Skills目录
skills/
├── commit-push/
│ ├── SKILL.md
│ └── commit.sh
├── deploy/
│ ├── SKILL.md
│ └── deploy.sh
MCP配置
{
"mcpServers": {
"database": {
"command": "node",
"args": ["mcp-server-sqlite"]
}
}
}
实现方式
软链接共享配置
# 让多个AI工具共享AGENTS.md
ln -s ../AGENTS.md .claude/AGENTS.md
ln -s ../AGENTS.md .opencode/AGENTS.md
ln -s ../AGENTS.md .cursor/AGENTS.md
Git管理
git add AGENTS.md
git add .claude/AGENTS.md
git commit -m "feat: add AGENTS.md for AI collaboration"
目录结构
项目根目录/
├── AGENTS.md # 宪法级配置
├── docs/
│ ├── standards/ # 标准规范
│ ├── features/ # 需求规格
│ ├── designs/ # 设计规格
│ └── plans/ # 计划规格
├── skills/ # AI技能
├── mcp/ # MCP配置
├── .claude/ # Claude Code配置
├── .opencode/ # OpenCode配置
└── .cursor/ # Cursor配置
适用场景
- 团队协作:多个开发者共享AI配置
- 多项目:在多个项目间复用配置
- 持续迭代:配置需要持续演进
- 知识沉淀:最佳实践需要沉淀
优势
- 一致性:所有AI工具行为一致
- 可追溯:配置变更有历史记录
- 可复用:Skills和配置可复用
- 易维护:修改一处,多处生效
挑战
- 初始成本:需要建立完整的文档体系
- 维护成本:需要持续维护配置
- 学习曲线:团队需要理解Agent as Code理念
最佳实践
- 从AGENTS.md开始:先定义最基本的规则
- 逐步扩展:根据实践逐步添加配置
- 定期Review:定期审查和优化配置
- 团队共享:将配置纳入团队知识管理