Context Agency: The Context is the function
Let's take for granted that AI is indeed capable of autonomously producing reliable codebases. This means that code production will skyrocket. We will be able to create more systems, more features, more tests, more processes, and the list goes on.
One side effect that I recognize is that human ownership doesn't scale as fast as production does. This means that it will be easy for someone to create many systems via prompts, but will they vouch for them? Will it be viable to maintain or even understand the outcome?
Let's take a small web development agency, for example. I will say words and you will be able to fill in the gaps with your mind: Sales, proposals, WordPress, WooCommerce, templates, hosting, support. You have a picture. The average web agency uses all these tools and processes to scale, to sell more and code less. Quality should be acceptable, but no rocket science is involved.
Now this agency has the full AI deal: autonomous agents and whatever. Proposals will write themselves. The customer will be able to form the whole spec while talking to an agent via prompts. The website will be 80% ready by the AI. The humans now only have to curate the final content and possibly add some human flavor to the aesthetics.
Where is the web agency now? Why does it exist? What does it really do? One word comes to my mind: Insurance. And another word: Context. You want to delegate to a specialized company to take care of your "Context" to have a pool of all your prompts, assets, data, and history. To maintain this context over the years and ensure that it will be usable and reusable across your systems. Say welcome to the "Context Agencies".
What do we really control when it comes to AI? The input. And what else do we control that will shape the output? The Context. The Context is the function.
Output = Context(Prompt)
How do we improve the output? By ensuring that the Context is as optimized as possible for the task. Everybody believes that the job of the future is prompt engineering. Well, that is definitely not the case. Prompt engineering is not engineering. It's hardly a skill.
Context engineering is what can indeed become engineering and will have a great impact. More and more systems will not just ask you for a prompt, but will also ask you for context.
I can imagine companies in the future struggling with the decision to keep context management in-house or outsourced. And how are we going to handle sensitive data? Context permissions and security layers? Are the new APIs going to focus on how to return a thin, spot-on context instead of a JSON response? Are we going to build protocols to communicate this information?
Currently, the idea of context management is already in place. I could say that Retrieval-Augmented Generation (RAG) is exactly that. But currently, you can't have access to that technique as an individual. At least not in a cohesive standard way. Another example:
Let's say we gather the marketing and the creative teams and brainstorm a new brand identity. We produce a ton of data in the form of ideas, sketches, conversations, mind maps, jokes, etc. Not all of this data will be useful, but some of it will be. Imagine that we could feed all this data somewhere. Then we classify it and curate it. The process doesn't matter. What matters is that now, this information is part of the history of our company. We accepted it as important enough to be retrievable in the form of a context, somewhere, somehow.
Now let's say that two years from this brainstorming, it's time to launch a campaign or something. The current team can access the previous brainstorming. Not as data. Not by browsing the mind maps manually or looking at discussions. But, when a member of the current team is going to ask the AI to do a task, she will feed the previous context and the AI will be on the same page. Better yet, it will have a sense of the company's history relative to the task at hand.
The example I gave has the following problems right now. How do we decide which data are going to be valuable in the future? How are we going to classify them, security-wise and content-wise? And how are we going to know how to use them? How to retrieve the correct context? I don't really have concrete answers to these questions, but I can imagine that the solutions to problems of that nature will shape a big part of future services.