Awareness
Maintain a queryable snapshot of the agent's own tools, capabilities, permissions, and current context — refreshed whenever things change at runtime.
Intent & Description
🎯 Intent
An agent that can’t query what it can do right now will hallucinate capabilities it doesn’t have and forget ones it does — especially when the tool palette, permissions, or role changes mid-session.
📋 Context
The agent runs across multiple sessions. Its available tools, permissions, and roles change at runtime. Without an explicit awareness store, capability is buried implicitly in prompt text and stale the moment anything changes.
💡 Solution
Persist explicit state about: available tools (with descriptions), the environment (host, user, permissions), the current task, and the agent’s own identity. Refresh on capability changes. Inject relevant slices of awareness into each turn’s context.
Real-world Use Case
- The agent regularly hallucinates tools it doesn’t have or forgets tools it does.
- Tool palette, environment, or permissions change at runtime and the agent must reflect the current state.
- Downstream behavior depends on the agent reasoning explicitly about what it can and can’t do.
Source
Advantages
- Reduces hallucinated tool calls
- Grounds the agent in its own current context rather than stale prompt text
Disadvantages
- Awareness state is a maintenance burden — stale awareness is worse than none
- Excess awareness bloats context tokens unnecessarily