第 1 课 运维新范式:从脚本到 AI Agent
第 1 课 运维新范式:从脚本到 AI Agent
本课目标
- 理解 AI Agent 与传统运维脚本的本质区别和演进路径
- 认识 Hermes Agent 在 DevOps 场景中的核心能力矩阵
- 明确运维工程师为何需要从"写脚本"升级到"调配 Agent"
关于本书的主角
小周,30 岁,后端工程师兼运维。在一家 10 人小型 SaaS 创业公司 CloudNote(云笔记)工作,作为唯一的后端 + 运维,管理以下基础设施:
服务器:5 台(Hetzner / 阿里云混合)
├── api-01 2C4G 主 API 服务器(Python / FastAPI)
├── api-02 2C4G API 副本(负载均衡)
├── db-01 4C8G PostgreSQL 主库
├── redis-01 2C2G Redis 缓存 + 消息队列
└── nginx-01 2C2G Nginx 反向代理 + SSL
日均请求:50 万+
用户:12 万注册用户
小周的日常痛苦:
- 半夜 3 点被磁盘满告警吵醒
- 手动查日志排查 500 错误,每次 30 分钟起步
- 周末部署出问题却忘了回滚命令怎么写
- 20 多个 Cron 脚本散落各处,改一个怕影响另一个
- 想做安全审计但永远排不上优先级
我们将跟随小周,用 Hermes Agent 把这些痛苦一一解决。
1.1 传统运维的三代工具
第一代:Shell 脚本时代
#!/bin/bash
# check_disk.sh — 小周 2023 年写的
USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ "$USAGE" -gt 80 ]; then
curl -X POST "https://hooks.slack.com/..." \
-d '{"text":"磁盘使用率超过 80%!当前: '$USAGE'%"}'
fi
特点: 一个脚本做一件事。小周有 20+ 个这样的脚本,分散在 5 台服务器上。
第二代:配置管理时代
# Ansible playbook
- name: Check disk usage
hosts: all
tasks:
- name: Get disk usage
shell: df -h / | awk 'NR==2 {print $5}'
register: disk_usage
- name: Alert if high
slack:
msg: "{{ inventory_hostname }}: 磁盘 {{ disk_usage.stdout }}"
when: disk_usage.stdout | replace('%','') | int > 80
进步: 批量管理,但仍然是"预定义规则 → 固定动作"。
第三代:AI Agent 时代
帮我检查所有服务器的磁盘使用率。
如果超过 80%,分析一下是哪些目录占用空间大,
清理掉超过 30 天的日志文件,
然后告诉我处理结果。
质变: 你用自然语言描述意图,Agent 自主判断、执行、处理异常。
三代对比
| 维度 | Shell 脚本 | Ansible/Terraform | Hermes Agent |
|---|---|---|---|
| 交互 | 手动执行 | 命令触发 | 自然语言 |
| 逻辑 | 硬编码 if-else | 预定义模板 | 上下文推理 |
| 异常处理 | 告警→人来处理 | 有限 fallback | AI 自主诊断+处理 |
| 学习成本 | 中 | 高 | 低 |
| 扩展性 | 一脚本一场景 | 模板复用 | 自然语言即扩展 |
| 7×24 值班 | 需要人 | 需要人 | Agent 值班 |
1.2 Hermes Agent 运维能力全景
Hermes Agent 在运维场景中的核心能力:
┌─────────────────────────────────────────┐
│ Hermes Agent 运维大脑 │
├──────────┬──────────┬──────────┬────────┤
│ 终端执行 │ 定时巡检 │ 即时告警 │ 自动修复 │
│ Terminal │ Cron │ Gateway │ Skills │
│ │ │ │ │
│ 执行命令 │ 定时检查 │ 飞书/钉钉 │ 沉淀 │
│ 读日志 │ 采集数据 │ Telegram │ 最佳实践 │
│ 查状态 │ 生成报告 │ 即时通知 │ 一键修复 │
│ 部署代码 │ 健康报告 │ 交互审批 │ 自动执行 │
└──────────┴──────────┴──────────┴────────┘
│ │
│ 记忆系统:SOUL(运维人格) + MEMORY(资产) │
│ 工具链:40+ 内置工具 + MCP 扩展 │
└─────────────────────────────────────────┘
终端后端
| 后端 | 适用场景 | 安全性 |
|---|---|---|
| local | 本机运维 | 高(本地) |
| Docker | 隔离执行 | 高(容器沙箱) |
| SSH | 远程服务器 | 中(需公钥) |
| Daytona | 云开发环境 | 高(云端隔离) |
定时巡检
hermes cron add "health-check" "*/10 * * * *" \
"[SILENT] 检查所有服务器:CPU、内存、磁盘、网络。
只在出现异常时通知我。"
即时告警
通过飞书/钉钉/Telegram 网关,告警直达手机:
🚨 [api-01] 磁盘使用率 92%
原因:/var/log/app 目录 3.2GB 未清理
建议:清理 30 天前的日志(预计释放 2.8GB)
回复 "清理" 立即执行 / "跳过" 忽略
1.3 AI Agent 运维的核心优势
优势一:自然语言 = 万能运维命令
传统方式:
ssh api-01 "du -sh /var/log/* | sort -rh | head -10"
ssh api-01 "find /var/log -name '*.log' -mtime +30 -delete"
ssh api-01 "df -h /"
Agent 方式:
"api-01 的日志目录太大了,帮我清理 30 天前的日志,
然后告诉我释放了多少空间。"
优势二:上下文推理
传统脚本只能按预定义规则执行。Agent 能理解上下文:
你:api-01 响应变慢了,帮我排查一下。
Agent 的推理链:
1. 检查 CPU/内存 → CPU 正常,内存 85%
2. 检查网络延迟 → 正常
3. 检查 PostgreSQL 连接池 → 连接数 95/100!
4. 检查慢查询 → 发现一条全表扫描
5. 结论:数据库慢查询导致连接池打满
Agent:"发现 db-01 上有一条慢查询(2.3s),
导致 API 连接池接近满载。
建议:为 notes 表的 user_id 列添加索引。
需要我执行吗?"
优势三:知识积累
每次运维操作的经验都沉淀为 Skill:
hermes skills save "disk-cleanup" \
"检查磁盘 → 定位大文件 → 清理日志 → 验证空间"
下次遇到同类问题,一句话调用:
用 disk-cleanup 技能帮我清理 api-01。
1.4 真实案例:一个 Agent 替代 20 个 Cron 脚本
小周引入 Hermes Agent 前后对比:
之前:20 个 Cron 脚本
# 散落在 5 台服务器的 crontab 中
*/5 * * * * /opt/scripts/check_disk.sh
*/10 * * * * /opt/scripts/check_cpu.sh
0 * * * * /opt/scripts/check_pg_connections.sh
0 2 * * * /opt/scripts/backup_db.sh
0 3 * * * /opt/scripts/cleanup_logs.sh
0 4 * * 1 /opt/scripts/security_scan.sh
# ... 还有 14 个 ...
# 问题:版本不一致、无统一告警、无上下文、无法联动
之后:Hermes Agent 统一管理
# 全部在 Hermes 中集中管理
hermes cron list
┌────┬──────────────────┬──────────────┬────────┐
│ ID │ Name │ Schedule │ Status │
├────┼──────────────────┼──────────────┼────────┤
│ 1 │ health-check │ */10 * * * * │ Active │
│ 2 │ daily-report │ 0 9 * * * │ Active │
│ 3 │ db-backup │ 0 2 * * * │ Active │
│ 4 │ log-cleanup │ 0 3 * * * │ Active │
│ 5 │ weekly-security │ 0 4 * * 1 │ Active │
│ 6 │ deploy-notify │ on-trigger │ Active │
└────┴──────────────────┴──────────────┴────────┘
关键区别:
- 20 个脚本 → 6 个 Cron 任务(Agent 一个任务可以做多步检查)
- 5 台服务器分散管理 → 一个 Agent 统一管控
- 只报告问题 → 报告 + 诊断 + 建议修复 + 等待审批
1.5 本书学习路径
Week 1:基础 + 监控(第 1-4 课)
安装 → 终端配置 → 健康巡检 → 告警链路
Week 2:日志 + CI/CD(第 5-6 课)
日志分析 → 构建/测试/部署自动化
Week 3:数据库 + 安全(第 7-8 课)
备份/慢查询 → 漏洞扫描/审计
Week 4:进阶 + 生产(第 9-12 课)
多服务器 → 自定义 Skill → MCP 集成 → 安全加固
动手练习
- 列出你的运维清单:写下你当前运维中最耗时的 5 个重复任务
- 估算时间:每个任务每周耗费多少时间
- 标记优先级:哪些任务最适合交给 AI Agent
| 任务 | 频率 | 每次耗时 | 周总耗时 | Agent 适合度 |
|------|------|---------|---------|------------|
| 例:查日志 | 每天 3 次 | 20min | 7h | ★★★★★ |
| ... | | | | |
本课小结
| 要点 | 内容 |
|---|---|
| 工具演进 | Shell → Ansible → AI Agent(自然语言+推理) |
| 核心能力 | 终端执行 + 定时巡检 + 即时告警 + 自动修复 |
| 最大优势 | 上下文推理——不是机械执行,而是理解意图 |
| 知识积累 | 每次运维经验沉淀为 Skill |
下一课预告
第 2 课:快速上手——安装 Hermes Agent,配置 Docker / SSH 终端后端
我们将在小周的运维服务器上安装 Hermes Agent,配置 Docker 隔离沙箱和 SSH 远程执行,实现第一个 AI 代理的终端命令执行。