AI Engineer

Stop babysitting your agents... — Brandon Walsenuk, Unblocked

1117 summary words 5 min summary Watch video

Start with the signal

5 min read

Summary

30-second take

Brandon Walsenuk from Unblocked argues that coding agents fail not from lack of intelligence but from lack of context—they spawn with zero knowledge of your org, patterns, and systems. He claims naive RAG, MCP access alone, and massive context windows all fail because agents suffer "satisfaction of search" (stopping at first answer) and can't resolve conflicts or understand social/permission graphs. His solution: a "context engine" that ingests all corporate knowledge (code, Slack, docs), builds social graphs to know who works where, resolves conflicts (e.g., CTO Slack comment vs. code), and delivers token-optimized context to agents at runtime. Demo shows a social graph tool (open-sourcing Monday) and a Zendesk integration where context-engine-backed agent shipped mergeable code vs. naive MCP-only agent that passed tests but would've broken prod.

Key takes

  • Access ≠ understanding: Giving agents MCP pipes to tools doesn't mean they know what exists or what patterns to use. In a real test, naive MCP-only agent compiled code but senior engineer rejected it as system-breaking; context-engine-backed agent produced mergeable PR with one nitpick.
  • "Satisfaction of search" kills agents: Like radiologists who stop scanning after finding one thing, agents stop after first relevant data hit. This means they miss correct patterns, alternative approaches, or dependencies, leading to hallucinated implementations and babysitting loops.
  • Conflict resolution is critical: Code in main may contradict a Slack thread where the CTO says "that was implemented wrong." A context engine must weigh source authority (CTO > random dev) and surface both to agents, not hide conflicts.
  • Social graphs unlock personalization: Knowing who you are, which repos you touch, who you work with, and what you've shipped lets the engine narrow searches and return relevant context instead of org-wide noise. At 20+ person orgs (or 20,000-person customers), this is make-or-break.
  • Token optimization via upfront context: Giving agents a high-quality "research packet" (patterns, related services, past decisions) before they execute prevents redundant grep sessions, reduces token burn, and improves plan quality. The engine compresses responses to exactly what's needed.
  • Caching answers breaks fast: They tried caching good answers for latency but learned docs go stale the moment written. System state changes in 24 hours; cached answers become lies. Don't cache, even if it seems efficient.
  • Context engines scale beyond coding: Unblocked's engine sits in Slack "ask engineering" channels, auto-answering support/sales questions, enriching tickets, triaging incidents—agents and humans both query it, avoiding the "wake up to 'am I allowed to use this tool?'" problem for background agents.

Useful details

  • Three debunked myths: (1) Naive RAG over docs = context. (2) Enough MCPs = done. (3) Million-token context window solves it. Reality: agents can't reason over huge windows, need entities/relationships, and naive retrieval fails exhaustively.
  • Six engine differentiators: Unified system context (all SaaS/data sources), targeted retrieval, conflict resolution, data governance/permissions, personalized relevance (social graphs), token optimization.
  • Open-source social graph tool: Generates expert graphs from code repos showing who ships what, who reviews whose code, heat maps of collaboration, peer tables. Uses Anthropic API for labeling. Drops Monday.
  • Demo specifics: Tool visualized their eng org with node size = shipping volume. One dev (Rasheen) had massive node. Graph shows code areas, review patterns, and expert domains. Context engine pivots on this when answering queries.
  • Real prompt test: "How do I make a new first-class integration to Zendesk?" With context engine MCP, agent wrote correct query, ran research task (effort: high), triggered explore agents in right places, produced plan with factory pattern, library modules, provider registration—senior eng approved with one nitpick. Without engine, agent missed Bedrock fallback, shipped bugs, broke custom collars.
  • Adoption ladder: Reference to Basim Eldeth's work. Teams move from "fancy autocomplete" → static curated context (CloudMD, AgentsMD files) → context engine (runtime data + static). Static content can't capture runtime state or org knowledge.
  • Permission model: Delivered over MCP with OAuth passthrough. Private Slack DMs returned to owner, never to other users. Governance matters at 20+ scale.
  • Use cases: Ask-engineering channels (auto-answers), ticket enrichment, triage, incident management, agent code review, planning.

Caveats / counterpoints

  • Conflict resolution "not fully solved": Brandon admits handling truthiness (code vs. Slack vs. docs) is tough and incomplete despite techniques in their product.
  • No numeric benchmarks: Bar chart comparison was "asked Claude to make," so self-reported/qualitative. No token counts, latency, or error rates shared.
  • Heavy lifting required: Building a context engine means ingesting all SaaS apps, maintaining a graph, reasoning across sources, handling permissions. Not trivial for small teams.
  • Caching pain point: They learned the hard way; no mitigations offered for teams wanting faster responses without staleness risk.
  • Open-source tool is one component: The social graph is just part of a context engine. Teams still need ingestion, retrieval, conflict resolution, token optimization, etc.
  • Assumes 20+ person orgs: Explicitly says issues emerge at scale. Smaller teams may not need this complexity yet.
  • Demo relied on Unblocked product: Both demos used their MCP and internal setup, not fully reproducible open tooling yet.

