记忆与压缩命令
/memory 持久化保存笔记;/compact 释放上下文(但存在风险)。
记忆与压缩命令 是 CoddyKit 上的免费 Claude Architect 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Claude Architect 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Claude Architect 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
Why Memory and Compact Matter
Claude Code runs inside a finite context window. As a session grows, two pressures appear: you want some notes to survive every session, and you want the running conversation to stay small enough to reason well.
Two commands handle these jobs:
/memory— editsCLAUDE.mdso instructions persist across sessions./compact— compresses the current context to free space, at the cost of detail.
This lesson is from Domain 5 (Context Management & Reliability) and Domain 3 (Claude Code Config). Knowing exactly what each command does — and what it costs — is an exam favorite.
/memory Edits CLAUDE.md
/memory opens your CLAUDE.md for editing. Whatever you write there is loaded into context at the start of every session — it is durable, not tied to one conversation.
Use it for stable facts the model should always know: project conventions, build commands, architectural rules, coding standards. Think of CLAUDE.md as your project's long-term memory; /memory is just the editor that opens it.
# In an interactive Claude Code session:
/memory
# Opens CLAUDE.md in your editor so you can add durable instructions
# e.g. "Always run `yarn build` before committing."The CLAUDE.md Hierarchy
/memory can target different scopes, and scope decides who sees the note:
- User-level
~/.claude/CLAUDE.md— personal, NOT shared via version control. New teammates never see it. - Project-level
./CLAUDE.mdor.claude/CLAUDE.md— committed to VCS, shared with the whole team. - Directory-level — scoped to a subtree of the repo.
Exam trap: if a rule must reach every teammate, it belongs in the project-level file. Putting a shared convention only in user-level memory means onboarding teammates silently miss it.
Keeping CLAUDE.md Lean with Imports and Rules
A giant CLAUDE.md burns context on every session. Two techniques keep it lean:
- @path imports modularize content, e.g.
@./standards/coding-style.mdpulls a file in by reference. - .claude/rules/ files with YAML frontmatter
pathsload only when you edit matching files — saving tokens versus a monolithic memory file.
So /memory is not just "write everything down"; it is curating which durable instructions are always-on versus loaded on demand.
# CLAUDE.md
@./standards/coding-style.md
# .claude/rules/react.md (loads only when editing matching files)
---
paths:
- "src/**/*.tsx"
---
Prefer function components and hooks. No class components./compact Compresses the Live Context
Where /memory is about persistence, /compact is about capacity. It compresses the current conversation — summarizing earlier turns — so you reclaim space and can keep working in the same session.
This is a form of progressive summarization. It is genuinely useful on long sessions before you hit the context limit. But summarization is lossy, and the losses are predictable enough to be examined.
# Long session getting full? Reclaim context in-place:
/compact
# Earlier turns are summarized; recent + summary remain.The Risk: Numbers, Dates, and Percentages Go Vague
Here is the cost the exam wants you to know. Progressive summarization makes exact numbers, percentages, and dates vague. "Refund of $487.10 on 2026-03-14" can collapse into "a refund earlier."
For an architect this is a reliability bug, not a cosmetic one. If a downstream decision depends on a precise figure or timestamp, /compact can silently erode the very facts the task hinges on.
Protect Transactional Facts in a Verbatim Block
The architect-grade fix: do not trust the summary to hold critical figures. Pull transactional facts into a separate "case facts" block kept verbatim outside the summary.
Before compacting, persist exact values — order IDs, amounts, dates, thresholds — in a place that won't be summarized (e.g. a notes file or a verbatim facts section). Then /compact can compress the chatter while the hard facts survive intact.
## CASE FACTS (verbatim — do not summarize)
- order_id: ORD-99812
- refund_amount: $487.10
- transaction_date: 2026-03-14
- policy_threshold: $500
## Discussion (safe to /compact)
...Compact vs. a Fresh Session with a Summary
/compact keeps you in the same session. Sometimes that is the wrong move. A related pattern: starting a fresh session with a structured summary can beat carrying a long, noisy history forward.
This mirrors the sessions trade-off: --resume <name> continues a named session, but resumed tool results can be STALE if the codebase changed underneath you. When history is both bloated and outdated, a clean session seeded with a tight summary is more reliable than compacting stale context.
# Continue a named session (history may be stale):
claude --resume my-refactor
# Or branch from a shared point:
# fork_session → new line of work off a common baseLost-in-the-Middle and Trimming Output
Context management is bigger than one command. Models attend to the start and end of context more than the middle — the "lost-in-the-middle" effect. So where a fact sits matters, not just whether it survived /compact.
Complementary habit: trim verbose tool output to the relevant fields before it enters context. Keeping context small and well-ordered reduces how often you need to compact at all, and keeps critical facts out of the neglected middle.
How They Work Together
These two commands solve different axes, and good architects use both deliberately:
/memory→ persistence across sessions (durable instructions inCLAUDE.md)./compact→ capacity within a session (lossy summarization to free space).
A typical long task: keep conventions in project CLAUDE.md via /memory; pin exact figures into a verbatim facts block; /compact when context fills; and if the carried history is stale or huge, start fresh with a structured summary instead.
A Practical Long-Session Workflow
Put it together on a multi-hour refactor:
- At setup,
/memoryrecords the build command and the rule "review in an isolated session." - Mid-session you extract the exact failing test names and line numbers into a verbatim block.
- Context fills →
/compactcompresses the exploration narrative, leaving the verbatim facts and recent turns sharp. - Hours later the branch has drifted → you abandon the bloated history and open a fresh session seeded with a tight summary.
Notice: persistence, precision-protection, and capacity are managed as separate decisions — never assumed to be free.
Quick Check: Compact Before a Refund Decision
Apply the trade-off to a real scenario.
Recap: Persistence vs. Capacity
Key takeaways:
/memoryeditsCLAUDE.md— durable instructions that persist across sessions. Project-level is shared via VCS; user-level is personal and missed by new teammates.- Keep memory lean with
@pathimports and.claude/rules/(frontmatterpaths) that load only when relevant. /compactcompresses live context to free space, but progressive summarization makes numbers, dates, and percentages vague.- Protect critical figures in a verbatim 'case facts' block outside the summary before compacting.
- When history is stale or bloated, a fresh session with a structured summary can beat
/compactor--resume. Mind lost-in-the-middle and trim verbose tool output.
常见问题解答
「记忆与压缩命令」课时是免费的吗?
是的 — 「记忆与压缩命令」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Claude Architect 课程的其余内容,请升级到 CoddyKit PRO。 Claude Architect 课程共包含 4 节课。
「记忆与压缩命令」这节课中我会学到什么?
/memory 持久化保存笔记;/compact 释放上下文(但存在风险)。 你通过在浏览器中直接运行的动手代码来练习 Claude Architect,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Claude Architect 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Claude Architect 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「记忆与压缩命令」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Claude Architect 课中编写并运行代码吗?
能。每节 Claude Architect 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。