WEBVTT

NOTE Sentence-level transcript of https://www.youtube.com/watch?v=KcVkq5L-0f0

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/KcVkq5L-0f0.html. A cue ends where the next begins, or 2 s after its last word.

s1
00:00:01.309 --> 00:00:03.309
[music]

s2
00:00:12.400 --> 00:00:13.960
Good afternoon.

s3
00:00:13.960 --> 00:00:16.920
I hope you're all having a lovely day here at AIE.

s4
00:00:16.920 --> 00:00:19.240
We've had great weather, though the UV has been like nine.

s5
00:00:19.240 --> 00:00:22.760
So, hopefully you put your sunscreen on your being appropriate adults.

s6
00:00:22.760 --> 00:00:30.640
I'm here to talk to you about context engineering, and I have the good fortune of following AJ from LinkedIn because he talked a lot about the system that we actually design and sell to other solutions.

s7
00:00:30.640 --> 00:00:32.599
And I'm going to give you a bunch of open source tools.

s8
00:00:32.599 --> 00:00:39.360
So, if you watch that last talk just before me, you're going to get a bunch of tool chance you can go mess around yourself, and I'll teach you a bunch of techniques today.

s9
00:00:39.360 --> 00:00:43.000
The goal, of course, is to fix your absolutely right.

s10
00:00:43.000 --> 00:00:49.280
I think they've taken that out of the prompts now, so it just says you're right or other things, but I'm sure you've all been there.

s11
00:00:49.280 --> 00:00:50.520
So, I'm Brandon.

s12
00:00:50.520 --> 00:00:51.800
I work at Unblocked.

s13
00:00:51.800 --> 00:00:53.160
Uh yes, I have a coconut.

s14
00:00:53.160 --> 00:00:57.280
We've been giving these away for fresh context, fresh fresh coconuts.

s15
00:00:57.280 --> 00:01:04.519
But, the thing that I want to talk to you about is with these models, especially with Meth O'Clock models, I think Fable 5's coming back today, so they say.

s16
00:01:04.519 --> 00:01:07.920
You can watch my Grain Call recording try to book this.

s17
00:01:07.920 --> 00:01:09.440
We'll ignore it.

s18
00:01:09.440 --> 00:01:19.720
But, what I want you to do is to think about the fact that with these tools, AI-generated code should feel like it was written by someone who's been on your team for years.

s19
00:01:21.360 --> 00:01:27.120
So, to get in the right headspace, for years you have to consider that you have been the context engine.

s20
00:01:27.120 --> 00:01:29.480
How did you do that?

s21
00:01:29.480 --> 00:01:40.760
You built context by going to work and asking questions, shipping PRs and getting them rejected, going to meetings, and all this slowly over time built up the engine that is your brain.

s22
00:01:40.760 --> 00:01:42.120
You understand how it works here.

s23
00:01:42.120 --> 00:01:43.600
You know how stuff gets shipped.

s24
00:01:43.600 --> 00:01:48.480
You were on call that night when you took prod down and why that happened.

s25
00:01:48.480 --> 00:01:52.880
The problem is that these agents have this exact same problem.

s26
00:01:52.880 --> 00:01:59.840
Every time you create a new terminal session with an agent in it, it's very intelligent, but it doesn't have any context on how your company operates.

s27
00:01:59.840 --> 00:02:02.120
So, it needs to get that somehow.

s28
00:02:02.120 --> 00:02:09.520
The problem is as you move these agents up in scale, that cost compounds if you get it incorrect at the beginning.

s29
00:02:09.520 --> 00:02:16.959
The leverage of context and content We're just going to fix this cuz I think people want to take some photos.

s30
00:02:17.720 --> 00:02:19.280
Perfect.

s31
00:02:19.280 --> 00:02:21.360
That context issue will compound.

s32
00:02:21.360 --> 00:02:28.760
So, at the far left, we all remember the age-old time of 2 years ago where we had tab complete models that were pretty cool.

s33
00:02:28.760 --> 00:02:31.120
What happened is it popped up and said, "Hey, do you want to tab this?"

s34
00:02:31.120 --> 00:02:34.240
And quickly in your head with your context engine, you go, "No, that's bad."

