AI 使用注意事项

使用 TODO

与 AI 对话时,强烈建议使用 TODO

  1. TODO 本身就是编程中常用的注释,IDE 会高亮显示,并且 IDA 通常会在提交时检查 TODO,用于提醒
  2. 无论你是否使用 AI,使用 TODO 都是一个非常好的习惯
  3. 如果你想让 AI 完成一个稍微复杂点的任务,可以在需要修改的地方,依次使用 TODO 进行说明,然后只需要告诉 AI 完成某些文件的 TODO 这几个字即可,简短精准有效避免 Token 浪费节省时间
  4. 强烈不推荐在 AI 会话中,直接复制某些文件的某些代码给 AI,让 AI 修改这些位置,不准确,浪费 Token

Git 暂存区

与 AI 对话时,强烈建议使用 Git 暂存区

  1. 使用 .git/info/exclude 排除无关的文件
  2. 使用 git add . 将所需文件添加到暂存区
  3. 在 AI 会话中,让 AI 分析暂存区提交暂存区修正暂存区异常完成暂存区的 TODO
    • 为什么要使用 暂存区
      1. 因为 暂存区 是一个明确的定义,就像 动植物名称要使用拉丁文(拉丁化的名称),有兴趣可以去了解一下 拉丁文(拉丁化的名称)
      2. AI 直接调用命令 git diff --cached节省 Token
    • 为什么不使用 变更 或其他词语?
      1. 变更 一词在 AI 理解上存在歧义,可能会被理解为 暂存区工作区当前分支与默认分支的差别
      2. 如果直接被理解为了 暂存区,AI 调用 git diff --cached 命令,返回值不为空(获取到了内容),这时如果存在 工作区 变更,工作区内容可能会被忽略,造成未知影响
      3. 如果 暂存区 没有内容,则会调用 git diff,这样白白浪费了 Token
      4. 如果直接被理解为了 当前分支与默认分支的差别,则会影响工作,分析出差别较大,并且大量浪费 Token
  4. 是否需要经常使用 git add . 命令,将变更增加到暂存区、与 AI 对话前?
    • 需要经常使用 git add . 命令,git 命令是基于暂存区进行的,AI 不一定会将工作区的内容放入暂存区后再执行提交命令
    • 列举一种情况:
      1. 假设你让 AI 分析完了代码变动、让 AI 完成代码修改
      2. 出于某些目的,你修改了部分代码
      3. 这时你没有执行 git add . 命令,然后接着与 AI 对话
      4. 假如对话内容是提交代码,然后你就会发现,除了你刚刚被修改的内容外,全部都提交了,刚刚好留下了你自己修改的内容
      5. 假如对话内容不是让 AI 提交代码,而是继续修改,这时由于你在前面修改了部分内容,而 AI 通常使用的是 暂存区 并不包含你刚刚修改的内容,所以会导致未知异常(当让 AI 会处理未知错误,但是会浪费时间 和 Token)

同时使用 TODO、Git 暂存区

  • AI 会话中,一句 完成暂存区的 TODO,比任何描述都高效,都更省 Token