四、AI 编程 Tips
CodeBuddy Code 提供了多种能力,从命令行脚本到配置管理,从任务拆解到质量保障,都能大幅降低开发成本、提升协作效率。下面我们总结了九大技巧,帮助你在实践中最大化利用 CodeBuddy Code 的潜力。
4.1. 拆解任务步骤,强化需求计划
AI 擅长将复杂目标分解为明确、可执行的任务步骤。借助 CodeBuddy Code 的需求拆解功能,开发团队可以快速生成清晰的执行计划。例如,在开发电商系统的购物车模块时,CodeBuddy Code 会根据需求自动拆解出对应的子任务,并提供优先级与执行顺序建议。
我们的实践流程通常是:
- 生成开发计划:AI 根据需求生成整体任务列表和执行顺序。
- 任务分配:将开发计划中的独立任务分配给团队成员,每个成员有明确的目标和执行依据。
- 执行与追踪:团队成员按任务执行,减少因需求模糊导致的返工,提高开发效率和协作透明度。
这种方法不仅确保需求被准确理解,也显著提升团队执行效率和项目可控性。
4.2. 智能配置管理与长期记忆
为了避免每次都重复解释项目背景,CodeBuddy 提供了 长期记忆机制,可以让 AI 自动记住项目相关信息,如技术栈、架构、编码约定等。通过 /init 和 CodeBuddy.md 文件,将这些信息写入上下文,AI 会在后续调用时自动继承,实现快速恢复项目状态,减少重复沟通,确保上下文一致。
示例: 为当前工程初始化上下文
> /initSettings 配置示例
在输入框中输入
/config在打开的配置面板中,可以开启 settings:include_co_authored_by: true
当 include_co_authored_by 设置为 true 时,AI 在生成提交信息时会自动包含协作者信息,确保团队协作记录完整。
实际效果:AI 会自动继承这些设定,从而减少重复沟通,整个团队的研发流程和内容上,上下文更加一致,操作更便捷。
4.3. 关键规则录入,降低上下文成本
通过将项目规则录入 长期记忆,AI 在生成代码、脚本或文档时能够自动遵循安全规范、API 格式、编码风格等标准,减少重复说明,提高开发效率和一致性。
实践步骤:
1.规则录入
- 使用 # 前缀将关键信息写入长期记忆,例如:
- 这些规则在后续对话、代码生成和脚本自动化时会被 AI 自动应用。
# 项目:电商平台
# 技术栈:Node.js + React
# 当前任务:开发用户认证模块
# 安全策略:所有用户输入必须经过 XSS 过滤
# 代码规范:统一使用 ESLint + Prettier2.场景化规则录入
项目设定 → # 项目:XXX
技术栈 → # 技术栈:XXX
安全/质量要求 → # 安全策略:XXX
编码规范 → # 代码规范:XXX
禁止项 → # NEVER DO:XXX3.规则维护
- 可以在对话中即时添加或修改规则,也可以统一管理在 CODEBUDDY.md 中,便于团队成员共享与更新,示例如下:
● 在开发用户认证模块时,AI 自动遵循 # 安全策略 规则,对输入进行 XSS 过滤;
● 所有生成的前端组件代码自动符合 # 代码规范 的 ESLint + Prettier 设置;
● 如果触碰 # NEVER DO 条目(如硬编码密钥),AI 会提示修正,避免潜在风险。- 对长期规则的结构化管理,让团队在不同任务和子智能体之间保持一致性,如下团队项目示例参考:
# 项目:电商平台
# 技术栈:Node.js + React + PostgreSQL
# 架构:前后端分离,后端 REST API + 前端 SPA
# 部署环境:Docker + Kubernetes,使用 CI/CD 自动化
# 安全策略:
# - 所有用户输入必须经过 XSS & SQL 注入过滤
# - 严禁硬编码密钥或 token
# - 密码存储统一使用 bcrypt(cost=12)
# - HTTPS-only,拒绝明文传输
# 代码规范:
# - 使用 ESLint + Prettier,Airbnb JavaScript 风格
# - 禁止使用 var,统一使用 const/let
# - 函数长度 ≤ 50 行,超过需拆分
# - API 返回统一格式 { code, message, data }
# 测试策略:
# - 单元测试覆盖率 ≥ 80%
# - 使用 Jest + Supertest 进行接口测试
# - 关键路径必须有集成测试
# 性能要求:
# - 单次 API 响应时间 ≤ 200ms
# - 并发连接 1000 时无明显性能下降
# - 数据库查询必须有索引
# NEVER DO:
# - 禁止在生产环境打印 console.log
# - 禁止使用 MD5、SHA1 等弱加密算法
# - 禁止上传含敏感信息的日志
# 优先级策略:
# P0:安全漏洞 → 立即修复
# P1:功能缺陷 → 24h 内修复
# P2:性能问题 → 一周内优化
# P3:体验优化 → 下个版本处理4.实际效果:
- 上下文清晰:开发者无需重复输入项目规则
- 一致性高:AI 自动遵循团队规范
- 安全可控:提前拦截违规操作,提高代码质量
4.4. Git 协作与自动化 PR 描述
我们利用 CodeBuddy 的自定义命令扩展能力,为团队构建了一套自动化流程:
1.标准化 PR 描述生成
- 预设模板:包含变更摘要、影响范围、测试情况等模块,.codebuddy/commands/mr.md 模版如下
- 上下文感知:自动从代码改动中提取关键信息,填充模板内容
---
description: "? 智能创建MR - 自动分析变更并生成规范的分支和提交"
---
# ? 智能创建 Merge Request
分析代码变更,自动生成分支名和提交信息,创建MR。
## ? 变更分析
### Git状态和分支信息
!`git status --porcelain && echo "--- Current Branch ---" && git branch --show-current && echo "--- Remote ---" && git remote -v | head -1`
### 变更概览
!`git diff --cached --stat 2>/dev/null || git diff --stat`
### 提交历史参考
!`git log --oneline -3 --format="%s"`
### 变更详情
!`git diff --cached --name-status 2>/dev/null || git diff --name-status | head -20`
### 关键变更内容
!`git diff --cached -U2 2>/dev/null || git diff -U2 | head -100`
### 未跟踪文件
!`git ls-files --others --exclude-standard | grep -E '\.(ts|js|json|md|yml|yaml)$' | head -5`
## ? 执行策略
### 分支命名规范
- `feat/描述` - 新功能
- `fix/描述` - 修复问题
- `refactor/描述` - 重构
- `docs/描述` - 文档
- `chore/描述` - 构建/工具
### 提交信息规范
遵循 [Conventional Commits](https://www.conventionalcommits.org/):
```
type(scope): description
feat(agent-cli): 添加新命令
fix(agent-cli): 修复内存泄漏
docs(agent-cli): 更新安装说明
```
## 注意事项
1. **不要使用 gh CLI**
2. **首次代码推送后,命令日志里面会有一个创建 MR 的链接**
3. **依赖库信息、代码文件名、接口名、类名等敏感信息不要提醒在更新CHANGELOG.md中**
## ? 自动化流程
1. **执行构建验证**(确保代码质量)
2. **分析变更类型和范围**
3. **创建合适分支**(如在主分支)
4. **检查并更新 docs 目录的相关文档** !!重要
5. **更新CHANGELOG.md**(添加到未发布版本,避免透露代码细节)!!重要
6. **生成规范提交信息**
7. **暂存并所有提交变更(git add .)**
8. **推送到远程**
9. **open 命令打开MR页面,等待合并**
---
**开始智能MR创建...**2.Git 操作自动化
- 自定义斜杠命令:支持一键生成 commit message,并自动提交。
- 自动创建 PR:结合脚本触发,省去繁琐的命令输入。
3.团队协作优化
- 减少重复劳动,让开发者专注于核心代码逻辑。
- 输出统一、规范的 commit 与 PR,提升了评审效率和团队整体研发体验。
4.实际效果
- 提交与评审环节的效率提升 30%+
- commit 与 PR 描述保持 一致性与完整性
5.团队使用方法 在输入框中输入/mr回车后,系统会输出完整的 PR 描述,并自动填充到 Git 平台的 MR/PR 页面。
4.5 明确优先级与禁止项
在项目开发过程中,一些常见的低级错误(如硬编码密钥、生产环境遗留 console.log 等)会反复出现,增加了返工和风险。
为此,我们在 CodeBuddy 中引入了 NEVER DO LIST 与 优先级策略:
实践步骤:
1.NEVER DO LIST
- 明确禁止项(如密钥硬编码、敏感信息日志输出、无权限控制的接口)。
- 当 AI 生成或开发者提交的代码触犯清单时,系统会立即撤回并提示修正,避免问题进入主干。
2.优先级策略
- P0:安全漏洞 → 立即修复,阻塞上线。
- P1:功能缺陷 → 24 小时内修复。
- P2:性能问题 → 一周内优化。
- P3:体验优化 → 下个版本处理。
3.实践效果:这种机制让团队可以:
- 减少失误:通过禁止项提前拦截,降低风险。
- 聚焦重点:将精力优先投入到最高优先级任务上。
- 统一共识:保证所有成员在修复与迭代节奏上保持一致。
4.6 自定义斜杠命令与扩展
在团队日常开发中,高频且重复的操作(如批量重构、生成测试用例、自动部署)往往耗时且容易出错。通过 CodeBuddy 的自定义斜杠命令功能,可以将这些操作标准化为快捷指令,打造团队专属命令库,实现高效、稳定的协作。
实践步骤:
1.定义专属命令:在 .codebuddy/commands 目录下创建命令文件,将发版、测试或部署等流程固化为标准化指令, 发版指令模版如下:
---
description: "? 智能发版 - 自动更新版本号和changelog,执行构建验证并创建发版MR"
argument-hint: "[custom-prompt]"
---
# ? 智能发版流程
分析变更历史,自动更新版本号和changelog,执行构建验证并创建发版MR。
## ? 发版信息收集
### 工作区和分支状态
!`git status --porcelain && echo "--- Current Branch ---" && git branch --show-current && echo "--- Remote Status ---" && git fetch origin && git status -uno`
### 当前版本信息
!`echo "Package.json version:" && jq -r '.publishConfig.customPackage.version // .version'package.json`
### Changelog结构检查
!`echo "Current CHANGELOG.md:" && head -20 CHANGELOG.md 2>/dev/null || echo "CHANGELOG.md 不存在"`
### 最近提交历史
!`git log --oneline -10 --format="%s"`
### 未发布变更检查
!`grep -n "未发布" CHANGELOG.md | head -5 || echo "无未发布标记"`
## ? 发版策略
### 版本号规则
遵循 [语义化版本](https://semver.org/lang/zh-CN/) 规范:
- `major.minor.patch` - 主版本.次版本.修订版本
- **Major**: 破坏性变更 (BREAKING CHANGE)
- **Minor**: 新功能 (feat)
- **Patch**: 修复和改进 (fix, docs, chore等)
### 分支命名规范
- `publish/codebuddy-code-v{版本号}` - 发版分支
- 例如: `publish/codebuddy-code-v1.0.12`
## ? 自动化流程
1. **执行构建验证**(确保代码质量)
2. **分析变更类型确定版本号**
3. **创建发版分支**(如在主分支)
4. **更新package.json版本号**(改 publishConfig.customPackage.version 这个字段的版本号)
5. **更新CHANGELOG.md**(移除"未发布"标记,添加发布日期)
6. **生成发版提交信息**
7. **暂存并所有提交变更(git add .)**
8. **推送到远程**
9. **open 命令打开MR页面,等待合并**
### 构建验证步骤
```bash
npm run build # 构建验证(包含lint检查)
npm run test # 测试验证(如存在)
```
### 额外补充说明
$1 !!IMPORTANT
---
**开始智能发版流程...**2.一键式执行:团队成员只需通过斜杠命令调用,即可触发完整流程,避免因手动执行带来的遗漏与差错。
3.持续扩展与维护:随着项目演进,不断扩展命令库,涵盖更多场景(如日志收集、依赖升级、代码风格检查),并保持规范与文档更新。
4.案例实践:在 .codebuddy/commands 下建立一个 发版指令,团队即可通过统一命令完成标准化版本发布,确保流程一致性与结果可控性。
5.实践收益:减少重复劳动、降低人为失误、提升团队协作效率与开发规范性。
4.7 巧用贴图、引用文档增强上下文理解
丰富的上下文输入能显著提升 AI 对项目背景与需求的理解深度,使生成的代码与文档更加精准、贴合实际。实践步骤如下:
1.使用截图与设计图
- 将截图、流程图或界面设计图作为输入,帮助 AI 理解 UI 布局、数据流动和设计规范,从而生成符合实际需求的实现方案。
2.引用项目文件
- 直接引用 .js、.ts、.py、.md 等文件,让 AI 获取项目代码结构、API 规范及文档内容,避免重复描述,提高开发效率。
3.图文结合使用
- 在需求描述中同时提供图像和文档信息,并可附带项目目录结构,增强上下文表达,帮助 AI 快速定位相关代码与实现细节。
示例
需求描述示例:
目标:实现用户登录功能,前端使用 LoginForm 组件,后端调用 user.js 中的登录 API。
参考资料:
- 登录流程图:@assets/login-flow.png
- API 文档:@docs/api-spec.md
- 前端组件:@src/components/LoginForm.tsx
- 后端接口:@src/api/user.js效果:
AI 可以直接读取截图、文档和代码,理解前后端逻辑及设计规范,从而生成符合项目实际需求的实现方案。
4.8. 巧用 unix 管道,与 codebuddy -p 的集成
通过 CodeBuddy Code 与命令行/脚本的深度集成,可以显著提升日常开发和运维效率。利用 Unix 小工具组合与 codebuddy -p "需求" 的方式,可以实现数据清洗、结构化输入和高级分析的高效工作流。
典型场景:
- 代码审查与改进建议
git diff | codebuddy -p "请检查这段改动,并提出改进代码质量或重构建议"- 日志分析
tail -n 100 /var/log/system.log \ | grep -E "ERROR|WARN" \ | codebuddy -p "分析日志,找出错误和警告,并生成排查步骤"- 数据统计与可视化提示
head -n 500 data.csv \ | codebuddy -p "统计每列的均值、最大值和最小值,并提供可视化建议"实践建议:
- 利用 grep / awk / sed 等工具先清洗和筛选输入内容
- 对大文件使用 head / tail 或 split 控制数据量
- 脚本化操作并封装函数,提高可复用性和自动化水平
- 输出可重定向到文件、管道给其他命令,或者直接生成报告、PR 描述等
这种集成方式可以让 AI 成为终端中的智能助手,不仅自动化重复性任务,还能生成高质量分析和优化建议,大幅提升开发、运维和数据处理效率。
4.9 创建子智能体独立上下文
在实际项目中,让单一智能体处理所有任务容易造成上下文混杂,降低效率。通过创建 子智能体(Sub-agent) 并赋予其独立上下文,可以实现任务分工与隔离处理,从而提升团队协作和 AI 工作流的可控性。
实践步骤:
- 上下文独立:为每个子智能体配置独立的记忆和任务上下文,避免不同任务信息互相干扰。
- 任务专注:子智能体专注于特定任务场景(如日志分析、代码审查、文档整理),形成针对性优化。
- 串行协作:多个子智能体可在工作流中协作完成复杂任务,主智能体负责调度与结果汇总。
案例实践:
- 在工程项目中,我们常设置三个子智能体:API 文档 Agent:负责接口文档的生成与更新。
- 代码评审 Agent:对每次提交进行预审,提供评分与修复建议。
- 架构分析 Agent:专注后端架构设计与优化
如下为自定义子智能体模版参考:
---
name: architect-reviewer
description: 审查代码变更以确保架构一致性与模式遵循。在任何结构性变更、新服务或 API 修改后应主动使用。确保遵循 SOLID 原则、合理分层与可维护性。
model: glm-4.0
---
你是一名专注于维护架构完整性的资深软件架构师。你的职责是从架构视角审查代码变更,确保与既定的模式和原则保持一致。
## 核心职责
1. **模式遵循**:验证代码是否遵循既定的架构模式
2. **SOLID 合规**:检查是否存在违反 SOLID 原则的情况
3. **依赖分析**:确保依赖方向正确,且不存在循环依赖
4. **抽象层级**:确认抽象层级适当,避免过度设计
5. **前瞻性**:识别潜在的扩展性或可维护性问题
## 审查流程
1. 将变更映射到整体架构中
2. 识别被跨越的架构边界
3. 检查与现有模式的一致性
4. 评估对系统模块化的影响
5. 在需要时提出架构改进建议
## 关注领域
- 服务边界与职责
- 组件之间的数据流与耦合
- 与领域驱动设计的一致性(如适用)
- 架构决策对性能的影响
- 安全边界与数据校验点
## 输出格式
请提供包含以下内容的结构化审查:
- 架构影响评估(高/中/低)
- 模式合规性检查清单
- 发现的具体违规项(如有)
- 建议的重构方案(如需)
- 变更的长期影响
请牢记:优秀的架构应当促进变更。标记任何会让未来变更更困难的因素。定义架构评审子智能体后,可对每次提交进行自动化预审,生成评分与修复建议。结合任务拆解与自定义命令,团队即可建立一套标准化、AI 驱动的评审机制,大大提高了质量和评审、自审的效率。
下图是我们的实际使用的真实案例,archiect-reviewer 被高亮,代表子智能体评审被激活。
学员评价