夜雨聆风学习资料网

ARTICLE · 1203094

使用AI助手CodeBuddy协同开发省token又让执行结果更精准的几个技巧

使用AI助手CodeBuddy协同开发省token又让执行结果更精准的几个技巧
Hello,大家好,我是程序媛MM。
本文约2600字,这两天使用CodeBuddy协同开发,发现了一些使用上的问题,导致结果不精准,今天周六在家也安装了 CodeBuddy, 花了一些时间了解这个AI助手,本文整理了工作中遇到的问题以及应对方法。
我发现要用好AI还要节省token,就要学会表达,学会整理清楚自己的思路,用简洁精准的语言给AI下指令。绝不是简单的有AI就能干好活的,得对要做的任务了解,越是了解,指令给到AI越准确,TA就能把活给干好,否则会给改得七八糟,token还烧掉不少。

关注公众号, 即可获得与Linux相关的电子书籍(含《嵌入式系统设计与应用》)以及常用开发工具,文末有文档清单,本公众号提供的电子书均只可作为个人学习使用,不可用做商业用途。



刚开始使用时,我很小心翼翼,安排的任务指令下得非常清晰,改动文件指定,AI改很准确,但当下一次发指令时没有带上精准指令,TA就有点乱改了,比如删掉原本的宏定义下的逻辑,还有每次改动注释添加得很多,脚本改一行添加了五六行的注释,这些输出都是要花token的,不要以为不看注释就行了。另外我这种有强迫症的人忍不住会去看注释,就很浪费时间,所以我把遇到的这些问题又用网页版免费AI去查了一遍,浪费了一些token来验证AI给出的方法有效,然后整理成本文,以后可以参考,希望也能对看到本文的你有帮助。

🌸 明明下了指令,CodeBuddy还是乱改?

大多数"AI 改错代码"事故,根因就三个:

1. 上下文窗口有限:它没看到宏定义在哪、其他分支长啥样,就按当前场景脑补,顺手把 #ifdef 分支删了。

2. 指令太模糊:"帮我修这个 bug"——没有范围、没有禁止项,AI 默认可以在整个文件里自由发挥。

3. 规则太长,token烧得肉疼:alwaysApply 规则每轮对话都注入上下文,写一堆冗余,长期下来是纯浪费。

下面这些小技巧,可以解决token消耗和误改风险两个问题。

在工作空间下创建一个.codebuddy目录,目录里创建commands和rules目录,后续可以将规则和命令的md文件放进去,工作台可以自动调用,文件布局如下:

`workspace`目录下.codebuddy/├── commands/          # 复数commands!存放斜杠命令│   ├── saveModifyLog.md│   └── checkMacroBranch.md├── rules/             # 不是rulers!存放alwaysApply规则│   └── dev-standard.md└── settings.json

🌺 技巧一:常驻规则只留"最小必要"

alwaysApply: true 的规则文件每一轮对话都会塞进上下文,越长越费。所以它只放编码风格和硬性安全约束,把"写文件""存档"这些动作逻辑全部挪走。

.codebuddy/rules/dev-standard.md:

markdown
---alwaysApply: true---# 代码开发基础规则1.代码注释精简,仅保留必要信息,禁止冗余注释。2.代码修改完成后汇总本次变更:文件路径、变更简述、关键改动。3.宏定义、#ifdef条件编译代码约束:  - 无我的明确指令,严禁删除、注释原有宏分支和业务策略;  - 修改优先新增分支/调整判断条件,原有逻辑保留;  - 修改前先说明各宏分支原有逻辑,确认理解无误再改代码。>默认生效,无需重复说明。

关键:第3条是硬约束。我没说删,就不能删。这是防"宏分支被删"的第一道闸。

🌷 技巧二:低频动作全做成斜杠命令,按需触发

斜杠命令只有你输入时才加载逻辑,平时不占上下文。这是省token的核心。

命令1:存档变更日志(/saveModifyLog)

.codebuddy/commands/saveModifyLog.md:

markdown
---description: 将上一轮的变更汇总写入modify_logs目录md日志---任务:1.在工作空间下./modify_logs目录创建以当前时间为基线命名的YYYYMMDD_HHMMSS.md文件。2.读取最近一次变更汇总内容,将其写入该文件。

命令2:宏分支预检(/checkMacroBranch)

.codebuddy/commands/checkMacroBranch.md:

markdown
---description: 分析全部#ifdef宏条件分支,输出原有策略,不修改任何代码---任务:1.解析代码内全部#ifdef / #ifndef / #else / #elif分支。2.逐条描述每个分支原始业务策略、启用条件。3.仅输出分析结果,**禁止修改代码**,等待我确认理解正确。

