Using Agentic AI to create the next generation of non-Java Kafka clients
Shivsundar R, ConfluentAndrew Schofield, Confluent
Wed, Nov 4, 1:00–1:45 PMRoom 2010
Confluent's non-Java Kafka clients handle over 350 billion connections a month to Confluent Cloud. They're built on librdkafka, a C library that has served the community well for over a decade. But every new KIP follows the same painful path: original implementation in Java, wait months for someone to reimplement it in C, then wrap it for Python, .NET, JavaScript and Go. Some features never arrive at all. Over 40% of Kafka users are stuck in this permanent feature gap. And users encounter subtle behavioral and configuration differences between the Java and non-Java clients which just causes confusion.
What if we stopped reimplementing and started translating? What if AI-assisted productivity could enable us to attempt something we would have never attempted previously? What if we could leverage AI tools to take the Java reference implementation and produce a working Rust client, with bindings for all five languages, within weeks of a Java release?
That's what we built. This talk is a deep dive into using AI to write production-grade systems code -- not prototypes, not demos -- but a Kafka client that has to handle the same scale and correctness bar as the library it replaces.
- Why this is hard. Keeping five clients in sync with Java isn't about hiring more engineers. KIPs touch protocol handling, serialization, group coordination, and configuration. Reimplementing each one across languages is slow and error-prone.
- The AI translation pipeline. How we built a system of AI agents that listens for commits in the Apache Kafka Java code, translates it to idiomatic Rust, and generates language-specific wrappers. The carefully crafted prompts, meticulous context management, agent orchestration, and verification layer that catches when the model gets it wrong.
- What AI gets wrong in systems code. Handling situations where a direct translation is not good enough, subtle behavioral divergences that only surface under load, and why you can’t blindly trust AI-generated code to be production-ready.
Come and hear about how we used AI and what we learnt as engineers about how to get the best out of the AI tools.
Speakers
-
Shivsundar R
Senior Software Engineer, Confluent
Shivsundar is a Senior Software Engineer on the Apache Kafka team at Confluent. He contributes to the Apache Kafka project, focussing primarily on the client implementation for the Queues for Kafka feature. He is currently working with AI tools to architect and drive the next generation of non-Java clients.
-
Andrew Schofield
Principal Engineer, Confluent
Andrew has been living and breathing messaging and IoT for more than 30 years. He was one of the original engineering team that created IBM MQ, focusing on transactions, data integrity and high availability. He's also got extensive experience of IoT and was on the technical committee for standardization of the MQTT protocol. He's been working with Kafka since 2015, initially as IBM's technical lead for Kafka offerings on the public cloud and Kubernetes, and now as a principal engineer for Confluent. He is an Apache Kafka committer and PMC member.