Framework
apache/flink-agents avatar
apache/flink-agents

Apache Flink Agents: An Agentic AI Framework Built on Flink Stream Processing

Flink Agents is an Agentic AI framework based on Apache Flink

459 stars171 forksJavaApache-2.0

At a glance

What is it?
Apache Flink Agents is an early-stage Java and Python framework that brings agentic AI orchestration to the Apache Flink runtime, aiming to combine stateful stream processing with multi-step agent coordination in a single distributed system.
Who is it for?
Apache Flink Agents is worth watching for teams already invested in Apache Flink who want to add agent orchestration without adopting a separate runtime, but the project is in active early development with no stable release yet. The README does not yet document agent creation patterns or API usage beyond build instructions; teams wanting to start building should consult the official documentation at nightlies.apache.org/flink/flink-agents-docs-main.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Flink Agents Adds to Apache Flink

Apache Flink is an open-source distributed stream processing framework from the Apache Software Foundation. It processes continuous data streams with stateful computation, fault tolerance, and horizontal scaling as its core strengths. Flink Agents extends that runtime with agentic AI: the ability to orchestrate multi-step, LLM-driven reasoning within the same distributed system that processes the underlying data streams.

The combination targets a specific gap. Existing agentic AI frameworks run outside the data layer and need custom connectors to reach streaming sources. Flink Agents positions agent execution as a first-class concern inside Flink itself, where state management, exactly-once semantics, and distributed coordination are already available without additional infrastructure.

The repository is hosted under the apache organization on GitHub and follows Apache governance. It carries an Apache-2.0 license, a CONTRIBUTING.md guide, community Slack channels, and a weekly public synchronization meeting. The project was active as of its last push on 2026-09-28.

Repository Structure and Dual-Language Architecture

The repository contains both Java and Python components. The top-level layout shows pom.xml at the root, confirming the Java side is a Maven project. The python/ directory holds the Python wheel package. The build script ties both together: it compiles the Java side, then installs the resulting dist jar into the Python wheel.

Other directories visible in the repository include api/, which suggests a defined API surface; runtime/, which likely holds the core agent execution engine; integrations/, for connectors to external systems; examples/, for working code samples; and e2e-test/, for end-to-end test coverage. The docs/ directory and the external documentation site at nightlies.apache.org/flink/flink-agents-docs-main are where detailed usage information lives.

The presence of plan/ and code_review.md in the repository root alongside contribution-guides/ and review-guides/ reflects an Apache Software Foundation project structure where governance documents and process guides are maintained alongside the code. This is a governance signal: the project has formal processes for contributions and changes, which typically means stability of process even when the API is still evolving.

Building Flink Agents from Source

Flink Agents has no stable release and must be built from source. The README lists the prerequisites:

- Unix-like environment (Linux, macOS, Cygwin, or WSL) - Git - Maven - Java 11 or newer - Python 3.10, 3.11, or 3.12

The build starts with cloning the repository:

shell
git clone https://github.com/apache/flink-agents.git

A single build script handles both the Java and Python parts and installs the resulting Flink-Agents dist jar into the Python wheel package:

shell
./tools/build.sh

The README does not provide instructions for installing the Python package after the build completes or for configuring a Flink cluster to run agents. For those steps, the official documentation at nightlies.apache.org/flink/flink-agents-docs-main is the intended reference. The README is a build guide, not a usage guide.

Community Channels and Contribution Process

Apache Flink Agents participates in the broader Apache Flink community infrastructure. Two Slack channels are available: #flink-agents-user for end-user questions and troubleshooting, and #flink-agents-dev for development discussion. Both are accessible through the Apache Flink Slack workspace, which the README links to via the Flink community page.

A weekly online synchronization meeting is open to anyone. The schedule, upcoming agenda, and records of past meetings are maintained in a GitHub Discussions page linked from the README. This is a common Apache project pattern for maintaining public accountability about the project's direction.

Contributions follow the process in .github/CONTRIBUTING.md. The repository includes AGENTS.md and CLAUDE.md files, which are prompts or instructions for AI coding assistants working in the repository. Their presence is consistent with a project that actively uses AI tools for development.

Current Limits and What the README Does Not Cover

The README is deliberately minimal. It covers build prerequisites, the build command, and community links. It does not document how to define an agent, how to connect an LLM provider, how to deploy agents to a Flink cluster, or how the framework handles agent state within Flink's stateful streaming model. For all of those, the external documentation site is the intended resource.

Because the project has no GitHub release, there is no stable version to pin. Teams that adopt Flink Agents today are consuming the main branch, which the Flink project convention treats as pre-release. The API may change between the build you produce today and the one you produce in a month.

The Python 3.10, 3.11, and 3.12 constraint excludes Python 3.13 or newer. Teams on cutting-edge Python versions would need to maintain a separate Python environment specifically for Flink Agents.

Flink Agents vs. Standalone Agentic AI Frameworks

Standalone frameworks such as LangChain, CrewAI, or LlamaIndex run agents as Python processes that call external services, including data stores and streaming systems, through connectors. They are straightforward to deploy on any machine that can run Python and do not require a distributed processing cluster. For most agent use cases, they are the simpler starting point.

Flink Agents makes a different bet: that agents which operate on high-throughput, continuously arriving data belong inside the streaming runtime that already handles that data at scale, rather than in a separate process that polls or subscribes to it. If an agent needs to react to a stream of sensor events, transaction records, or log messages and maintain state across millions of events, the overhead of shuttling data between a Flink cluster and an external agent runtime is a real cost.

The trade-off is operational complexity. Running Flink Agents requires a Flink cluster, Maven, and Java infrastructure that standalone Python frameworks do not. Teams without existing Flink investment will spend significant time on infrastructure before writing their first agent. Teams with existing Flink pipelines have a more direct path.

Editorial conclusion

Apache Flink Agents is worth watching for teams already invested in Apache Flink who want to add agent orchestration without adopting a separate runtime, but the project is in active early development with no stable release yet. The README does not yet document agent creation patterns or API usage beyond build instructions; teams wanting to start building should consult the official documentation at nightlies.apache.org/flink/flink-agents-docs-main. Before building on it, verify that the build completes cleanly on your Java and Python versions, join the Slack channels to track the pace of development, and check whether the current API surface meets your needs. The last push was on 2026-09-28.

Frequently asked questions

What is Flink Agents?

Flink Agents is an agentic AI framework built on Apache Flink that combines multi-step LLM-driven agent orchestration with Flink's distributed stateful stream processing runtime. It is in active early development under Apache governance.

Does Flink Agents replace Apache Kafka?

Flink Agents and Kafka serve different roles. Kafka is a distributed message broker for producing and consuming streams. Flink Agents extends Apache Flink with agentic AI orchestration. Flink can consume from Kafka; Flink Agents does not change that relationship.

Is there a Python SDK for Flink Agents?

The build script compiles both Java and Python parts and installs the dist jar into a Python wheel package. The repository includes a python/ directory, indicating Python bindings exist, though the README does not document Python usage details beyond the build step.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/apache-flink-agents.svg)](https://hysenlabs.com/projects/apache-flink-agents)