s35
00:02:34.240 --> 00:02:35.160
Or you went, "Oh, sweet."

s36
00:02:35.160 --> 00:02:36.120
You hit tab.

s37
00:02:36.120 --> 00:02:36.959
Nice.

s38
00:02:36.959 --> 00:02:48.880
As we move along the agentic kind of adoption curve, what happens is you are moving into more situations in which you have agents running without a human in the loop, or at least you wish you didn't have to be in the loop.

s39
00:02:48.880 --> 00:02:57.120
What they need is some way to be able to ask the questions they need when they hit walls in order to write code or solve or basically fix the issue and ultimately

s40
00:02:57.120 --> 00:03:10.280
output code that's mergeable into your code base, especially with many people here who actually work in brownfield code bases that have been around for a long time that run real revenue across them, not just greenfield fun projects.

s41
00:03:10.760 --> 00:03:14.239
So, that cost of bad context compounding at the beginning is cheap.

s42
00:03:14.239 --> 00:03:19.760
If you think like shift left, finding a defect or a bug, you want to find it as early as possible.

s43
00:03:19.760 --> 00:03:21.720
It's the same with context.

s44
00:03:21.720 --> 00:03:24.080
Cuz as you move across, you get into doom loops.

s45
00:03:24.080 --> 00:03:25.880
You usually ask your to do something.

s46
00:03:25.880 --> 00:03:26.920
It's like, "Hey, I did it."

s47
00:03:26.920 --> 00:03:28.200
And you're like, "No, man."

s48
00:03:28.200 --> 00:03:30.200
And then you correct and correct and correct.

s49
00:03:30.200 --> 00:03:31.680
That's wasted search tokens.

s50
00:03:31.680 --> 00:03:34.040
It's also wasted rework time.

s51
00:03:34.040 --> 00:03:38.440
And that is not acceptable with the tokenomics we have coming.

s52
00:03:38.440 --> 00:03:41.920
And then as you move into parallel agents, etc., you start hitting a review tax.

s53
00:03:41.920 --> 00:03:54.760
So, these AI code reviewers we're trying to use, but again, key context is important there so that those code reviews are able to basically understand how the operations of the business are so it knows the business logic and more.

s54
00:03:54.760 --> 00:04:07.720
And then finally, if your hope is to move all the way out of the loop, you're like background agents, get it done, make no mistakes, you really need to make sure that you have a context engine so those agents can query it and get all the answers they need so they can keep operating

s55
00:04:07.720 --> 00:04:10.360
in an effective way.

s56
00:04:10.880 --> 00:04:13.560
There are some common approaches that don't work.

s57
00:04:13.560 --> 00:04:15.920
They're basically like a local maxima.

s58
00:04:15.920 --> 00:04:23.000
Two of the ones we see the most with our hundreds of enterprise clients and mid-market size businesses is the curated context trap.

s59
00:04:23.000 --> 00:04:31.200
If you've ever sat down and taken a virtual file system or maybe a local file system, you put some markdown files in it and you're like, here's all the context of this project, it's how it works.

s60
00:04:31.200 --> 00:04:36.400
You then allow your agent to grep over that and it gets a bunch of good data and then it will perform better.

s61
00:04:36.400 --> 00:04:42.080
The issue is first, now you have to distribute that so maybe you throw it up in a GitHub and your team can grab it.

s62
00:04:42.080 --> 00:04:53.080
But then the next is that repo is going to rot just like all the other docs you wrote down and then who at your org is the omnipotent one who has the taste to curate this file or repo

s63
00:04:53.080 --> 00:04:54.960
for literally everyone in the org.

s64
00:04:54.960 --> 00:04:57.040
So you start to hit these issues.

s65
00:04:57.040 --> 00:04:59.520
The next is the MCP plateau.

s66
00:04:59.520 --> 00:05:01.320
This one is pretty clear.

s67
00:05:01.320 --> 00:05:03.200
We have MCPs, they're great.

s68
00:05:03.200 --> 00:05:07.960
You can give it to your agent and now it can basically get information from another source system.

s69
00:05:07.960 --> 00:05:16.480
The problem is, of course, based on how you write the server description, the tool descriptions, your agent may never call it even though it should have.

