Package com.tnsai.context.assembler
Class UnifiedContextAssembler
java.lang.Object
com.tnsai.context.assembler.UnifiedContextAssembler
Assembles LLM context from multiple sources in priority order with token budget enforcement.
UnifiedContextAssembler consolidates context from:
- System prompt (highest priority, never trimmed)
- Relevant memories from MemoryStore semantic search
- RAG context (retrieved document chunks)
- Decision precedents from DecisionTraceStore
- Conversation history from ManagedConversationMemory
- Tool definitions
If total tokens exceed the budget, lower-priority sections are trimmed first. The system prompt is always preserved in full.
Usage Example
AssembledContext ctx = UnifiedContextAssembler.builder()
.systemPrompt(systemPrompt)
.memoryStore(memory)
.memoryQuery("current user request")
.contextManager(contextManager)
.currentDecisionTrace(currentTrace)
.tools(toolList)
.tokenBudget(budget)
.build()
.assemble();
// Use assembled context
List<Map<String, Object>> messages = ctx.messages();
int totalTokens = ctx.totalTokens();
- Since:
- 0.3.0
-
Method Details
-
builder
-
assemble
Assembles the full context respecting the token budget.Assembly order (priority high to low):
- System prompt - always included in full
- Memories - relevant memory search results
- RAG context - retrieved document chunks
- Decision precedents - similar past decisions
- Conversation history - trimmed from oldest if needed
- Tool definitions - appended to system prompt
- Returns:
- assembled context with messages and token accounting
-