$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AIのメモリー
Search
watany
July 23, 2025
Programming
13
1.7k
AIのメモリー
社内勉強会向け
watany
July 23, 2025
Tweet
Share
More Decks by watany
See All by watany
たかが特別な時間の終わり / It's Only the End of Special Time
watany
34
9.2k
まだ間に合う! 2025年のhono/ssg事情
watany
3
860
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
21
9.3k
Coding Agentに値札を付けろ
watany
3
1k
Vibe Codingをせずに Clineを使っている
watany
19
7.9k
ミリしらMCP勉強会
watany
4
1.1k
RemovalPoliciesのことを知ろう!
watany
2
270
エンジニアに許された特別な時間の終わり
watany
105
220k
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
4
1.4k
Other Decks in Programming
See All in Programming
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
150
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
0
260
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3k
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
180
エディターってAIで操作できるんだぜ
kis9a
0
750
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
TestingOsaka6_Ozono
o3
0
170
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
3.6k
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
350
マスタデータ問題、マイクロサービスでどう解くか
kts
0
110
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
150
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.1k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
68
ラッコキーワード サービス紹介資料
rakko
0
1.8M
Automating Front-end Workflow
addyosmani
1371
200k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
GitHub's CSS Performance
jonrohan
1032
470k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Transcript
AI の メ モ リ ー
美しい人生よ
Coding Agent
Coding Agent コード補完やチャット応対を越えて、 自立したSoftware Engineerとして振舞う AI Agent ≒ SWE Agent
Coding Agent Cline Claude Code Windsurf Cursor kiro(New!)
疑問 Cline Claude Code Windsurf Cursor Q.この線は何? kiro(New!)
正解 Cline Claude Code Windsurf Cursor A.メモリの持ち⽅ kiro(New!)
AI の メ モ リ ー
Prompt Engineering LLMへのお願いの作法 Prompt 明瞭/明確/過不足のない/LLMを 最大限活躍させるプロンプト • System Prompt: モデルの
動作定義 • User Prompt: ユーザーか らのタスク、質問
Context Engineering LLMを関数とみなした時の入出力管理 RAG 外部データ/ドキュメント Memory 長期記憶 State/History 状態・会話履歴(短期記憶) Structured
Outputs 応答のフォーマット (JSON/Table…) Prompt 明瞭/明確/過不足のない/LLMを 最大限活躍させるプロンプト • System Prompt: モデルの 動作定義 • User Prompt: ユーザーか らのタスク、質問
Context Engineering 真面目な図 from 12-Factor Agents • Factor 3: Own
your context window Memory: • 長期記憶:セッション外の保管 ◦ 今日話すメモリはこちら
メモリがない時 Agent Human 機能①作って ええで。できましたわ Agent Human 機能②作って。 ①の高速版 ①ってなんスカ?
メモリがある時 Agent Human 機能①作って ええで。できましたわ Agent Human 機能②作って。 ①の高速版 ①ってなんだ?
(メモリを検 索して) ほえ~ できましたわ
LLMは忘れる • Context Window ◦ モデルが一度に処理できる入出力トークンの総量 ◦ チャットでは会話履歴をすべて送信する ◦ 溢れれば忘れる=短期記憶
• Coding Agentで何が困るか ◦ 「前回どこまでやった?」「方針は?」のインプットが都度必要になる ◦ 参照できるログ/メモリ/テキストが見つからないと一からやり直し • 何が必要か ◦ 短期記憶を補う長期記憶(Long-Term Memory=LTM) ◦ 別セッションになっても記憶を引き継げる「ふっかつのじゅもん」
Coding Agentのメモリー • Context Windowを越える為の”メモリー”(長期記憶) ◦ 例1:コードベースを埋め込み、インデックス化&ベクトル検索 ▪ ベクトルストアに入れて保存し、必要に応じて取り出す ◦
例2:コードベースをオンデマンドで取得 ▪ ローカルのファイルを読み込み、必要に応じて思い出す
メモリ管理は二種類の派閥が居る Cline Claude Code Windsurf Cursor kiro 1. コードべースをインデックス化 する
2. コードベースをインデック ス化しない
”コードをインデックス化しない理由 ”の例
インデックス化しないなら どうやって、どう置く?
メモリの置き方 Cline Claude Code kiro 僕はMemory Bank 僕はClaude.md 僕は仕様駆動開発
メモリの置き方 Cline 僕はMemory Bank
Memory Bank
Memory Bank戦略 このようにMarkdownでローカル保存して、プロンプトで管理方法を指示 ※注:Memory BankはCline組込ではなく任意
保存されたメモリの関係性(上から下に読んで思い出す) Memory Bank戦略
Memory Bankの更新タイミング 自動更新:3つのパターン 1. 新規パターンが発見される 2. 大きな変更の実施後 3. 文脈を明確にする必要があるとき 手動更新:明示的に「更新して」と要求
自動更新 - 詳しく こんな内容のプロンプト • 参考:Make Cline an AI Agent
That Never Forgets https://cline.bot/blog/memory-bank-how-to-make-cline-an-ai-agent-that-never-forgets
開発ドキュメントと重複しがち 個人的に思ってること Readme.mdと二重管理 docs/配下と二重管理 一つでまとまる
Memory Bankのアレンジ例 軽量Memory Bank(個人の見解です)
Memory Bankのアレンジ例 逆に大規模向けにアレンジしている例も • Cline Recursive Chain-of-Thought System (CRCT) https://github.com/RPG-fan/Cline-Recursive-Chain-of-Thought-Syst
em-CRCT-
メモリの置き方 Cline Claude Code kiro 僕はMemory Bank 僕はClaude.md 僕は仕様駆動開発
メモリの置き方 Claude Code 僕はClaude.md
Claude.md
Claude.md戦略 Single File, Simple Design https://docs.anthropic.com/ja/docs/claude-code/memory
これだけ? これだけや 「Claude Code: Best practices for agentic coding」の抜粋+Google翻訳 https://docs.anthropic.com/ja/docs/claude-code/memory
”一般的なワークフロー ”とは これらしい a. Explore, plan, code, commit ・関連ファイルを探索、立案、実装、コミットのサイクルを回す b.
Write tests, commit; code, iterate, commit ・いわゆるTest-driven development (TDD) c. Write code, screenshot result, iterate ・コードの結果をスクショして改善=フロントエンド用? https://docs.anthropic.com/ja/docs/claude-code/memory
再掲:軽量 Memory Bank 軽量Memory Bankと称した先ほどのは、実 はClaude Codeの戦略に寄せている 1. Readme.md(Claude.md)にプロジェク トのOverview
2. Progress.mdを使ったTodo/タスクリス ト型 3. 必要に応じて開発ドキュメント確認 • 専用のLTMは用意しない 4. ルールは別途.clinerules/
メモリの置き方 Cline Claude Code kiro 僕はMemory Bank 僕はClaude.md 僕はSteering+Spec
メモリの置き方 kiro 僕はSteering+Spec
Steering
Steering なんもわからん 要はClaude.mdを分割してる https://kiro.dev/docs/steering/をLLMで翻訳
メモリの置き方 kiro 僕はSteering+Spec
仕様駆動開発 ~Spec-Driven Development~
仕様駆動開発 ”仕様駆動開発”をSpecモードとして実装 (使わないVibeモードも選べる)
仕様駆動開発 なんもわからん https://kiro.dev/docs/specs/concepts/をLLMで翻訳
仕様駆動開発 完全に理解した 三行で分かるSpecモード 1. 仕様を決めてrequirements.mdへ 2. 設計を決めてdesign.mdへ 3. 実装計画tasks.mdに従い実装 一行でわかるSpecモード
”SDLCに沿ったVibe Coding用フレームワーク” ※SDLC = Software Development Life Cycle
Kiro (Steering & Spec)
Memory Bank vs Steering & Spec
Memory Bank vs Steering & Spec ワイの戦略にドキュメント を必須化してる? Plan+Memory Bankの
軽量版やな Context Engineering知らなくて もセミオートなことに価 値があるんや。 デジカメのオートフォー カスと一緒
おさらい - メモリの置き方 is いろいろ Cline Claude Code kiro 僕はMemory
Bank →記録して毎回読 み出す 僕はClaude.md →最小限の記憶で Context を奇麗に 僕はSteering + 仕様駆動開発 →SDLCに沿ったVibe Coding用 フレームワーク。メモリも兼務
“長期記憶の置き方 ”のベストプラクティスは? • 知らんしマジでわからん ◦ これも独自研究なので誰か教えてくれ • 今後課題になりそうなところ ◦ エージェント向けMemoryファイル
VS Git上のドキュメント ◦ エージェント向けMemoryファイル VS Git上のソースコード類 • 経験値+Web事例 ◦ 新規はガチガチに書いた方が手戻りなく一定以上の品質を作れる ◦ 既存・メンテナンスでは、書けば書くほどコンテキストに縛られ、かえって上手くいかないこ とも ▪ kiroにVibeモード(Spec無し)がわざわざある理由を考えよう
おわり 名曲は色褪せない