Ken relevance

High relevance for agent infrastructure and AI ops.

  • Agent systems: Ken's building agents for business workflows. This validates that context engines (not just RAG or MCP access) are necessary to move agents from prototype to production. The "satisfaction of search" and conflict resolution problems apply directly to any multi-step agent Ken deploys.
  • Social graph insight: Building a graph of who works where, what they ship, and their permissions could power agent personalization in Ken's tools—routing tasks, escalating to right experts, respecting data boundaries.
  • Token efficiency: If Ken's agents burn tokens on redundant searches or re-grepping, a lightweight context layer (even static + social graph) could cut costs and latency.
  • GTM / product angle: Unblocked is productizing this for eng orgs at scale (20–20k people). If Ken's targeting similar customers, understanding their pitch (context engine > naive RAG, MCP tooling alone fails) informs competitive positioning or partnership opportunities.
  • Open-source tool: The Monday drop of the social graph generator could be a quick win to prototype expert graphs in Ken's own org or customer deployments.
  • Babysitting problem: If Ken's agents require constant human correction, the "research packet upfront → better execution" pattern is a concrete fix.

Mainly applies if Ken's agents interact with codebases, docs, or cross-system knowledge; less relevant if focused purely on narrow API workflows.

Watch verdict

Watch fully if you're building multi-step agents that need org context or struggle with hallucinations/redundant searches; skim if you just want the architecture principles and can skip the live demos. The conflict resolution, social graph, and "access ≠ understanding" arguments are concrete and actionable, not generic RAG rehash.

Full transcript 3850 words · 34 min read
0:00

[SPEAKER_00] Hello everybody, it's good to see you.

0:15

SPEAKER_00

I'm Brandon, I work at Unblocked. It's a great place, and my goal is to make it so that you don't have to babysit your agents anymore. I'm sure we all have a different take on what that means. What I think of is care and feeding. Agents, whenever you spawn it by typing Claude in your CLI, let's assume, whatever tool you may use, they exist and it's like a brilliant software engineer has just spawned and it knows nothing about what it needs to do, it knows nothing about your org, it's completely zero context in its head. So typically what happens is people have to move through building that context, which we'll go through in the beginning.

0:28

SPEAKER_00

But first what I'm going to cover today pretty quickly is three myths about how you can stop babysitting your agents and then three lessons that we learned the hard way, building a context engine at Unblocked. So our product basically provides this context for agents and we'll tell you a bit about how we built that, techniques to care about, and I'll show you a repo we actually constructed at our workshop yesterday that will be open source at the end of the week, which has one component of what's in a context engine, which you can lift for yourself and bring into your org if you'd like. So not long ago, you were the context engine.

0:36

SPEAKER_00

If you think about that when you're writing code, you thought about everything, you knew everything, you figured it all out, you were dealing with that, and now what's weird is you're in a weird state where you are actually the context engine for your agents. So a useful way to think about this is how did you build context when you showed up at a company? So day one, you had probably nothing, but you were really smart, you finished school, maybe some self-learning. Then over time, you accumulate context by doing stuff at work, meeting market, meeting your team, being like here's a PR, getting it rejected, all these good things built up a lot of your capabilities.

0:47

SPEAKER_00

And then finally, you became very good at your job because you asked good questions, and you knew how to gather accurate context and shred stuff that wasn't helpful for you. This is where we're at right now. Most people here, if you look at the bottom, are in the you are the context engine stage because you're either dealing with the early phases of AI, which was just fancy autocomplete, or you're in an agentic IDE where you're triggering every job. What we see with all these businesses that work with us and their AI adoption is it's usually at a varying level of this. This has been adapted from Basim Eldeth's work, if you check him out later, great engineer.

1:01

SPEAKER_00

But this is the type of ladder that we're dreaming for, and far on the side is a dreamy future that maybe Codex figured out, I think. I didn't see Ryan's talk, unfortunately. But everyone else is trying to get there. In order to move through this, you want to get to the curated context layer. That is typically what a lot of teams are doing by creating static repos. So static stores have a bunch of context that says key things about their company. These can include, of course, CloudMD files, AgentsMD, those types of tooling. But usually people start to put a bunch of other key corporate context into an area that agents can access to pull data from.

1:19

SPEAKER_00

The issue with that is those are static content pieces, of course. So someone has to maintain and update them. As well as they don't have the availability of actual raw runtime data. There's just a bunch of information that engineers obviously need that don't go into these static layers that you're starting to see, which typically look like a file system. Context Engine.

1:31

SPEAKER_00

