About this session

The product managers of the Drupal AI Initiative open with how the work got concrete: Dries Buytaert’s eight-capability roadmap felt abstract, so after a June meeting at Drupal Dev Days in Athens the initiative surveyed its partner companies on which features would push Drupal forward and which their clients were ready to buy. AI search and AI content review topped the list, and the survey’s write-in answers β€” dominated by AI-assisted migration β€” prompted a split between β€œinside AI” (Drupal using AI, Breidert’s remit) and β€œoutside AI” (external tools like Claude and ChatGPT connecting to Drupal via MCP, led by Scott Falconer).

The heart of the session is a live demo on a fictional university website, chosen because realistic, messy, large-scale content is what AI demos usually lack. AI search answers visitors’ questions from the site’s actual content β€” grounded in Search API, a vector database and RAG, and extensible through agents and tools, as shown when a custom β€œlister” tool lets it answer β€œgive me all the courses” beyond RAG’s result limit. AI Content Review then scores pages against configurable rules and criteria β€” colour-coded, agent-based or procedural, with passing thresholds and few-shot examples set in the UI β€” and queues accepted suggestions for editors to fix.

The closing third zooms out to the effort behind it: in the eight weeks before the conference, more than 100 people contributed across 54 projects, and the Drupal AI module now reports over 20,000 installs. Everything built is open source; partners additionally get a tested one-click Recipe β€” the β€œpartner advantage” that rewards the minimum one-FTE commitment each member makes. The roadmap ahead runs through the Context Control Center as the single home for context rules, plus full page generation, automatic content fixes, background agents and model routing. A Q&A covers LLM-as-a-judge mechanics and why the demo itself isn’t downloadable.

Key takeaways

  • The Drupal AI Initiative moved from Dries’ eight-capability roadmap to productized features chosen by partner survey β€” AI search and AI content review ranked first and second.
  • AI search is plug-and-play: built on Search API with a vector database and RAG, it runs on AI agents so it can be extended with custom tools, and works with both Layout Builder and Drupal Canvas.
  • AI Content Review scores content revisions against configurable rules and criteria β€” agent-based or procedural β€” with prompts, passing scores and few-shot examples all set in the UI; automatic fixing is in progress.
  • Scale, as stated on stage (Tier 1): 54 projects, 100+ contributors, 600+ merged MRs, ~1,500 commits and ~600,000 lines of code in eight weeks; the Drupal AI module has over 20,000 installs.
  • Everything shipped is open source; initiative partners additionally get one-click install Recipes. Next: Context Control Center integration, full page generation, background agents and multi-model routing. Try it at drupal.org/ai.

 

Chapters

  • 0:00 Intro & who's who
  • 1:37 From eight capabilities to a feature survey
  • 5:12 Outside AI, the MCP server and the feature list
  • 6:49 The demo: a fictional university site
  • 8:56 AI search in action
  • 12:17 One module, built together
  • 14:54 AI Content Review in action
  • 20:00 How reviews are configured: rules, criteria, scoring
  • 24:00 Getting started, and eight weeks in numbers
  • 27:51 Try it yourself: drupal.org/ai and the partners
  • 29:21 Open source and the partner advantage
  • 31:19 Roadmap status
  • 32:04 The Context Control Center vision
  • 34:07 What's next: page generation, auto-fix, background agents
  • 36:27 Q&A

Transcript

Intro & who's who

Niels Aers [0:04] Hello everyone. We're gonna get started. We're here today to bring you an update on the Drupal AI Initiative and all of the things that have happened in the last couple of months as well. A quick introduction: in the blue corner is me, Niels. I'm from Dropsolid β€” I'm the Chief Product Officer there β€” and I'm also a member of the Drupal AI leadership team. And to my right, in the red corner, is Christoph. He went crazy in the last couple of months together with his team to actually build together what we'll show you today, and we're very excited to show you.

Christoph Breidert [0:45] Maybe before you start β€” show of hands, who has tried the Drupal AI demo already? All right. So there are some people that will see some new things that you haven't seen before. We put a lot of effort into making this really great for you, so that you can try it out and use it in your projects. When Niels said that we put a lot of effort into building this with the team β€” that's the team of the Drupal AI Initiative, because the Drupal AI Initiative is many of us companies that contribute resources and money to make this happen. Show of hands, who of you is part of the Drupal AI Initiative? Okay, that's good. Could be more β€” we'll be talking about this. It is, in the end, a Drupal AI Initiative update, but it's going to be around the demo, because we want to show you things that we've built that are useful for you.