改宏相关bug前,先跑 /checkMacroBranch,让 AI 先证明它"读懂了",再放它去改代码。

🌻 技巧三:权限配置,白名单黑名单分层

settings.json 属于底层权限引擎,完全不占 token,放心用。

.codebuddy/settings.json:

json
{  "permissions": {    "deny": [      "Read(./out/**)",      "Read(./buildroot/**)",      "Read(./toolchain/**)",      "Read(./tmp/**)",      "Read(./logs/**)"    ],    "allow": [      "Read(./modify_logs/**)",      "Write(./modify_logs/**)"    ]  }}

deny:编译产物、toolchain 这种巨型目录直接禁读,省 token 又提速,还能防止 AI 读进无关代码。

allow:放行 modify_logs 读写,供 /saveModifyLog 存档。

可选再加一个 .codebuddyignore 控制自动索引(注意它只管索引,不管手动读取,硬阻断还得靠 deny)。

💐 技巧四:精准指定文件 + 代码行号

这是最省 token 又最不容易出错的一招。

不扫描整个目录,只锁定目标文件 + 行号范围,AI 只读那一段;

显式锁定修改边界,AI不会扩散改动到函数外、其他宏分支;

减少无关信息干扰,降低"脑补宏分支"的幻觉。

修改文件:xxx.c,修改范围:L120~L165修复此处bug。前置:分析本段所有#ifdef宏分支原有逻辑。约束:1. 只修改指定行号区间代码,区间外代码完全不动;2. 无明确指令,严禁删除/注释原有宏分支策略;3. 仅修复故障逻辑,不做全局重构。修改完成输出变更汇总,对比本段修改前后各分支行为。

行号不稳定时(前面增删过代码),改用"粘贴目标代码片段"模式,效果一样。

🌸 完整工作流:先读懂,再改代码

1. 前置分析(不改代码)   贴源码 + 宏定义头文件 → 跑 /checkMacroBranch   → AI 输出所有宏分支策略 → 你确认它理解了,才进下一步2. 下发修改指令   用"文件+行号+禁止项"模板,锁定边界3. 修改完成   常驻规则自动输出变更汇总(哪些分支没动、哪些改了、新增没有)4. 按需存档   /saveModifyLog 一键写入 modify_logs 时间戳md

🌺 指令清晰化三要素

好指令 = 限定范围 + 显式禁止项 + 分步执行。

场景
错误写法
正确写法
修bug
帮我修这段代码
修复xxx.c L120~165的bug,只改这段,禁止删除原有#ifdef分支
加功能
优化这个函数
在xxx函数新增一个分支,保留原有逻辑,不要改动其他代码
重构
整理下这个文件
仅重构xxx模块,禁止改动函数签名和宏分支策略

🌷 踩坑总结

1. AI 删掉 #ifdef 分支:

常驻规则加硬约束 + 改前跑 /checkMacroBranch。

2. 规则太长 token 爆炸:

拆分:基础约束常驻,动作逻辑放斜杠命令。

3. AI 读 build/toolchain 巨量文件卡死:

settings.json 加 deny 硬禁读。

4. AI 改动范围超预期:

 每次指令带文件 + 行号 + "区间外禁改"约束。

5. 每次手动复制日志太烦:/saveModifyLog 一键按时间戳存档。

🌻 命令速查表

命令
作用
token 消耗
/checkMacroBranch
分析宏分支,只分析不改代码
按需加载,平时无开销
/saveModifyLog
保存本次变更汇总到 md 日志
按需加载,平时无开销
/summarize
压缩当前会话历史,释放上下文
单次执行
💗一句话总结
常驻规则只放"风格 + 禁止项",动作逻辑全做成斜杠命令按需触发,修改指令带上"文件+行号+禁止项"——token 省了,宏分支也保住了。

往期文章(欢迎订阅技术分享栏目全部文章):

【从零开始撸内核驱动源码】:以ttyserial(串口驱动)为例,串联字符设备驱动基础知识点的学习计划
Linux内核源码顶层 Makefile分析并单独编译调试内核自带的驱动
【从零开始撸内核驱动源码】:ttynull驱动
Linux内核驱动安装失败问题调试及解决方法
Linux内核驱动源码走读之编译内核及外部驱动实操指南

“谢谢你看到这里”

15年+嵌入式软件开发经验兼二胎宝妈

分享读书心得、工作经验,自我成长和生活方式。

希望我的文字能对你有所帮助

相关学习资料