运维转大模型:用一次交付过程做复盘

发布时间:2026/9/11 5:21:28

运维转大模型:用一次交付过程做复盘 聊《我用运维经验做了次 AI 项目最先失效的是旧方法》之前先说一句实在的别急着背概念先看它在真实项目里到底解决什么问题。摘要先把这篇文章的目标说清楚看完之后你应该能判断这件事值不值得做以及从哪里动手。上周复盘团队里两个做 AIOps Agent 的项目发现一个有意思的现象那些 Prompt 写得花里胡哨、能完美生成代码的 Demo上线第一天就崩了反而是两个 Prompt 平平无奇但在权限控制和日志追踪上死磕到底的项目稳稳扛住了第一次大促流量。我们这帮搞运维出身的人总有一种惯性思维——觉得自动化就是“脚本执行”。以前写 Shell 或 Python只要逻辑对跑起来就行。现在搞 LLM Agent大家第一反应是优化 System Prompt让模型更聪明。但在生产环境“聪明”不如“靠谱”。对于小团队或者资源有限的场景过度设计 Agent 的推理能力是陷阱把边界条件权限、审批、回滚和可观测性日志、审计做扎实才是从 Demo 走向生产的唯一路径。目录运维能力的迁移从“确定性”到“概率性”的控制日志分析不仅是搜索更是上下文构建自动处置 Agent敢让 AI 动手的前提是“后悔药”安全与审批小团队的“权限墙”总结回归工程本质运维能力的迁移从“确定性”到“概率性”的控制很多人觉得运维转大模型有天然优势因为我们都懂基础设施、懂网络、懂数据库。但这个优势是有代价的。运维的核心是确定性输入 A必须得到 B如果出错必须有明确的 Error Code。而大模型的本质是概率性同样的输入每次生成的内容可能微调甚至出现幻觉。我的第一个教训是不要试图用 Prompt 去解决所有逻辑问题。在一次尝试用 Agent 自动清理过期日志的任务中我最初让模型直接判断哪些文件该删。结果模型为了“节省空间”误删了一些正在被监控采集器读取的软链接。虽然没丢数据但告警响了半小时。后来我改了思路Agent 不做最终决策只做建议。1. Agent 扫描日志目录输出候选列表。2. 一个确定的 Python 脚本负责权限校验是否在生产环境是否被占用。3. 人类或审批流确认。4. 执行删除。这种“人机协同”或“LLM 确定性代码”的模式才是运维工程师最该掌握的。我们不是要取代过去的自动化脚本而是要把 LLM 作为一个强大的“意图理解器”把它的输出限制在我们的安全护栏内。日志分析不仅是搜索更是上下文构建在传统的 SRE 工作中我们看日志靠grep、awk或者 ELK/Kibana 的可视化。现在有了 LLM我们可以让模型做“初筛”和“聚合”。但这里有个巨大的坑Token 成本和上下文窗口。不要直接把几 GB 的原始日志扔给模型。你需要建立一套预处理机制。实战案例告警归因中的日志清洗假设我们要排查一个 CPU 飙升的告警。传统做法是导出最近 1 小时的所有日志人工看。现在我们的 Agent 流程是这样的1. 粗过滤用轻量级脚本提取关键字段时间、级别、模块压缩日志体积。2. 向量化检索将压缩后的日志片段存入向量库通过语义相似度召回相关片段。3. LLM 聚合将召回的片段发给 LLM让它找出共性模式。# 简化版日志处理管道 def prepare_logs_for_llm(raw_log_lines): 不要直接传 raw log 这里需要结合业务标签进行结构化 structured_data [] for line in raw_log_lines: # 假设我们有简单的正则提取 match parse_log_line(line) if match: structured_data.append({ timestamp: match.time, level: match.level, service: match.service, # 只保留关键异常堆栈忽略 DEBUG 信息 trace: match.exception_trace[:500] if match.exception else None }) return json.dumps(structured_data, ensure_asciiFalse) # 发送给 LLM 的内容经过严格裁剪 llm_context prepare_logs_for_llm(last_hour_logs) response llm_client.chat( system_prompt你是一个资深后端专家请分析以下日志中的异常模式..., messages[{role: user, content: llm_context}] )注意代码中的exception_trace[:500]。在实际生产中很多报错堆栈长达数千行全部传入不仅浪费 Token还会稀释模型对核心错误信息的注意力。做减法是运维工程师的本能也是 Agent 有效性的关键。自动处置 Agent敢让 AI 动手的前提是“后悔药”说到自动处置很多同行问我“能不能让 Agent 直接重启服务”我的回答是可以但必须加“熔断”和“审计”。在大模型应用中最危险的不是它做错了而是它不知道自己做错了并且没有留下痕迹。我们团队内部有一个硬性规定任何涉及写操作Write/Delete/Restart的 Agent 动作必须在数据库中记录一条“预执行审计日志”状态为 PENDING只有在人类确认或规则引擎放行后才能变更为 EXECUTED。这不仅是为了安全更是为了后续的可观测性。当 Agent 搞砸了我们需要知道1. 它当时看到了什么上下文2. 它做出的决策依据是什么Prompt 版本历史对话3. 它执行的命令参数是什么如果没有这些日志排查一次 AI 故障的成本可能比故障本身还高。安全与审批小团队的“权限墙”大厂有完善的 IAM 系统但小团队怎么办别指望 LLM 能懂复杂的企业级 RBAC 模型。最简单有效的办法是将权限校验逻辑外置。不要让 Agent 自己去判断“我能不能删这个库”。而是提供一个 API 接口Agent 调用这个接口时接口内部硬编码了权限校验逻辑。app.post(/execute-operation) async def execute_operation(op_type: str, params: dict): # 1. 验证用户身份JWT user verify_jwt(request.headers) # 2. 硬编码权限检查 - 这是 Agent 无法绕过的“墙” if op_type DELETE_DB and user.role ! DBA_ADMIN: raise PermissionDenied(No permission to delete database) # 3. 如果通过才允许 Agent 继续下一步 # 这里其实应该是一个审批流或者双人复核 await log_audit(user.id, op_type, params) # 4. 通知 Agent 可以继续执行 return {status: approved}这种设计看似笨拙但它确保了安全性不依赖于 LLM 的指令遵循能力。无论 Prompt 怎么变权限墙始终在那里。这对于快速迭代的 AI 项目来说是最稳妥的底线。总结回归工程本质从运维转大模型我们最大的误区是把 LLM 当成“魔法”。但实际上它只是一个更擅长处理模糊文本的组件。真正的竞争力不在于你能写出多复杂的 Prompt而在于你能否构建一个鲁棒的系统工程1. 日志先行在写 Agent 之前先设计好怎么记录它的每一次思考和行动。2. 权限隔离永远不要信任模型的自我约束用代码强制限制其能力边界。3. 小步快跑先从辅助分析做起再逐步放开自动处置的权限。当你不再纠结于“如何让模型更聪明”而是专注于“如何让系统更安全、更可观测”时你就真正完成了从运维到 AIOps 工程师的蜕变。Demo 跑得通只是热身能解释失败、能兜住风险才是生产环境的生存之道。资料展示下面是我整理的AI大模型学习资料和工具包预览适合收藏后按主题逐步学习。如果你想看完整资料目录可以在评论区留言「资料」也欢迎告诉我你更关注AI大模型里的哪类内容。
延伸阅读

