第 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 集成 → 安全加固

动手练习

  1. 列出你的运维清单:写下你当前运维中最耗时的 5 个重复任务
  2. 估算时间:每个任务每周耗费多少时间
  3. 标记优先级:哪些任务最适合交给 AI Agent
| 任务 | 频率 | 每次耗时 | 周总耗时 | Agent 适合度 |
|------|------|---------|---------|------------|
| 例:查日志 | 每天 3 次 | 20min | 7h | ★★★★★ |
| ... | | | | |

本课小结

要点 内容
工具演进 Shell → Ansible → AI Agent(自然语言+推理)
核心能力 终端执行 + 定时巡检 + 即时告警 + 自动修复
最大优势 上下文推理——不是机械执行,而是理解意图
知识积累 每次运维经验沉淀为 Skill

下一课预告

第 2 课:快速上手——安装 Hermes Agent,配置 Docker / SSH 终端后端

我们将在小周的运维服务器上安装 Hermes Agent,配置 Docker 隔离沙箱和 SSH 远程执行,实现第一个 AI 代理的终端命令执行。