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
1.9k
14
Share
AIのメモリー
社内勉強会向け
watany
July 23, 2025
More Decks by watany
See All by watany
Equip GitHub Copilot CLI
watany
3
1.3k
SkillsをS3 Filesに置く時のあれこれ
watany
4
2.1k
App Runner最近使ってなかったのなんでだっけ
watany
1
100
CDK Deployのための ”反響定位”
watany
5
1k
ロボットのための工場に灯りは要らない
watany
12
3.6k
Agentic Coding 実践ワークショップ
watany
56
38k
たかが特別な時間の終わり / It's Only the End of Special Time
watany
37
12k
まだ間に合う! 2025年のhono/ssg事情
watany
4
1k
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
26
12k
Other Decks in Programming
See All in Programming
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
110
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
550
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
500
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
500
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
2.8k
RTSPクライアントを自作してみた話
simotin13
0
490
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
140
JavaDoc 再入門
nagise
0
280
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Side Projects
sachag
455
43k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Claude Code のすすめ
schroneko
67
230k
Documentation Writing (for coders)
carmenintech
77
5.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
590
Raft: Consensus for Rubyists
vanstee
141
7.5k
Scaling GitHub
holman
464
140k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
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無し)がわざわざある理由を考えよう
おわり 名曲は色褪せない