更多相关文章

2026/9/10 21:37:42

鸿蒙应用开发:@Provider 与 @Consumer 跨组件双向同步详解

文章目录一、引言二、核心概念三、关键用法要点四、示例五、使用别名六、注意事项七、总结这是一个使用鸿蒙技术开发的本地原生记账应用,非常适合大家用来练手。相关源码已上传至 Github,点击此处查看项目。欢迎大家交流、指正,也欢迎提交 PR…

2026/9/5 12:24:27

Python 宏观经济实证 · 时空演进机制分析 (1)

一、地理探测器模型地理探测器 是由中国科学院王劲峰团队提出的一组探测空间分层异质性、揭示其背后驱动因子的统计学方法。核心假设是:若某个自变量对因变量有重要影响,则二者的空间分布应具有相似性;若研究区分层后的层内方差之和小于全区总…

2026/9/10 23:11:00

把代码库探索交给 Claude Code Subagent,主会话才不会被文件读取拖垮

在一个稍微大一点的仓库里追一个 auth token refresh 问题,很容易把 Claude Code 的主会话塞满。读一个 interceptor,顺手打开 session manager,再追到 OIDC callback,继续翻 refresh token 的过期策略,日志、测试、配置文件、环境变量说明一起进来。真正要改的可能只有两…

2026/9/11 5:20:25

《龙珠Z》第184集数字修复与收藏价值解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/11 5:20:24

用提示词工程降低论文AIGC检测率:实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/11 5:20:24

SpringBoot+Vue3民宿预约系统架构与优化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 16:39:38

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码