The Context Engine
by
Kadhir Mani
(6 minutes)
<section data-section-id='8db60ac6-1585-4ca2-9ec0-8012de04c2c3'><p><span style="white-space: pre-wrap;">Every company now has thousands of agents trying to get work done, and almost none of them know what the organization actually knows.</span></p><p><br></p><p><span style="white-space: pre-wrap;">The information exists. It's just scattered across Slack threads, PRs, call recordings, and the heads of a few tenured employees, unreachable by anything that isn't human.</span></p><p><br></p></section>
<section data-section-id='20a95cd4-c4a5-432b-af2a-29fdb16bf9a2'><h2 id="the-problem"><span style="white-space: pre-wrap;">The Problem</span></h2><p><span style="white-space: pre-wrap;">It's difficult to give agents the right bits of context they need to execute correctly, especially if you want autonomous systems that continually scale across your entire organization.</span></p><p><br></p><p><span style="white-space: pre-wrap;">After working with many companies, we've realized the core issue is that gathering the right pieces of information for agents to act on is surprisingly hard. This organizational context lives scattered across many tools (systems of record) and people (tribal knowledge).</span></p><p><br></p><p><span style="white-space: pre-wrap;">We have also realized that bringing all that organizational context together is rapidly becoming a big data problem, following the same 4Vs:</span></p><table><colgroup><col style="width: 92px;"><col style="width: 783.601563px;"></colgroup><tbody><tr><th style="width: 75px; background-color: rgb(242, 243, 245); border: 1px solid black; vertical-align: top; text-align: start;"><p><span style="white-space: pre-wrap;">V</span></p></th><th style="width: 75px; background-color: rgb(242, 243, 245); border: 1px solid black; vertical-align: top; text-align: start;"><p><span style="white-space: pre-wrap;">What it means for organizational context</span></p></th></tr><tr><td style="width: 75px; border: 1px solid black; vertical-align: top; text-align: start;"><p style="text-align: start;"><b><strong style="white-space: pre-wrap;">Volume</strong></b></p></td><td style="width: 75px; border: 1px solid black; vertical-align: top; text-align: start;"><p style="text-align: start;"><span style="white-space: pre-wrap;">The sheer amount of context generated daily (Slack messages, PRs, call recordings, docs, tickets) has outgrown any human's ability to track it.</span></p></td></tr><tr><td style="width: 75px; border: 1px solid black; vertical-align: top; text-align: start;"><p style="text-align: start;"><b><strong style="white-space: pre-wrap;">Velocity</strong></b></p></td><td style="width: 75px; border: 1px solid black; vertical-align: top; text-align: start;"><p style="text-align: start;"><span style="white-space: pre-wrap;">The speed at which decisions, code, and product reality change, especially now that AI agents produce output faster than people can absorb it.</span></p></td></tr><tr><td style="width: 75px; border: 1px solid black; vertical-align: top; text-align: start;"><p style="text-align: start;"><b><strong style="white-space: pre-wrap;">Variety</strong></b></p></td><td style="width: 75px; border: 1px solid black; vertical-align: top; text-align: start;"><p style="text-align: start;"><span style="white-space: pre-wrap;">Context lives in structurally different formats and systems (chat, video, code, documents, tribal memory) with no shared schema connecting them.</span></p></td></tr><tr style="height: 50.4492px;"><td style="width: 75px; border: 1px solid black; vertical-align: top; text-align: start;"><p style="text-align: start;"><b><strong style="white-space: pre-wrap;">Veracity</strong></b></p></td><td style="width: 75px; border: 1px solid black; vertical-align: top; text-align: start;"><p style="text-align: start;"><span style="white-space: pre-wrap;">Much of what's recorded goes stale or gets contradicted (superseded decisions, abandoned patterns, outdated docs), so the truth is uncertain even when the record exists.</span></p></td></tr></tbody></table><p><br></p><p><span style="white-space: pre-wrap;">To tackle this problem, we built a context engine.</span></p><p><br></p></section>
<section data-section-id='121e2d73-2b47-46cc-b598-ba3f3920cfe1'><h2 id="the-solution"><span style="white-space: pre-wrap;">The Solution</span></h2><p><span style="white-space: pre-wrap;">A context engine is infrastructure. It's a system that continually pulls and reconciles information from every source that matters (systems, applications, people, and agents) into a single source of truth, specifically designed to address the 4Vs of organizational context.</span></p><p><br></p><p><span style="white-space: pre-wrap;">Two properties make it an engine:</span></p><ul><li value="1"><b><strong style="white-space: pre-wrap;">Continuous reconciliation.</strong></b><span style="white-space: pre-wrap;"> It doesn't just store data once. It keeps pulling from source systems and resolving conflicts as they arrive, so the truth it holds stays current.</span></li><li value="2"><b><strong style="white-space: pre-wrap;">Actionability.</strong></b><span style="white-space: pre-wrap;"> You can query it for answers and, just as importantly, act on it. That's what makes it the right foundation for running agents on top.</span></li></ul><p><br></p></section>
<section data-section-id='f796c28a-fa05-4c8f-951f-de8658b6f199'><p><span style="white-space: pre-wrap;">And these five key attributes make it address the underlying problem:</span></p><ul><li value="1"><b><strong style="white-space: pre-wrap;">Unified (Volume) </strong></b><ul><li value="1"><span style="white-space: pre-wrap;">It needs to bring together the huge volume of information spread across many places into a single source of truth.</span></li></ul></li><li value="2"><b><strong style="white-space: pre-wrap;">Living (Velocity) </strong></b><ul><li value="1"><span style="white-space: pre-wrap;">It stays current automatically as source systems rapidly change, so the context inside reflects the world as it is right now.</span></li></ul></li><li value="3"><b><strong style="white-space: pre-wrap;">Queryable (Variety)</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">It needs to transform the varied input schemas into a single format that we can easily run queries against.</span></li></ul></li><li value="4"><b><strong style="white-space: pre-wrap;">Governed (Veracity)</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">Every asset carries version history, ownership, and access controls, enforced live at query time so we can verify truth over time.</span></li></ul></li><li value="5"><b><strong style="white-space: pre-wrap;">Easy to contribute to (Veracity)</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">Context flows in as naturally as it flows out, so that humans and agents can propagate corrections back into the substrate as required.</span></li></ul></li></ul><p><br></p></section>
<section data-section-id='8494bbdf-82c0-4d02-8806-07e79b5794ad'><h2 id="why-now-the-multiplayer-first-ai-agent-forcing-function"><span style="white-space: pre-wrap;">Why Now? The Multiplayer-first, AI Agent Forcing Function</span></h2><p><span style="white-space: pre-wrap;">AI agents are the most capable collaborators ever built. They're also profoundly amnesiac, every session starts from zero. It's especially difficult when you need everyone's agents to build on each other in a multiplayer first world.</span></p><p><br></p></section>
<section data-section-id='8efacf06-ca5b-48ba-a5ad-416e9b8c6a97'><p><span style="white-space: pre-wrap;">Getting agents to work together is hard, harder than getting a single agent to work well. The moment a second person or a second agent enters the picture, every private chat becomes a silo. One teammate solves a problem with an agent, and the next teammate starts from zero, because nothing about that session was ever shared, indexed, or made queryable by anyone else. That gap compounds with every handoff. A decision made in one session has to be re-explained, re-typed, or re-discovered in the next, and the organization pays that tax over and over.</span></p><p><br></p><p><span style="white-space: pre-wrap;">This is exactly why the substrate matters more than the agent. A context engine is what lets a decision made once become durable and accessible to every future session, human or agent, rather than being trapped in a transcript nobody else can see. None of this is easy to build. But the payoff, agents and people compounding on the same foundation instead of relearning it every session, is exactly why it is worth building.</span></p><p><br></p></section>
<section data-section-id='de0faff5-bb6c-4274-83ce-a5a0a4f1ca0f'><h2 id="productnow-s-unique-approach"><span style="white-space: pre-wrap;">ProductNow's Unique Approach</span></h2><p><span style="white-space: pre-wrap;">Everyone building in this space converges on the same idea: to pull organizational context into one place so agents can use it. Our differentiator is the form the context takes once it lands.</span></p><p><br></p><p><span style="white-space: pre-wrap;">We quickly realized, working with many companies, that trying to build a new abstraction, a new interface here, was going to be an uphill battle. The average person does not want markdown or some new format. They ideally want something they're already familiar with.</span></p><p><br></p><p><span style="white-space: pre-wrap;">And if you ask the average person today what context looks like, they'll say text. And we're all familiar with how to deal with text: in a document editor. </span></p><p><br></p><p><span style="white-space: pre-wrap;">So we started with that assumption. How do we build a context engine without changing the end interface? It needs to be just a document, viewed in a normal-looking web document editor.</span></p><p><br></p></section>
<section data-section-id='ca32a217-1915-4b40-bab0-020d7577227b'><p><span style="white-space: pre-wrap;">We then systematically solved the hard problems in our document editor that our context engine needed:</span></p><ul><li value="1"><b><strong style="white-space: pre-wrap;">AI-native document format</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">We needed humans, agents, and our indexes to read the same underlying data without any translation layers for minimal latency and maximum correctness.</span></li></ul></li><li value="2"><b><strong style="white-space: pre-wrap;">Agent-only editing</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">Agents need to reason about and edit our documents without any human intervention and done in such a way that scales as the models get better.</span></li></ul></li><li value="3"><b><strong style="white-space: pre-wrap;">Human + agent multiplayer editing</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">We knew the majority of our documents would be written by agents, but they needed to play nice with each other and with any human authors concurrently editing; otherwise, the system would clobber edits and lose truth.</span></li></ul></li><li value="4"><b><strong style="white-space: pre-wrap;">Semantic querying, filtering, and ranking</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">Agents and humans need to retrieve the most relevant, up-to-date information super efficiently.</span></li></ul></li><li value="5"><b><strong style="white-space: pre-wrap;">Version control</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">Documents need a simple way to snapshot to cleanly capture version history so humans and agents could walk back to prior versions that have some semantic meaning as opposed to simple edit history.</span></li></ul></li><li value="6"><b><strong style="white-space: pre-wrap;">Provenance tracking</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">Every piece of content has to be traceable to where it came from so we could maintain trust against external systems.</span></li></ul></li><li value="7"><b><strong style="white-space: pre-wrap;">Permissions.</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">Authorization has to be enforced in our system since not all humans and agents may have a seat in the external system for us to copy permissions from, and we cannot leak information.</span></li></ul></li><li value="8"><b><strong style="white-space: pre-wrap;">Rapidly scalable ETL</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">The number of tools we use is exploding, so we needed a system that would let us build integrations rapidly, including allowing our customers to build custom connectors as needed.</span></li></ul></li><li value="9"><b><strong style="white-space: pre-wrap;">Agent-driven reconciliation</strong></b><ul><li value="1"><span style="white-space: pre-wrap;">As we rapidly ingest new information, agents need to reconcile the new content with existing content to maintain a clean version history and keep context current.</span></li></ul></li></ul><p><br></p></section>
<section data-section-id='21e76ec2-cb28-4410-ada5-d4b0a99bb497'><p><span style="white-space: pre-wrap;">We believe adoption compounds when the system is instantly legible to the average person. A context engine nobody can intuitively use or trust never reaches critical mass, no matter how sophisticated its retrieval is under the hood. We've solved many hard problems along the way to maintain that.</span></p><p><br></p><p><span style="white-space: pre-wrap;">Want to learn more? Shoot us a note at </span><a href="mailto:hello@productnow.ai" rel="noreferrer"><span style="white-space: pre-wrap;">hello@productnow.ai</span></a><span style="white-space: pre-wrap;">.</span></p><p><br></p></section>





