{
  "schema_version": 1,
  "builder_plan": {
    "scenario": "A support or data assistant repeats work across related customer requests.",
    "change": "Try the paper's memory change in a replay of past tasks, with separate memory per customer.",
    "baseline": "Your current memory pipeline plus a no-memory control using the same agent.",
    "steps": [
      "Locate the paper's implementation and check its license, model support, data needs, and hardware requirements. Stop here if you cannot obtain the required artifacts.",
      "Save a small set of representative product tasks and expected outcomes. Keep evaluation tasks out of any training or tuning, and choose quality and cost limits before running.",
      "Run the baseline and the proposed change on identical inputs. Keep other settings fixed and repeat paired runs to expose variation.",
      "Save per-task outputs, failures, timings, and all usage costs. Review regressions before expanding the test."
    ],
    "measure": "Task success, stale memories, retrieval misses, response latency, and all memory maintenance costs.",
    "decision": "Keep the change only if it meets your preselected quality and latency limits and improves the metric you care about after setup and operating costs. Otherwise retain the baseline. This is an exploration plan, not a validated recommendation."
  },
  "builder_review": null,
  "arxiv_id": "2609.08832",
  "title": "Closing the Consistency Gap: Self-Evolving Agents That Learn to Stay on Course",
  "summary": "Replaces repeated ad hoc prompt and retry tuning with a pipeline that diagnoses low-consistency trajectory steps, generates guidelines, and injects them as episodic memory into future runs. Costs extra API calls for multi-run consistency analysis plus guideline generation, a memory store, and retrieval/injection logic; per-run inference is otherwise unchanged. Can fail if guidelines overfit to observed flips and degrade out-of-distribution tasks, if the diagnosis attributes instability to the wrong step, or if injected guidelines conflict with task instructions.",
  "rationale": "The method requires only API access and modest engineering, which fits constrained infrastructure, but the gains are demonstrated on a single benchmark with a GPT-4.1 pipeline, so workload-specific validation on the reader's tasks and model is required before production adoption.",
  "technique": "Consistency-driven episodic memory for LLM agents",
  "family": "memoria_e_contexto",
  "recommendation": "testar",
  "published": "2026-09-08",
  "as_of": "2026-10-18",
  "editorial_status": "indexed",
  "source_url": "https://arxiv.org/abs/2609.08832",
  "independent_implementations": 0,
  "total_implementations": 0,
  "stars": 0,
  "citations": 0,
  "claims": [
    {
      "claim_id": "claim-01",
      "statement": "Replaces repeated ad hoc prompt and retry tuning with a pipeline that diagnoses low-consistency trajectory steps, generates guidelines, and injects them as episodic memory into future runs. Costs extra API calls for multi-run consistency analysis plus guideline generation, a memory store, and retrieval/injection logic; per-run inference is otherwise unchanged. Can fail if guidelines overfit to observed flips and degrade out-of-distribution tasks, if the diagnosis attributes instability to the wrong step, or if injected guidelines conflict with task instructions.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.08832",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "claim_id": "claim-02",
      "statement": "On AppWorld with ReAct/GPT-4.1, raises the fraction of tasks succeeding in all five runs by +16 points on same-task evaluation and +13 points on similar-task generalization (reducing a 24-point consistency gap).",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.08832",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "exposure_map": [
    {
      "dimension": "quality",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compute",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "latency",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "operations",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compatibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "security",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "data_and_training",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "reproducibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "risks": [],
  "minimum_test": [],
  "open_questions": [],
  "independent_tests": [],
  "lab_reproductions": [],
  "report_available": false,
  "validation_tier": "unknown",
  "evidence_tier": "unknown",
  "infrastructure_basis": "unknown",
  "equations": [
    {
      "anchor": "S3.E4",
      "label": "(4)",
      "section": "3 Consistency Guideline Generation",
      "role": "metric",
      "latex": "C(s_{i})\\;=\\;\\frac{2}{N(N{-}1)}\\sum_{j<k}\\cos~\\!\\bigl(\\mathbf{e}(r_{i}^{(j)}),\\,\\mathbf{e}(r_{i}^{(k)})\\bigr),",
      "mathml": "<math display=\"block\"><mrow><mrow><mrow><mi>C</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><msub><mi>s</mi><mi>i</mi></msub><mo rspace=\"0.280em\" stretchy=\"false\">)</mo></mrow></mrow><mo rspace=\"0.558em\">=</mo><mrow><mfrac><mn>2</mn><mrow><mi>N</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow><mo stretchy=\"false\">)</mo></mrow></mrow></mfrac><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><munder><mo movablelimits=\"false\">∑</mo><mrow><mi>j</mi><mo>&lt;</mo><mi>k</mi></mrow></munder><mrow><mi>cos</mi><mo lspace=\"0.160em\">⁡</mo><mrow><mo maxsize=\"1.200em\" minsize=\"1.200em\">(</mo><mrow><mi>𝐞</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><msubsup><mi>r</mi><mi>i</mi><mrow><mo stretchy=\"false\">(</mo><mi>j</mi><mo stretchy=\"false\">)</mo></mrow></msubsup><mo stretchy=\"false\">)</mo></mrow></mrow><mo>,</mo><mrow><mi>𝐞</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><msubsup><mi>r</mi><mi>i</mi><mrow><mo stretchy=\"false\">(</mo><mi>k</mi><mo stretchy=\"false\">)</mo></mrow></msubsup><mo stretchy=\"false\">)</mo></mrow></mrow><mo maxsize=\"1.200em\" minsize=\"1.200em\">)</mo></mrow></mrow></mrow></mrow></mrow><mo>,</mo></mrow></math>",
      "context": "For free natural-language text (e.g., a reasoning trace) or program code, we estimate step consistency as mean pairwise cosine similarity of SBERT (Reimers and Gurevych 2019) sentence (or code) embeddings:",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S3.E5",
      "label": "(5)",
      "section": "3 Consistency Guideline Generation",
      "role": "metric",
      "latex": "C(s_{i})=\\frac{2}{N(N-1)}\\sum_{j<k}J(r_{i}^{(j)},r_{i}^{(k)}),",
      "mathml": "<math display=\"block\"><mrow><mrow><mrow><mi>C</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><msub><mi>s</mi><mi>i</mi></msub><mo stretchy=\"false\">)</mo></mrow></mrow><mo>=</mo><mrow><mfrac><mn>2</mn><mrow><mi>N</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow><mo stretchy=\"false\">)</mo></mrow></mrow></mfrac><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><munder><mo movablelimits=\"false\">∑</mo><mrow><mi>j</mi><mo>&lt;</mo><mi>k</mi></mrow></munder><mrow><mi>J</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><msubsup><mi>r</mi><mi>i</mi><mrow><mo stretchy=\"false\">(</mo><mi>j</mi><mo stretchy=\"false\">)</mo></mrow></msubsup><mo>,</mo><msubsup><mi>r</mi><mi>i</mi><mrow><mo stretchy=\"false\">(</mo><mi>k</mi><mo stretchy=\"false\">)</mo></mrow></msubsup><mo stretchy=\"false\">)</mo></mrow></mrow></mrow></mrow></mrow><mo>,</mo></mrow></math>",
      "context": "For categorical values such as a tool name, enum argument, or structured identifier, step consistency is the mean pairwise Jaccard similarity over tokenized values,",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S3.E6",
      "label": "(6)",
      "section": "3 Consistency Guideline Generation",
      "role": "metric",
      "latex": "C(s_{i})=\\sum_{f\\in\\mathcal{F}_{i}}\\delta_{f}\\cdot\\mathrm{sim}_{f}(D_{i}^{f}),\\sum_{f}\\delta_{f}=1,",
      "mathml": "<math display=\"block\"><mrow><mrow><mrow><mrow><mi>C</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><msub><mi>s</mi><mi>i</mi></msub><mo stretchy=\"false\">)</mo></mrow></mrow><mo rspace=\"0.111em\">=</mo><mrow><mrow><mrow><munder><mo movablelimits=\"false\">∑</mo><mrow><mi>f</mi><mo>∈</mo><msub><mi>ℱ</mi><mi>i</mi></msub></mrow></munder><msub><mi>δ</mi><mi>f</mi></msub></mrow><mo lspace=\"0.222em\" rspace=\"0.222em\">⋅</mo><msub><mi>sim</mi><mi>f</mi></msub></mrow><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><msubsup><mi>D</mi><mi>i</mi><mi>f</mi></msubsup><mo stretchy=\"false\">)</mo></mrow></mrow></mrow><mo rspace=\"0em\">,</mo><mrow><mrow><munder><mo movablelimits=\"false\">∑</mo><mi>f</mi></munder><msub><mi>δ</mi><mi>f</mi></msub></mrow><mo>=</mo><mn>1</mn></mrow></mrow><mo>,</mo></mrow></math>",
      "context": "Semi-structured responses (e.g., a JSON object with a free-text thoughts field alongside categorical action/action_input fields) are decomposed into fields <math display=\"inline\"><msub><mi>ℱ</mi><mi>i</mi></msub></math>, each mapped to one of the primitive types above, and combined as a weighted sum:",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    }
  ],
  "equations_status": "selected",
  "core_kind": "formula",
  "equations_fetched_at": "2026-09-27",
  "equations_source_url": "",
  "equations_source_sha256": "",
  "exposures_reviewed_at": "",
  "exposures_source_sha256": ""
}