> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apiyi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# APIにはChatGPTのようなメモリがありますか？

> API自体にはメモリがありません。エージェントツールがメモリと呼ぶものは、実際にはマシン上に保存されたファイルであり、新しい会話の開始時に毎回再読み込みされ、入力として課金されます。このページでは、その仕組み、別のコンピュータに移行する方法、コストを抑える方法を説明します。

## 短い回答

<Info>
  **いいえ。APIはステートレスであり、以前のリクエストの内容を記憶しません。**

  ChatGPTウェブアプリ、Claude Code、またはCodexで体験するメモリは、それらの製品がAPIの上に構築した機能です。これらはメモリをファイルに書き込み、後続の会話でそのファイルをモデルに再度渡します。ファイルはユーザーの手元に残り、APIYIが会話内容を保存することはありません。
</Info>

## Webアプリのメモリとは

ChatGPTのWebアプリには、2種類のメモリがあります。

* **保存済みメモリ**: 職業や文体など、記憶するよう依頼した事実や設定
* **チャット履歴の参照**: 過去の会話から取得する情報

どちらもOpenAIアカウント内に保存され、Webプロダクトに属します。**これらはAPIを通じて公開されません。** API経由で同じモデルを呼び出す場合、そのモデルはWebアプリでの会話について何も認識していません。

WebアプリとAPIのその他の違いについては、[公式WebアプリとAPIで異なる結果になるのはなぜですか？](/ja/faq/webapp-vs-api-difference) を参照してください。

## エージェントツールのメモリは単なるファイルです

コーディングエージェントツールでは、メモリは常に**クライアントがローカルファイルを読み書きすること**を意味します。

<CardGroup cols={3}>
  <Card title="Claude Code" icon="terminal">
    プロジェクトルールは`CLAUDE.md`に置き、個人設定と学んだ教訓はローカルのメモリディレクトリに保存します。どちらもセッション開始時に読み込まれます。
  </Card>

  <Card title="Codex" icon="code">
    プロジェクトルールは`AGENTS.md`に置きます。2026年4月以降、Codexには過去のセッションからコンテンツを抽出し、`~/.codex/memories/`にローカル保存する組み込みメモリもあります。
  </Card>

  <Card title="Claude APIメモリツール" icon="folder-open">
    モデルはメモリファイルに対する読み取りおよび書き込みリクエストを発行し、アプリケーションがそれらを実行します。ファイルの保存先は自由に決められます。ローカルディスク、データベース、クラウドストレージのいずれでも可能です。
  </Card>
</CardGroup>

これらのツールに共通する点:

1. **メモリはファイルです**。通常は、直接開いて編集できるMarkdownです。
2. **モデルがすべてのファイルを一度に読み取ることはありません。** クライアントは、現在のタスクに関連するものだけを取得します。
3. **新しい会話はすべて再度それらを読み取ります。** モデル自体は何も記憶しません。クライアントが読み取った内容は、質問とともにAPIへ送信されます。

## メモリを別のコンピューターへ移行する

<Steps>
  <Step title="プロジェクトレベルのメモリはリポジトリとともに移行されます">
    `CLAUDE.md` や `AGENTS.md` などのファイルは、プロジェクトディレクトリ内にあります。これらを git にコミットすれば、別のコンピューターでコードをプルした直後から利用できます。この方法で、チームは同じプロジェクトルールを共有できます。
  </Step>

  <Step title="ユーザーレベルのメモリはコピーまたは同期する必要があります">
    ユーザーディレクトリに保存されているメモリ（たとえば Codex の `~/.codex/memories/` や Claude Code のローカルメモリディレクトリ）は、リポジトリには含まれません。新しいコンピューター上の同じ場所にコピーするか、クラウドストレージまたは同期ツールで同期してください。
  </Step>

  <Step title="新しいコンピューターで動作を確認する">
    同じプロジェクトを開き、プロジェクトのテストコマンドなど、メモリだけが回答できる内容を質問してください。正しい回答が返れば、メモリは移行されています。
  </Step>
</Steps>

<Tip>
  API キー、パスワード、その他の機密情報をメモリファイルに保存しないでください。内容はモデルに送信され、クラウドストレージへの同期時やリポジトリへのコミット時に漏洩する可能性があります。
</Tip>

## メモリとコスト

メモリは無料ではありません。

* **読み込まれるメモリは入力tokensとして課金されます。** クライアントが新しい会話で読み込むすべてのメモリファイルは、そのリクエストの入力にカウントされます。
* **会話は長くなるほど高コストになります。** APIはステートレスであるため、各ターンでそれまでの会話全体が再送され、入力tokensが増え続けます。
* **キャッシュ課金により繰り返し部分のコストを削減できます。** 各リクエストの先頭部分（システムprompt、メモリファイル、以前のターン）が同じままであれば、キャッシュヒットとなり、通常の入力価格を大幅に下回る料金で課金されます。