From eight capabilities to a feature survey

Niels Aers [1:37] Okay, lead away. So how did we get here, actually? A couple of months ago β€” well, I think it was almost a year ago β€” Dries had his 8 capabilities, the roadmap that he was talking about, and we did feel after a while that it wasn't that concrete. So we wanted to shift it over, and I think it was around June when we had a good meeting with Dries at Drupal Dev Days in Athens, where we talked about how we can make this more tangible now. We looked at all those capabilities and started figuring out: okay, what kind of features can we actually build that can be productized, that can be shipped? And then we asked our partners β€” because these are not all original ideas from us; many talented people already have some version of these features that they made in Drupal β€” but we wanted to really solidify it in the whole Drupal AI ecosystem and all of the features that are coming. So we asked the partners.

Christoph Breidert [2:45] Maybe there's also a good detail here, just for you to understand how decision-making works, because the Drupal AI Initiative consists of partners and we decide together what we want to build. And that is the outcome. You see here a survey that we took, where we discussed our features, and the top feature that everybody wants to have now is AI search. And the second feature that everybody wants is AI content reviews. And that's exactly what we're going to show you today, because we built that into the demo and that will be the part of it. Exactly.

Niels Aers [3:17] So we asked all the members a couple of questions, and the questions were like: okay, on a score of 1 to 5, how does this feature push Drupal forward? And another one: how easily can you sell this β€” are your clients ready for this? We really looked for the tangible stuff to really make the difference, to get AI into people's hands instead of just talking about it and talking about it. That was the goal, and this was the result. So not only did we have what the partners chose β€” they had a list they could score β€” but we also asked them: what is not on this list? And that was also a very important part, because a lot of the respondents were actually talking about AI migration. How do we migrate any other site to Drupal? How do we get more people into this amazing ecosystem? And that basically kickstarted, or made us roll faster into, the split that we then did, because me and Christoph were maybe a bit too focused on AI inside of Drupal β€” doing things in Drupal and leveraging AI for that. That's why we then split it out a bit: inside AI, where Christoph is the product manager β€” where a person uses Drupal and then Drupal uses AI to get certain stuff done. On the other side we had Scott Falconer, who gave a nice session just before us as well β€” I hope you caught that one β€” because it talks a lot more about the outside AI: how do you use your Claude, your ChatGPT, how do you connect it to Drupal from the outside? And that's a very important part when we're talking about the next step that we want to do, AI migrations β€” to have that external system to help us move that along.

Outside AI, the MCP server and the feature list

Christoph Breidert [5:12] Maybe to add to this: in the demo that you'll see later, it's not the focus of what we present today, but we also, of course, have built outside capabilities in. When you start up a demo, it just comes with an MCP server that allows you to change content. So with that demo URL, you can put this into your Claude or into your ChatGPT and connect, and then you can say stuff like: hey, find this page with this title, and change this text, or do this and that. That just works today β€” you can test it here too. It's not our main focus, but it's really nice to see that this demo we've built is the surface that we use to bring our features together, and then ultimately bring the features to you.

Niels Aers [5:51] And of course, everything is on the same foundation. It's not that we're doing it this way on the left side and the right side is doing it completely differently β€” we're really using that same layer, so it actually all works together. So what have we built? We were pretty ambitious, and I think we were able to get a nice couple of things in already. AI search is one of them, content review, translations, AI disclosure, image verification, image tools, and image classifications. And then the whole observability layer as well, where you can connect all of your AI to either your Drupal observability or external systems. And then of course, like Christoph said, the MCP for agents, and Canvas AI as well. And coming up is also a chatbot and an even better integration with Context Control Center.

The demo: a fictional university site

Christoph Breidert [6:49] All right, so for the demo, what you are going to see is a fictional university website. If you go to the next slide, there's a video that runs in a loop β€” that's what you'll be seeing when you go on the demo website. We picked a university because we wanted to make something that's realistic, that everybody can relate to, and that's large and complex, because that's how universities usually are β€” lots of courses, faculty, staff. Maybe you have to click a couple of times because it can't loop. We picked that because you can't make an AI demo without realistic content. That's probably what you have seen in the last years β€” there's always something artificial. So we took a lot of time to build a realistic website where we could show the features, and I think we're just going to go to the website right now, aren't we?

