短い答え
Devinがあなたのコーディングスタイルを忘れるのは、各Devinセッションが自律的な実行であり、前のセッションからの推論を自動的に継承しないためです。また、Knowledgeエントリはプロジェクト固有ではなくアカウント全体に適用されます。セッション内で入力されたスタイルルールは、そのセッションと共に生き、死にます。修正方法は、Devinがセッション開始時に読み取るプロジェクトごとの記憶レイヤーを付加することです。
Devinがコーディングスタイルを忘れる理由
DevinはCognitionの自律的なエンジニアリングエージェントで、管理されたサンドボックス内で計画、コーディング、テストを実行します。あなたのスタイルルールが次の実行から外れる3つの設計選択肢があります:
1. セッションは作業コンテキストをリセットします。 すべてのDevin実行は新しいサンドボックスと新しい会話を生成します。セッション中に与えたスタイルの指示 — 「名前付きエクスポートを使用し、デフォルトは使用しない;cn()を使用し、clsxは使用しない」 — はそのセッションにローカルであり、次のセッションには読み込まれません。
2. Knowledgeエントリはグローバルなガイダンスであり、プロジェクトルールではありません。 DevinのKnowledge機能はセッションを超えて事実を持続させますが、アカウント全体に適用されます。「常にコミット前にリンティングを実行する」には便利ですが、同じアカウント内の2つのリポジトリが異なる慣習を持つ場合にはあまり役に立ちません。
3. エージェントはリポジトリからスタイルを再導出します。 Devinはファイルを読み取って慣習を推測しますが、慣習が一貫している場合には合理的です。アクティブな移行中のリポジトリ — 新しいパターンに半分変換された — では、Devinは間違った半分を選択してそれをコーディファイします。公式のDevinドキュメントはdocs.devin.aiでセッションとKnowledgeモデルについて詳しく説明しています。
結果として、スタイルはセッションの期間中は保持されますが、新しいセッションが始まるとすぐに漂流します。
Devinがコーディングスタイルを忘れると失うもの
コストは単なる美的なものではなく、レビューや出荷速度にも影響します:
- 1つのPR内の混在した慣習。 3つの新しいファイルは名前付きエクスポートを使用し、2つはデフォルトを使用します。2つは
Result<T, E>を使用し、1つはスローします。レビュアーは論理ではなくスタイルに時間を費やします。 - 再審議された決定。 「バレルファイルを削除することに合意しました」は、Devinが次のセッションで再び提案することになります。なぜなら、その決定は持続しなかったからです。
- 人間のチームメイトとの不一致。 あなたのチームはスタイルに合意しました。エージェントはそれから漂流します。PRは人間とエージェントの差分の綱引きになります。
修正方法は「各セッションでより厳格なブリーフを書くこと」ではなく、Devinに自動的に読み込むスタイルルールのプロジェクト記憶を与えることです。
Devinの組み込みの回避策
Cognitionはあなたに3つの持続性ツールを提供します。どれもスタイルをプロジェクトにきれいに固定することはできません。
Knowledgeは持続的なルールに最も近いものです。それはグローバルで手動で維持され、リポジトリにスコープされていないため、マルチプロジェクトチームは条件付きでKnowledgeを膨張させるか(「リポジトリXではYを行う」)またはスタイルの強制がセッションごとであることを受け入れます。
リポジトリ設定スクリプトはリンターやフォーマッターをインストールでき、後からいくつかのスタイル違反をキャッチします。しかし、最初にDevinがコードを書く方法を変更することはありません。
リンクされたPRと以前のセッションは、新しいブリーフ内で以前の作業を参照できるようにします。それでも、正しいセッションをDevinに指示し、プローズから正しいスタイルの手がかりを抽出することを信頼する必要があります。
Devinの組み込みの記憶が不足している点
より深い問題は、コーディングスタイルがプロジェクトの資産であることです。それはプロジェクトと共に存在し、プロジェクトと共にバージョン管理され、プロジェクトが使用する任意のツール — Devin、Cursor、Claude Code、ChatGPT — に持ち運ばれるべきです。
Knowledgeエントリはグローバルな好みを処理します。マルチプロジェクト、マルチツールのスタイル強制には、エージェントの上にレイヤーが必要です。
MemoryLakeがDevinのコーディングスタイルを忘れる問題を解決する方法
MemoryLakeは、Devinがセッション開始時にREST経由で読み取るクロスモデルの記憶レイヤーです。スタイルルールをグローバルなKnowledgeに重複させるのではなく、プロジェクトに固定された記憶として保存し、各セッションが関連するものだけを取得できるようにします。
- プロジェクトスコープの記憶としてのスタイル。 「名前付きエクスポート、Resultタイプ、TanStack Query」は、プロジェクト内の構造化された記憶として存在します。異なるリポジトリには異なるルールが適用され、グローバルなKnowledgeを汚染することはありません。
- 人間とエージェント間で同じルール。 CursorやClaude Codeの開発者が使用するのと同じスタイル記憶が、Devinがセッション開始時に引き出します。人間とエージェントのコード間に漂流はありません。
- 生のプロンプトの10,000倍の取得範囲。 MemoryLakeのエンジンは、プロジェクトの記憶から数十億のトークンを読み取り、Devinが編集しているファイルに関連するスタイルルールのみを返します。
MemoryLakeは、2026年時点でのLoCoMo長文コンテキストベンチマークで94.03%を記録し、ミリ秒単位の取得とAES-256のエンドツーエンド暗号化を実現しています。
MemoryLakeをDevinに接続する3つのステップ
- プロジェクトを作成し、コンテキストを読み込む。 MemoryLakeにサインインし、プロジェクト管理を開き、「プロジェクトを作成」をクリックし、「Devin — Acme web style」と名付けます。スタイルガイド、ESLint設定、ADR、および慣習ドキュメントをドキュメントドライブを通じてアップロードします。明示的なルール — 「名前付きエクスポートのみ」、「デフォルトエクスポートはなし」、「失敗可能なコードにはResultタイプを使用」 — を記憶として「記憶」タブに追加します。
- MCPサーバーエンドポイントを生成する。 プロジェクト内のMCPサーバータブを開き、「MCPサーバーを追加」をクリックし、「Devinスタイル記憶」と名付けて「生成」をクリックします。MemoryLakeはAPIキーID、シークレット、およびエンドポイントURLを返します。Bearerトークンをすぐにコピーしてください — 一度だけ表示されます。
- REST経由でDevinを接続する。 MemoryLakeのRESTエンドポイントをBearerトークンで呼び出し、プロジェクトのスタイル記憶を引き出し、実行開始前にタスクブリーフまたはKnowledgeに書き込むためのセットアップまたはプレセッションフックをDevinのワークフローに追加します。これで、各セッションはエージェントの前にプロジェクトのスタイルルールを開くようになります。