事件驱动架构

事件驱动架构是系统组件通过事件的产生、检测、消费和响应来进行交互的设计范式。在 AI Agent 应用中,它是流式输出、工具调用状态同步和多层通信的基础模式。

#tech / dev / pattern #type / concept #status / evergreen #tech / architecture

事件驱动架构的基本原理

事件驱动架构(Event-Driven Architecture)是一种软件设计范式,其中系统组件通过事件的产生、检测、消费和响应来进行交互。

  1. 事件(Event):代表系统中发生的任何重要事情或状态变化,如”任务创建”、“提醒触发”等
  2. 事件生产者(Event Producer):检测或生成事件的组件
  3. 事件消费者(Event Consumer):对事件作出反应的组件
  4. 事件通道(Event Channel):连接生产者和消费者的机制

在Todo和Reminder系统中,事件驱动模型可以将各种类型的任务和提醒统一抽象为”事件”,然后通过事件处理器来执行相应的操作。
这种设计避免了传统轮询(polling)方式的资源浪费,提高了系统效率。

标准化

触发条件

  • 时间触发

流程

用户设置任务(单次、重复) —》 添加到 任务队列
任务时间到 —》 发送相应通知
弹窗模块监听通知 —》 执行弹窗

在 AI Agent 应用中的应用

AI Agent 应用是事件驱动架构的天然场景:

1. 流式输出

LLM 产生 token → 包装成 text_delta 事件 → SSE 推送到前端 → 前端逐字渲染。全链路都是事件驱动。

2. 工具调用状态同步

Agent 调用工具 → 产生 tool_call_start 事件 → 前端展示”正在搜索…” → 工具完成 → 产生 tool_call_result 事件 → 前端更新状态。

3. 多层通信

Python AI Service → Go 后端 → React 前端,每一层都是事件的生产者和消费者。事件契约(Event Contract)定义了事件的格式和语义。

4. Human-in-the-loop

Agent 需要审批 → 产生 interrupt 事件 → 前端展示审批界面 → 用户批准 → 产生 resume 事件 → Agent 恢复执行。

事件驱动 vs 请求-响应

请求-响应事件驱动
模式同步,一问一答异步,持续推送
适用简单 CRUD流式输出、实时通知
AI 场景查询工具列表LLM 流式生成

详见 事件契约, AI 应用流式协议, SSE

创建于 2025/1/1 更新于 2026/7/15