One Day, $1,000 in Tokens: An AI War Room for Legacy Code — Ford Prior, GEICO
AI Engineer · 18 min · 188 sentences · from YouTube's caption track
Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.
- 00:01[music]
- 00:12For the past couple years, feels like all we've been talking about is how to increase the velocity of our SDLC.
- 00:19Y'all know what I'm talking about.
- 00:21And specifically this big fat build chunk in the middle, okay?
- 00:25Where we've been doing a lot of our coding and intellectual work.
- 00:29And sure enough, at least where I work, that step has basically been obliterated, right?
- 00:35And we've reclaimed a bunch of time.
- 00:38But 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:51But 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:03So 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:19And 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:26So 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:39Now 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:53reported 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:02with minimal disruption, which we call a resolution.
- 02:05And I'm I'm
- 02:06[snorts]
- 02:06Ford Prior.
- 02:07I'm a senior staff engineer and tech evangelist embedded in the claims tech group at Geico.
- 02:14And 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:26with a tech lead and counterpart for each business counterpart for each.
- 02:29And my job is to find and implement best practices in our SDLC.
- 02:34I 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:43not to mention important part of the American economy.
- 02:45So, a little bit more context in how we develop software.
- 02:50Um as many organizations do, we conceive of our work in terms of semantic versioning.
- 02:55And 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:07on a good day or less of their bandwidth to dedicate towards the major changes that keep us competitive, step ahead of the competition.
- 03:14That's like V1 to V2 to V3.
- 03:16So, 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:31Um 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:42Which again, as I mentioned, is key to our competitive edge.
- 03:46Okay, so this is current state.
- 03:48But 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:02life cycle would need to happen in order to get get get the major work to prod.
- 04:08And 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:25as quickly as the decisions come up.
- 04:28And that's what ultimately gives us the confidence to bring those major changes to market.
- 04:32Okay, so it's collaboration and intelligence.
- 04:34We're missing both of those at the major change scale.
- 04:38So to solve for this, we created a multiplayer AI-native war room.
- 04:42And 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:54um which includes our comms channels for all the chatter, an interactive design studio.
- 04:59I can't mention the vendor name, but y'all can take a wild guess.
- 05:02Um to uh for all of our our collaborative elements, and then obviously we have our code repositories.
- 05:09And 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:23So my question was, how might we accelerate the delivery of agent-callable APIs for our legacy core capabilities?
- 05:32[snorts]
- 05:32And for context, our legacy claim systems is like millions of lines of code, okay?
- 05:36So um and the deep context that we're trying to build here um gets built once and then can be reused.
- 05:43So 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:56of the business topology, all of the complex code um in our legacy systems and everything in between.
- 06:02And 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:16And 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:32missions.
- 06:33Um and this little taxonomy here uplift, transform, reimagine is from the Anthropic code modernization plugin which I'll touch on in a minute.
- 06:40Um 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:51And we implemented a newer version of the same tech which is again the definition of uplift and we extended an existing API.
- 06:58And 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:12eight and a half thousand calls per month by giving the customer up-to-date rental information.
- 07:18Um so that was the first experiment that we ran um and then the second one was transformation of our damages domain.
- 07:24And damages is like arguably our most complex No, sorry.
- 07:28Damages I'm meaning from notes here.
- 07:31Damage domain is how we put dollar signs on a reported loss.
- 07:36And 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:43And then lastly, we reimagined our salvage domain, which is arguably the most complex of the three.
- 07:48Um it's basically everything that happens when your car's totaled.
- 07:51Um 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:01Okay, 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:09Um including the technical details.
- 08:11Um and honestly, like in this case, it understood the domains really well.
- 08:16And um in this and the the story with the salvage work was that it found a prod bug.
- 08:20I 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:29Um 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:34So on the left here, we have um
- 08:38[snorts]
- 08:39the 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:46That's on the left, brought by the vendor.
- 08:48Okay, 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:55This is everything GEICO, and we need a ton of it.
- 08:57We 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:07and instructions for the agents on how to use it.
- 09:10We had the methods.
- 09:11I'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:17highly optimized way that we develop software, probably different from the way you guys do it.
- 09:21Um and um and lastly, judgment, which is like who can decide what and at what gate, right?
- 09:26So both from the subject matter expert point of view and from the um the uh decision-maker leadership point of view.
- 09:33Um and um we grouped them into two repos.
- 09:36and 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:43Um but that AI, and this is kind of one of the interesting parts, uh is is expensive, right, to run at scale.
- 09:48And so, we needed a fleet manager, like a PhD-level fleet manager.
- 09:53And 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:04So, FleetKit is this tight structured collection of rules, protocols, and instructions all written in markdown.
- 10:11Optimized for the Claude harness, specifically Fable, and designed around the core task of architecture transformation.
- 10:17Um 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:24I 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:32Um cuz it's like one level above um the actual system prompting, right?
- 10:36This is like rules that it has to follow, the agent has to follow.
- 10:39Um and um it's pretty simple.
- 10:43Takes a goal, breaks it down, dispatches leaders to do all the research, and decide about the approach.
- 10:48It puts everything into this like human-in-the-loop queue.
- 10:51You 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:59And then when everything looks tight from a approval standpoint, it dispatches builders to do the rest.
- 11:04And in this case, we use beads.
- 11:05I'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:12Um 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:22And 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:30Um Okay, I need to go faster.
- 11:33Uh so ultimately on the left here you see these three repositories.
- 11:36They contain everything that Fleet Kit needs to run including the Fleet Kit source.
- 11:40Um and by the way, all of these slides are available on the blog post that I'll link at the very end.
- 11:44I 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:50that 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:55So 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:02It adopts or creates a Slack channel um or a in our comms platform.
- 12:08And um and then that's that that that mission channel is where everyone communicates.
- 12:12All the war room members, the people who are relevant to the decisions in the project are invited.
- 12:16And um every time the agent reaches a milestone um as it follows its nine-step process, it creates one of two artifacts.
- 12:24Um 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:31So 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:37Um but other than that, it creates these worksheets that are like actually really well-done HTML using cloud artifacts.
- 12:43People can fill them out.
- 12:44They're automatically saved.
- 12:46Um and that's to fill the gaps.
- 12:47And 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:57um 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:11Okay.
- 13:11Um and if you had stumbled into our war room in Richmond,
- 13:16[snorts]
- 13:16Virginia, 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:24On the left is like a product worksheet that we had to fill out.
- 13:29And then on the right um there it's like one of our our diagramming tools.
- 13:33And 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:39So, there wasn't like ever a question of like why is the agent asking me dumb questions?
- 13:43It 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:50Um 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:00Okay, I'm skipping stuff here, but we're going to keep moving cuz I got like 3 minutes.
- 14:03Um 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:15legacy domain-specific languages.
- 14:17Um 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:30highly 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:37So, 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:45work.
- 14:46Um and you can see the built-ins, MCP servers.
- 14:51The really quick, the code monetization plugin um this is at the heart of the whole thing.
- 14:55And 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:05Um and I'm going to I'm going to keep moving here.
- 15:07Um ultimately, the driver's laptop, my laptop, was the runtime, okay?
- 15:10So, I had to run nine steps that are that are um started with the booting step, so eight steps after that.
- 15:16And 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:25Okay, so we adapted it to our needs as I would would encourage anyone to do.
- 15:28And on the right, those orange colored elements are worksheets that were created.
- 15:33So that was going to require human approval.
- 15:35And 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:47And 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:58So, some interesting lessons.
- 16:00Um obviously I burned a lot of uh burned a lot of tokens.
- 16:04[laughter]
- 16:04Um 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:18Um 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:25And then some quirky subagent behavior.
- 16:27But 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:35um 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:46So, um model selection for the win.
- 16:49Um 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:57Um we also have some interesting updates to make with decision models within our harness um and within the our model selection harness framework.
- 17:05And then um our our like to our context was just like markdown files, y'all.
- 17:10Like we didn't really have any complex way to graph things out.
- 17:14Like we weren't using anything fancy with a um like um like graphify or um obsidian.
- 17:21I 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:28uh and look at all that context that we're using to inform this war room.
- 17:32Um and then lastly um audio as a data source.
- 17:35Like 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:44Um and so that was kind of like a distracting thing that I think and I'm sure I lost a bunch.
- 17:48Um so a less lossy way to incorporate the um inputs from the war room.
- 17:52And then lastly, how can we deploy this thing across the organization?
- 17:56Um 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:04And 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:12And 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:23All right, and that is it.
- 18:24Um we broke free of our outer loop.
- 18:27Now it's your turn.
- 18:28[laughter]
- 18:29Uh and that's the blog that you guys can take a picture of um if you'd like.
- 18:34All right, thanks for your time.
- 18:36[applause]