AIコーディングエージェントとして開発現場で大活躍しているOpenAIのCodexですが、日々のタスクで使い込んでいるうちに「あれ?なんだか最近、アプリの動きが妙に重くなってきたな……」「PCのストレージ容量がじわじわと圧迫されている気がする」と困っていませんか?デスクトップアプリの画面をいくら探しても、見つかるのはチャットを非表示にする「アーカイブ」機能ばかりで、完全にスレッドを消去するゴミ箱ボタンのようなものが見当たらず、どうすればいいのか悩んでいる方も非常に多いかなと思います。
実は、Codexの画面上でチャットをアーカイブしただけでは、過去の膨大なやり取りやバックグラウンドで出力されたログデータは消えていません。それどころか、ローカルストレージ内部に「物理ファイル」としてしっかりと残ったままになっているんですね。これが何百、何千と積み重なっていくと、アプリを立ち上げる時の起動速度が極端に遅くなったり、AIが過去のコンテキストを引きずって推論精度が落ちてしまったりする原因になります。この記事では、Codexが裏側でどのようにデータを保持しているのかという仕組みから、パフォーマンスを劇的に回復させるための手動削除プロセスまでを分かりやすく徹底解説します!
この記事で学べることのロードマップ
- Codexの画面上でチャットをアーカイブした時の裏側のリアルな挙動
- アプリの動作遅延をダイレクトに引き起こすローカルファイルの正体と詳細な保存先
- 安全に不要なデータを物理削除して、新品同様のパフォーマンスを取り戻す具体的ステップ
- 他の強力なAIツール(CozeやClaude Codeなど)とのデータ管理・設計思想の決定的な違い
codexのアーカイブと削除の基本
アプリが重い原因と対策
Codexを毎日のメインツールとしてガッツリ使い込んでいると、ある日突然、コードのタイピングに対する反応がワンテンポ遅くなったり、アプリの起動画面(ローディング)のまま数十秒フリーズしたりすることがあります。PC自体のスペックは低くないのにこのような現象が起きる場合、アプリが重くなる最大の原因は、ローカルストレージ(SSDやHDD)内に蓄積され続けた膨大なセッション履歴と、システムが吐き出す巨大なログファイルにあります。
Codexは、ユーザーに対して高度で文脈に沿った推論やコード生成を行うために、過去のやり取りのディテールやターミナルの実行結果などを非常に細かくローカル環境に保存する仕様になっています。これらのテキストデータやメタデータが数ギガバイト、環境によっては数十ギガバイト規模にまで肥大化すると、大変なことが起こります。アプリが起動するたびに、それらの膨大なインデックスを一気に読み込もうとするため、ディスクI/O(ストレージの読み書き処理)に猛烈な負荷がかかってしまうわけです。これに対する根本的な対策としては、画面上の見た目を整理するだけでは不十分です。不要になった古い履歴ファイルそのものを、PCのファイルシステム側から物理的に削除(パージ)してあげる作業が絶対に不可欠になります。
チャットを消去する手順
多くのユーザー、特に新しくCodexを導入したエンジニアが最初に戸惑うポイントなのですが、現行のCodexデスクトップアプリ(macOS版 / Windows版)には、個別のチャットスレッドを画面上(UI)からボタン一つで完全に消去する機能がデフォルトで備わっていません。サイドバーのメニューにある3点ドットなどをクリックして実行できるのは、あくまで現在の作業ビューからスレッドを見えなくして整理するための「アーカイブ(非表示化)」という操作だけなんですね。
注意:画面上で見えなくなってもデータは1ミリも消えていません!
画面上でチャットをいくらアーカイブフォルダに移動させたとしても、あなたのパソコン内からデータが削除されたわけではありません。裏側では「いつでも過去の会話を復元できるように」と、ファイルがそのままの容量で居座り続けています。そのため、ストレージ容量の確保や動作軽量化といった根本的な問題解決のためには、UIを離れてファイルシステム側で直接フォルダを操作する必要があることを覚えておいてくださいね。
この仕様を知らずに「アーカイブしたから大丈夫」と思っていると、バックグラウンドのストレージはどんどん逼迫していってしまいます。画面上の整理はプロジェクトの区切りをつけるためのもの、物理的な削除はアプリのメンテナンスのためのもの、と完全に分けて考えるのがCodexと上手に付き合うコツかなと思います。
ローカルファイルを消す方法
では、裏側で溜まり続けてしまった重い履歴データを綺麗にするにはどうすればいいのでしょうか。その具体的なアプローチは、Codexのデータが格納されている「.codex」という名前の隠しフォルダへ直接アクセスし、不要なローカルファイルを狙い撃ちで消去することです。
具体的な手順としては、予期せぬエラーやファイルのロック競合を防ぐために、**まずはCodexアプリを完全に終了(Quit)**させてください。タスクバーやメニューバーからも完全に落ちていることを確認したら、OSのファイルエクスプローラー(Windows)やFinder(Mac)を開き、隠しディレクトリを表示する設定にして対象の場所へ移動します。その中にある「sessions」フォルダ(現在アクティブなチャット)や「archived_sessions」フォルダ(画面でアーカイブしたもの)の中に、過去の会話履歴が「JSON Lines(JSONL)」という形式のファイルでずらりと並んでいるはずです。これらのファイルの中から、日付を確認してもう絶対に読み返すことのない古いファイルをまとめてゴミ箱に移動し、空にしてください。これだけで、アプリが起動時に読み込むデータ量が劇的に削減され、導入したてのような本来の軽快な動作を取り戻すことができますよ。
動作遅延を解消するコツ
定期的にローカルの物理ファイルを消去するのも大切ですが、日常のプログラミングワークの中で、そもそも動作遅延を発生させないためのちょっとした運用のコツ(ベストプラクティス)があります。それは、AIエージェントに対する「記憶の持たせ方」を、アプリ任せにせず自分でコントロールして工夫することです。
Codexに過去のすべてのデバッグログや、試行錯誤して失敗した大量のソースコードを1つの長いチャットセッション内でダラダラと記憶させておくと、それらがすべて「ノイズ(文脈の汚れ)」として蓄積され、動作が重くなるだけでなくAIの回答精度まで巻き添えで低下してしまいます。これを防ぐために、プロジェクトのルートディレクトリに**「PROJECT.md」**という名前のマークダウンファイルを1つ作成し、そこに現在の実装状況、重要な仕様、使用しているライブラリのバージョン、絶対に破ってほしくない前提ルールなどをコンパクトにまとめておくのが非常におすすめです。この方法をとれば、ローカルの履歴ファイルを毎週のようにクリーンに全削除してしまっても問題ありません。新しい真っ新なセッションを立ち上げた直後に、この「PROJECT.md」の中身を最初にCodexに読み込ませるだけで、遅延を完璧に回避しながら、常にクリアで的確な開発サポートを受け続けることが可能になります。
データベースを整理しよう
Codexの裏側で動いているのは、実は先ほどお話ししたJSONL形式のチャット履歴ファイルだけではありません。アプリのシステム状態の管理や、詳細なバックグラウンド実行ログをリアルタイムに記録・制御するために、「SQLite」という軽量なリレーショナルデータベース群が常に裏側でフル稼働しています。特に、ターミナルコマンドの実行結果やソースコードの差分(Diff)をミリ秒単位で記録するログ用データベースは、標準では自動クリーンアップ機能がかなり弱いため、長期間放置していると数ギガ〜環境によっては100GB近くまでファイルサイズが肥大化してしまうケースもあるんです。
クリーンアップの対象となる主なSQLiteデータベースファイル
- state_5.sqlite:Codexエージェントの現在のUI状態や、各スレッドの管理用メタデータを保持。
- logs_2.sqlite:開発中に実行したコマンドのターミナル出力や、内部の思考・推論トレースを膨大に記録。
- goals_1.sqlite:長期的な自律タスク(マルチステップゴール)の進捗状況や実行ステートを追跡。
これらのファイルが限界を超えて大きくなりすぎると、データベースの破損(コラプション)が起きやすくなり、最悪の場合はアプリが起動直後にクラッシュして二度と開かなくなる……なんてトラブルに発展することもあります。定期的にこれらのファイルサイズをチェックする習慣をつけましょう。もし数GBを超えていたら、Codexアプリを落とした状態で、これらのファイルを一度デスクトップなどの別の場所に「退避(リネームしてバックアップ)」させてみてください。その状態でアプリを再起動すると、Codexが自動的に中身の詰まっていない綺麗なデータベースファイルを新規作成(リセット)してくれます。これによって、蓄積したシステムログの重みから一気に解放されますよ。
cozeとの違いを解説
Codexのこういったローカルデータ管理の泥臭さや複雑さに直面すると、「他のAIエージェントツールってどうなんだろう?もっと楽に管理できないのかな?」と気になってくる方もいるかも知れませんね。例えば、昨今よく比較される次世代AIボット構築プラットフォームに「Coze(コズ)」があります。
CozeとCodexの最大の違いは、その**「アーキテクチャ(設計思想)」**にあります。Cozeは基本的にWebブラウザ上で動作するクラウド完結型のIDE環境を提供しており、各種LLMや外部APIを「プラグイン」として視覚的に組み込んでいくスタイルを採用しています。そのため、やり取りのデータや実行ログのほとんどはクラウド側のサーバーに保存・処理されます。つまり、Codexのように「自分のパソコンのローカルストレージが謎のログファイルで埋まってアプリがフリーズする」といったローカル固有のストレスがほぼゼロなんです。手軽にWeb上で動く多機能なBotを作りたい、PCの容量を気にせずチームで共有したいという場合はCozeが向いています。一方で、自分のPC内のリアルなファイルシステムにアクセスさせたり、ローカルのCLI(コマンドラインインターフェース)と深く連携してガリガリ自動化コードを書いてもらいたい!というガチな開発用途であれば、やはりローカル駆動のCodexに軍配が上がります。自分の開発スタイルに合わせて、この2つを上手く棲み分けるのが賢い選択かなと思います。
codexでアーカイブや削除を行う手順
Codexのデータ構造の裏側が分かったところで、ここからはお使いのパソコンのOS(macOS / Windows)に合わせて、溜まりに溜まったアーカイブデータや肥大化したシステムファイルを安全かつ確実に処理していく具体的なロードマップを解説していきます。プラットフォームによってフォルダの隠し場所やパスの書き方が少し異なっているので、ご自身の環境のセクションをじっくり確認しながら進めてみてくださいね。
macでの保存先を確認
macOS環境でCodexを運用している場合、アプリに関するローカルデータ一式は、ユーザーのホームディレクトリ直下に隠しフォルダとして自動生成される専用ディレクトリにすべて格納されています。
MacのFinderから一発でアクセスするステップ
手動でフォルダをポチポチ探すのは大変なので、 Finderの便利なショートカット機能を使いましょう。Finderを開いた状態で、画面最上部のメニューバーにある「移動」をクリックし、ドロップダウンメニューから「フォルダへ移動…」を選択します(ショートカットキー Cmd + Shift + G でもOKです)。そこに、以下のパスを正確に入力してエンターキーを押してください。
~/.codex/
すると、通常は見えない設定になっている隠しフォルダの内部へダイレクトにジャンプできます。このフォルダの中に進むと、先ほど解説した現在進行形のチャットが入っている「sessions」フォルダと、画面上で処理した「archived_sessions」フォルダが確認できるはずです。中身のJSONLファイルの日付や容量をチェックして、不要なものをサクッとゴミ箱へポイしてしまいましょう。これだけでMacのストレージも心もかなりスッキリするはずです。
windowsでのフォルダパス
Windows環境でCodexを使用している場合も、Mac同様にユーザープロファイル直下の隠しディレクトリ内にすべてのデータが保存されています。Windowsの場合は、エクスプローラーの上部にあるアドレスバーに環境変数を用いたパスを直接貼り付けることで、簡単に目的のフォルダにたどり着くことが可能です。
| データの種類 | Windowsにおけるデフォルトの絶対フォルダパス |
|---|---|
| 現在アクティブな会話履歴 | %USERPROFILE%\.codex\sessions\ |
| 画面上でアーカイブした会話履歴 | %USERPROFILE%\.codex\archived_sessions\ |
| SQLiteデータベース・全体ログ | %USERPROFILE%\.codex\ (直下の各.sqliteファイル) |
Windowsユーザーが特に注意すべきポイント
Windows環境では、ファイルパスの区切り文字であるバックスラッシュ(\)や、ユーザー名に日本語(全角文字)が含まれていることなどが原因で、まれにCodexアプリの内部データ解析エラーや、SQLiteデータベースの不意の書き込み破損トラブルがMacに比べて起きやすい傾向があります。「なぜかCodexがうまく立ち上がらなくなった……」というときは、上記パスの直下にある「state_5.sqlite」などのファイルを一度デスクトップに切り取り(移動)して、完全に初期化された状態でアプリが起動するかどうかを確認してみてくださいね。
コマンドで一括パージ
「毎回毎回、エクスプローラーやFinderを開いてマウスでファイルをぽちぽち選んで消すなんて面倒くくってやってられない!」という効率重視のエンジニアの方は、ターミナルやコマンドプロンプト(またはPowerShell)を開いて、コマンドラインから一撃で一括パージ(完全物理削除)してしまうのが最も手っ取り早くてスマートなのでおすすめです。
もし、長年使い込んだCodexの動作があまりにも不安定で、設定ファイルから蓄積されたゴミログまで含めて「完全に環境をゼロから作り直したい(クリーンアンインストールしたい)」という状態であれば、パッケージマネージャーによる本体の削除と、データディレクトリの強制削除コマンドを組み合わせて実行します。例えば、Node.jsベースの環境でCodexのエージェントをグローバル導入している場合、以下のコマンドをターミナルで実行します。
npm uninstall -g @openai/codexrm -rf ~/.codex
※WindowsのPowerShell環境であれば、2行目は Remove-Item -Recurse -Force ~\.codex になります。
この rm -rf や Remove-Item コマンドを実行すると、それまでCodexが学習・蓄積してきたローカルの対話ログやプロンプト設定が**文字通り跡形もなく完全消去**されます。ゴミ箱を経由せずに一瞬で消え去るため、コマンドを叩く前には、現在進行中の大切なソースコードや設定メモがGitなどのリモートリポジトリに確実にコミット・プッシュされているか、必ず指差し確認をしてくださいね!
自動削除で快適に使う
手動でのパージ方法やコマンドが分かったとしても、それを数週間ごとに思い出しながら実行するのはやっぱり手間ですし、いつか忘れてしまいますよね。常にアプリを最高に快適なパフォーマンスで維持するためには、OSが標準で持っているタスク自動化機能を活用して、「勝手に古いデータが消える仕組み」を最初に構築してしまうのがベストな賢いアプローチです。
具体的には、macOSやLinux環境ならお馴染みの「cron(クローン)」、Windows環境なら「タスクスケジューラ」を利用します。例えば、週に1回(毎週月曜日の朝など)に、以下のようなシェルスクリプトやバッチ処理が裏で自動実行されるように登録しておくわけです。
「~/.codex/archived_sessions/ フォルダ内をスキャンし、最終更新日が14日(2週間)以上前の古いJSONLファイルだけを自動的に抽出して強制消去する」
このシンプルな仕組みを1度セットアップしておくだけで、古いチャット履歴のインデックス再構築に伴うあの不快な「起動フリーズ現象」に悩まされることが生涯なくなります。いつでも新品の軽さでCodexを起動し、すぐにコーディングに没頭できるようになりますよ。
完全消去ツールの使い方
「黒い画面(ターミナル)でコマンドを打つのは、もし打ち間違えて別のシステムファイルを消しちゃったらと思うと怖くて手が震える……」「でも手動でフォルダを探すのもやっぱり苦手」というエンジニア初期の方やノンプログラマーの方に向けて、実はオープンソースのコミュニティメンバーが開発してくれた便利なサードパーティ製の補助ツールも存在します。
その代表例として挙げられるのが、主にmacOSユーザーの間で密かに使われている**「codex-history-cleaner」**という軽量なローカル履歴管理用マネージャーです(※GitHubなどのコミュニティリポジトリから入手可能です)。これをインストールしてターミナルで起動すると、文字ベースでありながら、矢印キーで直感的に操作できる綺麗な管理画面(TUI:テキストユーザーインターフェース)が立ち上がります。これを使うと、現在ローカルに溜まっているセッションの一覧が日付・サイズ順で綺麗にリスト化され、特定のキーワードで過去チャットを検索したり、中身をプレビューして確認したりしながら、不要なものだけをスペースキーで選んで安全に物理削除することができます。削除を実行する直前に、自動で「.bak」というバックアップファイルを生成してくれる親切設計のものも多いため、誤操作によるデータ全ロスという最悪のリスクを極限まで減らせるのが本当に嬉しいポイントですね。
codexのアーカイブや削除のまとめ
今回は、AIコーディングの超強力な相棒である「OpenAI Codex」のデスクトップアプリが、使っていくうちにどうしても重くなってしまう内部的なメカニズムと、それを劇的に解消して爆速化させるための物理ファイルのクリーンアップ手順について、余すところなく詳しくご紹介しました。
おさらいになりますが、Codexの画面上で完結する「アーカイブ」ボタンをクリックしただけでは、PC内のストレージ容量は1バイトも減っていません。アプリのパフォーマンスを常に最高に保つためには、定期的に「.codex」隠しフォルダの内部にある不要なセッション履歴(JSONLファイル)を間引いたり、肥大化したSQLiteデータベース(特にログ関連)を手動、あるいは自動スクリプトでクリーンアップしてあげることが決定的に重要です。最初はフォルダを開くことすら少し手間に感じるかも知れませんが、この「データのライフサイクル」を自分自身でしっかりとコントロールできるようになれば、過去の古いログが引き起こすコンテキスト汚染や、ハルシネーション(AIがもっともらしい嘘をつく現象)を未然に防ぐことにも繋がり、結果としてAIの推論精度やコーディングの打率も劇的にアップします!ぜひ今回の手順を参考に、あなたの開発環境をクリーンかつサクサクに保ち、日々の爆速プログラミングライフを楽しんでみてくださいね。
