Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AIのメモリー
Search
watany
July 23, 2025
Programming
2k
14
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIのメモリー
社内勉強会向け
watany
July 23, 2025
More Decks by watany
See All by watany
穢れた技術選定について
watany
9
720
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
57
The Tyranny of Not Measuring
watany
5
370
新しいVibe Codingと”自走”について
watany
6
400
Equip GitHub Copilot CLI
watany
3
1.5k
SkillsをS3 Filesに置く時のあれこれ
watany
4
2.4k
App Runner最近使ってなかったのなんでだっけ
watany
1
120
CDK Deployのための ”反響定位”
watany
5
1.1k
ロボットのための工場に灯りは要らない
watany
12
3.7k
Other Decks in Programming
See All in Programming
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
150
AIエージェントで 変わるAndroid開発環境
takahirom
2
570
関数型プログラミングのメリットって何だろう?
wanko_it
0
170
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
500
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
120
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
180
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.4k
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
5.8k
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
510
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.8k
Claude Team Plan導入・ガイド
tk3fftk
0
180
霧の中の代数的エフェクト
funnyycat
1
350
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Paper Plane
katiecoart
PRO
2
52k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
390
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
890
Building Applications with DynamoDB
mza
96
7.1k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
240
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.4k
Claude Code のすすめ
schroneko
67
230k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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無し)がわざわざある理由を考えよう
おわり 名曲は色褪せない