MCP HubMCP Hub
Retour aux compétences

prune-agent-memory

pjt222
Mis à jour 6 days ago
15 vues
17
2
17
Voir sur GitHub
Autreai

À propos

Cette compétence offre une méthode systématique pour auditer, classer et supprimer de manière sélective les souvenirs stockés d'un agent afin d'en maintenir la qualité et la pertinence. Elle comprend la détection d'obsolescence, des vérifications de fidélité et un arbre décisionnel pour la suppression, incluant des mesures de protection telles que l'inoculation de contre-souvenirs. Utilisez-la pour la maintenance périodique, lorsque la mémoire devient volumineuse/non organisée, ou après que des changements significatifs dans les projets ont dégradé la qualité de la récupération.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add pjt222/agent-almanac -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternatif
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/prune-agent-memory

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

修主憶

審、分、擇忘所存憶。憶為基。忘為策。此技定策。

manage-memory 聚於組與長憶(何留、何構),此技聚反:何棄、如何察衰、如何使忘為意非偶。二技互補、定期維時當共用。

  • 憶檔大而無人察相關→用
  • 案態大變(重構、庫易名、碑畢)、憶恐引舊境→用
  • 取質衰——憶生噪非號→用
  • 一陣動生多憶項而無理→用
  • 排定維任(如每 10-20 會或案碑時)→用
  • 多憶項涵同題含小異(重複漂)→用
  • 接新合作前承憶境→用
  • 棄策或式而觸件仍存後——以防自源沿同徑重生、非僅恃除→用

  • :憶目徑(常 ~/.claude/projects/<project-path>/memory/
  • :留策覆(如「皆留布署」「激修除錯注」)
  • :末察以來知案變(如「庫易名」「自 Jest 遷至 Vitest」)
  • :前修審跡為勢析

一:枚並分憶

讀諸憶檔、各項按四維分。

# Inventory the memory directory
ls -la <memory-dir>/
wc -l <memory-dir>/*.md

# Count total entries (approximate by counting top-level bullets and headers)
grep -c "^- \|^## " <memory-dir>/MEMORY.md
for f in <memory-dir>/*.md; do echo "$f: $(grep -c '^- \|^## ' "$f") entries"; done

各憶項分為下型之一:

TypeDescriptionExampleDefault retention
ProjectFacts about project structure, architecture, conventions"skills/ has 310 SKILL.md files across 55 domains"Keep until verified stale
DecisionChoices made and their rationale"Chose hub-and-spoke over sequential for review teams because..."Keep indefinitely
PatternDebugging solutions, workflow insights, recurring behaviors"Exit code 5 means quoting error — use temp files"Keep until superseded
ReferenceLinks, version numbers, external resources"mcptools docs: https://..."Keep until verified stale
FeedbackUser preferences, corrections, style guidance"User prefers kebab-case for file names"Keep indefinitely
EphemeralSession-specific context that leaked into persistent memory"Currently working on issue #42"Prune immediately

各項亦注:

  • :何時書或末更?
  • 取頻:此項於近會用乎?(按題對近工之關估)

得:完錄含每憶項按型分、含齡與取頻估。Ephemeral 項已標即除。

敗:憶檔過大或無構不可逐項分→於段級行。分全段非各項。標為覆、非粒。

二:察舊

對今案態比憶述。舊為憶衰之最常式。

察下舊式:

  1. 數漂:檔、技、主、域、團數變
  2. 徑漂:移、易名、除之檔、目、URL
  3. 態漂:態(解事、畢碑、合 PR)仍述為開或進中
  4. 決反:後覆而原由仍於憶
  5. 具/版漂:版、API 簽、具名變(如包易名)
# Spot-check counts against source of truth
grep -oP '\d+ skills' <memory-dir>/MEMORY.md
grep -c "^      - id:" skills/_registry.yml

# Check for references to files that no longer exist
grep -oP '`[^`]+\.(md|yml|R|js|ts)`' <memory-dir>/MEMORY.md | sort -u | while read f; do
  path="${f//\`/}"
  [ ! -f "$path" ] && echo "STALE: $path referenced but not found"
done

# Check for references to old names/paths
grep -i "old-name\|previous-name\|renamed-from" <memory-dir>/*.md

各舊項標其舊型與今正值。

得:舊項列含特變據。各舊項薦行:更(若知正值)、驗(若不確)、修(若全項已廢)。

敗:因外態(API、三方文、布署態)而不能驗→標為 unverifiable 勿假其正。未驗項為修候若無活用。

三:行誠檢

試憶取時否仍生用境。此最難——主不能驗己縮憶之誠——需外錨。

誠檢法:

  1. 往返驗:讀憶項、後察其述之實案態。憶引至正檔、正式、正結乎?

  2. 縮失察:憶撮對原源比。50 行討縮為 2 行憶、縮保行洞乎抑只題標?

    # Find the source that a memory entry was derived from
    # (git log, old PRs, original files)
    git log --oneline --all --grep="<keyword from memory entry>" | head -5
    
  3. 矛盾掃:搜憶相矛或矛 CLAUDE.md/案文。

    # Look for potential contradictions in counts
    grep -n "total" <memory-dir>/MEMORY.md
    grep -n "total" CLAUDE.md
    # Compare the values — they should agree
    
  4. 用試:各憶項問:「此項除、後 5 會何錯?」答「恐無」→項誠值低即正。

得:各憶項今有誠評:(驗準用)、(恐準偶用)、(未驗或罕用)、(驗誤或矛)。

敗:諸項誠檢不決→聚最高效項。誤憶於案架險於誤憶於除錯。骨級實察先於肉級細。

四:施擇除

用此決樹按序定何修:

Pruning Decision Tree (apply in order):

1. EPHEMERAL entries (Step 1 classification)
   → Delete immediately. These should never have been persisted.

2. FAILED fidelity entries (Step 3)
   → Delete immediately. Inaccurate memories are worse than no memories.

3. DUPLICATES
   → Keep the most complete/accurate version, delete others.
   → If duplicates span MEMORY.md and a topic file, keep the topic file version.

4. STALE entries with known corrections (Step 2)
   → UPDATE if the entry is otherwise useful (change the stale value to current).
   → DELETE if the entire entry is obsolete (the topic no longer matters).

5. LOW fidelity, low access frequency entries
   → Delete. These are taking space without providing value.

6. MEDIUM fidelity entries about completed/closed work
   → Archive or delete. Past sprint details, resolved incidents, merged PRs.
   → Exception: keep if the resolution contains a reusable pattern.

7. REFERENCE entries with freely available sources
   → Delete if the reference is a Google search away.
   → Keep if the reference is hard to find or has project-specific context.

各除、記項、其分、除由(用於步八)。

施此樹之 DELETE 前、察項否當受逆種(步五)。敗策、棄徑、險式為「除兼種」之候、非「唯除」。

得:明列除項、更項、留項——各含記由。留/除比依憶健;善養者修 5-10%、忽者修 30-50%。

敗:諸項決樹模→緊濾:「今知所知、今書此項乎?」否→修候。傾修——重學實易於繞誤憶。

五:種逆以絕重生

某棄結不可徑除。除孤敗於生憶之件未滅——系自同入沿同推徑重生所除之憶。為此例、書一逆憶以絕重生、與除並行(或代之)。

決則——唯除、除兼種、唯種:

憶類
舊實、過指、廢境唯除唯取清;重生無行險
敗策、險式、棄徑而觸件仍存除兼種推徑將自重生其結
後覆之決而原由猶要唯種留原項;加 SUPERSEDED 逆憶指其

SUPERSEDED 錄式(auto-memory frontmatter;構從他憶系而適):

---
name: superseded-<short-id>
description: Counter-memory preventing re-derivation of <pattern>
type: superseded
---

SUPERSEDED <YYYY-MM-DD>
Pattern: <what was tried — describe the conclusion or strategy>
Period: <start> to <end>
Evidence: <what happened — concrete data, not narrative>
Abandonment reason: <specific cause; not "did not work">
Do not re-derive from: <signal types or input patterns that previously led here>
Supersedes: <path to original memory if delete + inoculate, or N/A>

SUPERSEDED 錄各為己檔置於憶目(如 superseded_strategy_X.md)使取時與活憶並現。逆憶乃所行之變機:相號至、SUPERSEDED 浮、絕重生之徑。

何時不種:

  • 瑣舊實(重生無行險)
  • 原觸件已滅之憶(易名畢、依棄、團散)
  • 新據下重決為宜者(策恐於來態可成、當再評)

種衛:

  • PatternDo not re-derive from 宜特。模逆憶(如「勿試繁解」)為噪
  • SUPERSEDED 項記日。老種於底件變後恐自舊——入次修週為察候
  • 一棄式一 SUPERSEDED。勿鏈諸棄於一逆憶;取受損
  • 修誌錄除時、亦錄並 SUPERSEDED 檔徑、使審跡備二半

得:步四之除候涉棄策險式者、各於除前生對應 SUPERSEDED 逆憶檔。修誌錄除與種。活憶猶瘦而重生徑絕。

敗:項當種否未定→默種。冗 SUPERSEDED 之費少;重生惡式之費厚。SUPERSEDED 列大至自為噪→是上層件生諸棄之兆——修在入層、非憶層。

六:施前濾

定「何不存」則防未來憶污。察現憶為書時當濾之式。

永不為持憶之式:

PatternWhyExample
Session-specific task stateStale by next session"Currently debugging issue #42"
Intermediate reasoningNot a conclusion"Tried approach A, didn't work because..."
Debug output / stack tracesEphemeral diagnostic data"Error was: TypeError at line 234..."
Exact command sequencesBrittle, version-dependent"Run npm install [email protected] && ..."
Emotional/tonal notesNot actionable"User seemed frustrated"
Duplicates of CLAUDE.mdAlready in system prompt"Project uses renv for dependencies"
Unverified single observationsMay be wrong"I think the API rate limit is 100/min"

現憶有此式者→加於步四除列。

濾則記於 MEMORY.md 或 retention-policy.md 題檔以使未會於書新憶前察。

得:憶目記之前濾則。現項合此式者標除。

敗:記濾則似早(憶小、污少)→略記而仍施濾以捉現違。則可後形於憶目熟時。

七:書審跡

各除錄使忘可察。立或更修誌。

<!-- In <memory-dir>/pruning-log.md or appended to MEMORY.md -->

## Pruning Log

### YYYY-MM-DD Audit
- **Entries audited**: N
- **Entries pruned**: M (X%)
- **Entries updated**: K
- **Staleness found**: [list of stale patterns detected]
- **Fidelity failures**: [list of entries that failed verification]

#### Deletions
| Entry (summary) | Type | Reason |
|-----------------|------|--------|
| "Currently working on issue #42" | Ephemeral | Session-specific, stale |
| "skills/ has 280 SKILL.md files" | Project | Count drift: actual is 310 |
| "Use acquaint::mcp_session()" | Pattern | Package renamed to mcptools |

修誌簡。為責、非考古。誌大→撮老項:「2025:3 審、47 項修(多數漂與 ephemeral 漏)」。

得:時印之修誌項記何除何由。誌存於憶目與憶共。

敗:分檔似過(唯 1-2 項修)→於 MEMORY.md 加短注:<!-- Last pruned: YYYY-MM-DD, removed 2 stale entries -->。任記優於默除。

八:定護憶

某憶項當免修不論齡、頻、誠分。為失即需大力重構之不可代境。

護憶則

CategoryExamplesWhy protected
Architecture decisions"Chose flat skill directory over nested"Rationale is lost if re-derived later
User identity preferences"Always use kebab-case," "Never auto-commit"Explicit user intent, not inferrable
Security audit results"Last audit: 2025-12-13 — PASSED"Compliance evidence with timestamps
Rename/migration records"Repo renamed: X to Y on date Z"Cross-reference integrity depends on this

標法:護項以 <!-- PROTECTED --> 內標或於修誌持 protected 列。步四決樹必先察護態乃施除則。

解護:修護項→先明除標、於修誌記由。二步防偶除高值憶。

得:護項過諸修。修誌記任護加除。

敗:護集過大(>總 30%)→察則——護為不可代境、非「重」項。重而可重立之實當受常修。

九:修後重合

除後餘憶恐碎——交引指除項、題檔失連、MEMORY.md 有缺。重合復構整。

重合清單

  1. 解破引:掃餘項為連除容。除或轉引
  2. 合相片:修留二項涵同題之疊面→合為一連項
  3. 更題檔構:題檔失 >50% 容→計餘折回 MEMORY.md 而除題檔
  4. 分冷憶:察過修而近未取項:
    • 冷由不用:題合活案標而生其之段已過。留——其段重時恐重相關(如活開時 CRAN 提注)
    • 冷由不關:題本邊——一時驗、旁查、覆徑。次修週標除
  5. 驗 MEMORY.md 連:上下讀 MEMORY.md。當述案連故事、非為亂實集

得:修後憶構固——無孤引、無冗片、無不連題檔。冷項分為未來修決。

敗:重合顯修過激(要境失)→察修誌、自審跡重立。此為審跡所以存。

十:自憶漂復

憶漂於存實默誤——非始誤、實底變而憶未更。漂復試就地修憶非修除。

漂察觸

  • 憶述矛今具出或檔容
  • 憶中數或版號不合錄或鎖檔
  • 憶中徑返「檔未見」
  • 依憶引易名或棄包

復程

  1. 識漂:憶述對今地實(git log、錄、實檔)比
  2. 評可復:今案態可定正值乎?
    • 是→就地更憶含今值與 [corrected YYYY-MM-DD]
    • 否→標 unverifiable 而標修
  3. 追因:為漸漂(數緩異)或離散事(易名、遷)?離散事常影多項——掃同伴
  4. 防再:漂影常變值(數、版)→計憶當追值乎抑引源實:「見 skills/_registry.yml 為今數」非「317 技」

得:漂憶可則就地修保境。不可修者標修。防則減未來漂。

敗:漂廣(>20%)→憶恐需全重立非漸修。則檔當前憶目、自始、擇重入過驗者。

  • 諸憶檔錄、項按型分
  • 對今案態行舊察
  • 至少一誠檢法施(往返、縮失、矛掃、用試)
  • 除決循決樹序
  • 無項無記由而除
  • 各除候皆察種否;存重生險者立 SUPERSEDED 逆憶
  • 前濾則記或施
  • 修誌記何除、何時、何由——含種項對應 SUPERSEDED 檔徑
  • 修後 MEMORY.md 仍 <200 行
  • 餘憶準(對案態點察)
  • 修 MEMORY.md 引未生孤題檔
  • 護項標而過諸修
  • 修後重合解破交引並合片
  • 冷項分為不用對不關為未來修決
  • 漂項可則就地修、非僅除

  • 除敗策而不種:棄徑之憶除、而生其之件仍存。系自同入沿同徑重生同結。除為虛行。觸件存→用步五逆種
  • 不驗而修:因「似舊」除而不察其準否與用否。齡單非除則——某最寶憶為老架決仍真
  • 自驗誠:主讀己縮憶結「是、似正」非誠檢。誠需外錨:案檔、git 史、錄數、實具出。無錨則察一致非準
  • 激修無審跡:除而不錄何除。未會需修除實時、審跡述何發、可含足境重立憶
  • 修決為憶:勿書「我決修 X 由 Y」為常憶項。此唯入修誌。憶管之憶為元污
  • 忽前濾:修現項而不立則防同式再。無濾則後 10 會將重立汝甫除之同 ephemeral
  • 諸型同處:決憶與饋憶幾不當修——其表用意與由。案與引為主修標、其追變態
  • 混縮為壞:撮繁題為一行之憶為縮非壞。唯標為誠敗於縮失行洞、非但細
  • 過釘:標多項為護敗修旨。>30% 護則則寬。護不可代境、非僅重實
  • 重合圈:重合中合片可立新項其需次週修。少合——僅合明涵同題者。修中勿合新洞

  • manage-memory — 組與長憶之補技;共用為全憶維
  • meditate — 清接地可顯何憶生噪
  • rest — 有時最佳憶維為不維
  • assess-context — 推境健察、憶質直影

Dépôt GitHub

pjt222/agent-almanac
Chemin: i18n/wenyan-ultra/skills/prune-agent-memory
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Compétences associées

llamaguard

Autre

LlamaGuard est le modèle de Meta, doté de 7 à 8 milliards de paramètres, conçu pour modérer les entrées et sorties des LLM selon six catégories de sécurité comme la violence et les discours haineux. Il offre une précision de 94 à 95 % et peut être déployé avec vLLM, Hugging Face ou Amazon SageMaker. Utilisez cette compétence pour intégrer facilement le filtrage de contenu et des garde-fous de sécurité dans vos applications d'IA.

Voir la compétence

cost-optimization

Autre

Cette compétence de Claude aide les développeurs à optimiser les coûts du cloud grâce au redimensionnement des ressources, aux stratégies d'étiquetage et à l'analyse des dépenses. Elle fournit un cadre pour réduire les dépenses cloud et mettre en œuvre une gouvernance des coûts sur AWS, Azure et GCP. Utilisez-la lorsque vous devez analyser les coûts d'infrastructure, redimensionner les ressources ou respecter des contraintes budgétaires.

Voir la compétence

quantizing-models-bitsandbytes

Autre

Cette compétence quantifie les LLMs en précision 8 bits ou 4 bits à l'aide de bitsandbytes, permettant une réduction de 50 à 75 % de la mémoire utilisée avec une perte de précision minime. Elle est idéale pour exécuter des modèles plus volumineux sur une mémoire GPU limitée ou pour accélérer l'inférence, prenant en charge des formats comme INT8, NF4 et FP4. La compétence s'intègre à HuggingFace Transformers et permet l'entraînement QLoRA ainsi que l'utilisation d'optimiseurs en 8 bits.

Voir la compétence

dispatching-parallel-agents

Autre

Cette compétence Claude déploie plusieurs agents pour enquêter et résoudre simultanément 3 problèmes indépendants ou plus. Elle est conçue pour des scénarios impliquant des défaillances non liées qui peuvent être résolues sans état partagé ni dépendances. La capacité fondamentale est la résolution de problèmes en parallèle, en assignant un agent par domaine problématique indépendant afin de maximiser l'efficacité.

Voir la compétence