|
| 1 | +--- |
| 2 | +title: "生产力革命:用 AI 编程工具将代码提交自动转化为技术博客" |
| 3 | +description: "介绍一种利用 AI 编程工具的自动化工作流,通过配置 Prompt 规则,让 AI 帮你把 Git Diff 瞬间转化为高质量的技术博客。适用于 Cursor、Windsurf、Kiro 等 AI IDE 以及 Claude Code 等 CLI 工具。" |
| 4 | +tags: ["AI", "效率工具", "写作", "开发工具"] |
| 5 | +--- |
| 6 | + |
| 7 | +作为开发者,我们最擅长的是写代码,最头疼的往往是写文档和技术总结。 |
| 8 | + |
| 9 | +我们经常面临这样的矛盾: |
| 10 | + |
| 11 | +- 代码写得很好,但过了三个月自己都忘了为什么要这么设计 |
| 12 | +- 解决了很棘手的 Bug,但没有记录下来,下次遇到还得重新踩坑 |
| 13 | +- 想写技术博客,但面对空白文档总是不知道如何下笔 |
| 14 | + |
| 15 | +本文将介绍一种利用 AI 编程工具的自动化工作流,通过配置简单的 Prompt,让 AI 帮你把枯燥的 Git Diff 瞬间转化为高质量的技术博客。 |
| 16 | + |
| 17 | +--- |
| 18 | + |
| 19 | +## 核心思路 |
| 20 | + |
| 21 | +我们的目标不是让 AI 凭空捏造,而是利用它强大的上下文理解能力,**基于事实(代码变更)进行"逆向工程"**。 |
| 22 | + |
| 23 | +- **输入**:Git Diff(代码差异)、Commit History(提交记录) |
| 24 | +- **处理**:通过系统级 Prompt 扮演"技术布道师"角色 |
| 25 | +- **输出**:结构清晰、包含背景、方案和代码亮点的 Markdown 博客 |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +## 工具支持 |
| 30 | + |
| 31 | +这套工作流适用于主流的 AI 编程工具: |
| 32 | + |
| 33 | +**AI IDE** |
| 34 | + |
| 35 | +| 工具 | 规则文件位置 | 特点 | |
| 36 | +|------|-------------|------| |
| 37 | +| Cursor | `.cursorrules` | 项目级规则,自动加载 | |
| 38 | +| Windsurf | `.windsurfrules` | 类似 Cursor 的规则系统 | |
| 39 | +| Kiro | `.kiro/steering/*.md` | 支持条件触发和手动引用 | |
| 40 | +| GitHub Copilot | `.github/copilot-instructions.md` | 仓库级指令 | |
| 41 | + |
| 42 | +**CLI 工具** |
| 43 | + |
| 44 | +| 工具 | 规则文件位置 | 特点 | |
| 45 | +|------|-------------|------| |
| 46 | +| Claude Code | `CLAUDE.md` | 项目级上下文,终端原生体验 | |
| 47 | +| Aider | `.aider.conf.yml` | 支持多模型切换 | |
| 48 | + |
| 49 | +> 不同工具的规则文件格式略有差异,但核心 Prompt 内容是通用的。 |
| 50 | +
|
| 51 | +--- |
| 52 | + |
| 53 | +## 实战配置 |
| 54 | + |
| 55 | +### 第一步:创建规则文件 |
| 56 | + |
| 57 | +根据你使用的工具,在项目根目录创建对应的规则文件。 |
| 58 | + |
| 59 | +以 Cursor 为例,创建 `.cursorrules` 文件;如果使用 Kiro,则创建 `.kiro/steering/blog-generator.md`。 |
| 60 | + |
| 61 | +### 第二步:植入核心 Prompt |
| 62 | + |
| 63 | +将以下内容复制到规则文件中。这是调教 AI 成为"技术博主"的关键指令: |
| 64 | + |
| 65 | +```markdown |
| 66 | +# Role: Tech Blog Architect |
| 67 | + |
| 68 | +你是一位拥有 10 年经验的全栈技术专家兼技术博主。你擅长通过阅读 Git Diff 或代码变更,反向推导开发者的意图,并将枯燥的代码转化为引人入胜的技术文章。 |
| 69 | + |
| 70 | +# Goal |
| 71 | + |
| 72 | +根据用户提供的代码变更(Diff/Commits/Files),撰写一篇结构清晰、深度适中的技术博客或开发复盘。 |
| 73 | + |
| 74 | +# Workflow |
| 75 | + |
| 76 | +1. **Analysis (分析)**: |
| 77 | + - 扫描代码变更,忽略格式化(Lint/Prettier)、单纯的注释修改或依赖版本升级 |
| 78 | + - 识别核心逻辑变更:是否引入了新模式?修复了竞态条件?优化了数据库查询? |
| 79 | + - 推测 "Why":为什么要做这个改动?之前存在什么痛点? |
| 80 | + |
| 81 | +2. **Structure (大纲)**: |
| 82 | + - **Title**: 起一个吸引人的标题(例如:不是 "修改了 Auth.ts",而是 "如何优雅地解决 JWT 续期问题") |
| 83 | + - **The Problem (背景)**: 用通俗语言描述遇到的技术挑战 |
| 84 | + - **The Solution (核心)**: 结合关键代码片段(使用 Diff 对比),解释解决方案。不要贴大段代码,只贴关键行 |
| 85 | + - **Technical Highlights (亮点)**: 指出这段代码中值得学习的设计模式、技巧或算法思想 |
| 86 | + - **Impact (总结)**: 性能提升了多少?开发体验优化了哪里? |
| 87 | + |
| 88 | +3. **Tone & Style (风格)**: |
| 89 | + - 语气:专业但不僵硬,像是在和同事分享经验(使用 "我们" 或 "我") |
| 90 | + - 格式:标准 Markdown,使用引用块 `>` 强调关键概念 |
| 91 | + - 可视化:在合适的地方标注 `[这里建议插入流程图/截图]` |
| 92 | + |
| 93 | +# Constraints |
| 94 | + |
| 95 | +- 如果有 Breaking Change,必须高亮提示 |
| 96 | +- 如果代码包含敏感 Key/Token,在输出中自动打码处理 |
| 97 | +- 输出语言:简体中文(除非用户指定英文) |
| 98 | + |
| 99 | +# Trigger |
| 100 | + |
| 101 | +当用户输入 "生成技术博客" 或 "Generate Blog" 时,执行上述流程。 |
| 102 | +``` |
| 103 | + |
| 104 | +--- |
| 105 | + |
| 106 | +## 使用方法 |
| 107 | + |
| 108 | +配置完成后,你可以通过以下方式触发博客生成。 |
| 109 | + |
| 110 | +### 场景 A:开发刚结束,准备发博客 |
| 111 | + |
| 112 | +这是最常用的场景。当你完成了一个功能模块的开发,但还没有提交(或者刚提交完)。 |
| 113 | + |
| 114 | +**Cursor / Windsurf**: |
| 115 | +1. 按下 `Cmd + I`(Windows `Ctrl + I`)打开 Composer |
| 116 | +2. 输入:`@Git Diff 根据我的代码变更生成技术博客,保存为 docs/blog/draft.md` |
| 117 | + |
| 118 | +**Kiro**: |
| 119 | +1. 在 Chat 中输入:`#Git Diff 生成技术博客` |
| 120 | +2. 或者使用 `#Codebase` 引用整个项目上下文 |
| 121 | + |
| 122 | +**Claude Code**: |
| 123 | +```bash |
| 124 | +claude "根据最近的 git diff 生成技术博客" |
| 125 | +``` |
| 126 | + |
| 127 | +### 场景 B:复盘历史代码 |
| 128 | + |
| 129 | +如果你想复盘上周解决的一个复杂 Bug: |
| 130 | + |
| 131 | +1. 找到对应的 Commit Hash |
| 132 | +2. 输入:`@Commit abc1234 请分析这个提交,写一篇技术复盘` |
| 133 | + |
| 134 | +AI 会在对话框中输出文章,你可以复制到 Notion、掘金或知乎。 |
| 135 | + |
| 136 | +--- |
| 137 | + |
| 138 | +## 进阶技巧 |
| 139 | + |
| 140 | +为了让生成的博客更具个人风格,你可以在对话时添加"修饰语": |
| 141 | + |
| 142 | +### 给老板看(汇报风) |
| 143 | + |
| 144 | +``` |
| 145 | +生成博客,但请侧重于业务价值和稳定性提升,减少代码细节。 |
| 146 | +``` |
| 147 | + |
| 148 | +### 给新人看(教程风) |
| 149 | + |
| 150 | +``` |
| 151 | +生成博客,侧重于最佳实践,详细解释代码中的 Trick,方便新人理解。 |
| 152 | +``` |
| 153 | + |
| 154 | +### 纯记录(日志风) |
| 155 | + |
| 156 | +``` |
| 157 | +输出格式改为 Daily Log,只记录:遇到的 Bug、解决方案、TODO。 |
| 158 | +``` |
| 159 | + |
| 160 | +### 英文输出 |
| 161 | + |
| 162 | +``` |
| 163 | +Generate Blog in English, targeting an international audience. |
| 164 | +``` |
| 165 | + |
| 166 | +--- |
| 167 | + |
| 168 | +## 工具特性对比 |
| 169 | + |
| 170 | +不同工具在处理这类任务时各有优势: |
| 171 | + |
| 172 | +| 特性 | Cursor | Windsurf | Kiro | Claude Code (CLI) | |
| 173 | +|------|--------|----------|------|-------------------| |
| 174 | +| Git Diff 上下文 | ✅ @Git | ✅ 内置 | ✅ #Git Diff | ✅ 自动读取 | |
| 175 | +| 文件直接写入 | ✅ | ✅ | ✅ | ✅ | |
| 176 | +| 规则条件触发 | ❌ | ❌ | ✅ | ❌ | |
| 177 | +| 图形界面 | ✅ | ✅ | ✅ | ❌ 纯终端 | |
| 178 | +| 多文件上下文 | ✅ | ✅ | ✅ #Codebase | ✅ | |
| 179 | + |
| 180 | +--- |
| 181 | + |
| 182 | +## 写在最后 |
| 183 | + |
| 184 | +通过这个配置,我们并没有把写博客的责任完全甩给 AI,而是让 AI 帮我们完成了 **"从代码到自然语言"最耗时的翻译和结构化工作**。 |
| 185 | + |
| 186 | +你需要做的,只是在 AI 生成的基础上,注入你的灵魂——加两句你的个人感悟,放一张系统截图,调整一下标题。 |
| 187 | + |
| 188 | +> 从今天开始,让每一次 git commit 都成为你技术成长的脚印。 |
0 commit comments