s70
00:05:16.480 --> 00:05:20.680
Or if it does, there's a known bias called the satisfaction of search bias.

s71
00:05:20.680 --> 00:05:26.840
What that means is the agent, when it finds the first piece of information that it thinks is correct, it goes, "Oh, I have what I need."

s72
00:05:26.840 --> 00:05:28.400
and it proceeds.

s73
00:05:28.400 --> 00:05:38.800
In most organizations, there's a Slack conversation from last night that says you should be doing A instead of doing B and the agent will never find it if it found some architecture record first.

s74
00:05:38.800 --> 00:05:42.560
So it doesn't actually consider all of the context.

s75
00:05:42.919 --> 00:05:47.080
The problem here is access to information is not understanding.

s76
00:05:47.080 --> 00:05:51.800
So to deliver understanding to a model, you have to do other techniques.

s77
00:05:52.400 --> 00:05:57.280
What I'm basically trying to say is what your agent can't see is everything below the waterline.

s78
00:05:57.280 --> 00:06:04.360
It can 100% get code that compiles, but that code that compiles is taking down prod and you have a P0 at 1:00 in the morning.

s79
00:06:04.360 --> 00:06:12.440
Because it missed the fact that you have a certain rollout procedure, you're supposed to turn off a feature flag, whatever it might be.

s80
00:06:12.920 --> 00:06:19.160
So, your team needs a context engine because what it should do is understand who you are and where you work in an organization.

s81
00:06:19.160 --> 00:06:27.200
So, if I say to you, I want to get off stood up, it knows where I work, it knows where my get commits are, it knows who reviews those commits,

s82
00:06:27.200 --> 00:06:34.080
and it understands that my context, it can focus me, and then use that as a trigger point to find the rest of the information.

s83
00:06:34.080 --> 00:06:41.600
It resolves conflicts, as mentioned, an old architecture diagram and last night's Slack convo with the CTO, which one is right?

s84
00:06:41.600 --> 00:06:45.240
You need to use a bunch of techniques to discern determine that.

s85
00:06:45.240 --> 00:06:47.480
Respects permissions and governance, of course.

s86
00:06:47.480 --> 00:06:59.280
MCP allows us to use OAuth and other scopes and SSO, but if someone asks a question over here who's not supposed to know about secret project A, you need to make sure that doesn't leak into the response.

s87
00:06:59.280 --> 00:07:04.400
And then finally, deliver the right context at the right time to the model in a token optimized way.

s88
00:07:04.400 --> 00:07:19.320
We have multiple surface areas because human engineers still talk to Unblocked all the time to get information they need in Slack or otherwise, but then you want token optimized responses if you're just speaking machine to machine in order to not waste a bunch of bold classes on your token spend.

s89
00:07:19.760 --> 00:07:21.240
This is how an engine works.

s90
00:07:21.240 --> 00:07:27.919
I'm going to be brief on this, but basically on the left-hand side, you see all the data sources that are coming in.

s91
00:07:27.919 --> 00:07:35.520
For us, we focus on engineering teams and that's who uses us, as well as the technically light teams around it, like support, sales, and otherwise.

s92
00:07:35.520 --> 00:07:40.680
You ingest all that data, you get real-time data from tools like your instant management tool chain.

s93
00:07:40.680 --> 00:07:44.160
It comes into the engine, where that engine is, it thinks at the bottom.

s94
00:07:44.160 --> 00:07:46.280
I'll expand on that slide in a moment.

s95
00:07:46.280 --> 00:07:49.560
But basically it uses these six key characteristics.

s96
00:07:49.560 --> 00:07:55.960
And then on the right, you output the context to the exact workflow in the manner that it is needed.

s97
00:07:56.200 --> 00:08:01.400
Those six key points, as mentioned, unified system context, you have to go across the whole thing.

s98
00:08:01.400 --> 00:08:08.440
At large orgs, companies like LinkedIn scale, Workday, General Motors, whatever, they need this type of data.

s99
00:08:08.440 --> 00:08:10.680
They need to understand everything that's happening.

s100
00:08:10.680 --> 00:08:21.360
And Threek this morning actually talking about Fable coming out potentially later today, he mentioned that you need to actually provide a map and then let Fable discover the territory.

