Daita agents / guide
Memory and User Profile
Store bounded, local guidance that persists across an agent's runs.
#Two Global Documents
Each agent owns two small persistent documents:
| Document | Intended content | Limit |
|---|---|---|
| Memory | Durable operating guidance and reusable context | 2,200 characters / 8,800 UTF-8 bytes |
| User profile | Stable user preferences and working context | 1,375 characters / 5,500 UTF-8 bytes |
Both documents are global to the agent. Resource-specific business definitions belong in Semantics, and repeatable procedures belong in Skills.
Memory is advisory model context. It is not source evidence, authorization, or a replacement for catalog inspection and query results.
#Read and Write from Python
from daita import Agent
agent = await Agent.open("atlas")
try:
await agent.set_memory(
"Use net revenue unless the user explicitly requests gross revenue."
)
await agent.set_user_profile(
"The user prefers concise answers with a comparison table."
)
print(await agent.read_memory())
print(await agent.read_user_profile())
finally:
await agent.close()Direct calls are explicit caller actions and do not invoke the run approval handler.
#Changes Proposed During a Run
The model can propose a replacement for either document through the built-in memory_set write capability. Daita executes that change only when the agent has an approval handler and the handler approves the exact request:
from daita import Agent, ApprovalDecision, ApprovalRequest
async def approve(request: ApprovalRequest) -> ApprovalDecision:
print(request.tool_name, request.arguments)
return ApprovalDecision.APPROVE
agent = await Agent.open("atlas", approval_handler=approve)Approval is per tool call. A denied or missing approval does not modify local state.
#Terminal Commands
daita memory read atlas --target memory
daita memory read atlas --target user
daita memory edit atlas --target memory
daita memory set atlas --target user --file ./user-profile.md
daita memory inspect atlasedit uses $EDITOR. inspect shows bounded global and resource-scoped knowledge state without starting an agent run.
#Keep Memory Useful
- Store durable guidance, not temporary conversation details.
- Do not store secrets or source credentials.
- Keep source-specific meaning attached to semantic annotations.
- Treat queried data as authoritative over remembered prose.
Conversation transcripts are managed separately. Clearing conversations preserves approved memory and user-profile content.