Niels Aers [7:39] Yeah, let's show the demo, because actions speak louder than words.

Christoph Breidert [7:45] Go to the front page, please, so they see that it's really the same. So when you come to the page, you're greeted like this with an overlay, because you have to understand that you're seeing a fictional university now, otherwise people get confused. So it tells you how to do it. You see you can also log in β€” we're going to log in in a minute and look at how stuff is built.

Unidentified speaker [8:09] Yeah.

Christoph Breidert [8:09] And you see the big fat button, Explore AI Features. That's the one that also sits all the way on top, in the middle, because all the features that are included in this demo are documented. You see here the list that Niels showed before, with all the stuff that we have built β€” that's all here. So if you want to test a feature, you can go here to the feature description. For example, AI translation is there β€” if you want to know how that's configured, test it out, see how well that works from English to Spanish. Claude and MCP is there on the left. AI metering β€” controlling tokens that are going through, and so forth. Everything here is documented with screenshots. And I think β€” let's just look at the first feature.

AI search in action

Niels Aers [8:56] So, asking AI β€” AI search. Let me just immediately open the page and do the search as well. You can just ask it anything. It will try to give you an answer based on the actual content of the site, not just something it looks up somewhere or that's still in its memory.

Christoph Breidert [9:22] Niels, could you ask β€” I'm from Germany β€” can you ask if German students can also apply?

Niels Aers [9:26] Okay, for sure. So it's made out of 3 main pieces on the technical side β€” 3 blocks that you connect together, so you can basically put it in any combination you want. That makes it very flexible for how you want to present things. Also the sources: you can just choose a view mode for it and it will render it in that view mode, so you can really tailor it to your public and what they're used to. It's also pretty good at answering other questions β€” or not answering them. Like, how long is a banana? If it tells me an answer, I would guess it doesn't know, because it's not really part of that university scope. In this case, indeed, it says: I don't have that information. So it's pretty good at stopping abuse of it and finding the right kind of answers for things that it doesn't know anything about.

Christoph Breidert [10:40] Okay β€” of course there are no sources, because there's nothing about bananas on the website.

Niels Aers [10:44] Exactly. So the thing is, it works with practically Layout Builder, it works with Drupal Canvas as well β€” it's components that you can just put on the page. But you might say: okay, there were a couple of other modules already in the wild that were doing AI search. Why did you now again choose to make something different? The motivation there was to really have it connected to everything in the AI ecosystem. Underneath, it actually uses AI agents, which allows you to extend it however you want. In this case, for instance, for the Northmore University we had the problem: you have a RAG search, it gives you a limited amount of results, but if you wanted to get a result that says "give me all of the courses of this university", it would be limited, because the RAG search only takes the first 10, 15 or something. In that case, we were actually able to very easily just add a tool to it β€” a lister. That agent was then able to say: hey, I'm going to use this lister to give me all of the nodes of the content type course. That way it had a result and could reply to you. So in that case, we went for the full system, where we make sure that it's extensible and that we're not just doing a one-trick pony β€” whatever your case is, and whatever little minute details your client would expect, you can actually do that and extend it using the tools.

One module, built together

Christoph Breidert [12:17] What's really nice is, as Niels said, we're just using the infrastructure that we have in Drupal AI, and at the initiative we select which modules we want to officially support, and these are the ones that we bring together. For example, one of the predecessors of this module was one that Dropsolid was heavily involved in β€” so they stopped using that and went to this one here. There are a couple of other modules available, and we try to solve this: we don't want to build everything 10 times, or 3 times, in Drupal. We just want to have one way of building this, and to build it together. And here's a perfect example that does exactly this.

Niels Aers [12:57] And the good part of thatβ€”

Christoph Breidert [13:00] I want to add one more thing, please.

Unidentified speaker [13:00] Go ahead.

Christoph Breidert [13:01] Also, we are thinking β€” AI search is the top feature that all our partners wanted, because what you essentially want is: you don't want to have the keyword search on your websites anymore. You just want to have a search that just answers questions and points you to the sources.

Niels Aers [13:15] Yeah.