s101
00:08:21.360 --> 00:08:29.840
The way to help confine that is making sure that these models have access to all of the context, because they will find your unknown unknowns.

s102
00:08:29.840 --> 00:08:36.919
There are definitely things going on in your company that you're just unaware of, but would be really helpful for the task you're trying to do.

s103
00:08:36.919 --> 00:08:43.560
That will move faster, but the targeted retrieval, you should be able to if you provide a link quickly, unfurl it, get that document back and move along.

s104
00:08:43.560 --> 00:08:49.640
So, two tasks, deep research, go long, that's fine, but you also need speed when speed is required.

s105
00:08:49.640 --> 00:08:55.720
Conflict resolution, we already talked about that, but one thing says do A, one thing says do B, who is right?

s106
00:08:55.720 --> 00:08:59.760
Personalized relevance, who am I, where do I work, what am I working on?

s107
00:08:59.760 --> 00:09:05.120
That token optimization, making sure the response is good and effective and doesn't bloat the window.

s108
00:09:05.120 --> 00:09:10.560
And then permission enforcement, of course, OAuth, you shouldn't see it, you shouldn't see it.

s109
00:09:10.560 --> 00:09:17.400
What we did with some tests is we actually ran the exact same prompt to the same model and one with context and one without.

s110
00:09:17.400 --> 00:09:19.720
This is the wall clock time savings.

s111
00:09:19.720 --> 00:09:22.160
And then 2 hours, which is great.

s112
00:09:22.160 --> 00:09:24.080
And then the tokens savings.

s113
00:09:24.080 --> 00:09:32.560
So, it was a sizable task, it took about 21 million tokens without and then 18, or sorry, 10.8 million tokens with it.

s114
00:09:32.560 --> 00:09:45.640
This is the type of experience that you typically see when you're using a context engine, cuz the majority of those wasted search tokens where it has to grab at the beginning of every session to understand and discover things are no longer there when it's hydrated with context.

s115
00:09:45.640 --> 00:09:47.360
Hydrated.

s116
00:09:47.360 --> 00:09:51.200
And then, as you move forward, you get these types of outcomes.

s117
00:09:51.200 --> 00:09:59.360
50% fewer tokens, faster triage, and the answer quality is actually better because it knew what was going on inside of the business.

s118
00:09:59.400 --> 00:10:02.400
Now, this next part, you'll probably want to photo.

s119
00:10:02.400 --> 00:10:11.280
If you don't know, you can actually take a picture of a QR code and then later in photos tap on it and then load the link so you don't need to float here cuz I'm going to give you three QR codes.

s120
00:10:11.280 --> 00:10:13.200
This first one is for the social comment network.

s121
00:10:13.200 --> 00:10:15.160
I'll pop that up so you can take a photo.

s122
00:10:15.160 --> 00:10:22.720
But, this is an open source tool that we've got that actually, using all deterministic programming, goes over your GitHub and understands who works on your team.

s123
00:10:22.720 --> 00:10:23.880
This is my real team.

s124
00:10:23.880 --> 00:10:27.280
We called Rasheem the machine cuz he ships like crazy.

s125
00:10:27.280 --> 00:10:31.080
But, on the right, you can see who he commits, where he commits, who's reviewing his work.

s126
00:10:31.080 --> 00:10:34.120
And then in those tabs, you can find a distilled experts graph.

s127
00:10:34.120 --> 00:10:36.520
You get full coverage of what's going on in your business.

s128
00:10:36.520 --> 00:10:45.080
And if you optionally add one of the API keys for either OpenAI or um Anthropic, it'll um determine what your teams are by doing some labeling for you.

s129
00:10:45.080 --> 00:10:53.600
It's a really cool tool to understand where your team works and get that social network in there in order to focus the context engine if you're going to be building these tools yourself.

s130
00:10:53.600 --> 00:10:56.080
The next is called the repo rules agent.

s131
00:10:56.080 --> 00:10:58.440
This is a sample from our real code base.

s132
00:10:58.440 --> 00:11:07.000
I'm going to pop that up anyway so you don't need to talk to the thing, but in short, what it does is discover all the places your team has written rules files,

s133
00:11:07.000 --> 00:11:11.320
checks them all, and then tells you what severities you've given, what other things you've given.

s134
00:11:11.320 --> 00:11:13.600
Should I just switch to this?

s135
00:11:13.600 --> 00:11:15.560
It tells you what it Whoa, hey.

s136
00:11:15.560 --> 00:11:17.839
It's good to meet you all.

s137
00:11:17.839 --> 00:11:26.600
Basically, it will find all the rules that are inside of your repo and then tell you if you have duplicate issues or others problems and then you can grab over it as an index.

s138
00:11:26.600 --> 00:11:32.720
So, that index can be called and you can dedupe and it'll help improve um your retrieval of context.

s139
00:11:32.720 --> 00:11:41.200
And then finally, on Monday we delivered this workshop, which was going beyond rag and taught how to build a relational context engine from scratch.

s140
00:11:41.200 --> 00:11:43.080
So, if you scan that, you'll get the full workbook.

s141
00:11:43.080 --> 00:11:46.920
It has six PRs stacked that teach you how to walk through doing this.

s142
00:11:46.920 --> 00:11:50.160
But in short, rag is an incredible technique and you want that.

s143
00:11:50.160 --> 00:11:58.720
But the other half of the problem is what people actually ask is, "What are the open PRs that I worked on in the last week with authentication?"

s144
00:11:58.720 --> 00:12:01.160
Rag cannot answer that question alone.

s145
00:12:01.160 --> 00:12:02.400
You need queries.

s146
00:12:02.400 --> 00:12:14.560
So, this shows you how to do a schema-less basically look up that allows the agent to discover a schema and then write queries against it deterministically in order to get that type of relational data out.

s147
00:12:14.560 --> 00:12:17.120
Very useful technique.

s148
00:12:17.720 --> 00:12:21.600
Use cases of a context engine, of course, do go beyond code generation.

s149
00:12:21.600 --> 00:12:25.040
This is, you know, where we live a lot, a lot of our customers spend their time.

s150
00:12:25.040 --> 00:12:36.120
But it's amazing to see what happens when a bunch of other people around the business start picking up these tools, customer success people solving tickets right at the time that it comes in from a customer.

s151
00:12:36.120 --> 00:12:44.800
We've got sales people closing deals earlier in their quarter because they're able to just query the Unblocked context engine on the fly while in the field.

s152
00:12:44.800 --> 00:12:47.200
And so many more.

s153
00:12:48.040 --> 00:13:00.320
What you can also do is if you saw that curve chart earlier where I talked about the levels, we've built a fun little tool where basically an LLM will quiz you and ask you about what's going on and then it will map you to exactly where you are and then tell you some techniques

s154
00:13:00.320 --> 00:13:07.280
about how to level up through that if you are looking to basically compound your capabilities and ship with AI tools at scale.

s155
00:13:07.280 --> 00:13:09.400
It's readiness.unblocked.com.

s156
00:13:11.280 --> 00:13:13.520
The gap is not intelligence any longer.

s157
00:13:13.520 --> 00:13:14.839
It's context.

s158
00:13:14.839 --> 00:13:21.800
We will continue to get incredible models like Mythos as it's been grown by Anthropic and I'm sure Soul once I'm allowed to see it.

s159
00:13:21.800 --> 00:13:22.320
I will get it.

s160
00:13:22.320 --> 00:13:24.839
Happy Canada Day, by the way.

s161
00:13:24.839 --> 00:13:34.240
But what's happening is it's about the context you surround these models with in order for them to be effective and token efficient inside of your organization.

s162
00:13:35.760 --> 00:13:40.520
So, I have a question slide, but I'm not sure I'm allowed.

s163
00:13:40.800 --> 00:13:41.320
Nope.

s164
00:13:41.320 --> 00:13:44.520
So, what you'll do is come meet me at booth P16.

s165
00:13:44.520 --> 00:13:46.520
You can look for the coconut.

s166
00:13:46.520 --> 00:13:49.560
It'll be great to hang out with all of you and get into details here if you need it.

s167
00:13:49.560 --> 00:13:51.859
Thank you for your time.

s168
00:13:51.859 --> 00:13:53.859
[applause]

s169
00:14:06.269 --> 00:14:08.269
[music]
