Flink Agents 0.3 版本规划曝光,多项关键特性值得期待!

张开发
2026/4/22 19:08:02 15 分钟阅读
Flink Agents 0.3 版本规划曝光,多项关键特性值得期待!
【Flink Agents 引发热议】相信一直关注 Apache Flink 生态的朋友最近都注意到了 Flink Agents 引发的热议。这是一个全新的 Apache Flink 子项目旨在提供一个开源的 Agent 框架用于构建事件驱动的流式 Agent。【0.2.1 版本发布与 0.3 版本规划】最近Flink Agents 发布了 0.2.1 版本并展示了一个基于该框架构建的 Flink 作业智能运维 Agent充分展现了其在事件驱动领域的潜力。另外社区已经启动了 [0.3 版本的规划讨论](https://github.com/apache/flink - agents/discussions/516)其中涉及的不少功能让开发者倍感期待。为此深入研究了 github 上的讨论、issues 和 PRs整理了 0.3 的 Roadmap以帮助感兴趣的开发者了解发展方向并参与其中。【0.3 版本 Roadmap】根据社区讨论Code Freeze 日期为 2026 年 5 月 31 日预期发布时间为 6 月 15 日。尽管实际的发布时间可能会有所调整但目前规划中的关键特性包括Agent Skills 集成基于 Mem0 的长期记忆后端支持事件日志按类型配置日志级别支持工具调用的参数注入支持跨语言 Action EventsQuickstart 体验增强优化事件日志显示支持跨语言资源的异步执行Durable Excution 增强支持 Python 3.12部分功能不只是停留在讨论阶段已经有社区贡献者提交设计方案或者代码实现[事件日志分级](https://github.com/apache/flink - agents/discussions/552)和 [Quickstart 体验增强](https://github.com/apache/flink - agents/discussions/555)的设计提案已多轮讨论并达成共识。[Agent Skills 集成](https://github.com/apache/flink - agents/discussions/565)和[Mem0 集成](https://github.com/apache/flink - agents/discussions/613)的设计提案已提交正在讨论中。跨语言 Action Events 中的 Event 部分已通过 [PR](https://github.com/apache/flink - agents/pull/561) 提交。Python 3.12 支持已完成。【期待的功能】【Agent Skills 集成】Agent Skills 作为一种轻量级开放格式旨在用专业知识和工作流扩展 AI Agent 能力正被越来越多的产品采纳。以 OpenClaw 为例其成功的一个重要原因就是对 Agent Skills 的支持。一方面Skills 让工作流更稳定高效另一方面用户可以轻松获取组织内或互联网上提供的 Skills从而扩展自己的 Agent 的能力。Flink Agents 最近发布的 Flink 作业智能运维 Demo 概念与 Agent Skills 相似利用 LLM 生成问题描述从向量库检索 SOP再按照 SOP 执行操作。相比 RAGAgent Skills 更轻量。在 Flink 0.3 发布后感兴趣的开发者可以利用 Agent Skills 重构该 Demo。社区已发布集成提案。目前看来其渐进式披露机制的实现与其他框架类似。真正的区别在于 Flink Agents 作为基于 Flink 的分布式框架如何支持在 yarn 或 k8s 集群中提供和分发 Skills是一个值得深思的工程挑战。【Mem0 长期记忆后端】长期记忆是 Agent 上下文管理的关键尤其是对于 7 * 24 小时连续运行、不断消费事件的 Agent而这正是 Flink Agents 的目标场景。在 0.2 版本中Flink Agents 已原生支持长期记忆及一个粗糙的自动压缩机制。实际上这个功能正是开发者开发的。在实现过程中意识到长期记忆管理尤其是压缩极其复杂。在 Flink Agents 内从零构建成熟方案挑战巨大。此外流式 Agent 和对话 Agent 对长期记忆管理的需求差异不大。因此调研了其他 Agent 框架的实现以及一些专门的记忆管理框架最终选择了 Mem0。Mem0 是专为 AI Agent 设计的智能记忆层。通过支持 Mem0 作为后端可以基于开源生态提供更成熟易用的记忆管理能力避免重复造轮子。【持久执行增强】基于 Flink 构建Flink Agents 的天然优势就是容错。Flink 基于 Chandy - Lamport 算法实现了检查点机制允许从 Checkpoint 恢复而无需从头重新消费数据。但问题在于对 Agent 而言仅靠 Checkpoint 恢复不够。从 Checkpoint 恢复会导致该 Checkpoint 后已经处理过的事件被重新消费由于 Agent 频繁调用外部模型和执行动作这可能造成重复调用和重复执行动作。LLM 调用成本高重复执行操作可能有副作用。因此Flink Agents 一直在容错上进行增强0.1 引入了 Action 粒度的一致性利用 Action Store 避免恢复时重放已执行的 Action。0.2 提供了 Durable Execution 接口。用户可利用该接口提交代码片段框架会记录代码片段的返回结果。恢复时若片段已执行完毕则无需重跑进一步缩小了不一致范围。但是问题仍然存在若代码片段在恢复前已开始执行但尚未完成恢复后仍会被重新执行。由于代码片段可能涉及和外部系统的交互如调用 LLM 服务、读写向量数据库仅靠 Flink Agents 无法保证端到端精确一次Exactly - Once语义。这与 Flink Sink 是类似的系统内保证精确一次语义端到端一致性依赖下游外部系统支持幂等或两阶段提交。Flink Agents 要如何解决这一问题这仍是开放问题但一种可能方案是提供 Hook 或回调 API。这将赋予用户根据业务场景自定义逻辑的能力。例如若外部服务支持幂等可配置直接重试或先查询状态再决定。通过这种灵活性Flink Agents 能更好适应真实世界的可靠性需求。【事件日志增强】可观测性对生产级产品至关重要排查过线上故障的朋友对此应该深有体会。对 Agent 框架而言由于 LLM 的不确定性可观测性尤为重要。Flink Agents 基于事件进行 Agent 的编排并支持生成事件日志和在 Flink Web UI 中展示。通过日志用户可深入了解 Agent 的执行过程。根据排查 Flink Agents 问题的经验事件日志确实很有帮助。在最近发布的 Flink 作业智能运维 Demo 中也可以看到日志如何帮助确认 Agent 行为。但要真正生产就绪需继续提升事件日志的易用性。0.3 计划了几项关键增强日志可读性当前日志格式对人不够友好0.3 将支持格式配置。可配置日志级别对于复杂 Agent用户可能只关心部分事件。0.3 将支持按事件类型配置日志级别灵活满足需求。结构化查询随着 Agent 持续运行日志不断累积。支持结构化查询将帮助用户更高效定位信息。对 Flink Agents 的 0.3 版本充满期待。因为这不仅仅是功能的新增更是意味着通过整合这些能力有机会打造一个真正生产级的事件驱动的流式 Agent 框架。【附录】文档网站:Github 仓库:用户 Slack 频道 [#flink - agents - user](https://apache - flink.slack.com/archives/C09KP5YUWE8) 和开发者 Slack 频道 [#flink - agents - dev](https://apache - flink.slack.com/archives/C097QF5HG8J)

更多文章