技能 人工智能 智能体记忆系统工程

智能体记忆系统工程

v20260826
memory-engineering
该框架将记忆视为一个复杂的代谢系统,而不仅仅是数据存储空间。它提供了一套全面的工具和方法论,用于审计、成本核算和治理AI智能体的记忆系统。核心在于设计“遗忘机制”,防止状态积累和性能衰退。功能包括成本分析、记录分类(事实/技能/日志)和强制遗忘策略的制定,确保系统可持续运行。
获取技能
298 次下载
概览

Memory Engineering — engineer the forgetting, not just the remembering

Portability: 4 stdlib scripts, no APIs/LLM calls/network. They measure and gate; you decide.

What this does

Anyone can give an agent memory: vector store, pipe in the history, retrieve top-k. That works until the history outgrows the context window, the write path costs more than every query it serves, and the store fills with stale state nobody removes. Memory is not a bucket — it is a system with a metabolism.

The shift: a storer optimizes what a system remembers; a memory engineer optimizes what it forgets. The problem was never that an agent forgets — it is that it never forgets on purpose.

The four lenses

Lens Question The finding that hurts
Stanford What does remembering cost? Construction energy exceeds total query energy across 300 queries. The tuned half is the smaller half.
Microsoft What is worth keeping? More raw memory can make an agent worse. Keep facts and skills; drop the events.
Anthropic Who controls what it keeps? A wrong memory does not fail once — it persists into every future session that reads it.
Nvidia Where does it hit hardware? It is all KV cache in HBM. Construction is prefill-heavy and stalls the query a user is waiting on.

Workflow

# 1 - Price it first. Never quote a quality number without a cost number.
python scripts/memory_cost_profiler.py --print-sample-spec > workload.json
python scripts/memory_cost_profiler.py --spec workload.json
# 2 - Pick which cost to pay. No "best" verdict; on a tie it asks, exit 2.
python scripts/memory_architecture_picker.py --constraints workload.json
# 3 - Audit what the store actually holds (skip if greenfield).
python scripts/memory_density_auditor.py --dir ~/.claude/memory
# 4 - Gate on forgetting. Exit 4 is a stop, not a suggestion.
python scripts/forgetting_policy_linter.py --policy design.json
# 5 - No command. Prove each pass by hand before scheduling it.

Step 1 reports the construction/query split, cost per correct answer, and amortization — if construction dominates, cut construction tokens before touching retrieval. Step 2 names the cost the winning family makes you pay. Step 3 classifies records FACT / SKILL / LOG / PROSE (LOG-HEAVY = archiving events; PROSE-HEAVY = docs, not memory).

Step 4 is the gate: F1 (explicit forgetting rule) and F4 (contradictions surfaced, never auto-merged) are blocking. Retrofitting forgetting onto two years of records is a migration nobody does; auto-merging disagreeing memories destroys the evidence the conflict existed.

Step 5 has no script — prove each pass by hand, then automate. Run it once against real history and ask whether it changed a decision. If not, scheduling it only makes noise. Ship order: forgetting_policy_design.md §7.

Hard rules

  1. Never quote accuracy without cost per correct answer.
  2. Never return a "best" memory system — name the cost the choice makes you pay.
  3. Never auto-merge contradictions. The system surfaces; the human decides.
  4. Never call a design done without a forgetting rule. No evaluated system provides one by default.
  5. Never schedule a pass not yet run by hand.
  6. Report findings as findings. A non-zero exit is a result to surface, not an error to swallow.
  7. Attribute every number with its confidence level. Vendor customer figures are testimonials, not benchmarks.

Scripts

Script Role Exit codes
scripts/memory_cost_profiler.py Construction vs query split, cost per correct answer, amortization, co-location warning 0 · 2 finding · 3 bad input
scripts/memory_architecture_picker.py Scores 4 families, disqualifies, names the cost, refuses to pick on a tie 0 · 2 ambiguous · 3 bad input · 4 none viable
scripts/memory_density_auditor.py FACT/SKILL/LOG/PROSE, duplicates, staleness, density (--dir or --jsonl) 0 dense · 2 finding · 3 bad input
scripts/forgetting_policy_linter.py The gate: 8 checks, F1 and F4 blocking 0 PASS · 2 CONDITIONAL · 4 FAIL

All support --output json and --sample (no input file needed).

References and assets

Provenance

Framing from "How to be a Memory Engineer" by @N01ennn; every number is cited to a primary source instead, and two paraphrases are corrected — memory_cost_canon.md §2, memory_control_and_governance.md §4.

信息
Category 人工智能
Name memory-engineering
版本 v20260826
大小 47.29KB
更新时间 2026-09-06
语言