Skip to main content
Auto-injection is how lessons become useful during a run. When your agent makes a model call inside a Sovara run, Sovara can retrieve relevant lessons and append them as a supplementary user message to the copied provider request. The default path is automatic. You create lessons once, keep the desktop app running, and Sovara handles retrieval and context placement during future runs.

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. Sovara run view showing lessons injected into a model call Sovara run view showing lessons injected into a model call

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
Sovara retrieves lessons at runtime so the injected context can match the current step instead of only the original user request.

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

Use disable_lesson_injection() around Python code that should be traced but should not receive automatic lessons.