第 1 课:这个助手能干嘛?
一句话概括
一个 AI 驱动的命令行工具,能帮你自动审查代码、跑测试、分析日志、管理部署,而且你能精确控制它"什么能做、什么不能做"。
它能解决什么问题?
做开发运维的同学,每天的工作充满了重复劳动:
日常工作:
✅ 代码审查 —— 看 PR、找 bug、提建议
✅ 跑测试 —— 执行测试、分析失败原因
✅ 看日志 —— 在几百行日志里找错误
✅ 配置管理 —— 检查配置文件有没有问题
✅ 部署操作 —— 跑部署脚本、验证部署结果
✅ 健康检查 —— 检查服务是否正常运行
这些事情,AI 都能帮你做。但有一个关键问题:AI 直接操作服务器,你放心吗?
不放心。所以这个助手的核心不只是"让 AI 干活",还有"让 AI 安全地干活"。
五大核心能力
graph TD
A["DevOps AI 助手"] --> B["能力 1:一键自动化(query)"]
A --> C["能力 2:自定义工具(MCP Server)"]
A --> D["能力 3:安全管控(Hooks)"]
A --> E["能力 4:交互式调试(ClaudeSDKClient)"]
A --> F["能力 5:多角色协作(Agents)"]
B --> B1["帮我跑一下测试 → AI 执行 pytest 并分析结果"]
C --> C1["把你的内部 API 包装成 AI 可以调用的工具"]
D --> D1["拦截 rm -rf、记录所有操作、自动审批安全命令"]
E --> E1["像和同事聊天一样:看看日志 → 帮我修一下"]
F --> F1["代码审查员 + 测试员 + 部署员并行工作"]
使用场景举例
场景一:CI/CD 自动化
# 一行代码,AI 帮你跑完整个 CI 流程
async for msg in query(
prompt="跑一下测试,如果全部通过就生成部署包",
options=ClaudeAgentOptions(
allowed_tools=["Bash", "Read", "Write"],
system_prompt="你是 CI/CD 助手..."
)
):
print(msg)
场景二:代码审查
# 定义一个代码审查 Agent
options = ClaudeAgentOptions(
agents={
"code-reviewer": AgentDefinition(
description="审查代码质量",
prompt="你是代码审查专家,检查 bug、性能、安全问题...",
tools=["Read", "Grep"],
model="sonnet",
)
}
)
场景三:安全运维
# 用 Hook 拦截危险命令
async def safety_hook(input_data, tool_use_id, context):
command = input_data["tool_input"].get("command", "")
if "rm -rf" in command:
return {"hookSpecificOutput": {
"hookEventName": "PreToolUse",
"permissionDecision": "deny",
"permissionDecisionReason": "危险命令已拦截"
}}
return {}
SDK 能力地图
Claude Agent SDK (Python) 提供了五大模块,每个模块对应一课:
graph TD
Q["query() — 第 3 课:一次性任务"] --- Q1["简单、高效、适合脚本"]
T["@tool + MCP Server — 第 4 课:自定义工具"] --- T1["把任何 Python 函数变成 AI 的工具"]
H["Hooks — 第 5 课:安全管控"] --- H1["拦截、审计、自动审批"]
C["ClaudeSDKClient — 第 6 课:交互式会话"] --- C1["多轮对话、权限升级、文件回滚"]
AG["AgentDefinition — 第 7 课:多 Agent"] --- AG1["角色分工、并行执行、协同工作"]
这套教程和前面的有什么不同?
前面的教程(智能研究、文档工厂、Excel 工具)主要讲的是用 AI 生成内容——搜索信息、写代码、生成文件。
这套教程讲的是用 AI 执行操作——跑命令、改配置、做部署。这带来了一个核心挑战:
生成内容(之前):AI 写错了,大不了重写
执行操作(现在):AI 操作错了,可能删库跑路
所以这套教程的重点不只是"怎么让 AI 干活"
更重要的是"怎么让 AI 安全地干活"
这就是为什么 Hooks(安全管控)和权限系统在这套教程里占了很大篇幅。
本课小结
- DevOps 助手能自动化代码审查、测试、日志分析、部署等开发运维工作
- SDK 提供五大核心能力:query、MCP、Hooks、Client、Agents
- 核心挑战:不只是让 AI 干活,还要让 AI 安全地干活
- 用 Python 编写,适合和现有 DevOps 工具链集成
课后思考
想想你团队里哪些日常工作最适合 AI 来做?有哪些操作需要"人工确认"才能执行?