惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
The Cloudflare Blog
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
C
Check Point Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
V
V2EX
F
Fortinet All Blogs
B
Blog
大猫的无限游戏
大猫的无限游戏
N
Netflix TechBlog - Medium
B
Blog RSS Feed
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12)
Event-Driven Agent 实战:Prometheus 告警 → LLM → Tool Cal...
it排球君 · 2026-06-16 · via 博客园_首页

前言

本文主要描述Event-Driven开发中的ReAct模式,并且使用一个demo,彻底搞懂怎么在实际工作中使用Event-Driven模式

话不多说,我们开始

代码结构

代码地址

.
├── agent.py       # EventDrivenAgent 主逻辑,负责接收事件、调用 LLM、执行工具
├── event_bus.py   # 极简事件总线,负责发布事件和消费事件
├── main.py        # 程序入口,启动事件循环,并模拟 Prometheus 告警
└── tools.py       # 工具注册中心,定义查询 Pod、查询日志、重启服务三个工具

代码解析

  • event_bus.py,这里用的是 Python 标准库里的 queue.Queue,主要就是模拟从消息队列读取消息

  • main.py,模拟从消息队列中取出警告

    event = {
        "alert_name": "HighErrorRate",
        "service": "order-service"
    }
    
    publish_event(event)
    

    只要队列里来了新事件,它就取出来,然后交给 agent.handle_event(event) 处理

  • tools.py,定义了三个工具

    • 查 Pod 状态:
    def query_pod_status(service):
        print(f"[Tool] 查询 Pod 状态: {service}")
        return f"{service} 有 2 个 Pod CrashLoopBackOff"
    
    • 查服务日志:
    def query_logs(service):
        print(f"[Tool] 查询日志: {service}")
        return "数据库连接超时 timeout"
    
    • 重启服务:
    def restart_service(service):
        print(f"[Tool] 重启服务: {service}")
        return f"{service} 已成功重启"
    

    同时把工具注册到 _TOOL_REGISTRY 里 ,生成一份 function calling 需要的工具 schema

  • agent.py,这是与llm打交道的部分

    • 调用工具,拿到对应的数据发给llm,llm思考之后返回结果
    • 在根据结果判断进行下一步

执行链路

cover

Event-Driven 的特点

以上代码分析之后,其实Event-Driven本质就是:事件驱动+ReAct

模式 关注点 典型链路 适合场景 主要风险
ReAct 边推理边行动 Thought → Action → Observation → Final 排障、检索、代码修改、需要不断补充事实的任务 循环不可控,工具调用次 数和 token 成本容易升高
Event-Driven 由事件触发处理 Event → Queue → Handler → Tools → Result 告警处理、消息消费、工单流转、CI/CD、业务事件自动化 需要 处理幂等、重试、并发、审计和自动动作风险

Event-Driven 最适合的场景

  • 告警处理,这是最适合的应用场景了,通过告警回调触发

  • 事件驱动的相关事件

    • Pod CrashLoopBackOff
    • 磁盘使用率超过 90%
    • 证书即将过期
    • 任务执行失败
    • 服务发布完成

而通常一个成熟的 aiops agent 可能是这样:

Prometheus 告警事件触发 Agent           # Event-Driven
  ↓
Agent 先生成排查计划                    # Plan-and-Execute
  ↓
执行过程中根据日志和指标不断调整判断    # ReAct
  ↓
需要恢复动作时走审批或白名单            # Guardrail
  ↓
输出结论并写入工单 / 通知群             # Workflow

总结

Event-Driven 最适合告警处理、自动化运维、业务事件、CI/CD、工单流转这类场景。它可以和 ReAct、Plan-and-Execute 组合使用:Event-Driven 负责触发,ReAct 负责边查边判断,Plan-and-Execute 负责长任务规划

联系我

  • 联系我,做深入的交流

至此,本文结束

在下才疏学浅,有撒汤漏水的,请各位不吝赐教...