Christoph Breidert [13:15] And you want it, at best, to look similar in functionality and default layout to, for example, Google answers, because that's what people see. That's exactly what we built, and the functionality you see here is plug-and-play. You can just turn this on. It's built on the modules. You can log in to the website, you can see every single configuration. You can, as Niels said, adapt the agents to your use cases, connect it to more sources if you wanted to, and it's just ready for building. Therefore, we're really proud of how this one came out.

Niels Aers [13:44] One more detail β€” where does the data go to? It actually leverages Search API, as many of you might know. The thing is, now it actually connects to a vector database, then it creates those embeddings so we can actually get some RAG results as well. Then, of course, you can instruct the agent with a prompt, you can fine-tune it to your own needs, and that way you get the best result without having to go into the full depth of everything. The whole configuration is nicely organized.

Christoph Breidert [14:23] And you see here, where Niels is browsing around, he's now on the AI feature description, because we put effort into describing this. I know many of you here are very experienced Drupal site builders and developers, so you know exactly how Search API works β€” you don't need that description. But that's not everyone. We put effort into making this all accessible to the people that use it, so that you also have easy entry points if you're maybe not yet familiar with how you want to configure it, or what you need under the hood β€” Search API and the likes.

AI Content Review in action

Niels Aers [14:54] You want to show AI Content Review?

Christoph Breidert [14:57] Yes. Let's go to Content Review. Can you do the clicking for me?

Niels Aers [15:01] Yeah, sure.

Christoph Breidert [15:02] Nice. So let's go to the feature overview β€” somewhere it says AI content reviews. You have that there. So let's first say: what is content review? That's probably after search β€” you actually also saw this in our survey β€” after making your content accessible via search interfaces, reviewing your content at scale is actually the number one problem that every website owner, at least for larger websites, is facing today. Because if you have a lot of content, it is just immediately going to be inconsistent. Maybe you have contradictions. Maybe you won't even know, or you don't even have the option of just fixing something that is affecting all your website. For example, if you had a management change in a large organization β€” where does that name of the person occur? So therefore we have built AI content review, and let's see it in action here. Let's just go onto any of these pages β€” let's view it, please. Let's start with the view.

Unidentified speaker [16:13] Okay.

Niels Aers [16:15] You want the preview?

Christoph Breidert [16:16] No, no, just the view.

Christoph Breidert [16:20] 3 dots in the upper right corner β€” I think that's where it's hiding.

Unidentified speaker [16:22] Sorry.

Christoph Breidert [16:25] Display of the page.

Christoph Breidert [16:29] [unclear, 16:29]

Niels Aers [16:33] VoilΓ . Sorry.

Christoph Breidert [16:36] All right. That's the page. What we are seeing is: if you have run a review already, you see the review in the upper right corner. So let's click on it β€” the widget. If you click on this widget, you just see the stuff that's being reviewed. Now just scroll down a little bit on the page. Well β€” nothing's flagged. Let's find one where something's flagged. Go back to the list, please. This is more fun to see.

Niels Aers [17:11] [unclear, 17:11]

Christoph Breidert [17:20] Yeah, let's go and view it. Let's start there. Perfect. We have to get that away β€” that should only show once. Now open up again, please.

Niels Aers [17:31] Yeah.

Christoph Breidert [17:33] So now click on the Grammar and Conventions one on the bottom. Does that scroll you to the correct place? Click there. Click to view suggestion β€” review suggestions, yes. Thank you. And β€” the main developers are in the room. Oh, there's 2 team leads, the technical leads, in the room here too. So now, for the content review, you see the review on your page. It shows a nice sidebar. It takes you to the places where it's actually configured. And then if you just wanted to fix some of these things, you can accept this. For example, you look here β€” this one is accepted. And maybe accept the one below as well, and maybe a couple of other ones. You don't have to accept everything. So we've accepted that, and now we can start fixing it. If you go to the edit page, you have here on the right sidebar β€” if you scroll down a little bit β€” all the accepted changes that you want to fix. So you bring them over, you can review them with a nice UI, and then you bring them back to your editorial interface, and there you can just fix them. What we're working on at the moment is that you can fix them automatically, because in many cases these are search and replace operations β€” we can find the content on the page and then replace it automatically. So that can be made even faster. At the moment, the UI only supports manually checking something off when it's fixed. And then you have updated your page. All right β€” let's take a look at how this is built. Let's go to content reviews.

Niels Aers [19:19] So there.

