使用 TODO
与 AI 对话时,强烈建议使用 TODO
- TODO 本身就是编程中常用的注释,IDE 会高亮显示,并且 IDA 通常会在提交时检查 TODO,用于提醒
- 无论你是否使用 AI,使用 TODO 都是一个非常好的习惯
- 如果你想让 AI 完成一个稍微复杂点的任务,可以在需要修改的地方,依次使用 TODO 进行说明,然后只需要告诉 AI 完成某些文件的 TODO 这几个字即可,简短精准有效,避免 Token 浪费,节省时间
- 强烈不推荐在 AI 会话中,直接复制某些文件的某些代码给 AI,让 AI 修改这些位置,不准确,浪费 Token
Git 暂存区
与 AI 对话时,强烈建议使用 Git 暂存区
- 使用
.git/info/exclude排除无关的文件 - 使用
git add .将所需文件添加到暂存区 - 在 AI 会话中,让 AI
分析暂存区、提交暂存区、修正暂存区异常、完成暂存区的 TODO…- 为什么要使用 暂存区?
- 因为 暂存区 是一个明确的定义,就像 动植物名称要使用拉丁文(拉丁化的名称),有兴趣可以去了解一下 拉丁文(拉丁化的名称)
- AI 直接调用命令
git diff --cached,节省 Token
- 为什么不使用 变更 或其他词语?
- 变更 一词在 AI 理解上存在歧义,可能会被理解为 暂存区、工作区、当前分支与默认分支的差别…
- 如果直接被理解为了 暂存区,AI 调用
git diff --cached命令,返回值不为空(获取到了内容),这时如果存在 工作区 变更,工作区内容可能会被忽略,造成未知影响 - 如果 暂存区 没有内容,则会调用
git diff,这样白白浪费了 Token - 如果直接被理解为了 当前分支与默认分支的差别,则会影响工作,分析出差别较大,并且大量浪费 Token
- 为什么要使用 暂存区?
- 是否需要经常使用
git add .命令,将变更增加到暂存区、与 AI 对话前?- 需要经常使用
git add .命令,git 命令是基于暂存区进行的,AI 不一定会将工作区的内容放入暂存区后再执行提交命令 - 列举一种情况:
- 假设你让 AI 分析完了代码变动、让 AI 完成代码修改
- 出于某些目的,你修改了部分代码
- 这时你没有执行
git add .命令,然后接着与 AI 对话 - 假如对话内容是提交代码,然后你就会发现,除了你刚刚被修改的内容外,全部都提交了,刚刚好留下了你自己修改的内容
- 假如对话内容不是让 AI 提交代码,而是继续修改,这时由于你在前面修改了部分内容,而 AI 通常使用的是 暂存区 并不包含你刚刚修改的内容,所以会导致未知异常(当让 AI 会处理未知错误,但是会浪费时间 和 Token)
- 需要经常使用
同时使用 TODO、Git 暂存区
- AI 会话中,一句
完成暂存区的 TODO,比任何描述都高效,都更省 Token