Why auto-injection is useful
The useful lesson is often not known at the start of a run. A financial-analysis agent might begin with a broad question, retrieve filings, identify a liquidity subtask, and only then need the quick-ratio lesson. Auto-injection lets Sovara consider lessons close to the step where they matter. That keeps the guidance timely and avoids forcing the agent to carry every lesson from the beginning.

Why not inject everything at the top?
Top-loading all guidance is tempting, but it breaks down quickly:- The relevant context can change during a run
- Early guidance can be stale by the time the agent reaches a later step
- Large prompt blocks dilute attention
- Unrelated lessons can push the agent toward the wrong behavior
Why not always inject?
Even relevant lessons have a cost. Every injected token competes with task context, retrieved evidence, tool output, and the model’s own reasoning budget. Sovara performs a fresh retrieval for every eligible model step and injects only the lessons selected for that step. The message uses the provider’s native user message format and is added only to the copied request sent to the model. It is not added to your application’s conversation history, so lesson text does not accumulate across later calls. Sovara stores the executed request for inspection and annotation. The run UI removes the supplementary message from the displayed input and shows the applied lessons separately.Why not let the LLM decide?
An LLM can help reason about context, but it is not the right control point for every injection decision. The model may not know which lesson is needed until after it has already missed the lesson. Sovara keeps more control by evaluating possible injection at the runtime step. That gives the system a chance to apply the right domain lesson before the model answers.Configure injection
Open Settings and go to the project’s lesson injection settings.- Turn off Enable automatic lesson injection when a project should run without runtime lessons.
- Choose a Retrieval priority:
- Latency uses embedding search and reranking for the fastest selection.
- Balanced adds an LLM selection pass, using embedding search first for large lesson sets.
- Accuracy (default) gives the full allowed lesson tree to the configured Helper Model at medium reasoning effort, without an embedding or reranking shortlist.
Skip lesson injection
Usedisable_lesson_injection() around Python code that should be traced but
should not receive automatic lessons.