Christoph Breidert [19:21] Yeah. Or maybe let's go to the review pane β€” we can open it there. That's actually also quite nice. You can do the same thing if you just take another one. Maybe take the β€” yeah, take that one. All right, back to β€” let us go to the configuration of the Views itself now.

How reviews are configured: rules, criteria, scoring

Christoph Breidert [20:00] Go back to β€” let us rather look at how this is set up. I think it is much better. Maybe go back to the AI feature page.

Niels Aers [20:21] So there we go β€” it's configured.

Christoph Breidert [20:23] So, like everything: when you build a review, it's composed of rules. For example, the rule that we were just looking at β€” the one that, for example, scored grammar β€” that's this one here. If you open that rule up, you see that you can firstly just give it a name, pick entities that you can attach this content review to, and then, if you scroll more down, you can assign criteria to this rule. For example, if you now look at this tone and voice criterion: you pick a color for it, you give it an acronym β€” that's because you saw in the UI these nice bars in different colors, so that you can just see which one is what. You have a criterion type β€” you see there where it says agent-based criterion β€” so the functionality is pluggable. It doesn't have to be agentic, what you do. But of course, agentic is a good use case, because letting an agent look at the content and giving it a defined set of criteria to evaluate and score upon is the primary use case. But you can also plug procedural things in there β€” if you maybe, I don't know, wanted to check for regular expressions or whatever, something that you would like to find on that page. And then if you go more down, you have here the prompt configuration. You see now here the same prompt configuration that you would see in the agent [unclear, 20:23 β€” "Agent 2" in raw transcript; possibly "the agent, too"] if we opened that one up. And as you see, it's rather advanced, how this works β€” because it's a real example of how something like this could be configured. If you scroll more down β€” because it's actually longβ€”

Unidentified speaker [22:13] Scroll more down. Stop.

Niels Aers [22:16] Wow.

Christoph Breidert [22:16] So what you can then define: firstly, you tell the agent what to score, against what β€” what's correct and what's wrong. And then you also tell the agent to return a score in percentage. And then for your criterion, you can decide what percentage makes this one be a warning, makes this become green or be okay, or makes it flagged as an error that needs immediate attention. So that's what you do here with these passing score configurations. And then if you go more down, you can also add examples. In this case, scoring is configured so that the agent is assuming that the page is perfect, and every time it finds something that it doesn't like, it subtracts a certain number β€” I think it's 5 points β€” from the score. That's how the score actually goes down. And now here we just provide examples of something that is just a mistake, or a number of mistakes, to provide the agent with examples of how to return a score that reflects what we have in mind for the score. So for every criterion, you can then add examples, and that's what makes your scoring.

Niels Aers [23:32] That's nice. What happens if somebody updates their content?

Christoph Breidert [23:36] If somebody edits the content? A review is attached to a specific revision of the content. So if you change your content, you can then rerun your evaluation, and then the score improves, because it's a pretty fixed rubric for how to score it. And then you would see how that changes.

Niels Aers [23:57] Okay.

Getting started, and eight weeks in numbers

Christoph Breidert [24:00] All right. If you try to configure this yourself, it can be pretty overwhelming, because it is actually a complex thing to do. But I think with these 2 examples we have provided here, where you can test how they work and how they score and how they do things, you can probably get started and adapt this to your own cases. So I think that could get you started on just building reviews into your page. Going back to our presentation: what you just saw, this demo here β€” we launched it literally at 12 o'clock at night before the DriesNote, because Dries said there's a demo, and then there was a demo. But what I did last Friday: I just calculated all the stats of all the repositories that are involved in the demo. So it's everything that's related to the demo itself, all the AI modules, but also all the modules that have something to do with AI β€” for example Canvas, Tools, MCP, and others. In total it was 54 projects that we included in this analysis. And in the past 8 weeks β€” so from the 1st of August until the 26th of September β€” we had over 100 people contributing. And you see these incredible stats. I mean, there are over 600 merge requests that were actually merged, and almost 1,500 commits. And that resulted in almost 600,000 lines of code β€” and that is excluding documentation and vendor files or anything else that is just being generated when you compile. So it's a massive amount. And what just really blows my mind is that it works. We coordinated an effort β€” I honestly must say, I'm blown away. We have a system here with Drupal that makes this possible. There were 100 people there β€” you saw the presentations earlier where Matt [Glaman] was doing something on MCP and tools, and that's in there. So what he did, and what you did, and what they did back there β€” it all came together and just works, and you can use it. And to coordinate such an effort, I think that just really blew my mind.

