Skip to content

Self-evolution

Sadie doesn’t just learn who you are. It also learns how it should behave for you: which prompt knobs, ranking weights, and selection thresholds produce output you actually keep. The Soul captures the you part. Self-evolution tunes the Sadie-for-you part.

Soul is probabilistic and prompt-level. It flows into every chat turn and every generated brief as context. You can edit Soul directly in Memory.

Self-evolution is configuration-level. Changes produce versioned AgentConfig snapshots with parent pointers and a one-click rollback. Your Sadie is not a black box: every shift has a diff and a reason.

Every user starts on a base Sadie configuration (v1). Activity accumulates XP weighted by signal strength (a rewritten brief is worth more than a dismissed one). When XP crosses a tier threshold, the self-evolution pipeline runs five stages:

  1. Reflect scans recent activity, brief engagement, discourse dismissals, and rewrite patterns. It produces evolution hypotheses like “briefs longer than 400 words get dismissed, candidate: lower briefMaxPerRefresh”.
  2. Select scores those hypotheses and picks the highest-confidence proposals within safe guardrails.
  3. Improve applies the selected proposals to the current config to produce a candidate snapshot.
  4. Evaluate replays the content generators against a real input corpus under both the current and candidate configs, producing a delta score and a safety assessment.
  5. Commit keeps the candidate if it scores higher and stays safe. Otherwise the candidate is rejected and the current config stands.

The AgentConfig has three slots:

  • Prompts: brief tone, discourse opener, chat hedging level, brevity hint.
  • Weights: engagement scoring coefficients, wiki promotion threshold, brief cluster minimum size, discourse confidence floor.
  • Policies: Today ranker coefficients (recency, confidence, novelty, dismissal penalty), emotion-pick threshold, freshness versus depth balance.

Every committed change creates a new row in the agent versions table with a parent pointer. Settings shows the lineage and offers a one-click rollback to any previous version. If Sadie’s tone shifts in a direction you don’t like, you don’t have to reverse-engineer why. You roll back.