详情

首页手游攻略 what-did-ai-do:AI Agent 工具实践指南

what-did-ai-do:AI Agent 工具实践指南

佚名 2026-09-30 10:40:01

如果把what-did-ai-do放进候选清单,不能只看热度;它的定位是您的 AI 更改了代码,知道实际发生了什么变化。团队若要把它用于软件开发,应先处理依赖、接口和异常处理往往比主路径更影响采用,否则试用结果很容易失真。我建议在隔离分支完成一个可回滚的小任务,重点记录安装步骤、接口契约、测试结果和错误信息,再与现有方案比较。它更像给需要可检查开发流程而非单次演示的工程师准备的可审查方案,是否长期使用应由试跑数据决定。

名称:艾做了什么 描述:>- 从 Git 证据中简要准确地总结代码更改。在 AI 编码剂之后使用 当用户询问更改内容时编辑代码,请求简洁的更改摘要,准备提交 或移交,或要求推送或发布更改,并且需要对推送内容进行简短说明。

AI 做了什么

用简单的语言解释已完成的代码更改,而不需要发明意图。保留最后的总结 足够短,可以立即扫描。

建立证据

  1. 遵守存储库说明并首先完成请求的编辑和验证。

  2. 仅选择一个汇总范围:

    • 对于一般更改摘要请求,请使用 auto。它首先选择工作树,然后 outgoing commits, and reports mode: none when the repository is clean and synchronized.
    • 在推送之前或之后,使用 outgoing,以便摘要仅涵盖推送之前的提交 push destination (the script prefers @{push} and falls back to @{upstream}). Pass --base <rev> to compare against an explicit ref instead, such as a known push target or the commit the session started from.
    • 仅对于未提交的工作,请使用 working。
    • 仅对于最近的提交,使用 last。
  3. 运行:

    python3 <skill-directory>/scripts/collect_change_context.py 
      --mode <auto|outgoing|working|last> [--base <rev>]
    

    标头报告 working changes、outgoing commits 和所选的 mode,因此您可以 查看排除了哪些范围。提及排除的传出提交或未提交的工作 对用户很重要。

    在系统上使用 python 代替 python3,例如 Windows,其中只有 python 可用。

  4. 在总结之前阅读实际的相关差异:

    • 工作树:git diff --cached 和 git diff
    • 传出提交:git diff "<target>...HEAD" --,其中 <target> 是基础,推送 target, or upstream reported by the script; quote it, because Git allows characters such as ; and $ in branch names
    • 最后提交:git show --format=fuller HEAD

    对于较大的差异,请首先读取统计信息,然后读取重要文件的每个文件的差异, 而不是立即加载整个差异。

  5. 检查报告为未跟踪的重要新文件,因为普通 git diff 不包括 他们的内容。

不要使用提交主题或文件名作为行为声明的唯一证据。

处理推送请求

当用户明确指定时,执行存储库的正常提交、验证和推送工作流程 请求推送。在推送之前,立即收集 outgoing 证据。推送成功后, 报告目标分支并总结相同的传出范围。

切勿将已暂存、未暂存或未跟踪的文件描述为已推送。仅当以下情况时才单独提及它们: 它们会严重影响用户的理解。切勿仅仅因为用户请求而推送 总结。

写总结

默认为用户的语言。描述结果而不是逐个文件的日记。

使用此形状,除非用户要求其他格式,将标题和标签转换为 用户的语言:

Change summary
- [Key change from the user's or system's perspective]
- [Second change only when needed]
- Validation: [checks actually run and their results]

应用这些限制:

  • 使用一到三颗子弹。
  • 将每个项目符号保留为一个句子。
  • 仅当文件名使解释更清楚时才提及。
  • 仅在实际运行时包含验证;否则说明它没有运行。
  • 将推送的更改与剩余的本地更改分开。
  • 例如,“已改进”。

解决边缘情况

  • 如果outgoing没有上游分支,说明推送范围无法建立,或者重新运行 当推送目标已知时,使用 --base <remote>/<branch>。
  • 如果收集器警告推送目标未解析,则说明范围是根据 上游分支,或获取目标并重新运行。
  • 如果auto报告mode: none,则表示当前没有变化;仅当用户运行 last 显然想要最近的历史。
  • 如果生成的文件在差异中占主导地位,请首先总结源代码更改并提及生成的文件 文物的统称。
  • 如果差异包含不相关的用户更改,则排除它们,除非明确请求的范围 包括他们。

仅在安装或适配时读取 references/compatibility.md 此技能适用于 Codex、Claude Code 或 Gemini CLI。

相关资讯
点击查看更多
游戏推荐
推荐专题
热门阅读
推荐下载