Combine authoritative knowledge retrieval with experiential memory.
A knowledge-grounded agent answers from authoritative sources before consulting conversational memory. This pattern uses Spectron's authoritative knowledge to store canonical knowledge – product data, policies, technical documentation – and relies on the authority hierarchy to prevent conversational drift from corrupting those facts.
Why ground agents in authoritative knowledge
Without a knowledge layer, agents hallucinate or rely on stale training data for domain-specific questions. The common workaround – embedding documents in a vector store and retrieving chunks – improves recall but loses structure, provenance, and the ability to enforce authority.
authoritative knowledge gives you:
Structured knowledge nodes with typed attributes, not just text chunks.
Authority enforcement – authoritative knowledge wins when a user asserts something conflicting.
resolves_to links – conversational references to products or policies resolve to authoritative nodes.
Content addressing – uploading the same document twice is idempotent.
Step 1 – Load authoritative knowledge
Documents are ingested through the knowledge API. Spectron processes them into knowledge nodes (typed entities with attributes) and keyword-indexed chunks.
Step 2 – Query authoritative knowledge in the agent loop
Before generating a response, search authoritative knowledge for relevant knowledge nodes. Use knowledge.search for natural-language queries or knowledge.get for exact node lookups.
When a user mentions a product or policy, Spectron creates an experiential memory entity and automatically creates a resolves_to relation pointing to the matching authoritative knowledge node. The context retrieval traverses this relation so the agent sees both layers together.
// User says "I bought the AirPods Pro" – experiential memory entity created { "id":"entity:[\"Product\", \"airpods_pro\"]", "layer":1, "scope":{"org":"acme","user":"alice"} }
// authoritative knowledge node – loaded from product catalogue { "id":"knowledge:[\"Product\", \"airpods_pro\"]", "layer":0, "name":"AirPods Pro (2nd generation)", "price":279, "return_window_days":30 }
At retrieval time, a query about the user's AirPods returns both the experiential-memory entity (the user owns them) and the authoritative knowledge node (authoritative specs). The agent receives a complete picture in a single context call.
Step 4 – Handling authoritative and experiential streams conflicts
When a user asserts something that contradicts authoritative knowledge, Spectron records the conflict rather than silently overwriting the authoritative fact.
Example: the return policy is 30 days (authoritative knowledge), and a user says "I thought it was 60 days".
The extraction pipeline:
Creates an experiential memory attribute: return_window_days: 60 on the policy entity.
Detects the conflict with the authoritative knowledge node (which says 30).
Surfaces the clash in uncertainties and state/profile responses without modifying the curated record.
The agent is informed via the context retrieval:
{ "type":"conflict", "l0_fact":{"key":"return_window_days","value":30}, "l1_belief":{"key":"return_window_days","value":60,"source":"user assertion"}, "recommendation":"Inform the user of the authoritative value." }
The agent can then politely correct the user without any custom conflict-detection code.
Exact node retrieval
For lookups where you know the entity type and name (from a structured UI, a product SKU field, etc.), use knowledge.get instead of a search: