>100 Views
February 22, 26
スライド概要
https://www.du-soleil.com/entry/compact-ddd-cd-mastering-ai-lossy-compression
DDDの「境界づけられたコンテキスト」で設計する Coding Agent の記憶 忘却をエンジニアリングし、プロジェクトに寄り添うAIをつくる Based on the insights of @gyakuse / id:bulldra
/compact という「小さな死」 Claude Codeがコンテキストリミットに達し `/compact` を実行するとき、そこには記憶の断絶がある。 合意の形成のプロセスや「ニュアンス」は圧縮 によって失われる。 CONTEXT_LIMIT_REACHED >> EXECUTE /compact TIMELINE A 9.2k 4.5k 11.8k 5.8k 3.1k 5.8k T-18:45:02 T-06:21:18 T-02:55:30 Active Context / High Fidelity Memory TIMELINE B Ayanami Rei No. 3 (3人目の綾波レイ) REI_03_IKIT >> MEHORY_RESET Compressed State / Zero-Point Reset PROJECT: CLAUDE / CONCEPT: DATA COMPRESSION & REMORY DISCONTINUITY
Helvetica Now Display Architectural Zen / Swiss International イマーシブシアターとソフトウェア開発の対立 イマーシブシアター (The Theater) Resetting is a Feature バイアス排除 ソフトウェア開発 (Development) Accumulation is Required ドメイン知識 The Conflict: 我々は「忘れるように設計されたシステム」の上で「記憶の蓄積」を行わなければならない。
プロンプトではなく「アーキテクチャ」として捉える DOMAIN-DRIVEN DESIGN >_ DDD_init.sh >> Defining Context... >> Excluding irrelevant data... >> Establishing Boundaries... Bounded Context (DDD) = Context Window (LLM) 「何を前提として共有するか」を設計し、同時 に「何を捨てて良いか」を明示する。これはまさ にDDD(ドメイン駆動設計)の領域だ。 PROJECT: CONTEXT_ARCHITECT / CONCEPT: DDD_LLM_BRIDGE
Architectural Zen / Swiss International DDD 概念と Claude Code 実装の対応表 DDD Concept Claude Code File Role 共有カーネル (Shared Kernel) `CLAUDE.md` 全セッションで常にロードされ る最小限の共通理解 ドメイン層 (Domain Layer) `SKILL.md` スキル発動時のみロードされる 専門知識 腐敗防止層 (Anti-Corruption) `.claudeignore` ノイズや不要な知識を明示的に 遮断する コンテキストマップ (Context Map) `.claude/rules/` パス(場所)に応じて異なるルール を活性化 ユビキタス言語 (Ubiquitous Language) Dictionaries / Style Rules 境界内で一貫した語彙を強制す る
言語ゲーム: 文脈が言葉の意味を決定する Sales Dept (営業部) Project = 案件 (Business Case) BUG / CONFUSION Dev Dept (開発部) Project = リポジトリ (Git Repository) ウィトゲンシュタインが説くように、言葉の意味は「特定のコミュニティでの使われ方」に依存す る。AIに「今、どのゲーム(境界)をプレイしているのか」を認識させなければならない。 PROJECT: CONTEXT_ARCHITECT / CONCEPT: DDD_LLM_BRIDGE
ファイルシステムという「コンテキストマップ」 / / src/frontend src/backend docs $ cd src/frontend_ Lazy Loading の原則 最初から全ての情報を読ませてはいけない。 `cd`でディレクトリを移動することは、物理的 に「境界(Context)」を切り替える行為であ る。 Architectural Zen / Swiss International
腐敗防止層としての .claudeignore Unfiltered Context .claudeignore (Anti-Corruption Layer) Code Docs Context Window 「良さそうなもの」を無限に足し 算するだけではコンテキストは 汚染される。 `.claudeignore`は単なる除外 外設定ではなく、AIを混乱させ る「不純物」を遮断する防御 壁である。 Architectural Zen / Swiss International
汎用エージェントに必要な「3層のスイッチ機構」 1. Context Set 参照範囲 (File Access) 2. Embedding Model 解釈手法 (Coach = Bag vs Instructor) 3. Persona 語彙辞書 (Vocabulary) 汎用エージェントが専門的に振る舞うためには、参照するデータだけでなく、 言葉の解釈モデルと語彙そのものを切り替える必要がある。 Architectural Zen / Swiss International
スキルとメモリの「コンテナ化」 SKILLS MEMORIES RULES Dockerがアプリと依存関係をまとめ るように、エージェントも「タ スクごとのコンテナ」を持つべき だ。ブログ執筆モードと開発モー ドを、コンテナごと切り替える。 `.claude/rules/blog.md` (Active) `.claude/rules/coding.md` (Inactive) Architectural Zen / Swiss International
Corrective RAG: 検索ミスを「後から直す」 Retrieval Evaluation (Is this relevant?) Yes No Web Search / Reject Generation Retrieverが不適切な文書を拾ってきた場合、LLMはそれを「根拠」と信じてしまう。 コンテキストは静的な「置き場所」ではなく、動的な「検証プロセス」へと進化する。 Architectural Zen / Swiss International
AI要約は「不可逆圧縮」である Master Recording Raw Logs / Full Context MP3 / Summary AI Summary 「雑談」の中にこそ、後から重要になるドメイン知識が眠っている。 保存すべきはRawデータ。2030年のAIは2026年のAIよりも賢い。 未来のモデルのために、今の技術でマスタリング(要約)してはいけない。 Architectural Zen / Swiss International
プロンプトエンジニアリングは「人間」の訓練 AIにコンテキストを説明できないならば、それは人間同士のコミュニケーション でも「暗黙の了解」に甘えている証拠だ。 Coding Agentとの対話は、人間組織のドメイン設計を洗練させるための サンドボックスである。 Architectural Zen / Swiss International
コンテキストエンジニアリング・マニフェスト 1. 小さな死を受け入れろ /compactを前提に、再起動可能な文脈を設計せよ。 2. 境界を定義せよ ファイル構成をDDDのBounded Contextと見なせ。 3. 遅延ロードせよ (Lazy Load) 最初から全てを読ませるな。必要な時だけロードせよ。 4. 原液を残せ 未来のAIのために、ログは要約せず全文保存せよ。
コンテキストは ソフトウェアの「魂」である 記憶と忘却をエンジニアリングすることで、 AIは単なるツールから、パートナーへと進化する。 Designed by [Designel