Your agent needs to know where it learned that
Your agent just confidently told you that your competitor raised a Series B last month. You make a strategic decision based on that information. Three weeks later, you find out it was completely wrong — and worse, you can't figure out where it got that idea.
This is the provenance problem, and it's killing agent reliability in production.
Most people obsess over giving their agents perfect recall — giant vector databases, sophisticated retrieval systems, endless context windows. But recall without provenance is just confident hallucination with extra steps.
Here's what actually matters: your agent needs to track not just what it knows, but where it learned it, when, and how confident it should be.
The three-source rule
Every piece of information your agent stores should include:
- Source: URL, document name, conversation ID, or API endpoint
- Timestamp: When this information was captured
- Confidence: How reliable this source typically is
Instead of storing "Competitor raised Series B," store:
{
"fact": "Competitor raised Series B",
"source": "techcrunch.com/article/xyz",
"captured": "2024-01-15T10:30:00Z",
"confidence": "high",
"source_type": "verified_news"
}Freshness decay that actually works
Not all information ages the same way. Company funding status? That's stable for months. Stock prices? Stale in minutes. Your agent needs different decay curves for different types of information.
Set up automatic confidence decay:
financial_data: confidence *= 0.9 per hour company_news: confidence *= 0.95 per day contact_info: confidence *= 0.99 per week
When confidence drops below 0.7, your agent should either refresh the information or flag it as potentially stale.
State transitions over static facts
Here's where most memory systems break down: they treat everything like a Wikipedia entry. But business information has state. That funding round moved from "rumored" to "announced" to "closed." Your agent should track these transitions, not just the final state.
{
"entity": "Competitor X",
"attribute": "funding_status",
"history": [
{"state": "Series A", "date": "2023-03-15", "source": "crunchbase"},
{"state": "Series B rumored", "date": "2024-01-10", "source": "twitter/insider"},
{"state": "Series B confirmed", "date": "2024-01-15", "source": "techcrunch"}
]
}Now when your agent says "They raised a Series B," it can also tell you "confirmed by TechCrunch on January 15th, previously rumored on Twitter."
The goal isn't perfect memory — it's accountable memory. Your agent should be able to defend every fact it uses to make recommendations.
This isn't just about accuracy. It's about trust. When your agent can show its work, you can catch problems before they become decisions. When it can't, you're flying blind.
The agents that survive in production aren't the ones with the biggest memories — they're the ones that know what they don't know, and can prove what they do.