Niels Aers [26:15] Yeah, for me it was mainly that we were building on the work of some people that were more behind the scenes, maybe. The whole base AI module β€” that took a lot of work to get it where it's at right now. So if there's anybody in the room here that did that, I want to thank them as well, because that's the only way that we were able to actually get some productized features out of it, and get it, hopefully, into the hands of your clients as well.

Christoph Breidert [26:46] We also pulled some more stats β€” I don't know if you've seen this one, but the Drupal AI module itself has over 20,000 installs.

Unidentified speaker [26:54] Now.

Christoph Breidert [26:55] So this is not something new anymore. That's just mainstream. That's the new normal. It's working. It's battle-tested. It's in production in many places. So this is just pretty awesome to see. And then take the next one, please. So Dries actually pointed out this statistic to me β€” one that he keeps on his personal GitHub page, where he just tracks the number of contributions. And he has split it up, as you can see, by Drupal CMS, AI Initiative, Canvas, and Drupal core. And all this activity that he could clearly attribute to the Drupal AI Initiative is on the same size as core contribution β€” and maybe Canvas is even part of AI, because it's so closely linked, I don't know. But you see the size of this effort. So I think that's really impressive to see how this goes along. And if you go to one more slide, please.

Try it yourself: drupal.org/ai and the partners

Niels Aers [27:51] This was the one that we're going to have β€” if you want to try it out yourself. You want the QR code?

Christoph Breidert [27:56] Oh yeah, that's for the demo. So you also find it when you go to drupal.org/ai β€” you'll find the demo right away. It's also linked from there, so you can't miss it. Here's the deep link. But what I just want to point out here again, as we also started: it's built by the Drupal AI Initiative. And that's an undertaking that we have not seen in Drupal, coming together like this. So these are the companies that actually made that happen. This demo that you now have, where you can do things, that you can show to your clients and take ideas from and build into your websites β€” that's provided by these companies that you see here. And what's just really, really cool is: we just work together. I mean, we are not from the same company, and we just work together.

Niels Aers [28:54] Exactly.

Christoph Breidert [28:54] We do this together. We push this forward, and also with so many other partners here. How that works is just really, really impressive. And if you own a company and you are not part of this, I think you should consider it β€” or talk to your bosses and tell them to consider it. It is just really worth it, because then you are at the forefront of the innovation of what's possible in Drupal.

Open source and the partner advantage

Niels Aers [29:21] Yeah β€” competing for the same clients, but making Drupal better together. So if the ocean rises, everybody's boat will rise. I think that's the best way for Drupal to go forward as well. So, the partners: if you're a partner of the Drupal AI Initiative, you decide what gets built next, what you need most, and everybody shares in it. So it's an ongoing loop. Just know that all of the things that are built are actually all still open sourced. And then you might say: okay, what's the advantage still of being a partner? There's one extra thing that we do β€” I call it the partner advantage, maybe. All of these things you can just configure yourself. What we do as a partner is that you get a Recipe that has all of the configuration, all of the tested stuff that we really know works. So you can just do a one-click install and actually bring it to your clients a lot faster. Because the partners are giving a lot β€” the minimum effort is one full-time equivalent of people that are actually contributing full-time to all of these features. That way we can actually make it all better and we can all have these things, but not forgetting about the open source nature, of course, of Drupal. So we thought that was a good compromise to reward the effort that's happening. So, where we stand today: those initial 8 pillars β€” capabilities β€” that Dries mentioned. We have a couple that we're still working hard on and making sure it's all integrated. But I feel like we already did a massive effort in the last couple of months to solidify it and actually productize it into what it is today.

Roadmap status

Christoph Breidert [31:19] Let's stay one more minute here on this one. So you see, we accomplished a lot. We really tried to address it all, and things are moving so fast, because the momentum of us working together is just so high β€” so many things are there. For example, you see MCP server, that is full. There are some things that are still in alpha and that are still changing. You saw the search β€” it is awesome; it could be even more awesome. We did not show you some of the other features β€” they are awesome, but they could also be improved. So we are just building on top of it. But we have this in mind, and it is actually really nice to see how we could set out in the beginning of a year with a roadmap and then actually deliver on it, altogether. So that came out really nice.

