原文: My AI Adoption Journey by Mitchell Hashimoto
作者: Mitchell Hashimoto(Vagrant、Terraform、Vault 等工具的创始人)
整理: AI 工具实践总结


前言

Mitchell Hashimoto 是 HashiCorp 的创始人,开发了 Vagrant、Terraform、Vault 等一系列影响深远的 DevOps 工具。作为一名资深工程师和工具制造者,他对 AI 的采用历程具有很强的参考价值。

他将自己的工具采用经历归纳为三个阶段:

  1. 低效期 - 新工具用起来比原来还慢
  2. ** adequacy 期** - 能达到和原来差不多的效率
  3. 变革期 - 工具彻底改变工作方式

这篇文章记录了他如何从 AI 怀疑者变成重度用户的过程。


第一阶段:扔掉聊天机器人

核心观点

不要用 ChatGPT 网页版做正经工作。

Chatbot 有价值,但在编码场景下效率很低:

  • 你只能靠运气希望它基于训练数据给出正确结果
  • 纠正错误需要人类反复告诉它哪里错了
  • 在 Brownfield 项目(已有代码库)中表现很差

Mitchell 的”哇”时刻

他把 Zed 编辑器的命令面板截图发给 Gemini,让它用 SwiftUI 复现。结果 Gemin 在几秒内完成得非常好——现在 Ghostty 终端的 macOS 命令面板基本就是基于那个版本微调的。

关键转折

要真正获得价值,必须使用 Agent(代理):

  • 能聊天的 LLM
  • 能循环调用外部工具
  • 至少具备:读文件、执行程序、发起 HTTP 请求的能力

第二阶段:复现自己的工作

Mitchell 开始使用 Claude Code,但起初并不满意:

  • 生成的代码总需要手动修改
  • 感觉比自己写还慢

他的训练方法

强迫自己用 Agent 复现所有手动提交。

他 literally 把工作做两遍:

  1. 手动完成工作
  2. 不让 Agent 看到手动方案,尝试让它生成质量和功能相同的代码

这个过程很痛苦,但让他形成了深刻的理解:

最佳实践 说明
拆分任务 把会话拆分成清晰、可操作的小任务,不要试图”一口气画完猫头鹰”
规划 vs 执行分离 模糊需求时,先做规划会话,再做执行会话
给验证手段 如果给 Agent 验证工作的方法,它通常能自己发现并修复错误

重要认知

知道什么时候不用 Agent 也是效率的一部分。 用 Agent 做它很可能失败的事是浪费时间。


第三阶段:下班前的 Agent

策略

每天最后 30 分钟启动一个或多个 Agent,让它在你无法工作的时间里继续产出。

有效的任务类型

  1. 深度研究 - 调研某个领域的所有库,按许可证类型筛选,生成多页对比报告
  2. 并行探索 - 把模糊想法丢给多个 Agent 同时尝试,第二天看哪个方向有潜力
  3. Issue/PR 分类 - 用脚本并行启动多个 Agent 分类 Issues,生成次日待办优先级报告(不让 Agent 直接回复)

效果

下班前通常已经疲惫、难以进入心流,把这段时间用来启动 Agent,第二天早上能获得”暖启动”,比往常更快进入工作状态。


第四阶段:外包”稳拿分”的任务

策略

筛选出 Agent 几乎一定能做好的任务,让它在后台运行,自己去做其他深度思考的工作。

重要规则

关闭 Agent 的桌面通知!

  • 上下文切换成本极高
  • 应该由人控制何时检查 Agent,而不是让 Agent 打断人
  • 在自然休息时切过去看一眼,然后继续自己的深度工作

技能形成的权衡

Anthropic 有篇论文说用 AI 辅助会降低技能形成。Mitchell 的应对:

  • 把不想做的任务外包给 Agent
  • 继续手动做自己热爱的任务,自然形成技能

第五阶段:工程化 Harness(工具链)

核心理念

Harness Engineering - 每当发现 Agent 犯错,就工程化解决方案让它永远不再犯。

两种形式

1. 更好的隐式提示(AGENTS.md)

对于简单错误(如反复运行错误命令、找错 API),更新 AGENTS.md。

Ghostty 的 AGENTS.md 示例 - 每一行都对应一个曾出现的坏行为,更新后基本解决了所有问题。

2. 实际编程的工具

  • 截图脚本
  • 过滤测试运行器
  • 配合 AGENTS.md 告诉 Agent 这些工具存在

第六阶段:永远有一个 Agent 在运行

目标

如果 Agent 没在运行,就问自己:“现在有什么任务可以让 Agent 帮我做吗?”

搭配慢模型

特别喜欢配合 Amp 的 Deep Mode(本质是 GPT-5.2-Codex),虽然小改动可能要 30 分钟,但结果通常非常好。

现状

目前大约 10-20% 的工作日能有效保持后台 Agent 运行,正在努力提升。

重要原则:不是为了运行而运行 Agent,只在没有它也能真正有帮助时才运行。这倒逼自己改进工作流,确保总有高质量任务可委派——这本身也是好事!


总结:Mitchell 今天的状态

通过这段旅程,Mitchell 认为:

  • 他对现代 AI 工具取得了成功
  • 他对 AI 的态度是务实的,不关心 AI 是否会长期存在
  • 他只是想作为软件工匠,出于对技术的热爱而造东西

他的立场

  • 没有利益相关(不为 AI 公司工作、投资或顾问)
  • 完全尊重任何人关于使用 AI 的个人决定
  • 特别是初级工程师,如果基础不牢就用 AI,技能形成问题让他深感担忧

我的收获

  1. Agent > Chatbot - 能调用工具的 Agent 才是真正的生产力工具
  2. 训练需要投入 - 要像训练实习生一样训练 Agent,前期投入后期收益
  3. 任务分类 - 识别”稳拿分”的任务外包,保留深度思考给自己
  4. 工具链建设 - 每次犯错都是改进 Harness 的机会
  5. 异步工作 - 让 Agent 在你无法工作时继续产出

“如果你不能为过去的自己感到尴尬,你可能没有在成长。”
— Mitchell Hashimoto