What this needs to do is basically have all that static content, of course, but also be able to at runtime when a query comes through from the software engineer, typically, how do I implement this feature? At runtime, it's able to pull that static source across your entire corporate knowledge corpus, essentially, whether it's any many SaaS apps, different systems or records, and pull in the runtime singles in order to analyze, reason across all those surfaces, all those different data stores, and then run exhaustively to actually find all of the things that are important, and then send a token optimized, aka small response, to the agent with all the details it needs to then execute its next steps.

1:34

SPEAKER_00

So you'll see through this, but typically, that means getting the best context upfront makes all agent choices and actions after that even better. So if you give it, for example, a key research packet of like, hey, I want to do a new integration, and you drop a packet so that it creates a good plan, and that information says, here's our patterns, we use factory pattern, we do these things, all the things about your organization, it's then able to trigger its background agent jobs to go grep your code base to do the things it needs to with higher accuracy, which means it's more token efficient, and it gets the job done faster. This is the problem from our friend Kaparthi.

1:43

SPEAKER_00

The gap is not intelligence at this point, it is context. Though Mythos sounds pretty cool. So the problem is, people think that access is the answer, but it is not understanding. So providing your agent tools with MCPs, with pipes to different sets, allows it to access that. But you have to remember, you day one, when you showed up at work, you don't know where things are, and you definitely don't know what you don't know.

1:56

SPEAKER_00

So there's probably some service over there you've never heard of before in your life, you're working on a thing, your agent's like, oh, I did it, I wrote the whole code from scratch, and then your senior engineer is like, hey, bro, we have a service, and denies you. So one thing you'll see is, we actually triggered this task, that's a real prompt. You'll see data later in this slide about the outcomes. We did it with Unblocked, a context engine, and then without one.

2:06

SPEAKER_00

But you have to remember, day one, when you showed up at work, you don't know where things are, and you definitely don't know what you don't know. So there's probably some service over there you've never heard of before in your life. You're working on a thing, your agent's like, oh, I did it, I wrote the whole code from scratch, and then your senior engineer is like, hey, bro, we have a service, and denies you. So one thing you'll see is we actually triggered this task, that's a real prompt. You'll see data later in this slide about the outcomes. We did it with Unblocked, a context engine, and then without one, but it had an MCP access to each SaaS tool that was required to get the job done. And I'll show you the differences. The short story is you get this. The naive run, which just had the MCP access, passed all the code checks, it compiled, but the senior engineer was like, this is totally wrong, and what it tried to do would have broken our entire system if we had shipped it.

2:09

SPEAKER_00

So three myths about building context. The first: if I do naive RAG over my docs, that is context. Unfortunately, that does not work. Naive RAG picks a bunch of things, it puts a data store there, and the agent can then crawl across that data store, but it typically falls down because there's something known as satisfaction of search. This is a known phenomenon in radiology, but the short story is, if you get an x-ray, because let's say you have a lung problem, the radiologist will scan, and when they find something, they're like, oh, there's something on your lung. They stop looking, because they think they found the answer to the symptoms you have told them, and this is very bad in medical health, of course, because there may be other things wrong. So what happens with an agent is if you say, make a Zendesk integration, it will go, it might call an MCP, and the first piece of data it finds, it goes, oh, this must be the pattern, it stops looking. So the issue is if it's not exhaustive, it will not find the actual root cause, or it may not find the correct best way to implement, and just a bunch of other problems can happen, and by the time the agent output is done, you read it as an engineer and go, no, and then you're in a doom loop, where you're like, let me correct you, it's actually over here, I'm going to point a file, and so you're babysitting again.

2:12

SPEAKER_00

If I just connect enough MCPs, I'm done, I think I've spoken to that. They're there, they're pipes, that's great, but they don't provide understanding or reasoning across it. And then finally, we did think this for a while, we dreamed of the one million context window. It's here, I don't know if anyone's ever whacked it full with something and then tried to get the agent to do anything. It can't. It basically just can't reason over that much data. It's just not super helpful. It just sits there. There's no entities and relationships, and there's all these things that we need for these agents to be most effective. So the bigger context window does not solve it. There's a bunch of compute reasons why even if we got to 100 million in a context window, it's still not going to help, other than needle in haystack problems, if you're obviously like finding Waldo.

2:14

SPEAKER_00