The Context Control Center vision

Niels Aers [32:04] So, still a bit about the vision β€” where we want to go with all these features. We do see Context Control Center as an integral part of all these features. You have your context centrally, you only manage it once, and it is applied everywhere you go. For instance, to take an example: the Umami website. Imagine Umami has a mascot or something who likes carrots, and you just have one context rule that says, every time carrots are mentioned, make sure to plug in the mascot as well. You might want that to happen in your AI search, where somebody asks for a recipe and you just do a little plug for the mascot in that, or when it's creating content for your recipes or something β€” when it includes a carrot, make sure to plug in the mascot. So we need that centralized. We can't have it in 10 different places, because that's what Drupal is good at: structured content, and making sure that you reuse things instead of building them a million times.

Christoph Breidert [33:05] A good example here is, for example, the content reviews that we saw. You saw this massive prompt with all the rules, where it says: spell the date like this, spell headlines like that, use the capitalization like that, and make the sentences so long or so short. Of course, that's not something that should live in a review criterion. That should live in your context management β€” your Context Control Center β€” and should be pulled from there to all the criteria where that applies. But this bridge is just not yet there. So we're still bringing things together. But the next big step, now that we have the base functionality in place, the features in place, is to connect them with one another β€” and that will be through Context Control Center.

Niels Aers [33:49] So if you have a chance β€” there was a nice session this morning about Context Control Center. If you have the chance, do watch it. It's definitely worth it. Where are we going, Christoph? Tell me.

What's next: page generation, auto-fix, background agents

Christoph Breidert [34:07] So what we definitely want to do is what we saw already this morning with Canvas and agents β€” we want to go to full page generation. We want to go from what I mentioned earlier β€” from reviewing content to actually automatically improving your content. We want to professionalize more what AI does, because you saw all these cool features, and once you build them into your websites, you will immediately be challenged with needing to trace who did what, when, where, and why. And with the amount of data that's being generated, that's not trivial. So that's what we're doing. And then the agents themselves β€” background agents are just one of the examples that we actually want to have, because if you have computing-intensive agent calls that take time, you want to run that in the background. But you also want to have different models, because not every question to a large language model needs a powerful model. It could be a decision-making model first, and then, if needed, a powerful model. It could be a long-running model or a fast model. So all this infrastructure underneath, and how to make that work β€” that's on our technical roadmap, so to speak. But also to take that demo that you have now, which is in really good shape, and make it better and better. Because now we also just open up to contributions, because if you build this in on a website and you see something that just doesn't work, you can just fix it β€” this is just like regular building. And then we can together have a product that we can reuse that's just much better.

Niels Aers [35:45] Yeah.

Christoph Breidert [35:50] I'm repeating myself, I know this, but join us, because we need your help, and it's very much fun and very rewarding to do this together. Be one of us. We are more than 30, and there are really many people working together. You will be exposed to extremely many extremely talented people. That's really a lot of fun. And you get a lot of recognition, and you get something like what you have seen today. I think we have said it.

Niels Aers [36:26] Yeah, we are done.

Q&A

Christoph Breidert [36:27] Thank you. We have time for questions. Yes.

Niels Aers [36:38] There is a mic in front, if you want to. Also, you can give us feedback via this QR code as well, about the session.

Audience member 1 [36:50] Okay, the question is, to sum up: I'm just wondering about the evaluation feature β€” is it a correct way of thinking about it as separate rubrics? Some of them shipped with the extension, and the evaluation itself is LLM-as-a-judge. And from what I saw from the examples and the different collapsibles of configuration, it looks like an opinionated way to build the prompt to inject into the LLM, right? Is that a correct way of thinking, to sum up all these features?

Christoph Breidert [37:38] So the question is good β€” why do you have review rules and criteria and scoring? I think what we did correctly is how you construct the review, because a review has certain criteria, and if something is wrong, you have to say what is wrong and how it can be fixed. So that's the text that's wrong, or the image that's wrong, and that's a better image or text. And you also have to give it some kind of score, because wrong can mean very wrong, and wrong can also mean a little bit wrong. So I think having this definition between review criterion and scoring β€” I think that's good.

Audience member 1 [38:17] Yeah.

