Building an AI prototype is easy. Keeping it correct as your product evolves is where the real work begins.
The first demo goes well. Then the second sprint starts, and the product changes underneath the assistant. It forgets the terminology your team agreed on last quarter, references a feature that was cut, or contradicts a decision engineering made for reasons it has no way of knowing. Someone updates the prompt, only to run into the same problem somewhere else a few weeks later. Before long, your AI feature is a growing pile of prompt patches nobody wants to touch.
It's tempting to blame the model, but in our experience, that's rarely where the problem starts. The real problem is that every prompt is trying to reconstruct product knowledge that has no permanent home. Your product's knowledge has no architecture. It's scattered across a dozen systems, reconstructed by hand on every call, and held together with string and ad hoc prompts.
Where does your product's knowledge actually live?
Ask yourself a simple question. Where does an AI assistant go to learn how your product actually works? Where does it learn your current goals, your terminology, the decisions behind a feature, what's shipped, and what's been deferred?
Jira and Linear store work. Confluence stores documents. Slack stores conversations. GitHub stores implementation. Each is good at the job it was designed to do, but none of them owns the evolving understanding of the product itself.
That's not an oversight. They're solving a different problem. Linear is built to execute work, and Jira to manage it. Neither is designed to represent a product's evolving knowledge because that's a different architectural goal, not a missing feature. As a result, every AI feature you build starts by reconstructing that knowledge from scraps. You pull a few issues, grep some docs, summarize a Slack thread, and hope you've assembled an accurate picture. Usually you haven't, and you discover the gaps in production.
The cost of reconstruction
Every assistant ends up with its own understanding of the product. Your coding assistant learns one version, your planning assistant assembles another, and your support assistant builds a third. Eventually they disagree, not because the models are different, but because each reconstructed the product independently.
Consider something as small as renaming "Projects" to "Workspaces." The UI changes, the documentation changes, and the support playbook changes. Your coding assistant should change too. But if every assistant works from its own private copy, they won't all learn about the rename at the same time. For a while, each one is confidently wrong in a slightly different way.
This isn't really an AI problem. It's an architecture problem because no amount of prompt engineering fixes what's missing: a place for product knowledge to live. Product knowledge should be infrastructure, not application logic. The moment every feature has to rebuild it for itself, you've guaranteed duplicated work, inconsistent behavior, and prompt debt.
Retrieval is not the same as understanding
The obvious fix is to connect the assistant to the systems where that knowledge already lives, including Jira, Confluence, GitHub, Slack, the docs, and meeting notes, and let it retrieve whatever it needs, whenever it needs it.
Retrieval helps, but it doesn’t solve the deeper problem. Retrieval-augmented generation (RAG) often produces better results because the assistant has access to more information. It still can't turn scattered, contradictory sources into a coherent product model. The challenge isn't where the facts are stored, but whether anything captures how the product actually behaves.
Retrieval also inherits every flaw of its sources, including stale information, contradictions, and the fact that the reasoning behind a decision is rarely documented anywhere a search can reach. A coherent product model is fundamentally different from querying scattered tools and stitching the results together at runtime. That’s why the architecture has to change.
This is where the emerging practice of context engineering ends up too: the work isn't writing better instructions, it's deciding what the system should durably know.
The turning point
We tried the obvious approach first by assembling a bigger prompt from more sources. It worked until the product became complex enough that we couldn't predict which context would matter for a given request. The assistant answered with a flow we'd already removed or terminology we'd renamed weeks earlier because whatever got assembled for that request still reflected an older version of the product.
The fix wasn't a better prompt, but a different architectural decision: stop treating prompts as the place product knowledge lives, and start exposing the product model itself to the AI.
The model has no memory. Every turn we rebuild the whole world and hand it over, and the moment it answers, it forgets all of it. So we keep two states on purpose: what the user sees and what the model sees. They were never meant to be the same thing.
Every request begins by reconstructing the model's understanding of the world. Instead of rebuilding a private, lossy copy each time, AI should consume the same structured product knowledge people already rely on.
In Atono, every AI interaction starts from the current state of the Story. Unlike an issue tracker, a Story isn't just a unit of work. It evolves with the product, capturing goals, terminology, key decisions, and the relationships that define how the product behaves. Rather than piecing that understanding together from issues, documents, and chat threads on every request, the Story assistant starts from the same shared product knowledge your team already works from. That's the difference between feeding an AI context and giving it a product to consume.
Why teams feel this in production
Infrastructure isn't defined by where data is stored. It's defined by whether every application depends on the same underlying model instead of rebuilding it for itself. When product knowledge becomes that shared model, the benefits become obvious:
-
Prompt maintenance drops. Fixing a fact means updating the Story once instead of hunting down every prompt that hard-coded it.
-
The knowledge layer becomes reusable. The same model that powers one assistant can power the next feature, and the one after that. You build the knowledge layer once instead of re-deriving it for every feature.
-
It behaves like infrastructure. A structured model can be versioned, cached, and tested. A prompt assembled on the fly can't.
None of these advantages depend on the quirks of this month's model. They still hold if the next model ships with a 100-million-token context window or a completely different interaction paradigm because they're properties of the architecture, not the model.
The dependency you should actually be worried about
Five years ago, architecture conversations focused on cloud providers and how painful it would be to move off one. Today, the fastest-moving dependency is the model itself. Every time your application depends on a provider's message format, tool conventions, or prompt structure, you're coupling business logic to an API that will inevitably change.
The way out is the same discipline we've always used at system boundaries: transform at the edge. Isolate provider-specific details behind stable interfaces so the rest of your application stays provider-agnostic. Standards like the Model Context Protocol (MCP) follow the same principle by exposing capabilities and context through structured interfaces rather than provider-specific integrations.
AI is your product's newest consumer
This isn't the first time software architecture has faced a problem like this. Twenty years ago, systems talked to one another by scraping HTML, which was brittle and broke every time a page changed. APIs solved that problem by exposing structured interfaces that represented what a system actually knew instead of forcing other systems to guess. They didn't make systems smarter; they made knowledge explicit. AI needs the same evolution.
Today, most teams still have assistants reconstructing product knowledge from prompts and scattered tools because that's the information they inherited. With years of documents, tickets, chat history, and code as the raw material, rebuilding the picture on every request becomes the default.
Every product team creates product knowledge as it builds. It's reflected in the terminology the team adopts, the decisions it makes, and the way the product evolves. The challenge is capturing that knowledge in a structured form AI can reliably consume. Instead of every assistant assembling its own understanding of your product, they all start from the same foundation. Product knowledge becomes shared infrastructure, and AI becomes another consumer of it.
Managing work and managing product knowledge are fundamentally different problems. The AI era is making that distinction impossible to ignore.
FAQ
Is RAG enough to give AI context about your product?
Retrieval helps, but it can't turn scattered, contradictory sources into a coherent product model. It also inherits every flaw of its sources: stale information, contradictions, and the fact that the reasoning behind a decision is rarely documented anywhere a search can reach. The question isn't where the facts are stored. It's whether anything captures how the product actually behaves.
Why do different AI assistants give different answers about the same product?
Because each one reconstructs its own understanding independently. Your coding assistant learns one version, your planning assistant assembles another, your support assistant builds a third. They disagree not because the models differ, but because each built a private, lossy copy of the product.
Can better prompts fix this?
No. Prompt patches address symptoms one at a time. The underlying problem is that product knowledge has no permanent home, so every prompt is rebuilding it from scratch. That's an architectural gap, not a prompting one.
What does it mean to treat product knowledge as infrastructure?
Infrastructure isn't defined by where data is stored. It's defined by whether every application depends on the same underlying model instead of rebuilding it for itself. A structured product model can be versioned, cached and tested. A prompt assembled on the fly can't.
See where your product knowledge breaks down
Find the gaps that cause teams and AI to lose context