Citadel Securities engineer Joao Wenzel explains how agentic AI can build an institutional memory and world model of a company using state-estimator ideas, combining top-down documents with bottom-up
Key Takeaways
- Organizations need an explicit, continuously updated world model of themselves, since institutional knowledge otherwise doesn't scale.
- State-estimator logic (trust decays with time, updates on new evidence, weighted by source and corroboration) is a useful framework for enterprise agents.
- Combining multiple modalities and sources (XML plus vision, top-down plus bottom-up) yields a far more accurate picture than any single source.
- Simple RAG misses temporal and contextual nuance; explicit dating and human confirmation are necessary for reliable strategic answers.
What the video covers
- Companies lack a model of themselves; key institutional knowledge lives in a few people's heads and is rarely written down.
- Citadel Securities, where over two-thirds of employees write code, began asking whether agents can help define and refine company strategy, not just code.
- Strategy reduces to three questions: where do we stand, what happens next, and how did we get here, all requiring a rich profile of the company.
- Evidence comes top-down (decks, strategy docs, status reports, often 'watermelon' projects that look green but are red inside) and bottom-up (meeting notes, Slack, code changes, agent session traces).
- The approach borrows from robotics state estimators: beliefs decay in trust over time without fresh evidence and are updated when new signals arrive, weighted by recency, source reliability, and agreement with other sensors.
- Parsing slides is harder than it seems: XML parsing fails on color semantics, and vision models struggle with low-quality screenshots, so combining XML and vision output works best.
- A monthly status-deck pipeline builds a longitudinal record over time; after three years Citadel has a large historical database supporting an enterprise world model.
- Plain RAG is insufficient because it lacks temporal context; it may report a project as green based on stale Slack messages while newer evidence contradicts it.
- The proposed loop has four stages: update, observe, grade (compare observed to expected), and correct (human feedback steers the system), with agents proposing changes but code and people deciding record updates.
- Adding dates to claims enables recency bias, and the amount of insightful project updates reportedly more than doubled after this change.
Chapters
- 00:00Introduction: The Company's Know-It-All Employee
- 01:14Citadel Securities and the Strategy Question
- 02:14Building an Institutional Memory Layer
- 03:03State Estimators: Top-Down and Bottom-Up Evidence
- 04:32Parsing Status Decks: XML and Vision Models
- 05:59Why RAG Falls Short
- 06:59Update, Observe, Grade, Correct: The Feedback Loop
- 08:59Dating Claims and Measuring Results
Full Transcript — Download SRT & Markdown
Speaker A
[music] Pleasure to be here. Another round of applause for everyone at AI engineering. This has been a really, really exceptional conference so far.
Speaker A
Thank you. All right. So, I want to begin by asking you to think about that person in your company who just seems to know everything. They've been through 17 reorgs. They know all the gossip, all the politics. And somehow they always
Speaker A
seem to predict what's going to come out of these like big strategic moves. That person is a company's world model, essentially. And the problem is that they don't scale, and nobody really writes down what they say.
Speaker A
I'm Wenzel with Citadel Securities, and I'm going to talk a little bit about how we try to approximate that with an agentic system.
Speaker A
So, a little bit about Citadel Securities. We build our own technology down to the silicon. At this point, over 2/3 of our employees write code. So, naturally, we are completely AI pilled, and agents already help us with a lot of
Speaker A
things at the organization. So, naturally, leadership started asking questions about strategy. These harnesses are really good at producing high, you know, high-quality code, but can they actually help define and refine the strategy of our company?
Speaker A
So, this is one of my favorite visuals I've borrowed from Tim Urban. Strategy really comes down to three questions, right? Where do we stand right now?
Speaker A
What's going to happen next? And how did we get here? And to answer any of those questions, an agent has to have a really rich profile of the company that it's operating in.
Speaker A
So, this is broadly a talk about engineering a institutional memory layer. Let's Let's Let's call it that.
Speaker A
The agents to have information about relationships, right? Two teams that used to work together but no longer stop talk because there was a reorg or a project story and why it was rescoped several times or the politics, right?
Speaker A
Like who's in the room, what are they saying and what are they not saying?
Speaker A
There's two ways in, right? There's top down and there's bottom up. Top down, you have the decks, you have your strategy docs, your meeting and status reports and they're tidy and they're pretty clean but there's a unique human twist. People generally
Speaker A
like to infuse their thoughts and opinions into these things, sometimes by design, so you end up with what, you know, things I call watermelon projects, right? They're green on the outside and red on the inside.
Speaker A
Then you have on the bottom, you have the really noisy stuff which has a surprising amount of signal but it it's hard to uncover, right? You have meeting notes and you have slack and code changes and even your session traces
Speaker A
with your favorite harness. And the model is where they meet. The evidence is synthesized at that level.
Speaker A
Now the evidence piece sometimes is problematic because it's either partial or wrong but it turns out that in robotics you actually have the solution for this and it's called a state estimator, right? What you do is you have some sort of belief about something
Speaker A
you care about and the longer it's been since you've seen or observed evidence that supports it, the more you the less you trust it, right? The fuzzier it gets until you have a deck or a you know, some thread or some meeting note that
Speaker A
sort of collapses that and you now have new evidence, right? And now you're more certain of it and therefore you produce the update.
Speaker A
And the things that I care about when producing an update or that the agent should care about, there's three things.
Speaker A
There's how long has it been since it been since some signal has been received, there's where that signal come from and is that still what trustworthy and then does it broadly agree with other sensors, right? You can there's a
Speaker A
lot of parallels here with like self-driving, for example, that I'll come back to. So, let's start at the top, right? Like a very simple example is something like a slide that is produced already by someone in BizOps, and they produce a
Speaker A
monthly status deck. And the question is, how do you get data out of the slide, right? It's Many of you, I'm sure, have tried that. It's this It's deceptive, actually, right?
Speaker A
Because, let's say you try to parse the file, right? Like you unpack the PowerPoint file, and you get an XML, and all of a sudden, you get into this really interesting conceptual question.
Speaker A
What is green, right? What is the hex code for green? Um and you sort of things break down when it comes to this type of script.
Speaker A
Then, the solution is to say, "Well, I'm just going to take a screenshot of it and throw it at a vision model." But at that point, even if it's like pretty high-res, you're dealing with someone who copy-pasted a screenshot back into a
Speaker A
presentation, and like essentially, you have Claude trying to squint and trying to figure out if it's a 31 or an 81.
Speaker A
And so, you know, the theme of the talk, really, is about like elegance comes from just synthesizing things and adding more information. And in this example, it's very basic, but you get the true picture by taking both the XML and the
Speaker A
output of a vision model. Now, that's pretty basic, right? But the issue is that you want to establish some continuity over time, right? Like these this collateral that your company accrues is very much sort of always building up. And so, in this particular
Speaker A
example, you have a a project that just spontaneously names back in March. And so, you know, you have to establish that sort of longitudinal traceable audit layer as you as you create this shared context layer about the sort of institutional
Speaker A
memory of your company. And the irony, there's two things. The irony here is that even if you do this really well, you're still missing half the picture, right? You're looking at a deck, and your Slack says otherwise, because that was 5 days ago, and now you
Speaker A
have someone on Slack saying, "Hey, by the way, I think we're on track for this." But then someone replies with a picture of a dashboard, and it's no longer the case. So, things just start breaking down.
Speaker A
And so, we need to do a better job of like integrating all these things, right?
Speaker A
Your company has no model of itself. So, I'm proposing just a brief plan here, right? The idea is you take the three things that I described earlier about the state estimator. You have the update, age, and observe observe um
Speaker A
stages, and then you have grade. The grade stage is basically comparing what you're observed versus what you expected. And then the correct stage is basically a way for people to allow the system to get new feedback and steer the
Speaker A
behavior of the system, right? At Citadel Securities, the system that we've built has agents at every part of this of this particular loop, right? But the key thing is that the model is proposing these changes, and then you
Speaker A
have code and people deciding how the records are updated. And of course, you're probably asking yourself, like why not just rag, right?
Speaker A
Like probably rag would do the trick. And in fact, it it it really doesn't, right? Like you you in this example, I asked, "Hey, what's what's the status of this project? Is it on track?" And as of March 16th,
Speaker A
some model would happily pick up a couple of Slack messages and some slides and say, "Yep, it's green." But it's missing a lot of the context, right?
Speaker A
It's not enough. So, here's how we start building this world model. The first stage is about updating information consistently and robustly.
Speaker A
In this simple example, where I'm taking some slides and some decks, we are basically just looking at, you know, every month, you know, new month comes around, we take last month's record and this month's slide, and you try to
Speaker A
construct a sort of longitudinal record, right? And we've been doing this now for 3 years, right? We have a pretty large historical database of these records that now allow us to construct this robust so-called institutional or enterprise world model.
Speaker A
You start with the basics, right? Like, you know, sometimes these models struggle with the most basic things, but but they're normal, right? The the actual name of a of a particular project change spontaneously, but by actually looking at that historical set of
Speaker A
records, it can see and infer that it actually refers to project Northstar by virtue of who was involved, by virtue of some continuity in the types of goals, those kinds of things.
Speaker A
But more interestingly, what you want to do is you have the agentic system, try to discriminate between what's being reported and actual evidence for what it's saying.
Speaker A
So, you look at some status deck, for example, and here it's identifying that while it is green on the deck, in fact, it should be highlighted as a yellow and should be flagged as such because there's a comment someone left talking
Speaker A
about how there's a dependency still outstanding. The main thing here is that you don't touch previous months, right? You just sort of heal in the sort of feed forward mechanism. What that allows you to do is to actually do some robust evals down
Speaker A
the line, right? So, here's what the actual update step writes, you know, very simple. This is what it was reported, this is how it, you know, the evidence, this is where the evidence points, and this is why.
Speaker A
And then you fold in the second component, age. The reality is every fact has a half-life. We've all seen, you know, you go back at some slides and you you see that the go-live date for a particular project keeps slipping. It
Speaker A
was Q2 in January, then it was Q3, now it's October, right? And you actually observe this, right? By by actually collecting all this data, you can have some pretty interesting beginnings of analytical insights.
Speaker A
For example, in the last 3 years, you look at these delivery dates, and on average, half the delivery dates change within 2 months, and 90% of those change for into a date that is after what was originally proposed. Right? So far, so
Speaker A
good. Pretty basic. But what you what this forces you to do is then introduce this notion of like a date that it is associated to a particular claim, so that the agent can introduce some sort of recency bias when you ask about the
Speaker A
status of a particular project, person, or or or all of the corporate intent, let's say.
Speaker A
Then the observe section. The observe section here, I'm going to pretty quickly gloss over it, but I just kind of give you something very tactical. In the beginning, it always produced active to just basically say, well, let's just
Speaker A
YOLO this. Let's have Claude or some other model take a look at the entire corpus of things and let's see what it does. And as it turns out, it's it's pretty clear that a lot of um information is is lost, right? It loses
Speaker A
some attention to detail. And so, what ultimately we had to do was engineer a simple agentic workflow where you have a series of specialists break down the collateral of these assets, look for specific things, be reviewed by other agents, and so on.
Speaker A
And what you see here on the on the right-hand side is that actually the amount of insightful updates to a particular project more than doubled after doing this. So, I guess the takeaway here is be intentional about how you how you build these workflows
Speaker A
and don't just assume that a YOLO method is going to work out. But now you get, I think, to the really interesting stuff, right? A world model should tell you what happens next. What project is about to slip or which green
Speaker A
turns red the next month? And it turns out that you can actually do this, right? Because you can look back and establish a snapshot as of some sort of past date and essentially run a back test. So, for example, if we take a
Speaker A
snapshot as of February, we can look at the future labels that came after that and see and compare what the agent said was going to slip or flagged versus what actually happened.
Speaker A
And you can see that as the agent um analyzes all this information, that for statuses that were green but flagged, they were twice as likely to actually turn yellow or red.
Speaker A
And so, again, this is encouraging because we're starting to see some beginning of the inability to say, well, it's not predictive of exactly what's going to go wrong, but at least it should tell you what to look at.
Speaker A
So, you know, we have 18 different cases where you have a verdict from a agent that's flagged, but what about those where you don't? And this is where some product intuition comes in. First of all, how would you incorporate a very
Speaker A
elegant sort of loop where you include uh an actual user, stakeholder, a human? And what do you ask them? And where do you meet them, right? I put a non-trivial amount of work into finding out how best to actually capture this
Speaker A
information. It's meeting the users where they are, whether it's the app they're using or Slack or email, whatever. And the closer you can get to them and the simpler you can make that feedback collection mechanism, the more scalable and and robust the process is
Speaker A
going to be. It also matters what you ask, right? You want to understand whether like you're asking a fact, which only fixes one output, or if you're asking about a rule. And once that an agent understands that pattern, it does a much better job
Speaker A
of fixing every output it covers, both both now and into the future. So, we have this notion now of our record containing not just an element of what was inferred agent, but more importantly confirmed after someone actually provided that signal.
Speaker A
Okay, so now bottom-up, right? You have meetings with you know, really strong signal what people say out loud. You have your Slack, you obviously it's constant, it's noisy, it's very close to the truth. Code changes describe what shipped. And then of course the agent
Speaker A
sessions, which is how the sausage was made. And I think I encourage you all to explore all of these disparate data sources to kind of build such a model up.
Speaker A
With Slack, it's relatively simple, right? Like you're just looking at every thread and trying to understand based on attachments and participants and content, the claims that you want the agent to record or update. When was this? Who was responsible or who does
Speaker A
this relate to? Um what project? What What's What is the sort of link to the evidence and so on.
Speaker A
With PRs, of course, it shows you what changed. And it's a really nice way to see how a project is evolving. But, when it comes to the actual like subtleties of how projects are are sort of run and
Speaker A
deployed, it's really interesting to look at the actual traces you know for users and engineers who opt into that, right? Like you understand how the ask was what how it evolved over time, test failures or you know particular
Speaker A
decisions from the developer, those kinds of things. Ultimately these culminate in a pull request but the synthesis of these things I think makes a big difference.
Speaker A
The other gotcha just I just want to share is to just be mindful of how you think about the validity of signal coming from different so-called sensors.
Speaker A
If you're driving down a highway for example and your speedometer just you know just goes to just disappears, it doesn't mean you're now going at zero miles an hour, right? It's just like a faulty signal.
Speaker A
So for example here we ran into a couple of issues sometimes when the bottoms-up approach, you had some semblance of a claim saying hey this particular channel, this thing is is going quiet, what's going on? But in reality, you
Speaker A
know we were treating it as a zero when really it shouldn't have been. And so we sort of iterated over time to understand how to incorporate when we last tried to get information from that sensor, when it was last okay and what do you do when
Speaker A
these diverge. So now if you look at the actual record that we constructed, the agents are going to be much more effective in understanding the true state of the world, right? It it it it's not green, right? It it's it's the go-live slipped
Speaker A
twice, the evidence is yellow, people are talking about failing tests. It's going to be tricky.
Speaker A
So what do we use this for, right? We use it to steer leadership conversations. Instead of you know circulating a deck to everyone and forcing everyone to just go through some slides everyone glosses over, you start with the stuff that actually you know
Speaker A
matters. You start where the deck and the evidence disagree. You also produce a weekly read for managers and leaders on what stuck and what went quiet. But I think also most importantly you have the sort of beginning of a context layer that every
Speaker A
agent can rely on. And we're using this pattern and constructing it so that it's extendable to other different use cases, right? In our client franchise for example, we're curious about how we can build similar models to help serve our clients. We
Speaker A
know we have some client and we want to understand who holds what, what are they interested in, how can we anticipate their needs as best as possible by folding in information from all sorts of disparate internal and external sources.
Speaker A
So, a couple of things are difficult to do, just to kind of maybe we can chat outside about your solutions. I'd be very curious to hear. Are when you have a lot of, you know, for example, one client with four records in four
Speaker A
different systems with no canonical identifier, how do you go about mapping those in a very elegant way?
Speaker A
That's one thing that I don't think we have a clear answer to. The second thing is how can we both be most effective at capturing signal from stakeholders and users?
Speaker A
Where the model is sure and the stakes are pretty low, we should just apply it automatically.
Speaker A
When if those stakes are low, but you you know, the model's unsure, just wait for more evidence. But if the stakes are high, it really matters like who you ask, when you ask it, and kind of the whole mechanism there.
Speaker A
So, here's the loop again. Update age observe grade and correct. And three things I want you to take home. The model that your company has should you should think about it as a state estimator, right? Don't assume that just like indexing everything and
Speaker A
cataloging everything is enough because by definition, these things are extremely nuanced and this intrinsic information that lives almost between the lines is hard for even the best state-of-the-art models to capture.
Speaker A
Grade it against what happens next, right? So, be intentional and think through how you can integrate and implement evals from the get-go.
Speaker A
And think about an elegant solution that allows your models and your and and your agents and your stakeholders to kind of play nice together.
Speaker A
Your company can have a model of itself. I encourage you to start collecting now if you're not collecting already. And certainly if you have, if you're at a bigger company and like me you had the I mean fortune or misfortune of dealing
Speaker A
with thousands of decks, uh definitely something you should start thinking about because I I've definitely seen material improvements in how these agents are able to reconstruct that sort of corporate memory and and apply it in all sorts of
Speaker A
daily tasks uh without sort of being all confused about things. Okay. Thank you very much. I'm Joel and I'll be outside for any questions if you want. Cheers.
Speaker A
[applause]
Topics:agentic AIinstitutional memoryworld modelstate estimatorenterprise AIstrategyRAG limitationsCitadel Securitiesdocument parsinghuman-in-the-loop