Christoph Breidert [38:17] Where you're right is in saying there's this distinction between the prompt itself and the examples, via a UI. I mean, it's a good way of making language models respond correctly, given what they can do today.

Audience member 1 [38:34] It is basically few-shot examples β€” am I right?

Christoph Breidert [38:37] Yes.

Audience member 1 [38:37] And you use some way to compile this settings page into the prompt somehow.

Christoph Breidert [38:46] Yes. But that's how agents just work in Drupal in general. You have a prompt and there's stuff being injected. It's built from whatever sources, and then it's just one message, and that comes back.

Audience member 1 [38:58] And as developers, we are free to bring our own evaluations and adjust it with the criteria?

Christoph Breidert [39:05] Yes.

Audience member 1 [39:06] You showed examples.

Christoph Breidert [39:07] Yes, absolutely.

Audience member 1 [39:08] And most likely the settings page also consists of plugins, maybe?

Niels Aers [39:15] Yes.

Audience member 1 [39:15] And we can extend it β€” I mean, this opinionated prompt engineering for the LLM evaluation?

Christoph Breidert [39:22] Yes, absolutely. So Agents itself is a framework within Drupal AI, where you have your agent that has tools and prompts.

Audience member 1 [39:34] Yeah.

Christoph Breidert [39:34] And that's used here. And we're just really mirroring the configuration form in the review form. And that's a common pattern that we see, because everything's agentic β€” in the end, it's really the agent getting stuff and sending something away.

Audience member 1 [39:46] That's nice abstractions as an end product β€” really great work.

Christoph Breidert [39:51] Yeah, thank you. Thank you for the question.

Audience member 2 [39:54] Yes, I have a question. Actually, I'm forwarding a question from Drupal Slack for someone that couldn't join today. There is a question around: do you have this demo open sourced, or part of it, where we can see the code?

Christoph Breidert [40:09] Yes β€” maybe you go back to the QR code. Just also saying it: if you go to drupal.org/ai and then you scroll a little bit down, there's a demo, and you can log into the demo. You have full admin access. You can go in there, you can look at everything, and you can see the modules that are being installed. You can install the modules yourself, and then you can just copy the prompts and change them how you want. But the demo itself β€” there's no download for the demo anywhere.

Audience member 2 [40:41] Yeah, like a Git repository with configuration β€” there is no suchβ€”

Christoph Breidert [40:44] No, that we don't have. So the method we try to follow β€” or that we do follow β€” is: everything that we built for the demo that's code, that's open source, so everybody can use it. This demo is an opinionated demo that we made together β€” kind of like a custom website that you'd probably build.

Audience member 2 [41:02] Yeah, it's a site template, kind of aβ€”

Christoph Breidert [41:04] Yeah, that we just built for us, because we think that's a way of doing it. You can look at it, but it's ours.

Audience member 2 [41:08] Yeah.

Niels Aers [41:10] And I guess if we would open source it, it would also take away the benefit of the partners, because it includes all the Recipes and stuff.

Audience member 2 [41:18] So yeah, it's this one with the partners' recipe β€” a secret recipe. That's an interesting approach. Yeah, definitely.

Christoph Breidert [41:23] Yeah, that's the best that we could find, because we want to be an open source project, we want to contribute. But at the same time, if you just put massive resource and effort into building something, there has to be a benefit, and we just aligned on that. We say: the way we built our demo that we want to use for our clients, that's ours. We share it with you. You can look at it. You can reverse engineer it β€” I mean, feel free. But this one-click installer, that's what all the partners have. So if you wanted to build a demo for your client, you could take that, boom, put your theme on it, put in what your client needed, and they would have a really great demo.

Audience member 2 [41:58] Okay, yeah, thank you. And just for example, Drupal CMS is coming with very similar experiences β€” once again opinionated, but they are completely open source and everyone could use them as well, which is nice. But thank you very much.

Christoph Breidert [42:12] Yes.

Audience member 2 [42:12] Great demo.

Christoph Breidert [42:12] Yeah, good question. Thank you. More questions? Then thank you for your attention, and see you in the exhibition hall.

Niels Aers [42:25] Thank you very much.


This transcript was generated from the session recording and corrected for names and Drupal terminology. Timestamps link to the moment in the video. Spotted an error? Suggest a correction on drupal.org.

Session page template for DrupalCon Rotterdam 2026. Video and transcript published by the Drupal Association.