Memory
各 Qwen Code セッションは、新しいコンテキストウィンドウから始まります。毎回同じことを説明しなくて済むように、セッションをまたいで知識を保持する2つの仕組みがあります。
- QWEN.md — あなた が一度書けば、Qwen が毎セッション読み取る指示
- Auto-memory — Qwen があなたから学んだことに基づいて自ら書き留めるメモ
QWEN.md: Qwen への指示
QWEN.md は、Qwen が常に知っておくべきプロジェクトやあなたの好みに関する事項を記述するプレーンテキストファイルです。すべての会話の開始時にロードされる、永続的なブリーフィングだと考えてください。
QWEN.md に記述する内容
毎セッション繰り返さなければならないような事項を追加します。
- ビルドおよびテストコマンド (
npm run test,make build) - チームが従うコーディング規約 (“すべての新規ファイルには JSDoc コメントを必須とする”)
- アーキテクチャの決定事項 (“リポジトリパターンを使用し、コントローラーから直接データベースを呼び出さない”)
- 個人の好み (“npm ではなく常に pnpm を使用する”)
Qwen がコードを読むだけで理解できることは含めないでください。QWEN.md は短く具体的であるほど効果的です。長くなるほど、Qwen が指示に正確に従わなくなります。
QWEN.md の作成場所
| ファイル | 適用対象 |
|---|---|
~/.qwen/QWEN.md | あなた自身(全プロジェクト共通) |
プロジェクトルートにある QWEN.md | チーム全体(ソース管理にコミット) |
.qwen/QWEN.local.md | あなた自身のみ(このプロジェクト限定、git に含めない) |
これらは任意の組み合わせで配置できます。Qwen はセッション開始時にこれらすべてをロードします。
リポジトリに他の AI ツール用の AGENTS.md ファイルがすでに存在する場合、Qwen はそれも読み取ります。指示を重複させる必要はありません。
.qwen/QWEN.local.md を使用する場合
プロジェクト固有だが個人的な 指示に使用します。このプロジェクトに属するが、チームと共有すべきではない事項です。
- 独自のクラスター ID、コンテナレジストリの名前空間、またはクラウドアカウント
- ローカル環境をハードコードする個人的なデバッグコマンド
- 作業中のことについて Qwen に知らせておきたいが、コミットしたくないメモ
これは共有プロジェクトの QWEN.md の 後 にロードされるため、ローカルの指示でチームの指示を補足または上書きできます。
自分で gitignore する必要があります。 .qwen/ はローカルディレクトリとして扱われることが多いですが、qwen-code は .gitignore を自動生成しません。また、プロジェクトによっては .qwen/settings.json をコミットする場合もあります。この行を .gitignore (またはグローバルの git ignore) に追加してください。
.qwen/QWEN.local.md/init で自動生成する
/init を実行すると、Qwen はコードベースを分析し、見つかったビルドコマンド、テスト手順、規約を含む初期状態の QWEN.md を作成します。すでに存在する場合は、上書きせずに追加を提案します。
他のファイルを参照する
QWEN.md で他のファイルを指定し、Qwen にそれらも読み取らせることができます。
プロジェクトの概要については @README.md を参照してください。
# 規約
- Git ワークフロー: @docs/git-workflow.mdQWEN.md の任意の場所で @path/to/file を使用します。相対パスは QWEN.md ファイル自体からの相対で解決されます。
Auto-memory: Qwen があなたについて学ぶこと
Auto-memory はバックグラウンドで実行されます。各会話の後、Qwen は学んだ有用な情報(あなたの好み、与えたフィードバック、プロジェクトのコンテキストなど)を静かに保存し、あなたが繰り返し説明することなく、将来のセッションでそれらを使用できるようにします。
これは QWEN.md とは異なります。あなたが書くのではなく、Qwen が書きます。
Qwen が保存する内容
Qwen は、記憶する価値のある4種類の情報を探します。
| 種類 | 例 |
|---|---|
| あなたについて | 役割、経歴、好みの働き方 |
| あなたのフィードバック | 行った修正、確認したアプローチ |
| プロジェクトのコンテキスト | 進行中の作業、コードからは明らかではない決定事項や目標 |
| 外部リファレンス | 言及したダッシュボード、チケットトラッカー、ドキュメントへのリンク |
Qwen はすべてを保存するわけではなく、次回実際に有用なものだけを保存します。
保存場所
Auto-memory ファイルは ~/.qwen/projects/<project>/memory/ に保存されます。同じリポジトリのすべてのブランチとワークツリーは同じメモリフォルダを共有するため、あるブランチで Qwen が学んだことは他のブランチでも利用可能です。
保存されるすべてはプレーンなマークダウンです。いつでも任意のファイルを開いて編集または削除できます。
定期的なクリーンアップ
Qwen は定期的に保存されたメモリを確認し、重複を削除して古いエントリをクリーンアップします。これは、十分なセッションが蓄積された後、1日1回バックグラウンドで自動的に実行されます。今すぐ実行したい場合は、/dream で手動でトリガーできます。
クリーンアップがバックグラウンドで実行されている間も、セッションは通常通り続行されます。
有効化と無効化
Auto-memory はデフォルトで有効です。切り替えるには、/memory を開き、上部のスイッチを使用します。自動保存のみ、定期的なクリーンアップのみ、またはその両方をオフにできます。
~/.qwen/settings.json(すべてのプロジェクトに適用)または .qwen/settings.json(このプロジェクトのみ)で設定することもできます。
{
"memory": {
"enableManagedAutoMemory": true,
"enableManagedAutoDream": true
}
}チームメモリ (共同作業者と共有)
デフォルトでは、auto-memory は あなた専用のプライベート ものです。ホームディレクトリ配下に保存され、共有されることはありません。チームメモリは、チーム全体が git を介して 共有するオプトインのティアです。
有効にすると、Qwen は リポジトリ内 の .qwen/team-memory/ に3番目のメモリディレクトリを取得します。プライベートティアと同じ、1メモリにつき1ファイルのレイアウトと MEMORY.md インデックスを使用します。リポジトリにコミットされるため、通常の方法ですべての共同作業者と共有されます。git pull でチームメイトのメモリを受け取り、commit/push で自分のメモリを共有します。Qwen は、永続的でプロジェクト全体の知識(すべての貢献者が従うべき規約、共有リファレンスポインタ(トラッカー、ダッシュボード)など)をここにルーティングし、個人的ですぐに古くなるメモはプライベートに保ちます。
settings.json でプロジェクトごと(またはグローバル)に有効化します。
{
"memory": {
"enableTeamMemory": true
}
}これは デフォルトでオフ です。以下の注意事項に注意してください。
-
ソース管理され、リポジトリにアクセスできるすべての人に表示されます。 チームメモリはリポジトリへのコミットと同様に扱ってください。
-
シークレットはブロックされます。
.qwen/team-memory/への書き込みは認証情報(API キー、トークン、秘密鍵)についてスキャンされます。検出されたシークレットは拒否され、書き込まれません。このスキャンは最後の砦であり、保証ではありません。機密データは置かないでください。 -
変更はレビュー可能です。 チームメモリへの書き込みは他のファイルと同様に
git status/ PR の差分に表示されるため、コミット前にレビューできます。デフォルトの承認モードでは、Qwen はチームへの書き込みごとに確認を求めます。AUTO_EDIT/YOLO モード(自動承認をオプトインしている場合)では、プロンプトなしで適用されますが、やはり差分に表示されます。 -
ディレクトリは git で追跡されている必要があります。 プロジェクトの
.gitignoreが.qwen/*を除外している場合は、共有できるようにパスを再含めてください。!.qwen/team-memory/ !.qwen/team-memory/**注意: ディレクトリ形式の末尾にスラッシュを付けた形(
.qwen/)ではなく、ファイルグロブの無視形式(.qwen/*)を使用してください。ディレクトリ形式の無視は git がフォルダ全体をスキップするため、その下の!による再含めは無効(no-op)となり、チームティアは git 内で静かに空のままになります。ティアが有効になっているにもかかわらず、そのディレクトリが git で無視されているか、git リポジトリの外にある場合、Qwen は起動時に1回警告を出すため、この設定ミスが見逃されることはありません。
QWEN_CODE_MEMORY_TEAM=1 / =0 は、1回の実行における設定を上書きします。
自動 git 同期 (オプション)
デフォルトでは、通常の git ワークフロー(受信のための pull、共有のための commit/push)でチームメモリを共有します。Qwen に自動で実行させるには、同期を有効にします。
{
"memory": {
"enableTeamMemory": true,
"enableTeamMemorySync": true
}
}有効にすると、セッション開始時に Qwen は .qwen/team-memory/ ディレクトリをベストエフォートで同期します。共有の MEMORY.md インデックスを再構築し、まず 共同作業者の更新を fast-forward pull し、その上にあなたのチームメモリの変更をコミットし、その同期コミットのみ を(明示的なシングルブランチの refspec を介して)push します。これにより、ロードするインデックスが最新の状態を反映します。チームディレクトリのみを ステージ し(他の作業中の変更はコミットされません)、git の失敗でセッションをブロックすることはありません。デフォルトではオフです。QWEN_CODE_MEMORY_TEAM_SYNC=1 / =0 は、1回の実行における設定を上書きします。
有効にする前に知っておくべき2つのこと:
- fast-forward pull は
.qwen/team-memory/だけでなく、現在のブランチ全体に対して機能します(git にはパススコープの pull が存在しません)。したがって、同期によってあなたのブランチはリモートの最新に fast-forward されます。対照的に、push はスコープ限定です。この同期が作成したコミットのみ を公開するため、他の未 push のコミットが push されることはありません。ブランチがすでに upstream よりも進んでいる場合、同期はローカルでコミットし、push をスキップします。fast-forward pull が問題ないブランチで有効にするか、専用のチェックアウトで実行してください。 - 分岐したブランチはそのまま残ります(
--ff-onlyはマージしません)。その場合、同期はそのセッションでは何も行いません。分岐を解決(git pull)すれば再開されます。upstream がない(追跡設定がない)ブランチでもローカルでコミットされますが、push 先がないため push はスキップされます。
コマンド
/memory
Memory パネルを開きます。ここから以下の操作が可能です。
- auto-memory の保存を有効/無効にする
- 定期的なクリーンアップ (dream) を有効/無効にする
- 個人の QWEN.md (
~/.qwen/QWEN.md) を開く - プロジェクトの QWEN.md を開く
- auto-memory フォルダを閲覧する
/init
プロジェクト用の初期 QWEN.md を生成します。Qwen はコードベースを読み取り、見つかったビルドコマンド、テスト手順、規約を入力します。
/remember <text>
Qwen が自動的に拾うのを待たずに、すぐに auto-memory に保存します。
/remember Python の変数名には常に snake_case を使用する
/remember ステージング環境は staging.example.com にある/forget <text>
説明に一致する auto-memory のエントリを削除します。
/forget ログインバグの古いワークアラウンド/dream
自動スケジュールを待たずに、今すぐメモリのクリーンアップを実行します。
/dreamトラブルシューティング
Qwen が QWEN.md に従わない
/memory を開き、どのファイルがロードされているかを確認します。ファイルがリストにない場合、Qwen はそれを見ることができません。プロジェクトルートまたは ~/.qwen/ にあることを確認してください。
指示は具体的であるほど効果的です。
- ✓
TypeScript ファイルには 2 スペースのインデントを使用する - ✗
コードを適切にフォーマットする
競合する指示を含む複数の QWEN.md ファイルがある場合、Qwen の動作が一貫しなくなる可能性があります。それらを確認し、矛盾を解消してください。
Qwen が保存した内容を確認したい
/memory を実行し、Open auto-memory folder を選択します。保存されたすべてのメモリは、閲覧、編集、削除可能な読み取り可能なマークダウンファイルです。
Qwen が何度も忘れる
auto-memory がオンになっているにもかかわらず、Qwen がセッションをまたいで物事を記憶していないように見える場合は、/dream を実行してクリーンアップを強制的に実行してみてください。また、/memory を確認して、両方のトグルが有効になっていることを確認してください。
Qwen に常に記憶しておいてほしい事項については、代わりに QWEN.md に追加してください。auto-memory はベストエフォート型ですが、QWEN.md は保証されています。