One Day, $1,000 in Tokens: An AI War Room for Legacy Code — Ford Prior, GEICO https://www.youtube.com/watch?v=DouK81O8R3o AI Engineer · 18 min · 188 sentences · sentence-level transcript from YouTube's caption track; each line begins at the time shown [00:01] [music] [00:12] For the past couple years, feels like all we've been talking about is how to increase the velocity of our SDLC. [00:19] Y'all know what I'm talking about. [00:21] And specifically this big fat build chunk in the middle, okay? [00:25] Where we've been doing a lot of our coding and intellectual work. [00:29] And sure enough, at least where I work, that step has basically been obliterated, right? [00:35] And we've reclaimed a bunch of time. [00:38] But I think and I'm no prophet in imagining some future where agents are doing the work and humans are there in the middle as exec or as executives signing off on each stage. [00:51] But I work at Geico and we're not a tech company, we're a risk management company and risk management is baked into everything that we do, including the way we develop and deliver software. [01:03] So while we've seen this inner loop speed up to use Gene Kim's concept, we find ourselves seemingly stuck within the bounds of this outer loop, which is to say everything else that happens other than the coding and the building. [01:18] [snorts] [01:19] And we find ourselves wondering what life might be like outside of these walls in a world where the outer loop keeps pace with the inner loop. [01:26] So this is a story of how we broke free, as it were, and my intention with this talk is to power you guys to do the same. [01:39] Now when Geico manages America's fleet of automobiles or the risk therein and something happens on the road like an accident, we incur what we call loss, which is typically [01:53] reported by one of our policy holders and it becomes a claim and claims technology is where the policy comes to life and gets the customer back on the road as quickly as possible [02:02] with minimal disruption, which we call a resolution. [02:05] And I'm I'm [02:06] [snorts] [02:06] Ford Prior. [02:07] I'm a senior staff engineer and tech evangelist embedded in the claims tech group at Geico. [02:14] And I think I'm the only tech evangelist at Berkshire Hathaway, but basically what that means is within our 300 engineer group, we have like 32 pizza teams as we used to call them [02:26] with a tech lead and counterpart for each business counterpart for each. [02:29] And my job is to find and implement best practices in our SDLC. [02:34] I run a claims innovation lab, and I share stories like this one to attract the best engineers in the world to our problem space, which we find very interesting, [02:43] not to mention important part of the American economy. [02:45] So, a little bit more context in how we develop software. [02:50] Um as many organizations do, we conceive of our work in terms of semantic versioning. [02:55] And about 6 months ago, we looked at our backlogs and found that our engineers, after they finished their latest patch or chased down the latest minor upgrade, had only 25% [03:07] on a good day or less of their bandwidth to dedicate towards the major changes that keep us competitive, step ahead of the competition. [03:14] That's like V1 to V2 to V3. [03:16] So, we began strategically investing in Geico managed AI agents on a variety of harnesses using a variety of models to offload that work all the way from spec to deployment for our patches and minor work. [03:31] Um with the goal of redirecting or rerouting that work so that our engineers can stay our our brilliant engineers can stay focused on the stuff that matters and that they find most joyful, which is to do the major work. [03:42] Which again, as I mentioned, is key to our competitive edge. [03:46] Okay, so this is current state. [03:48] But as we look at this major work, we find ourselves rate-limited by our ability to collaborate in rooms full of the right individuals summoned at the right time to make the right decisions at every interval in whatever [04:02] life cycle would need to happen in order to get get get the major work to prod. [04:08] And not only are we missing the ability to collaborate, but we're also missing this intelligence, this ability to weave together all the variables relevant to the problem space as we learn it and deepen our understanding of it, including the fact checking, the code crunching, basically everything that needs to happen to serve up the insights [04:25] as quickly as the decisions come up. [04:28] And that's what ultimately gives us the confidence to bring those major changes to market. [04:32] Okay, so it's collaboration and intelligence. [04:34] We're missing both of those at the major change scale. [04:38] So to solve for this, we created a multiplayer AI-native war room. [04:42] And it consists of a roster of key decision makers and subject matter experts relevant to the topic, a driver to wield these expensive AI tools, and an AI-native productivity suite, [04:54] um which includes our comms channels for all the chatter, an interactive design studio. [04:59] I can't mention the vendor name, but y'all can take a wild guess. [05:02] Um to uh for all of our our collaborative elements, and then obviously we have our code repositories. [05:09] And all of these are wired into a powerful combination of workflows, agent skills, MCPs, enterprise MCPs, um and these agent fleets to do the heavy lifting, back checking, synthesis, etc. [05:23] So my question was, how might we accelerate the delivery of agent-callable APIs for our legacy core capabilities? [05:32] [snorts] [05:32] And for context, our legacy claim systems is like millions of lines of code, okay? [05:36] So um and the deep context that we're trying to build here um gets built once and then can be reused. [05:43] So that's just some additional context, but my bet was that with a thousand dollars in hand of AI tokens in one day we could map out one domain end-to-end including like graph representations [05:56] of the business topology, all of the complex code um in our legacy systems and everything in between. [06:02] And we can have the agent find and propose one serious change um which in our case we scoped down to an agent callable API into our legacy claim systems. [06:16] And have the whole thing deployed to our skills agent platform and running for an a a a demo to my boss at 4:00 p.m. So, I put the pressure on myself um but we ran this experiment three different times across three different code modernization [06:32] missions. [06:33] Um and this little taxonomy here uplift, transform, reimagine is from the Anthropic code modernization plugin which I'll touch on in a minute. [06:40] Um but the story is um that we first we looked at our rentals domain which is a really simple one um that is like all the tech behind getting you guys your rental cars when your primary car gets in an accident. [06:51] And we implemented a newer version of the same tech which is again the definition of uplift and we extended an existing API. [06:58] And in this case it was an interesting story because the agent used some uh interesting um uh process to find and distill data to figure out that we could connect a couple dots and save ourselves [07:12] eight and a half thousand calls per month by giving the customer up-to-date rental information. [07:18] Um so that was the first experiment that we ran um and then the second one was transformation of our damages domain. [07:24] And damages is like arguably our most complex No, sorry. [07:28] Damages I'm meaning from notes here. [07:31] Damage domain is how we put dollar signs on a reported loss. [07:36] And so for this case we built in a set of new agent callable APIs to unlock a larger workflow that needed damages data. [07:43] [snorts] [07:43] And then lastly, we reimagined our salvage domain, which is arguably the most complex of the three. [07:48] Um it's basically everything that happens when your car's totaled. [07:51] Um and in this case, we produced a fully vetted migration plan with API specs and design mock-ups, ratified, and this is the most important part, green-lit by product and tech at every level. [08:01] Okay, so it's like a fully vetted project plan that's ready to be implemented, which is like as you guys know is like that's like a a milestone unto itself, getting everybody on the same page. [08:09] Um including the technical details. [08:11] Um and honestly, like in this case, it understood the domains really well. [08:16] And um in this and the the story with the salvage work was that it found a prod bug. [08:20] I can't talk about more, but it was Um so anyways, uh you may be curious about kind of what like a little bit more detail into how this all worked. [08:29] Um really like we had our friends at Anthropic who provided a bunch of stuff, and then we had us that provided a lot of stuff. [08:34] So on the left here, we have um [08:38] [snorts] [08:39] the harness, the model, this thing called FleetKit, which I'll explain in just a moment, and this plug-in that did code modernization tasks. [08:46] That's on the left, brought by the vendor. [08:48] Okay, we could replace any of that, by the way, with another vendor, another model, another framework, etc. And on the right was the stuff that we can't replace. [08:55] This is everything GEICO, and we need a ton of it. [08:57] We had context in our knowledge base, including software standards and all of this past decision archaeology we had to do, list of tools that the agent could access on my machine, [09:07] and instructions for the agents on how to use it. [09:10] We had the methods. [09:11] I'm doing these out of order here, but we had methods, which is essentially like all of our skills and all of the the the kind of the quirky domain-specific, [09:17] highly optimized way that we develop software, probably different from the way you guys do it. [09:21] Um and um and lastly, judgment, which is like who can decide what and at what gate, right? [09:26] So both from the subject matter expert point of view and from the um the uh decision-maker leadership point of view. [09:33] Um and um we grouped them into two repos. [09:36] and why in a minute, but that allowed us to ver- allows us to have the agents add to it and correct it um and also humans to do the same. [09:43] Um but that AI, and this is kind of one of the interesting parts, uh is is expensive, right, to run at scale. [09:48] And so, we needed a fleet manager, like a PhD-level fleet manager. [09:53] And this was a bit of a collaboration with uh with Anthropic, and it isn't open source yet, but I can share how it works today and hopes that you guys can construct your own version cuz it's not rocket science. [10:04] So, FleetKit is this tight structured collection of rules, protocols, and instructions all written in markdown. [10:11] Optimized for the Claude harness, specifically Fable, and designed around the core task of architecture transformation. [10:17] Um and as you guys can kind of guess, like this type of thing doesn't really work with some of the previous iterations of models. [10:24] I think like Opus 48 and beyond I I I would I would guess is like something that could handle this type of like uh steering. [10:32] Um cuz it's like one level above um the actual system prompting, right? [10:36] This is like rules that it has to follow, the agent has to follow. [10:39] Um and um it's pretty simple. [10:43] Takes a goal, breaks it down, dispatches leaders to do all the research, and decide about the approach. [10:48] It puts everything into this like human-in-the-loop queue. [10:51] You could use GitHub issues, for example, something that the humans can comment on and approve or that other agents can add more context to. [10:59] And then when everything looks tight from a approval standpoint, it dispatches builders to do the rest. [11:04] And in this case, we use beads. [11:05] I'm not sure if y'all know about beads, but beads kind of helps the agents keep track everything um within their own agent space. [11:12] Um and um ultimately, the goal is to produce what we call a material change, which is like a a change request into our systems or code change into our code repositories. [11:22] And the ultimate like idea with this though is that like developing software looks less like playing in a canvas and more like working in a factory. [11:30] Um Okay, I need to go faster. [11:33] Uh so ultimately on the left here you see these three repositories. [11:36] They contain everything that Fleet Kit needs to run including the Fleet Kit source. [11:40] Um and by the way, all of these slides are available on the blog post that I'll link at the very end. [11:44] I can't tell with these lights who's taking pictures, but I just want to let you all know that if you want to look at the uh the the visualizations [11:50] that I'm showing here, they're all in a blog post that was released today and I link it at the end of the slides. [11:55] So anyway, um so anyway, all this boots up, gets pulled into a cloud cloud code session with a plugin, gets invoked, and you give it a mission. [12:02] It adopts or creates a Slack channel um or a in our comms platform. [12:08] And um and then that's that that that mission channel is where everyone communicates. [12:12] All the war room members, the people who are relevant to the decisions in the project are invited. [12:16] And um every time the agent reaches a milestone um as it follows its nine-step process, it creates one of two artifacts. [12:24] Um and by the way, on the right there where it says war room, that's where it like it can ping individual people based on the roster. [12:31] So for example, if it's missing missing some product details, it'll figure out who owns that from a product perspective and mention that individual person. [12:37] Um but other than that, it creates these worksheets that are like actually really well-done HTML using cloud artifacts. [12:43] People can fill them out. [12:44] They're automatically saved. [12:46] Um and that's to fill the gaps. [12:47] And then also creates design documents including like these like complex visualizations of our architecture that didn't exist before um that teams were delighted to get cuz they kept them afterwards [12:57] um that we can then edit and then the agent can then reread our edited like uh design document like a draw.io or Figma, and then all that gets that all that gets slurped back up into the the um the session. [13:11] Okay. [13:11] Um and if you had stumbled into our war room in Richmond, [13:16] [snorts] [13:16] Virginia, which is where I'm from, um uh this summer you would have seen either a big cloud code screen um with a bunch of people huddled around it or one of these two screens here. [13:24] On the left is like a product worksheet that we had to fill out. [13:29] And then on the right um there it's like one of our our diagramming tools. [13:33] And so like the big gist with this and the thing that was so delightful for me is that these were really high-quality artifacts. [13:39] So, there wasn't like ever a question of like why is the agent asking me dumb questions? [13:43] It was like, "Wow, that's actually a great question that we've never thought about identifying an edge case either in the business or with the technology." [13:50] Um and then the design artifacts, like I said, the teams could keep them afterwards and oftentimes they were mapping stuff that just no one had taken the time to do cuz as you all as you all know not every engineer loves doing diagrams. [14:00] Okay, I'm skipping stuff here, but we're going to keep moving cuz I got like 3 minutes. [14:03] Um these war room tools um just really simply uh basically there's two types of agents, the code dives that we called them um where it did lots of code crunching and graphing over of our legacy [14:15] legacy domain-specific languages. [14:17] Um that happened in the cloud and then we had local agents running that had access to all of my laptop all the MCPs on my laptop, uh many of which were not in production yet, and enterprise-specific, [14:30] highly optimized for our problem space um and that could surface really viable data including like chunked versions of the code bases that were being dived. [14:37] So, um there's there's a bindings file that I gave the agent to basically describe what's on my machine, how it works, and how to map it to the fleet kit [14:45] work. [14:46] Um and you can see the built-ins, MCP servers. [14:51] The really quick, the code monetization plugin um this is at the heart of the whole thing. [14:55] And what's inside of it uh I think uh you guys will find somewhat interesting um and I would encourage you to to look into it after the fact after this presentation to get more information. [15:05] Um and I'm going to I'm going to keep moving here. [15:07] Um ultimately, the driver's laptop, my laptop, was the runtime, okay? [15:10] So, I had to run nine steps that are that are um started with the booting step, so eight steps after that. [15:16] And what I want you all to take from this super busy slide is that on the left here, those were all steps forked from the code mod plugin. [15:25] Okay, so we adapted it to our needs as I would would encourage anyone to do. [15:28] And on the right, those orange colored elements are worksheets that were created. [15:33] So that was going to require human approval. [15:35] And so as we did this like modernization journey, you can see how there's a lot of human input in the beginning, less than on the on the end, and how the core of it was this code modernization plugin. [15:47] And uh just an interesting detail, and this is something that the code modernization plugin does is it does like a deterministic analysis of like did the previous step create the artifacts that it needed to, including a file. [15:58] So, some interesting lessons. [16:00] Um obviously I burned a lot of uh burned a lot of tokens. [16:04] [laughter] [16:04] Um and um one of just as a little takeaway, do not let uh Claude running Fable set up crons to check on work uh because you'll it'll just launch a Claude uh a Fable session each time and burn your budget immediately. [16:18] Um but um some other interesting takeaways we had were relevant to prompt caching, um which was way higher than I thought it would be. [16:25] And then some quirky subagent behavior. [16:27] But one of the interesting things was is like after we did all the context building and how these agents dispatched to like write our complex legacy code, we ran benchmarks [16:35] um against like using our existing code recently written as the golden data and found out that Fable or uh Sonnet 5.5 wrote it just as good as if not better than Fable. [16:46] So, um model selection for the win. [16:49] Um and then looking forward, um I think you know, uh enhanced gate enforcement is going to be the biggest win that we have um in my mind at least. [16:57] Um we also have some interesting updates to make with decision models within our harness um and within the our model selection harness framework. [17:05] And then um our our like to our context was just like markdown files, y'all. [17:10] Like we didn't really have any complex way to graph things out. [17:14] Like we weren't using anything fancy with a um like um like graphify or um obsidian. [17:21] I mean any of these I mean honestly if you guys find me afterwards, I love your input on this, but like a more optimized way to do search and [17:28] uh and look at all that context that we're using to inform this war room. [17:32] Um and then lastly um audio as a data source. [17:35] Like I want to turn a recorder on and have these conversations we have like automatically transcribed, but I had to like instead sit there and furiously write down all the notes that were happening during these meetings. [17:44] Um and so that was kind of like a distracting thing that I think and I'm sure I lost a bunch. [17:48] Um so a less lossy way to incorporate the um inputs from the war room. [17:52] And then lastly, how can we deploy this thing across the organization? [17:56] Um y'all find some group in your organization that doesn't know how to make decisions, deploy this, drive it, control the cost, make it yours. [18:04] And at GEICO, we're like trying to figure out how as these agents are hill climbing and figuring out better ways to do things, where can we put humans in the loop? [18:12] And right, how can we like put our best brightest engineers who are receiving genius divine intervention as it were and have them pick the next hill as the agents climb the first one. [18:23] All right, and that is it. [18:24] Um we broke free of our outer loop. [18:27] Now it's your turn. [18:28] [laughter] [18:29] Uh and that's the blog that you guys can take a picture of um if you'd like. [18:34] All right, thanks for your time. [18:36] [applause]