So basically, this is what we see. The classic waterfall: code that compiles is what the agent can see, but typically today, they miss all of this, because it can't see it, it doesn't know if it's there. It would have to run for so long grepping in a session to actually get your factory patterns or other things across your code base, that you'd burn a bajillion tokens, and then when you close that terminal window, goodbye. You gotta just do it again, and no one wants to repeat this cost. So this is why you need a context engine. It understands who you are and what information actually matters. So a key component of this is a social graph, because you use that as a pivot point. If I ask how to do the Zendesk integration, the context engine should know which code bases I work in, where my PR history is, who I work with, and what I mean when I say that. Because at a large org, we deal with companies that have 20,000 members that are customers of ours. It's very different. So you need to be able to reason that. And by the way, a context graph is an incredibly useful technique for building these things. We'll talk about it. It should resolve conflicts. I don't know how many times I've looked at source code that's running in main and we go, yeah, that's the source of truth, but there's a Slack conversation where the CTO says that was implemented wrong. Which is right? The context engine must be able to settle that debate. And by the way, a graph of social graph helps with that, because if you see the CTO saying in the Slack thread, that's wrong, the CTO is probably right. So the context engine reasons about that and goes, well, the code says this, Slack says this, that's the CTO. We should probably tell the agent what the CTO said and of course provide it the source code, et cetera. So it passes what's truth. So it handles truthiness. That's a tough problem. We have a lot of techniques in our product to solve it. It is not fully solved. It should respect permissions of governments. This is pretty basic. It's one of the reasons this is delivered over MCP is you can carry the OAuth model through for data governance and a bunch of other reasons that matter in scaling businesses. I mean, as soon as you're 20 plus, typically this matters, because some data should not be accessible to others. So when you build your engine, you do not want to put everything in there, especially when you think about we ingest Slack conversations and Microsoft Teams conversations. So if it's you, we will return responses from private chats. But if someone else asks a question, we will never show them private chats that aren't theirs. That's just one easy way to think about it. And it should deliver the right context, the right model at the right time in a token optimized way.

2:17

SPEAKER_00

This is how ours works. So the short is we ingest a bunch of data sources. It sits in our engine. We have six key differentiators, which I'll go into in a second. And then on the output side, there should be many surface areas where agents and humans are able to interact with the context engine. One of ours is simple. Human engineers in Slack just chat with it and ask it questions all the time to get data they need. I'll show you an example. But then, of course, agents. As you move to background agents, And it should deliver the right context, the right model at the right time in a token optimized way.

2:22

SPEAKER_00

This is how ours works. So the short is we ingest a bunch of data sources. It sits in our engine. We have six key differentiators, which I'll go into in a sec. And then on the output side, there should be many surface areas where agents and humans are able to interact with the context engine. One of ours is simple. Human engineers in Slack just chat with it and ask it questions all the time to get data they need. I'll show you an example. But then, of course, agents. As you move to background agents, they need a context engine in order to run headlessly or to run in the background or run in the cloud, because they have to be able to ask questions of a machine, not a person. Because otherwise, you're not going to wake up to a PR. You're going to wake up to a, am I allowed to use this tool? And that's not helpful. So these are the six. We're going to move at pace. But the short is I've talked to a lot of these, but these are marketing terms. Unified system context. So it should be able to reason across all of your systems of records. It has to be able to do targeted retrieval. Conflict resolution, as described, there are many times where the docs and this and that are conflicting. So how do you settle that? That data governance problems, so secure access model. Personalized relevance, building social graphs, knowing who you are, who you work with. And finally, of course, token optimization. This is becoming a pretty big issue. A lot of benefits you get on token optimization is just by having a context engine, because you don't rerun those greps for the agent to know. But also with an engine, if you reason across everything, it's then able to compress the response into exactly what the agent needs and only send that back as an answer. That task I talked about, I'm not going to lie, we asked Claude to do the comparison, so it made these bar charts and numbers. But it did pull out all the key points of this. That same prompt, one was naive. It had all the MCPs it needed to get the data, and the other had our context engine only. This is the difference across key principles of engineering. But these are funny. It didn't catch that we used bedrock as a fallback. It shipped bugs. There was one that broke the custom collars. The short story is, if you're working at any form of scale, again, 20 plus, agents are just going to try to mock things, and it'll look like prototype. It's not mergeable. If you get a context engine, when I put up this PR, our senior engineer for the one with the engine basically gave me a nitpick and was, yeah, you can merge this. Just fix that. Great. These are some of our hard lessons. We did try to optimize for access. Now, understand, we were, the model will handle this. The agent's totally going to figure it out. It'll collapse into mythos or whatever. It hasn't. It's been years. So we were, we have to solve this problem another way. And I think that's correct, based on actually Anthropix launched last night with cloud agents and Ryan's talk this morning. You have to get context into the harness. And an engine is the way to do that. We hid conflicts instead of servicing them. The agent would actually just pick what we found with conflicts at first, because we were, it can't be that bad. It's that bad. So solving conflicts is an important problem. And then finally, this is a really fun one. We thought as good answers happened, we actually got feedback loops on those. So we were caching them for latency. If you cache a good answer, basically, it's like when you write docs, right? The moment you write it, it's no longer valid because things are changing. So if you cache a correct answer and then tomorrow someone asks the same question and you answer it, you probably lied to them now because things probably changed in a 24-hour clock. So the system is not the same. Obviously, some questions I'm sure are stable, but this led to a lot of problems. So I highly recommend against, even if it's optimized. This is where AI forward teams are. They're using context engines in all of these cases. So I know we're all engineers, but I'm sure that we support others in our orgs, in an ask engineering channel. Our context engine, it sits in every customer's ask engineering channel. It detects if a question is asked, it scores confidently, and then it responds automatically. So when support teams, sales teams, whoever's, hey, what's running in prod? What's this? The context engine just answers them and deals with the issue, just like it would answer an agent asking for data. So there's a lot of ways that you get tons of leverage out of getting one of these into place. Teams then customize them. So most fork, we have a cookbook. They take that repo. The cookbook's full of skills. But then you devise your skills with your standard operating procedures. You obviously can build your own workflows, whether you do that as a skill or some other technique. And then of course, custom agents. All of these can leverage that same context engine. So you just get a huge amount of leverage. This is what I'm trying to leave you with. An agent should write code that feels like it was written by someone who's been on your team for years. That's just what we should expect by now. And this is one of those techniques to get you there. I can do a brief Q&A and I can give a demo. I have three minutes left. So what's your preference? Demo. Cool. So this is the tool I talked about at the workshop. We're going to open source it. This is one component of a key of a social graph. And so when you run it, this will be available. I think it's Monday. We're going to actually open source it, closed source right now. There's a whole setup. But we had a bunch of teams hack against it and ship code. But basically, we'll build you one of these. I'm going to zoom in. This is our engineering org. As you can see, there's different nodes and edge. It's a basic graph, but it's a social graph. Rasheen is a goddamn machine. So that's how much he ships is by the size of the node. If we go look at this, it's algorithmic, procedurally generated. So you'll see the tool. But in short, you can see on the right who he's working with. Sorry, the screen is kind of small. Great. Kind of worked. So you can see who he works with, whose code he reviews, what area he worked in. We use labeling with an API key from Anthropic. Oh god, now it looks terrible. Let's zoom in. A little better. Sorry. It's a fun tool. But basically, this expert graph would allow you to,

