Welcome to the latest installment of No Dumb Questions, the series where Stack Overflow’s least technical writer asks technical staff the simple questions people are too afraid to ask. Phoebe is joined by Michael Foree, Stack’s Director of Data Science, to learn about what’s causing the latest AI adoption bottleneck, what exactly AI context is, and why context engineering is so important to the future of our AI systems. Plus, Michael shares what we can all do to become better context engineers.
Phoebe Sajor: Hey Michael, thanks so much for joining me for the latest No Dumb Questions. Soooo….everybody is talking about AI all the time, but I’m hearing we’ve hit this wall with AI where we’re not getting as much adoption and evolution with the tools. I’ve been hearing the words “AI bottleneck” a lot. So what is the AI bottleneck and why do we care?
Michael Foree: I’ve also picked up on an adoption blockage in the conversations that I’ve had. A couple months ago I went to a conference and I surveyed attendees about what they do with AI. The attendees of the conference were inherently technical but there were also some ardently non-technical people there. I got this really interesting mix of CTOs, engineers, and analysts, but also some graphic designers and Project Managers, sharing with me about their usage of AI. This was six months ago and was a great opportunity to talk and learn.
One of the things I heard a lot was that AI is competent and capable of doing most of the things that people want it to do. Where it seems to lack is in its connectivity with the actual things we work on every day.
One particular example that I heard was that AI is capable of reading and responding to an email, but what it lacks is the actual context of the email exchange. It can understand that, hey, here’s the email that someone sent me. But it doesn’t grasp the context about who that person is or the conversation that I’ve been having with them in the email thread, in Slack, and in various meetings. It’s missing everything around the email itself. So, as I use AI to reply to emails, I have to copy-paste content from all the other places I work that is relevant to this conversation, just so my favorite AI can respond to this one email.
But once it has that context, then I can say something really simple like, “Hey AI, how do I respond to this?” And it’ll spit out a response. But I’m still going to spend one or two back and forths editing that response. And only then am I going to copy it from my AI tool into my email program. And then finally, after all of that, I’m going to hit the send button on my email.
PS: Seems like a lot of work for one email.
MF: It is! And what’s more, AI is perfectly capable of doing each of the individual things I listed. What a stand-alone AI tool lacks is the right context. And when you really think about it, there’s a lot of context that goes into a single email reply, and for an AI to perfectly and autonomously reply to an email, it needs all of these connections. Usually, it doesn’t even have a connection to, say, the email tool you’re using, which is the very basis of being able to reply to an email.
And there’s this very small spot where a human being needs to have an opinion and say, “Close, but not quite.” And then the AI tool needs to be able to fix the issue and have the human give a thumbs-up and say, “Okay, now I’m good. Go ahead and send.” That is also missing in the AI workflows that currently exist.
PS: That’s the human-in-the-loop part of AI workflows that everyone is talking about!
MF: Exactly. What these conversations with everyone from CTOs to graphic designers told me, Phoebe, is that there’s an issue of context engineering right now in AI. What AI is missing is the right context. Right now, out of the box, AI can’t say, “Oh, this is the particular context of why the human decided this email needs to be responded to and it needs to be responded to right now.” Understanding human judgement and context is massively important for getting something as simple as an email right. It can’t say, “Here’s some other adjacent conversations that are relevant to this email, I’m going to make sure I include that context in my reply.” Even your favorite AI, who you interact with every day, simply doesn’t have access to all of that information. It’s siloed across all of the countless tools we use in our work.
To get something like an autonomous email workflow to work takes real effort by a human. There’s certain setup and implementation that the human has to do to say, “AI tool, I want you to have access to all of these emails.” Cool, now it has the email context. But it also needs to have access to your briefs and RFPs and whatever else you’re working on. So the human has to go and connect their Google Drive and say, “I want you to have access to these documents.” Okay, cool, but what about all of the related information happening internally? The human has to say, “I want you to have access to Slack channels.” Okay, now it has all the relevant context. But even after all that, the setup isn’t done. Now, the human has to give their AI permission so it can even send an email. They have to go into this workflow and say, “I also want you to have the ability to hit the send email button when I tell you to.”
Personally, as a user, I don’t know if I want to go to that much trouble to set all this stuff up because I might use this, you know, once or twice a day, at most—maybe even only once or twice a month. Is it really worth going and setting all this up to write the occasional email?
PS: Yeah, seems like it would be less work just to write the email yourself.
MF: I mean, if you were to calculate out the effort-to-value tradeoff, eventually the time to set everything up will pay off. But a lot of people are asking themselves whether it will pay off enough to justify the effort today. And in an enterprise setting, the effort of setting up new software is even higher. I think that’s where the bottleneck in AI adoption is happening. Do I feel that I benefit enough today to be willing to go and set all this stuff up? Most of the time the answer is no. We think to ourselves, “I actually have a lot of problems, a lot of other stuff I have to work on. I don’t have the time or patience to manually set up an email responder. I’m not going to solve this problem.” That’s the type of thing that I kept finding.
PS: I didn’t realize that it was so much context engineering that has to go into something as simple as writing an email. Plus, with all the data enterprises have, it seems the token cost of working with that kind of data is way more than what it would cost just to write the email yourself. Do you think the expense plus the difficulty of working with enterprise amounts of data are part of the AI bottleneck?
MF: Yes. If you think about the context engineering part of what I described, clearly you’ve got to look at lots of different data. If you think about every piece of data that is involved in an email, and every action we have to take to formulate a response to that email, you’re looking at a lot of different data that we, as humans, have to ingest. In AI, that all becomes context engineering.
Oh, Joe sent me an email—that’s a piece of data. Now, based on the context I already have about how important Joe is, I know I need to respond to it right away. That’s another piece of data. When I go to look at the email that he just sent me, I realize there’s actually an entire email thread here I’ve forgotten about. There’s some data I need to ingest. Now, I’m going to look back and forth through the entire thread. For humans, that feels pretty straightforward. But if you really look at it, there’s a judgment call that needs to be made. Do I look through the rest of my emails for emails from Joe and determine if each of those are relevant to the response that I give? Are there specific keywords that Joe is talking about that help me decide what needs to be included? Oh, he wants an update on project XYZ. As a human I might think, “Okay, where is the latest update on project XYZ? Is that found in Slack or Jira or is there a meeting that I had about project XYZ?”
As a human, I might be able to quickly identify the best place to find information about project XYZ. But for an AI to go and find each of these different things, they typically get overwhelmed or distracted by irrelevant context. In those situations, there’s a distraction component that becomes pretty dominant, and that is related to cost. And then, on the other side of the distraction issue, there’s still missing information that the AI doesn’t readily know about.
You can think about a distraction like this—if I tell my AI, “Hey, I want to jump over this log and by the way, there are blueberries over there. Now tell me, how do I jump over the log?” It’s going to think that blueberries are relevant and it’s going to give me some answer about blueberries. Likewise, it’s not going to know to ask if there’s a puddle or how big the log is or something like that unless it’s trained to look for that type of thing. It has to be specifically trained to care about the size of a log. But if it doesn’t know to ask that, it’s going to guess. It’s trained to guess.
So, in the case of the email to Joe, it’ll get distracted by all the irrelevant things about project XYZ I have in my docs and all the emails mentioning Joe and all the Slack messages with my team about the project. It’ll ingest all those distractions and give me a response that doesn’t fit the specific context of Joe’s email. Those distractions cost time and tokens.
The latest LLMs being rolled out are doing better at filtering out distracting content. They’ve gotten better at knowing when to say, “Yes, and…” They’re asking more follow-up questions. But they had to be trained to do that. Three years ago, they were abysmal at knowing when to guess, when to ask for additional context, and when to ignore distractions. So they’re getting a lot better, but there’s a side component here: they’re getting better on information that’s publicly available.
So, jumping over a log—sure, you train it to ask, “How big is the log?” But that is very different from private proprietary information about a specific company and their specific procedures. Most AI labs are not able to get access to our proprietary information to train on our specific procedures. And you wouldn’t want them to, because it’s proprietary.
But that is a challenge for companies working with AI. For it to be really useful, AI needs to understand their specific processes. This is something we’re working on with Stack Internal right now. It’s helping to alleviate some of these issues with private proprietary information. We’re not training any LLM or any AI on private proprietary information—we’re just creating that knowledge connector so that AI has the context it needs. And we’re creating that context engineering by bringing in humans to validate the proprietary information that AI is using. Now, the AI can say, “Hey, somebody asked a question about this. And based on what I can see, I’m pretty sure that the answer is this. But you’re actually an expert in this particular process. Can you confirm that I answered the question correctly?” And now a human with expertise can come in and validate or correct the AI’s response, closing the loop between context, accuracy, and real-world knowledge.