mixle.task.traces module¶
Harvest stored agent-session traces for task distillation.
The mixle-agent server persists every conversation (~/.mixle-agent/conversations/*.json) with the
full message stream, including the tool_use blocks the frontier model emitted. Those traces can
serve as deterministic teachers for agentic distillation workflows:
traces = harvest_agent_traces() # or (dir=...) for a custom store
tools = traces.tool_specs() # ToolSpecs inferred from observed usage
tc = distill_tool_caller(traces.call_teacher(), traces.requests(), tools)
gp = sft_planner(traces.plan_teacher(), traces.requests(min_steps=1), tools)
Each trace pairs a user request with the ordered tool calls the assistant made
before the next user turn, plus the final text reply. Tool specs are inferred
from observed usage: a tool’s argument set is the union of keys ever passed,
and required is the keys present in every observed call. The teachers are
lookup tables over harvested requests; they do not call a model.
- class AgentTrace(request, plan, reply='', conversation_id='')[source]
Bases:
objectOne request, ordered tool calls, and final text reply.
- class AgentTraces(traces=<factory>)[source]
Bases:
objectThe harvested corpus plus the teacher views the distillers consume.
- Parameters:
traces (list[AgentTrace])
- requests(*, min_steps=0)[source]
The request texts (optionally only those whose plan has at least
min_stepscalls).
- call_teacher()[source]
Return a
distill_tool_callerteacher over the first tool call.- Return type:
- parse_conversation(doc)[source]
Split one stored conversation into request-to-tool-plan traces.