2:24

SPEAKER_00

but it's a social graph. Rasheen is a goddamn machine. So that's how much he ships is by the size of the node. If we go look at this, it's algorithmic, procedurally generated. So you'll see the tool. But in short, you can see on the right who he's working with. Sorry, the screen is small. Great. Worked. So you can see who he works with, whose code he reviews, what area he worked in. We use labeling with an API key from Anthropic. Oh god, now it looks terrible. Let's zoom in. A little better. Sorry. It's a fun tool. But this expert graph would allow you to, when a query comes across, we go, oh, you're Rasheen. You work with these people. Great. It'll pivot on that data. It'll then zoom into the code bases that he's dealing with. So when you, as an engineer, ask, maybe not the best prompt of all time, but you're like, hey, I got to get this done. There's a bug. Got to fix it. It'll know who you are. It'll pivot on that. It'll probably find the bug that's correct. And again, it'll use this component to do a bunch of things and make decisions as it traverses in order to reason to give the agent the exact answer that it needs. So this tool generates this for you. You just point it at your code repo. It'll do a construction. But it does things like creates experts across various areas in the business. So in our libs, our services. Apologies. We got time. You can check a heat map grid of who works with each other, who reviews what, who authors what. You can check peer tables, who Andre works with, et cetera. So this data available in a context engine, very useful. And again, this will be open source. If I think you got a badge scan, I'll just email you all as soon as it's open source. That's cool. Another quick demo, ghosty, my boy. So in this one, I actually used our MCP. And I just straight up said, how do I make a new first class integration to Zendesk? I just said, use the MCP. It would probably have picked it up, but I want to make sure for this demo that it did. It ran. It just chose to use our research task tool. You can see that it constructed a query. So the agent did that based on the shape of our MCP. So it wrote the right query, ran that. It did effort high for reasoning. It got the data back. Then it triggered its explore agents. This is key, because now they're exploring the right place after this research packet came in. Great research results. Did the thing, did the thing. Wrote me a plan. So if you look at this plan, you do not know my source. That's fair. But if we just scan it, it found all the things that matter, like registering our provider, obviously. We have a factory pattern. I'll just pull through, but the library modules, client. This is one hell of a plan, is the short story. And it's pretty correct. I would probably prompt us a couple more times to get it totally right. But at any time while it's executing, it's able to keep calling our MCP. So typically what we see is use the engine for planning, run execution, and then as you get to code review, leverage your engine again, because that engine is very good at code review, and it's extremely good at planning. That's all the time I have. So thank you all very much. I appreciate it. I'm at a booth at G16. So come by if you have questions.

2:27

SPEAKER_00