APIYIでは、Claude、OpenAI、DeepSeek、Qwen、Grokなどの主要チャネルでキャッシュヒットが安定しています。**Geminiの暗黙的キャッシュはヒット率が低いため**、Geminiのコストはキャッシュなしの価格で見積もってください。各チャネルのルールについては、[APIYIはキャッシュ課金をサポートしていますか？](/ja/faq/cache-billing)を参照してください。

<Tip>
  より多くのキャッシュヒットを得るには、変更されないコンテンツ（システムprompt、メモリファイル）をリクエストの先頭に置き、変更されるコンテンツはその後に配置してください。タイムスタンプなど、毎回変わる値を先頭に置かないようにしてください。
</Tip>

## サーバーサイドの会話状態はメモリではありません

<Info>
  一部のプロバイダー API では、OpenAI レスポンス API の `previous_response_id` のように、サーバーサイドの会話状態を提供しています。プロバイダーが会話を保存し（デフォルトでは30日間）、次のターンでは前のレスポンス ID だけが必要です。

  これは、次の2つの点でメモリとは異なります。

  * **1つの会話チェーンを継続するだけです。** セッションをまたいで設定を記憶することはありません。
  * **費用は削減されません。** チェーン内のそれまでのすべてのコンテンツは、各ターンで引き続き入力 tokens として課金されます。

  APIYI では、クライアントサイドで会話履歴を管理することを推奨しています。これは最も信頼性の高いアプローチであり、モデル間で同じように機能します。詳細については、[複数ターン会話ガイド](/ja/api-capabilities/multi-turn-conversation)を参照してください。
</Info>

## よくある質問

<AccordionGroup>
  <Accordion title="APIYI は会話を保存しますか？">
    いいえ。リレープラットフォームとして、APIYI はリクエストを転送するだけで、リクエストまたはレスポンスの内容を保存しません。[APIYI はどのようにデータセキュリティを確保していますか？](/ja/faq/data-security)を参照してください。

    プロバイダーのサーバーサイド会話機能（上記の `previous_response_id` など）を使用する場合、そのプロバイダーは独自のルールに従ってその会話を保存します。
  </Accordion>

  <Accordion title="API に自分の設定を記憶させることはできますか？">
    はい、できますが、自分で構築する必要があります。最も簡単な方法は、設定をシステム prompt に記載し、すべてのリクエストとともに送信することです。設定が多い場合は、ファイルまたはデータベースに保存し、関連する内容を取得してリクエストに追加します。Claude API のメモリツールは、このアプローチを公式にパッケージ化したものです。
  </Accordion>

  <Accordion title="メモリは多いほど常に良いですか？">
    いいえ。メモリが多いほど、各リクエストの入力が長くなり、コストが高くなり、モデルの注意をそらす可能性のある無関係な内容も増えます。メモリファイルを定期的に見直し、古くなった項目を削除して、実際に使用するルールと事実だけを残してください。
  </Accordion>

  <Accordion title="フォルダをコピーする以外に、メモリを同期する方法はありますか？">
    いくつかの選択肢があります。

    * プロジェクトレベルのメモリを git にコミットし、コードとともに移動させます。
    * ユーザーレベルのメモリをクラウドストレージまたは同期ツールと同期させます。
    * 独自のメモリサービスを実行します。一部のエージェントツールは MCP を介して外部メモリサービスに接続でき、複数のコンピュータで同じサービスを共有できます。

    いずれの場合も、メモリは API 側ではなく、自分で管理する場所に保持されます。
  </Accordion>
</AccordionGroup>

## 関連ドキュメント

<CardGroup cols={2}>
  <Card title="公式WebアプリとAPIで結果が異なるのはなぜですか？" icon="layers" href="/ja/faq/webapp-vs-api-difference">
    WebアプリがAPIに追加する機能
  </Card>

  <Card title="マルチターン会話ガイド" icon="messages-square" href="/ja/api-capabilities/multi-turn-conversation">
    各API形式で会話履歴を維持する方法
  </Card>

  <Card title="APIYIはキャッシュ課金をサポートしていますか？" icon="database" href="/ja/faq/cache-billing">
    チャネル別のキャッシュ課金ルールとヒットのヒント
  </Card>

  <Card title="APIYIはデータセキュリティをどのように確保していますか？" icon="shield" href="/ja/faq/data-security">
    暗号化通信とリクエスト内容の非保存
  </Card>
</CardGroup>
