短い答え
Devinがタスクコンテキストを忘れるのは、各Devinセッションが独自のサンドボックス、ブラウザ、会話を持つ自律的な実行であり、Cognitionがデフォルトでセッション間で構造化されたプロジェクト記憶を持続させないためです。知識エントリはグローバルに役立ちますが、プロジェクトごとではありません。修正方法は、DevinのワークフローがRESTを介してセッション開始時に引き出せるプロジェクトごとの記憶レイヤーを付加することです。
なぜDevinはタスクコンテキストを忘れるのか
DevinはCognitionの自律的なエンジニアリングエージェントです。計画、コーディング、テストの実行、報告をすべて管理された環境内で行います。タスクコンテキストが次のセッションから外れる3つの設計選択があります:
1. セッションは自己完結型の自律的な実行です。 各Devinセッションはサンドボックスを立ち上げ、計画を実行し、シャットダウンします。エージェントの作業記憶に保持された状態はセッションの終了とともに消えます。次のセッションは新しいサンドボックスと新しい会話を開始します。
2. 知識エントリはグローバルであり、プロジェクトスコープではありません。 Devinの知識機能を使用すると、エージェントに持続的な事実(「pnpmを使用する」、「このリポジトリはタブを好む」)を提供できますが、これはアカウントレベルのガイダンスであり、試みたこと、うまくいったこと、なぜ道を放棄したのかのプロジェクトログではありません。
3. 複数日のプロジェクトは人間に再ブリーフを依存します。 3日目にプロジェクトを引き継ぐと、通常は要約を貼り付けたり、PRにリンクしたり、Devinにドキュメントを指示したりします。エージェントは自分の以前の推論を覚えていません。Cognitionのセッションモデルは公式のDevinドキュメントに記載されています docs.devin.ai。
結果:各Devinの実行は、あなたがフレームしたタスクに対して鋭く、周囲のプロジェクトには無関心です。
Devinがタスクコンテキストを忘れたときに失うもの
新しいセッションごとに再オリエンテーションのコストがかかり、複数日の作業ではそのコストが累積します:
- 再度尋ねられる質問。 「どのデータベースを使用していますか? 認証スキームは何ですか? なぜこのモジュールはこのように抽象化されているのですか?」 — 昨日Devinが尋ね、あなたが答えた質問が今日再び現れます。
- 戻された決定。 セッション1でDevinが排除したアプローチが、推論が持続しなかったためにセッション3で静かに再浮上します。
- 失われたテスト結果。 「
e2e/checkout.spec.tsがシードデータの順序のために不安定であることがわかりました」は、以前のセッションからの発見であり、次のセッションに手動で再ピン留めする必要があります。
修正方法は「長いタスクブリーフを書くこと」ではなく、Devinが各セッションの開始時に引き出せるプロジェクト記憶を与えることです。
Devinの組み込みワークアラウンド
Cognitionは持続性に部分的に対処する3つの機能を提供しています。いずれもプロジェクト記憶ではありません。
知識は、Devinがセッション間で表面化する事実やスニペットを保存します。安定したルール(「JestではなくVitestを使用する」)には優れていますが、進化するプロジェクト状態にはあまり役立ちません。なぜなら、知識はグローバルであり、特定のプロジェクトに固定されず、手動で維持する必要があるからです。
リポジトリおよびマシン設定スクリプトは、Devinが各セッションで全てを再インストールしないように環境を事前に設定できます。これらはインフラストラクチャを扱いますが、推論は扱いません。
以前のセッションやPRをリンクすることで、新しいブリーフで過去の作業を参照できます。便利ですが、リンクはあなたが行い、Devinは自動的に以前のセッションの推論を計画に読み込むことはありません — あなたが指示したものを読み取ります。
Devinの組み込み記憶が不足している点
より深刻な問題は、実際のプロジェクトのタスクコンテキストがセッション、マシン、チームメンバーにまたがることです。知識エントリは「常にXを行う」を処理しますが、「昨日のセッションはこの3つの理由でYを決定した」を処理しません。複数日の、複数のエンジニアが関与するプロジェクトには、どのセッションでも(Devinまたはそれ以外の)読み取れる共有プロジェクトログが必要です。
プロジェクト記憶はエージェントの実行の上に存在する必要があります。
MemoryLakeがDevinのタスクコンテキストを忘れる問題を解決する方法
MemoryLakeは、Devinがセッション開始時にRESTを介して読み取ることができるクロスモデルの記憶レイヤーです。各実行を再ブリーフする代わりに、プロジェクトに独自の記憶を与え、Devinが計画の前に必要なものを引き出せるようにします。
- プロジェクトごとのセッションログ。 各Devinセッションの決定、行き止まり、テスト結果は、プロジェクトに固定された記憶に要約できます。次のセッションは、関連するスライスを取得して開始します。
- 人間とエージェント間の真実の1つのソース。 あなたのチームがCursor、Claude Code、またはChatGPTで使用するのと同じプロジェクト記憶がDevinが読み取る記憶です。3つのツールでの並行ブリーフはもうありません。
- 生のプロンプトの10,000倍の取得範囲。 MemoryLakeは数十億のトークンからプロジェクト記憶を読み取り、この実行に関連するものだけを返すため、Devinのコンテキストウィンドウは計画に費やされ、背景の再読み込みには費やされません。
MemoryLakeはLoCoMoの長文コンテキストベンチマークで94.03%を記録し、2026年時点での最高の公開結果であり、ミリ秒単位の取得とAES-256のエンドツーエンド暗号化を実現しています。
MemoryLakeをDevinに接続する3つのステップ
- プロジェクトを作成し、コンテキストを読み込む。 MemoryLakeにサインインし、プロジェクト管理を開き、「プロジェクトを作成」をクリックし、「Devin — Q2の支払い移行」などの名前を付けます。ドキュメントドライブを通じて、ブリーフ、PRD、ADR、以前のセッションの要約をアップロードします。「何を決定し、なぜそれを決定したのか」という構造化されたノートを記憶タブを通じて追加し、プロジェクトと共に移動できるようにします。
- MCPサーバーエンドポイントを生成する。 プロジェクト内のMCPサーバータブを開き、「MCPサーバーを追加」をクリックし、「Devin統合」と名付けて「生成」をクリックします。MemoryLakeはAPIキーID、シークレット、エンドポイントURLを返します。Bearerトークンをすぐにコピーしてください — 一度だけ表示されます。
- REST経由でDevinを接続する。 Devinはワークフロー設定を通じて外部サービスと統合します。MemoryLakeのRESTエンドポイントをBearerトークンで呼び出し、関連するプロジェクト記憶を引き出し、実行開始前にDevinのタスクブリーフまたは知識に書き込むセットアップステップまたはプレセッションフックを追加します。これで、各セッションはプロジェクトの履歴がすでに読み込まれた状態で開始されます。