This has been adapted from Basim Eldeth's work, if you check him out later, great engineer. But basically, this is the type of ladder that we're dreaming for, and far on the side is like a dreamy future that maybe Codex figured out, I think. I didn't see Ryan's talk, unfortunately. But everyone else is kind of trying to get there. In order to move through this, you want to get to the curated context layer. That is typically what a lot of teams are doing by creating static repos. So static stores have a bunch of context that says key things about their company. These can include, of course, CloudMD files, AgentsMD, those types of tooling.

3:00

SPEAKER_00

But usually people start to put a bunch of other key corporate context into an area that agents can access to pull data from. The issue with that is those are static content pieces, of course. So someone has to maintain and update them. As well as they don't have the availability of actual raw runtime data. There's just a bunch of information that engineers obviously need that don't go into these static layers that you're starting to see, which typically look like a file system. Wow. Context Engine. What this needs to do is basically have all that static content, of course, but also be able to at runtime when a query comes through from the software engineer,

3:37

SPEAKER_00

typically, how do I implement this feature? At runtime, it's able to pull that static source across your entire corporate knowledge corpus, essentially, whether it's any many SaaS apps, different systems or records, and pull in the runtime singles in order to analyze, reason across all those surfaces, all those different data stores, and then run exhaustively to actually find all of the things that are important, and then send a token optimized, aka small response, to the agent with all the details it needs to then execute its next steps. So you'll see through this, but typically, that means getting the best context upfront

4:12

SPEAKER_00

makes all agent choices and actions after that even better. So if you give it, for example, a key research packet of like, hey, I want to do a new integration, and you drop a packet so that it creates a good plan, and that information says, here's our patterns, we use factory pattern, we do these things, like all the things about your organization, it's then able to trigger its background agent jobs to go grep your code base to do the things it needs to with higher accuracy, which means it's more token efficient, and it gets the job done faster. This is the problem from our friend Kaparthi. The gap is not intelligence at this point, it is context.

4:49

SPEAKER_00

Though Mythos sounds pretty cool. So the problem is, people think that access is the answer, but it is not understanding. So providing your agent tools with MCPs, with pipes to different sets, allows it to access that. But you have to remember, you day one, when you showed up at work, you don't know where things are, and you definitely don't know what you don't know. So there's probably some service over there you've never heard of before in your life, you're working on a thing, your agent's like, oh, I did it, I wrote the whole code from scratch, and then your senior engineer is like, hey, bro, we have a service, and denies you.

5:25

SPEAKER_00

So one thing you'll see is, we actually triggered this task, that's a real prompt. You'll see data later in this slide about the outcomes. We did it with Unblocked, a context engine, and then without one, but it had an MCP access to each SAS tool that was required to get the job done. And I'll show you the differences. The short story is, you kind of get this. The naive run, which just had the MCP access, basically passed all the code checks, it compiled, but the senior engineer was like, this is totally wrong, and what it tried to do would have broken our entire system if we had shipped it. So three myths about building context.

6:00

SPEAKER_00

The first, if I do naive rag over my docs, that is context. Unfortunately, that does not work. Now, naive rag picks a bunch of things, it puts a data store there, and the agent can then crawl across that data store, but it typically falls down because there's something known as satisfaction of search. This is a known phenomenon, radiology, but the short story is, if you get an x-ray, because let's say you have a lung problem, the radiologist will scan, and when they find something, they're like, oh, there's something on your lung. They stop looking, because they think they found the answer to the symptoms you have told them,

6:32

SPEAKER_00

and this is very bad in medical health, of course, because there may be other things wrong. So what happens with an agent is if you say, make a Zendesk integration, it will go, it might call an MCP, and the first piece of data it finds, it goes, oh, this must be the pattern, it stops looking. So the issue is if it's not exhaustive, it will not find the actual root cause, or it may not find the correct best way to implement, and just a bunch of other problems can happen, and basically by the time the agent output is done, you read it as an engineer and go, no, and then you're in a doom loop, where you're like, let me correct you, it's actually over here,

7:05

SPEAKER_00

I'm gonna point a file, and so you're babysitting again. If I just connect enough MCPs, I'm done, I think I've spoken to that. They're there, they're pipes, that's great, but they don't provide understanding or reasoning across it. And then finally, we did think this for a while, we dreamed of the one million context window, it's here, I don't know if anyone's ever whacked it full with something, and then tried to get the agent to do anything, it can't. It basically just can't reason over that much data, it's just not super helpful, it just sits there, there's no entities and relationships, and there's all these things that we need for these agents to be most effective.

7:39

SPEAKER_00

So the bigger context window does not solve it, there's a bunch of compute reasons why even if we got to 100 million in a context window, it's still not gonna help, other than needle and haystack problems, if you're obviously like fine Waldo. So basically, this is what we see, the classic waterfall, code that compiles is what the agent can see, but typically today, they miss all of this, because it can't see it, it doesn't know if it's there, it would have to run for so long grepping in a session to actually get your factory patterns or other things across your code base, that you'd burn a bajillion tokens, and then when you close

8:12

SPEAKER_00

