Archive for the ‘tech’ Category

AI patterns in event driven architectures

Monday, November 3rd, 2025

I gave a talk at Current last week about how artificial intelligence and machine learning are used with Kafka topics. I had a lot of examples to share, so I wrote up my slides across several posts.

I’ll use this post to recap and link to my write-ups of each bit of the talk:

I started by talking about the different building blocks that are needed, and the sorts of choices that teams make.

Next, I talked about how projects to introduce AI into event driven architectures typically fall into one or more of these common patterns:

The most common, and the simplest: using AI to improve and augment the sorts of processing we can do with events. This can be as simple as using off-the-shelf pre-trained models to enrich a stream of events, and using this to filter or route the event as part of processing.

Perhaps the newest (and the pattern that is recently getting the most interest and attention) is to use streams of events to trigger agents, so that they can autonomously take actions in repsonse.

Maybe the less obvious approach is to collect and store a projection of recent events, and use these to enhance an agentic AI, by making it available as a queryable or searchable form of real-time context.

And finally, the longest established pattern is to simply use the retained history of Kafka topics as a relevant source of historical training data, for training new custom and bespoke models.

Using streams of events to train machine learning models

Sunday, November 2nd, 2025

In this post, I describe how event streams can be used as a source of training data for machine learning models.

I spoke at Current last week. I gave a talk about how artificial intelligence and machine learning are most commonly used with Kafka topics. I had a lot to say, so I didn’t manage to finish writing up my slides – but this post covers the last section of the talk.

It follows:

The talk covered the four main patterns for using AI/ML with events.

This pattern was where I talked about using events as a source of training data for models. This is perhaps the simplest and longest established approach – I’ve been writing about this for years, long pre-dating the current generative AI-inspired interest.

(more…)

Using event streams to provide real-time context for agentic AI

Saturday, November 1st, 2025

In this post, I describe how event stream projections can be used to make agentic AI more effective.

I spoke at a Kafka / Flink conference on Wednesday. I gave a talk about how AI and ML are used with Kafka topics. I had a lot to say, so this is the fourth post I’ve needed to write up my slides (and I’ve still got more to go!).

The talk was a whistlestop tour through the four main patterns for using artificial intelligence and machine learning with event streams.

This pattern was where I talked about using events as a source of context data for agents.

(more…)

Triggering agentic AI from event streams

Friday, October 31st, 2025

In this post, I describe how agentic AI can respond autonomously to event streams.

I spoke at Current on Wednesday, about the most common patterns for how AI and ML are used with Kafka topics. I had a lot of content I wanted to cover in the session, so it’s taking me a while to write it all down:

The premise of the talk was to describe the four main patterns for using AI/ML with events. This pattern was where I started focusing on agents.

(more…)

Using AI to augment event stream processing

Thursday, October 30th, 2025

In this post, I describe how artificial intelligence and machine learning are used to augment event stream processing.

I gave a talk at a Kafka / Flink conference yesterday about the four main patterns for using AI/ML with events. I had a lot to say, so it is taking me a few days to write up my slides.

The most common pattern for introducing AI into an event driven architecture is to use it to enhance event processing.

As part of event processing, you can have events, collections of events, or changes in events – and any of these can be sent to an AI service. The results can inform the processing or downstream workflows.

(more…)

From Event Streams to Smart Streams : Powering AI / ML with your Kafka topics

Wednesday, October 29th, 2025

In this series of posts, I will outline the most common patterns for how artificial intelligence and machine learning are used in event driven architectures.

I’m at a Kafka / Flink conference this week.

This morning, I gave a talk about how AI and ML are used with Kafka topics. I had a lot to say, so I’ll write it up over the next few days:

In this first post, I’ll outline the building blocks available when bringing AI into the event-driven world, and discuss some of the choices that are available for each block.

(more…)

Introducing LLM benchmarks using Scratch

Saturday, October 18th, 2025

In this post, I want to share a recent worksheet I wrote for Machine Learning for Kids. It is perhaps a little on the technical side, but I think there is an interesting idea in here.

The lesson behind this project

The idea for this project was to get students thinking about the differences between different language models.

There isn’t a “best” model, that is the best at every task. Each model can be good at some tasks, and less good at other tasks.

The best model for a specific task isn’t always necessarily going to be the largest and most complex model. Smaller and simpler models can be better at some tasks than larger models.

And we can identify how good each model is at a specific task by testing it at that task.

(more…)

What are we missing in AsyncAPI?

Monday, September 29th, 2025

I gave a presentation about What are we missing in AsyncAPI? in the AsyncAPI track at apidays in London last week. My aim for the talk was to start a discussion on where there are opportunities to enhance and extend AsyncAPI.

title slide: "What are we missing in AsyncAPI?"

The talk wasn’t recorded, so I’ll use this post to describe what I talked about.


Kafka and AsyncAPI

I use AsyncAPI to document and describe Kafka applications. That was the (admittedly narrow!) perspective I brought. I suspect that a lot of the specific examples I raised have equivalents in other protocols. Even where they don’t, I was trying to make a protocol-agnostic point that we need to think about the different types of people who work in event driven systems and what information they need for their roles.

(more…)