背景:一个程序员的决定

我有台腾讯云服务器,上面跑着我的 AI 助手 Hermes。最近想搭个博客写点东西,按老路子:查文档 → 装环境 → 抄配置 → 反复试错,一个周末就没了。

这次我决定换个玩法:把部署这件事,完整地交给 AI。

提示词长什么样

核心思路是把一段部署任务写成"规格说明书",而不是"对话"。关键要素:

1
2
3
4
5
1. 明确范围:只做环境搭建,不生成、不发布任何文章
2. 逐条步骤:安装 → 建站 → 主题 → 配置 → 部署脚本 → 冒烟测试
3. 硬约束:sudo可用但不做全量升级;预览只绑127.0.0.1
4. 禁令清单:不碰指定目录、不改无关配置、不起常驻进程
5. 验收清单:每一步的产出物和自检项

这份"说明书"发出去之后,AI 做了什么?

AI 实际做了什么

整个过程我只发了一条消息,剩下的全是它自己跑:

  1. 环境探测:先查自己是什么用户、网络通不通、工具装没装——像人类工程师接到任务先摸环境
  2. 下载安装 Hugo:GitHub 直连断流,它自动切换镜像源,下了 3 个镜像才成功
  3. 版本踩坑:最新主题要求 Hugo ≥ 0.146,而最新 Hugo 0.152 又要求 glibc ≥ 2.32(系统只有 2.31),它自动降级到 0.146.0,刚好同时满足两边
  4. Git Submodule 修复:submodule 添加失败后,它自己重建仓库、补 commit、重新注册
  5. 冒烟测试:构建、部署、验证产物,输出自检清单

全程零人工干预。中途有一步它的删除操作触发了安全确认,我回了个"确认删除",其余时间我都在干别的。

挂载与发布

博客建好后,我又说了一句"按你的想法挂到 nginx 上",它:

  • 备份 nginx 配置 → 加 location /blog/ → 语法检查 → 平滑重载
  • 第一次测试发现 CSS 404(正则 location 抢了前缀 location 的流量),自己定位、自己修、复测通过
  • 验证了博客、原有站点、HTTPS 证书三件事都没被影响

然后我让它写这篇文章,发布,你现在看到的就是结果。

思考:部署这件事,变天了

这件事给我的触动比博客本身大。

从"操作机器"到"描述意图"

传统部署,我们的工作对象是命令和配置文件:背参数、抄文档、改一行测一次。现在的对象变成了意图和约束:我要什么、不要什么、边界在哪。

你会发现写好提示词的功夫,和写好运维手册的功夫是同一种功夫——只是消费者从"实习生"变成了"AI"。

验收思维比执行思维更重要

AI 时代,执行成本趋近于零,判断力成了稀缺资源。这次任务里最有价值的不是那些命令,而是:

  • “不做全量升级”(防止它顺手 apt upgrade 搞挂环境)
  • “只绑 127.0.0.1”(防止预览服务暴露公网)
  • “不碰 weekly-review 目录”(防止误伤已有服务)

约束写得越清楚,结果越可控。 这和带新人是一个道理,只是 AI 执行得更快,错得也更快,所以围栏必须更明确。

安全模型也要升级

有意思的是,这次 AI 在删除文件时主动停下来要我确认——因为之前我给它立过规矩:删除必先问,改文件先备份。这相当于给 AI 配了一套"变更管理流程"。

以前我们防的是人误操作,现在还要防 AI 过度自信。信任但要确认(trust but verify)从管理原则变成了技术架构。

试错成本的重定价

镜像断流、glibc 版本冲突、CSS 404——搁以前任何一件都够我折腾半小时。现在 AI 用几分钟的自动重试和降级搞定了,而且每次修改前都留了备份。

当试错变便宜,就该把决策前置、把验证做厚:验收清单(自检项)就是新的"测试用例"。

写在最后

这篇博客本身就是一次演示:从提示词 → 环境搭建 → 挂载上线 → 文章发布,一条链路全程 AI 完成,人只负责三件事:定边界、给确认、验结果。

AI 时代,部署测试的方法升级了,本质上是一次分工转移:

以前现在
人的工作敲命令、抄配置写规格、定约束、验结果
工具手册 + 终端提示词 + Agent
核心能力记得住参数说得清意图
安全保障小心谨慎制度化的确认与备份

机器越来越会干活,人越来越像架构师。转换思路,把自己从执行者挪到设计者的位置上——这是这半天折腾给我的最大收获。


本文由人类口述意图,AI(Hermes)执行部署并起草,人类审核定稿。