AIパーソナル・ラーニング
と実践的なガイダンス
アリが描いたカエル

クラインが「メモリーバンク」を発表:AIアシスタントの記憶喪失にさよならを、プロジェクトの文脈を失わないために

いつもあなたのニーズを素早く理解し、微妙な答えを返してくれる優秀なアシスタントと一緒に並んで仕事をしているにもかかわらず、少し休むと毎回記憶喪失になったようになり、プロジェクトの背景や技術的なアーキテクチャ、最も基本的な要件さえも最初から再解釈する必要があるという経験をしたことはないだろうか。ソフトウェア開発をAIコーディング・アシスタントに頼っているエンジニアにとって、これは決して空想の話ではない。AIアシスタントは強力だが、その固有の「忘れっぽさ」によって、作業効率や流暢さはある程度制限される。

毎晩のように記憶を失い、事件を解決するために重要な情報を体に刺青し、ポラロイドを頼りに記憶システムを構築しなければならなかった映画『メモリー・ピース』の刑事のように、技術界はAIアシスタントの「短期記憶」の問題に対する解決策を探してきた。最近 クライン 同社のAIコーディング・アシスタントは、「メモリー・バンク」と呼ばれる機能を革新的に導入した。この機能は、AIの「忘れっぽさ」を巧みに利点に変え、開発者にこれまでにないスムーズな開発体験をもたらす。


 

「メモリー・バンク」:AIアシスタントのための永続的な記憶の構築

「Memoryは独立した製品ではなく、コミュニティ主導でカスタマイズ可能なコマンド群であり、Clineの設定に追加することができる。核となるアイデアはシンプルで効率的だ。作業を開始する前にAIアシスタントにプロジェクトの文脈を「読み」「理解」させ、重要な情報をあらかじめ定義された「メモリーバンク」に保存する。あらかじめ設定された「メモリーバンク」に

具体的には、開発者がプロジェクトの「メモリーバンク」を有効にすると、Clineはまず、memory-bank/という名前のフォルダがプロジェクトディレクトリに存在するかどうかをチェックする。存在しない場合、自動的にフォルダを作成し、事前に定義された構造に基づいてMarkdownドキュメントのセットを初期化します。フォルダが既に存在する場合、Clineはこれらのドキュメントを積極的に読み込み、プロジェクトのコンテキスト、技術スタック、アーキテクチャ設計、その他の重要な情報の理解を素早く再構築する。

メモリーバンク "を構造化し、メンテナンスしやすくするために、クラインはMermaidのフローチャートを巧みに使っている。これらのフローチャートは、ドキュメント間の関係を視覚化するだけでなく、クラインがドキュメント・システムを作成・維持する方法をガイドするカスタム・コマンドに直接埋め込まれている。AIアシスタントがコンテキスト・ウィンドウの上限に達したり、新しいセッションを開いたりした場合、『MEMORY PIECES』の主人公のように、「メモリーバンク」のドキュメントを参照することで、プロジェクトの完全な理解を素早く取り戻すことができ、作業進捗とシームレスにつながる。

 

AIの「記憶」を理解する:コンテクスト・ウィンドウの限界

メモリーバンク」の重要性を理解するためには、まずAIアシスタントにおける「メモリー」の性質を理解する必要がある。クラインを含む現在主流のAIアシスタントは、情報を処理するためにいわゆる「コンテキスト・ウィンドウ」に依存している。コンテキスト・ウィンドウは、AIアシスタントが対話やコード生成に関わる際に「記憶」できる対話履歴やコードの量の上限と解釈できる。このウィンドウのサイズは限られており、通常は数千から数十万の範囲である。 トークン モデルによって異なる。

複雑なソフトウェア・プロジェクトを扱うとき、開発者はすぐにコンテキスト・ウィンドウの限界にぶつかる。従来のソリューションは、不便で非効率的なことが多い:

  • 対話の再スタート:これは、すべての文脈情報が失われることを意味し、AIアシスタントにプロジェクトの文脈と目標を再度説明する必要があるのは非効率的である。
  • プロンプトの内容を手動で管理する:開発者は各プロンプトに含まれる情報を注意深くフィルタリングし、コンテキストウィンドウを超えないようにする必要があります。
  • 要約技術を使ったコンテキストの圧縮:情報を圧縮することは可能だが、要約の過程で詳細が失われ、AIアシスタントがプロジェクトをより深いレベルで理解する能力に影響を与える可能性がある。

対照的に、「メモリーバンク」はよりエレガントで徹底的な解決策を提供し、開発者が面倒な手作業で管理することなく、AIアシスタントの「忘れっぽさ」の問題を根本的に解決する。

 

メモリーバンク」のアーキテクチャ:構造化された知識システム

MEMORY」の真髄は、構造化された情報管理にある。あらかじめ定義されたMarkdownファイルとMermaidのフローチャートによって明確なプロジェクト知識体系を構築し、AIアシスタントが効率的に情報を整理・検索できるように支援する。

以下の図は、メモリー・バンクのコア・ドキュメント構造を示している:

フローチャートTD
PB[projectbrief.md]→PC[productContext.md]
PB --> SP[システムパターン.md]
PB --> TC[techContext.md]
PC --> AC[activeContext.md] PB --> TC[techContext.md
SP --> AC
TC --> AC
AC --> P[progress.md]

上記のマーメイド・チャート・コード👇のビジュアル・プレゼンテーション

クラインが "メモリー・バンク "を開始:AIアシスタントの記憶喪失にさよならを告げ、プロジェクト・コンテキスト-1を失わないために

projectbrief.mdは、ダイアグラム内の他のすべての文書の基礎であり、情報源である。

各文書は特定の役割を担い、それらが一体となってプロジェクトの完全なナレッジグラフを構築する:

  • projectbrief.md(プロジェクト概要):プロジェクトの目的、スコープ、主要な制約を定義する中核となるプロジェクト概要文書で、他のすべての文書の基礎となる。
  • productContext.md(製品コンテキスト):ターゲットユーザー、市場でのポジショニング、コア機能など、ビジネスとユーザーの視点から製品を説明します。
  • systemPatterns.md(システムパターン):AIアシスタントがプロジェクトの全体的な技術的枠組みを理解するのに役立つように、プロジェクトの技術的アーキテクチャ、デザインパターン、主要な技術的決定などを記録する。
  • techContext.md(技術的コンテキスト):開発環境、技術スタック、依存ライブラリのバージョンなどを記述し、AIアシスタントがプロジェクトの具体的な技術的実装の詳細を理解できるようにする。
  • activeContext.md(ダイナミックコンテキスト):現在の開発状況、進行中のタスク、保留中の課題などを記録し、プロジェクトのリアルタイムの進捗状況を反映します。
  • progress.md (Project Progress): プロジェクトの進捗、タスクの完了、マイルストーンノードなどを追跡し、AIアシスタントがプロジェクトの全体的なタイムラインを理解するのに役立ちます。

 

メモリーバンク」のライフサイクル:継続的な学習と更新

"記憶 "は1回限りの設定ではなく、反復的で継続的な学習プロセスである。読み取り、検証、実行、更新のサイクルに従うことで、AIアシスタントが常に最新のプロジェクト情報で作業できるようにする。

下の図は、「メモリーバンク」のライフサイクル全体を表している:

クラインが "メモリーバンク "を開始:AIアシスタントの記憶喪失にさよならを告げ、プロジェクト・コンテキスト2を失わないために

上記のコードは、このマーメイド・チャートをレンダリングする。

初期設定段階:

  • Clineは、プロジェクトが最初に "メモリーバンク "を有効にすると、自動的にメモリーバンク/ディレクトリを作成する。
  • 必要なすべてのMarkdownドキュメントを初期化する。
  • プロジェクトに関する基本的な情報を入力するようユーザーを誘導する。
  • プロジェクトの基本的な文書システムを作成する。

現在開発中:

  • 読む:作業を始める前に、クラインはまず「メモリーバンク」にある書類をすべて読む。
  • 検証:プロジェクトの完全な理解を保証するために、文脈情報の完全性と正確性を検証する。
  • 実行:確立されたコンテキストとスキーマに基づき、コード生成や質問応答など、ユーザーの指示を実行する。
  • トラッキング:開発プロセスにおける変更と決定を継続的にトラッキングする。
  • モニター:コンテキストウィンドウの使用をモニターし、「メモリーバンク」を更新してコンテキストを有効に保つ。

大きな変化の後

  • 更新:プロジェクトに大きな変更(アーキテクチャの調整、要件の変更など)が発生した場合、「メモリーバンク」内の関連文書をタイムリーに更新する。
  • 一貫性:情報の矛盾を避けるため、すべての文書に一貫性を持たせる。
  • 準備:セッションが中断されても、作業状態に素早く戻れるように、潜在的なコンテキストのリセットに備える。

 

ビジュアル・プロンプト:フローチャートでAIを導く

クラインが "メモリー・バンク "を開始:AIアシスタントの記憶喪失にさよならを告げ、プロジェクト・コンテキスト3を失わないために

システム用のプロンプトを書く伝統的な方法は、通常Markdown、JSON、XMLなどのテキスト形式を使用します。しかし、Clineコミュニティは、Mermaidのフローチャートもプロンプトの記述に適しており、特に複雑なワークフローでAIアシスタントを誘導する場合に適していることを示しました。

フローチャートは、直感的かつ構造化されているため、長いテキスト記述と比較して、より明確かつ正確にプロセスのロジックを表現することができる。AIアシスタントにとって、この構造化された情報は、自然言語よりも理解しやすく、実行しやすいかもしれない。

例えば、以下のマーメイド・フローチャートは、「メモリー」のカスタマイズ指示におけるクラインのワークフローを導くために使用されている:

フローチャートTD
開始 --> ファイルを読む
ReadFiles --> CheckFiles{File integrity?}
CheckFiles --> |No|プラン[プランの作成]
Plan --> Document[ダイアログの記録]
CheckFiles -->|Yes|ベリファイ[コンテキストの検証]
Verify --> Strategy[戦略を立てる]
Strategy -->|Present

フローチャートの各ノード、接続線、決定点は、プロセスのステップとロジックを明確に定義し、自然言語の記述に存在する可能性のある曖昧さを排除する。AIアシスタントに曖昧な指さし指示ではなく、正確な地図を与えるようなものだ。

 

概要

Clineの「メモリーバンク」機能は、AIコーディングアシスタントの「健忘症」を解決する革新的な試みであることは間違いない。構造化されたドキュメントと視覚的なフローチャートを巧みに利用して、AIアシスタントのための永続的かつ保守可能なプロジェクト・コンテキスト記憶システムを構築し、開発効率と流暢さを大幅に向上させている。さらに重要なことに、「メモリー・バンク」の成功は、私たちに重要な啓示も与えてくれる。AIとコミュニケーションするためには、自然言語に限定されるべきではなく、フローチャートのような構造化された情報表現が、より効率的で正確な「AI言語」になるかもしれないのだ。AI言語」。 AI技術の絶え間ない発展とともに、私たちはより多くの同様のイノベーションが生まれることを期待し、よりスマートで人間的な開発ツールを構築するために協力する理由がある。

シーディーエヌワン
無断転載を禁じます:チーフAIシェアリングサークル " クラインが「メモリーバンク」を発表:AIアシスタントの記憶喪失にさよならを、プロジェクトの文脈を失わないために

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語