that terminal window, buh-bye, you gotta just do it again, and no one wants to repeat this cost. So this is why you need a context engine. It understands who you are, and what information actually matters, so a key component of this is a social graph, because you use that as a pivot point, because if I ask how to do the Zendesk integration, the context engine should know which code bases I work in, where my PR history is, who I work with, and what I mean when I say that. Because at a large org, we deal with companies that have 20,000 members that are customers of ours, it's very different.

8:48

SPEAKER_00

So you need to be able to reason that, and by the way, a context graph is an incredibly useful technique for building these things, we'll talk about it. It should resolve conflicts. I don't know how many times I've looked at source code that's running in Maine, and we go, yeah, that's the source of truth, but there's a Slack conversation where the CTO says that was implemented wrong, which is right. The context engine must be able to settle that debate, and by the way, a graph of social graph helps with that, because if you see the CTO saying in the Slack thread, that's wrong. The CTO is

9:18

SPEAKER_00

probably right. So the context engine reasons about that and goes, well, the code says this, Slack says this, that's the CTO. We should probably tell the agent what the CTO said, and of course provide it the source code, et cetera. So it passes what's truth, so it handles truthiness. That's a tough problem. We have a lot of techniques in our product to solve it. It is not fully solved. It should respect permissions of governments. This is pretty basic. It's one of the reasons this is delivered over MCP, is you can carry the OAuth model through for data governance and a bunch of other reasons that matter

9:46

SPEAKER_00

in scaling businesses. I mean, as soon as you're 20 plus, typically this matters, because some data should not be accessible to others. So when you build your engine, you do not want to put everything in there, especially when you think about we ingest Slack conversations and Microsoft Teams convos. So if it's you, we will return responses from private chats. But if someone else asks a question, we will never show them private chats that aren't theirs. That's just one easy way to think about it. And it should deliver the right context, the right model at the right time in a token optimized way.

10:16

SPEAKER_00

This is how ours works. So the short is we ingest a bunch of data sources. It sits in our engine. We have six key differentiators, which I'll go into in a sec. And then on the output side, there should be many surface areas where agents and humans are able to interact with the context engine. One of ours is simple. Human engineers in Slack just chat with it and ask it questions all the time to get data they need. I'll show you an example. But then, of course, agents. As you move to background agents, they need a context engine in order to run headlessly or to run in the background or run in the cloud,

10:47

SPEAKER_00

because they have to be able to ask questions of a machine, not a person. Because otherwise, you're not going to wake up to a PR. You're going to wake up to a, am I allowed to use this tool? And that's not helpful. So these are the six. We're going to move at pace. But the short is I've talked to a lot of these, but these are kind of marketing terms. Unified system context. So it should be able to reason across all of your systems of records. It has to be able to do targeted retrieval. Conflict resolution, as described, there are many times where the docs and this and that are conflicting. So how do you settle that? That data governance

11:19

SPEAKER_00

problems, so secure access model. Personalized relevance, building social graphs, knowing who you are, who you work with. And finally, of course, token optimization. This is becoming a pretty big issue. A lot of benefits you get on token optimization is just by having a context engine, because you don't rerun those greps for the agent to know. But also with an engine, if you reason across everything, it's then able to compress the response into exactly what the agent needs and only send that back as an answer. That task I talked about, I'm not going to lie, we asked Claude to do the comparison,

11:51

SPEAKER_00

so it made these bar charts and numbers. But it did pull out all the key points of this. That same prompt, one was naive. It had all the MCPs it needed to get the data, and the other had our context engine only. This is the difference across key principles of engineering. But these are funny. It didn't catch that we used bedrock as a fallback. It shipped bugs. There was one that broke the custom collars. The short story is, if you're working at any form of scale, again, 20 plus, agents are just going to try to mock things, and it'll look like prototype. It's not mergeable. If you get a context engine, when I

12:25

SPEAKER_00

put up this PR, our senior engineer for the one with the engine basically gave me a nitpick and was like, yeah, you can merge this. Just fix that. Great. These are some of our hard lessons. We did try to optimize for access. Now, understand, we were like, the model will handle this. Like, the agent's totally going to figure it out. It'll collapse into mythos or whatever. It hasn't. It's been years. So we were like, we have to solve this problem another way. And I think that's correct, based on actually Anthropix launched last night with cloud agents and Ryan's talk this morning.

12:53

SPEAKER_00

You have to get context into the harness. And an engine is the way to do that. We hid conflicts instead of servicing them. The agent would actually just pick what we found with conflicts at first, because we were like, it can't be that bad. It's that bad. So solving conflicts is an important problem. And then finally, this is a really fun one. We thought as good answers happened, we actually got feedback loops on those. So we were caching them for latency. If you cache a good answer, basically, it's like when you write docs, right? The moment you write it, it's no longer valid

13:21

SPEAKER_00

