Approach to Self-Improving Memory in Local AI Agents

Memory Architecture for Persistent AI Agents
A developer on r/LocalLLaMA has shared their approach to creating AI agents that don't repeat mistakes across sessions. The core problem addressed is that every session starts from zero, with context windows resetting and corrections being lost between sessions.
Memory Implementation
The system uses markdown as the source of truth instead of a database. MEMORY.md is human-editable - delete a line in vim and the agent forgets it. SQLite and FAISS (HNSW, 768-dim) are derived caches that are rebuildable from markdown anytime. This allows users to version-control their agent's memory with git.
Episode Scoring and Rule Learning
Each execution gets scored +1/-1 and saved as an episode. On similar future tasks, relevant episodes get pulled into context. When the same error signature (SHA256 of tool name + normalized error) shows up twice within 7 days, a rule learner generates a one-line prevention rule.
Rules start at 0.40 confidence and need 0.60 to actually get injected into future prompts. Success bumps confidence +0.03, failure drops it -0.05. Rules that don't help eventually decay away.
Trust Escalation System
Instead of configuring permission levels upfront, the agent tracks approval patterns. 5 approvals at 90%+ rate = auto-promote. One revert = demote back. There's a shadow mode for auditing.
Task Decomposition and Safety
Complex goals become a DAG (Directed Acyclic Graph). Circular dependencies are caught via topological sort, failure cascades to dependents via DFS (Depth-First Search). A completion gate checks 18 requirements (R01-R18) - did the agent actually read files, write changes, verify results, stay in the workspace?
Safety features include 43 bash risk patterns, dual-pass analysis (raw + decoded), fail-closed design (Guardian crash = deny), and minimum writable depth of 3 to prevent rm -rf /.
The developer is seeking feedback on whether the confidence decay on rules feels right and whether the +0.03/-0.05 asymmetry is optimal. They're also wondering if there are better alternatives to HNSW for this scale (typically <10k episodes).
📖 Read the full source: r/LocalLLaMA
👀 See Also

Headless OpenClaw Setup with Discord via Docker Scripts
A GitHub repository provides scripts to run OpenClaw with Discord in a headless Docker container, avoiding the TUI/WebUI. It includes a management script with commands like claw init, start, and stop, plus preconfigured support for OpenAI Responses API, Chromium, and various tools.

Claude Code Karma: Local Observability Dashboard for Claude Code Sessions
Claude Code Karma is an open-source local dashboard that parses JSONL files from ~/.claude/ to visualize Claude Code session data, track tool usage, and monitor silent failures. Built with FastAPI, Svelte-Kit 2, Svelte 5, and SQLite, it provides full session timelines and live tracking.

HostMyClaudeHTML: One-Click Sharing for Claude HTML Artifacts
A developer built hostmyclaudehtml.com, a free tool that lets you share Claude-generated HTML artifacts as live URLs by dragging and dropping the .html file. No account is required for uploaders or viewers.

OmniRecall Beta: FAISS-Powered Memory Injection for Cloud LLM Chats
OmniRecall is a local mitmproxy bypass that intercepts traffic to cloud chat interfaces like DeepSeek, adding a permanent memory layer using FAISS indexing and sentence-transformers MiniLM-L6. It's currently in beta, requires CPU-only operation, and uses an aggressively restrictive source-available license.