ChatGPTのプロジェクトを使っていると、「これはメモリに任せる? それともプロジェクト指示に書く?」と迷うことがあります。結論はシンプルです。必ず守ってほしいルールはプロジェクト指示、過去の会話やファイルを含む文脈の参照範囲はプロジェクトメモリが担当します。さらに、詳しい資料はファイル、今回だけの条件は現在のチャットへ分けると、長期運用でも混線しにくくなります。
まず結論:指示は「守るルール」、メモリは「参照する文脈」
プロジェクト指示とメモリは、どちらもChatGPTの回答に影響します。ただし役割は同じではありません。プロジェクト指示は、そのプロジェクト内でChatGPTにどう振る舞ってほしいかを明示する場所です。一方、プロジェクトメモリは、どの会話や情報を文脈として参照できるかに関わります。
| 置き場所 | 主な役割 | 向いている情報 |
|---|---|---|
| プロジェクト指示 | 毎回守ってほしい振る舞い・ルールを明示する | 出力形式、禁止事項、判断順序、文章トーン |
| プロジェクトメモリ | 会話やプロジェクト内情報を文脈として参照する範囲を決める | 過去の相談、決定の経緯、継続中の作業文脈 |
| プロジェクトのファイル/ソース | 根拠となる資料を明示的に置く | 仕様書、要件、議事録、参考データ |
| 現在のチャット | 今回の作業だけの条件を伝える | 今日だけの例外、今回の対象ファイル、単発の締切 |
迷ったら、「これはChatGPTに守らせたいルールか、それとも判断材料として参照してほしい情報か」で分けます。前者なら指示、後者ならメモリやファイル側です。
プロジェクト指示とは?プロジェクト内だけの明示ルール
OpenAIの公式ヘルプでは、プロジェクト設定からプロジェクト指示を追加できます。プロジェクト指示はそのプロジェクト内だけで適用され、グローバルなカスタム指示より優先されます。つまり、案件やテーマごとに別の振る舞いを固定したいときに使う仕組みです。
用語解説:プロジェクト指示
特定のChatGPTプロジェクト内で適用する明示的な指示です。回答の形式、役割、トーン、禁止事項など、そのプロジェクトで継続して守ってほしいルールを置くのに向きます。
# プロジェクト指示の例
- 回答は日本語で簡潔にする
- コード変更前に影響範囲を整理する
- 不明な仕様は推測で確定しない
- DBスキーマは明示的な依頼がない限り変更しない
- 最後に実施内容と未確認事項を分けて報告する
このようなルールは、過去チャットから毎回うまく推測してもらうより、指示として明文化した方が意図が伝わりやすくなります。特に「してはいけないこと」「毎回同じ形式で返してほしいこと」は、メモリ任せにしないのが基本です。
(プロジェクト指示そのものを具体的に書く方法を整理したい場合については『GPT指示精度を上げる方法|ChatGPTで使える指示テンプレ7選』をご参照ください)
プロジェクトメモリとは?過去の文脈を使う仕組み
プロジェクトにはメモリ機能があり、同じプロジェクト内のチャットやファイルを使って文脈を保ちながら作業できます。ここで重要なのは、プロジェクトメモリを「ルールを書き込む欄」と考えないことです。
たとえば以前のチャットで「今回はReactの既存構成を維持する」「認証方式は変更しない」と議論した場合、その会話が同じプロジェクト内の後続チャットで参考にされることがあります。これは、指示として固定したルールとは違い、過去の文脈として利用される情報です。
用語解説:プロジェクトメモリ
ChatGPTのプロジェクト内で、過去のチャットやプロジェクト内情報を文脈として利用するための仕組みです。プロジェクト専用メモリでは、その参照範囲をプロジェクト内へ限定できます。
「絶対に守ってほしい制約」を過去会話だけに置くと、重要度や適用範囲が曖昧になります。継続ルールは指示へ、経緯や判断材料は会話・ファイルへ置く、と役割を分ける方が管理しやすくなります。
デフォルトメモリとプロジェクト専用メモリの違い
現在のChatGPTプロジェクトでは、デフォルトメモリとプロジェクト専用メモリを選べます。プロジェクト専用メモリでは、同じプロジェクト内の会話は参照できますが、プロジェクト外の会話は参照できません。また、プロジェクト外のチャットからプロジェクト内の会話を参照することもできません。
| 設定 | 同じプロジェクト内 | プロジェクト外との関係 | 向いている場面 |
|---|---|---|---|
| デフォルトメモリ | プロジェクト内の会話を参照できる | プランや個人/ワークスペース設定に応じて外部コンテキストも関係する | 個人の継続作業で、普段の文脈も活用したい |
| プロジェクト専用メモリ | 同じプロジェクト内の会話を参照できる | プロジェクト外の会話を参照せず、外からも参照されない | 案件・顧客・テーマごとに文脈を分離したい |
共有プロジェクトはプロジェクト専用メモリが自動的に有効になります。プロジェクトごとの境界を明確にしたい場合は、指示の書き方だけでなく、どのメモリ設定を使うかも確認しておく必要があります。
メモリ設定はプロジェクト設定から変更できます。公式ヘルプでは、変更の反映に数時間かかる場合があると案内されています。切り替え直後に挙動を確認するときは、この反映時間も考慮してください。
「どこに何を書く?」を4パターンで判断する
実務では、情報の内容より「どれくらいの期間・どの強さで使ってほしいか」を見ると分けやすくなります。
| 書きたい内容 | おすすめの置き場所 | 理由 |
|---|---|---|
| 毎回答えを箇条書きで返してほしい | プロジェクト指示 | 継続して守る出力ルールだから |
| 先週の設計レビューでA案を採用した経緯 | プロジェクト内チャット | 判断の背景として必要だから |
| API仕様書や設計書 | プロジェクトのファイル/ソース | 根拠資料として明示的に参照させたいから |
| 今回だけmigrationファイルを触らない | 現在のチャット | 単発タスク限定の制約だから |
| 今後このプロジェクトでは本番Publish禁止 | プロジェクト指示 | 継続する重要な禁止事項だから |
| 過去に試した実装と失敗理由 | プロジェクト内チャットや資料 | 将来の判断材料として使いたいから |
とくに「禁止」「必須」「毎回」のような強いルールは、指示へ寄せるのが分かりやすい運用です。反対に、過去の判断経緯をすべて指示欄へ詰め込むと、重要なルールが埋もれやすくなります。
メモリと指示を混同すると起きやすい3つのズレ
| 混同 | 起きやすいこと | 直し方 |
|---|---|---|
| 重要ルールを過去チャットだけに置く | 後続の回答で期待した制約が弱くなる | 継続必須のルールをプロジェクト指示へ移す |
| プロジェクト指示に議事録や長い経緯を詰め込む | 何を必ず守るべきか見えにくくなる | 詳細情報はファイルやチャットに分ける |
| メモリ設定を確認せず案件を混在させる | プロジェクト外の文脈を期待したり、逆に分離できていると思い込む | Default / Project-onlyの設定とプラン条件を確認する |
プロジェクト指示を長文化しすぎれば精度が上がる、というわけでもありません。固定ルールは短く明確にし、根拠や詳細は参照資料へ分けた方が、後から更新もしやすくなります。
既存チャットをプロジェクトへ移すと何が変わる?
OpenAIの公式ヘルプでは、既存チャットをプロジェクトへ移動すると、そのチャットはプロジェクトの指示とファイルコンテキストを引き継ぐと説明されています。つまり、過去の会話を移動するだけでなく、移動後はそのプロジェクトのルールと資料の中で会話を続けることになります。
既存チャットを移したあとに回答の雰囲気や前提が変わったように見える場合は、まずプロジェクト指示を確認します。メモリだけが原因とは限りません。
- 移動先のプロジェクト指示に、元のチャットと異なるルールがないか
- プロジェクトに追加したファイルが新しい前提を与えていないか
- メモリ設定がDefaultかProject-onlyか
- 今回のチャット内で一時的な条件を追加していないか
エンジニア業務なら「ルール・正本・履歴・今回条件」を分ける
長期の開発支援でChatGPTを使うなら、情報を4層に分けると整理しやすくなります。
| 層 | 例 | 置き場所 |
|---|---|---|
| ルール | 変更前に影響範囲を確認、推測で仕様確定しない | プロジェクト指示 |
| 正本 | README、設計書、API仕様、運用手順 | ファイル/プロジェクトソース |
| 履歴 | なぜその方式を選んだか、過去の失敗と判断 | プロジェクト内チャット |
| 今回条件 | このIssueだけ対象、今日は調査のみ | 現在のチャット |
この分け方なら、プロジェクトが長く続いても「どこを直せば挙動が変わるのか」を追いやすくなります。たとえば開発ルールが変わったらプロジェクト指示、仕様が変わったら正本ファイル、今回の作業範囲だけ変わったら現在チャットを更新します。
設定前に確認したいチェックポイント
- 毎回守るルールがプロジェクト指示に集約されているか
- 過去の議論や判断経緯を、無理に指示欄へ詰め込んでいないか
- 仕様書などの正本はファイル/ソースとして参照できる状態か
- 今回だけの制約をプロジェクト全体の指示に昇格させていないか
- Default memory / Project-only memoryのどちらを使っているか把握しているか
- 共有プロジェクトではプロジェクト専用メモリになることを理解しているか
- 重要ルールを『過去に一度言ったから覚えているはず』だけで運用していないか
ルールと文脈を分けるだけで、ChatGPTプロジェクトの管理はかなりシンプルになります。プロジェクト指示は短い運用ルール、メモリは継続する文脈、ファイルは正本、現在チャットは今回条件。この4つを基準にすると、どこへ情報を置くか判断しやすくなります。
よくある質問
プロジェクト指示とメモリは、どちらが優先されますか?
単純な同順位の設定ではありません。プロジェクト指示は、そのプロジェクトで守ってほしい明示ルールとして適用され、グローバルなカスタム指示より優先されます。メモリは参照する文脈に関わる仕組みです。重要な制約は、メモリから推測させずプロジェクト指示へ明示するのが安全です。
プロジェクト専用メモリにすると、プロジェクト外の会話は参照されますか?
参照されません。同じプロジェクト内の他の会話は参照できますが、通常のChatGPT会話や別プロジェクトなど、プロジェクト外の会話は参照できません。
仕様書はプロジェクト指示に貼るべきですか?
通常は、長い仕様書や正本資料はファイル/プロジェクトソースへ置き、プロジェクト指示には『この資料を正本として扱う』『不明点は推測しない』など運用ルールを書く方が分離しやすくなります。
今回だけの禁止事項はどこに書けばよいですか?
今回のタスクだけなら現在のチャットへ書くのが自然です。今後のすべての作業で継続して守る必要があるなら、プロジェクト指示へ昇格させます。
まとめ:覚えてほしい情報と守ってほしいルールを分ける
- プロジェクト指示は、プロジェクト内で継続して守ってほしい明示ルールに使う
- プロジェクトメモリは、過去の会話やプロジェクト文脈を参照する範囲に関わる
- 正本となる仕様や資料はファイル/プロジェクトソースへ置く
- 今回だけの条件は現在チャットへ置く
- 案件やテーマを分離したい場合はProject-only memoryを検討する
- 重要な禁止事項や必須条件をメモリ任せにしない
まず今使っているプロジェクトを一つ開き、指示欄に「過去の経緯」まで詰め込んでいないか、逆に重要な運用ルールを過去チャットだけに残していないかを確認してみてください。置き場所を整理するだけでも、長期プロジェクトでの認識ズレを減らしやすくなります。