because things are changing. So if you cache a correct answer and then tomorrow someone asks the same question and you answer it, you probably lied to them now because things probably changed in a 24-hour clock. So the system is not the same. Obviously, some questions I'm sure are stable, but this led to a lot of problems. So I highly recommend against, even if it's optimized. This is where AI forward teams are. They're using context engines in all of these cases. So I know we're all engineers, but I'm sure that we support others in our orgs, like a ask engineering channel. Our context engine, it sits

13:55

SPEAKER_00

in every customer's ask engineering channel. It detects if a question is asked, it scores confidently, and then it responds automatically. So when support teams, sales teams, whoever's like, hey, what's running in prod? What's this? The context engine just answers them and deals with the issue, just like it would answer an agent asking for data. So there's a lot of ways like that use case I just talked about, but then ticket enrichment, triage, incident management, obviously working with your agents and coding. These are all great ways that you get tons of leverage out of getting one of these into place.

14:28

SPEAKER_00

Teams then customize them. So most fork, we have like a cookbook. They take that repo. The cookbook's full of skills. But then you devise your skills with your standard operating procedures. You obviously can build your own workflows, whether you do that as a skill or some other technique. And then of course, custom agents. All of these can leverage that same context engine. So you just get a huge amount of leverage. This is what I'm trying to leave you with. An agent should write code that feels like it was written by someone who's been on your team for years. Like that's just like, we should expect

14:58

SPEAKER_00

that by now. And this is one of those techniques to get you there. I can do a brief QA and I can give a demo. I have three minutes left. So what's your preference? Demo. Cool. So this is the tool I talked about at the workshop. We're going to open source it. This is one component of a key of a social graph. And so when you run it, this will be available. I think it's Monday. We're going to actually open source it, closed source right now. There's a whole setup. But we had a bunch of teams hack against it and ship code. But basically, we'll build you one of these. I'm going to zoom in.

15:30

SPEAKER_00

This is our engineering org. As you can see, there's different nodes and edge. It's a basic graph, but it's a social graph. Rasheen is a goddamn machine. So that's how much he ships is by the size of the node. If we go look at this, it's algorithmic, procedurally generated. So you'll see the tool. But in short, you can see on the right who he's working with. Sorry, the screen is like kind of small. Great. Kind of worked. So you can see who he works with, whose code he reviews, what area he worked in. We use labeling with an API key from Anthropic. Oh god, now it looks terrible. Let's zoom in.

16:02

SPEAKER_00

A little better. Sorry. It's a fun tool. But basically, this expert graph would allow you to, when a query comes across, we go, oh, you're Rasheen. You work with these people. Great. It'll pivot on that data. It'll then zoom into the code bases that he's dealing with. So when you, as an engineer, ask, maybe not the best prompt of all time, but you're like, hey, I got to get this done. There's a bug. Got to fix it. It'll know who you are. It'll pivot on that. It'll probably find the bug that's like correct. And again, it'll use this component to do a bunch of things and make decisions as it traverses in order to reason to give the agent the exact answer that it needs.

16:38

SPEAKER_00

So this tool like generates this for you. You just point it at your code repo. It'll do a construction. But it does things like creates experts across like various areas in the business. So in our libs, our services, I'm quick scrolling. Apologies. We got time. You can check a heat map grid of who works with each other, like who reviews what, who authors what. You can check peer tables, you know, who Andre works with, et cetera. So this data available in a context engine, very useful. And again, this will be open source. If I think you got a badge scan, I'll just email you all as soon as it's open source. That's cool.

17:12

SPEAKER_00

Another quick demo, ghosty, my boy. So in this one, I actually used our MCP. And I just straight up said, how do I can make a new first class integration to Zendesk? I just said, use the MCP. It would probably have picked it up, but I want to make sure for this demo that it did. It ran. It just chose to use our research task tool. You can see that it constructed a query. So the agent did that based on the shape of our MCP. So it wrote the right query, ran that. It did effort high for reasoning. It got the data back. Then it triggered its explore agents. This is key, because now they're exploring the right place after this research packet came in.

17:46

SPEAKER_00

Great research results. Did the thing, did the thing. Wrote me a plan. So if you look at this plan, you do not know my source. That's fair. But if we just scan it, like it found all the things that matter, like registering our provider, obviously. We have a factory pattern. I'll just pull through, but like the library modules, client. Like this is like one hell of a plan is the short story. And it's like pretty correct. I would probably prompt us a couple more times to get it totally right. But at any time while it's executing, it's able to keep calling our MCP. So typically what we see is use the engine for planning, run execution, and then

18:20

SPEAKER_00

basically as you get to code review, leverage your engine again, because that engine is very good at code review, and it's extremely good at planning. That's all the time I have. So thank you all very much. I appreciate it. I'm at a booth at G16. So come by if you have questions.

Reading tools

Type to find a passage

Appearance
Ask this transcript

Add a note