PRODUCT
未明、OpenAI は Codex 向け新機能「Chronicle」をリリースし、画面内容に基づいて作業できるようにしました。
Codex の記憶ソースに「あなたの画面」が追加
これにより、ユーザーは Codex に対話する際、「これ」や「あれ」が何を指すのかを何度も説明する必要がなくなります。Codex は、あなたが今何を見ており、直前にどのようなエラーが発生し、2 週間前にどのプロジェクトに取り組んでいたかを把握します。
Chronicle は、先週プレビュー公開された「memories」機能の拡張版です。memories が対話履歴をソースとしているのに対し、Chronicle は画面のコンテキストというレイヤーを追加するものです。
現在、この機能は macOS 版 ChatGPT Pro ユーザー限定で公開されており、EU・英国・スイスでは利用できません。ステータスはオプトイン制の「リサーチプレビュー」となっています。
シナリオ 1:画面を直接参照してデバッグ
公式ビデオでデモされた 3 つのシナリオの 1 つ目が、「Use what's on screen(画面上のものを利用する)」です。
画面左側には CI(継続的インテグレーション)の失敗ログが表示されています。ユーザーが Codex を開き、「why is this failing?(なぜこれは失敗しているのか?)」と一言尋ねただけでした。
Codex はエラーログの貼り付けも、どのリポジトリかも尋ねることなく、Chronicle を通じて画面上のコンテキストを取得。わずか 1 分 43 秒で独自に調査を完了させました。
Codex は画面上の CI ログを解析し、特定のジョブ、ファイル、行番号を特定しました。
最終的に、GitHub Actions の `build-preview` ジョブ内の、`src/pages/preview-build-fixture.astro` ファイルの 2 行目に問題があることを突き止めました。
astro
const articleCount: string = 404;
結論として、`TS2322` という型エラー(数値である 404 が string として宣言されている)であると判明。さらに Codex は、PR タイトルに「exercise CI failure handling(CI のエラーハンドリングをテストする)」と記載されていることから、これが意図的に仕込まれた型エラーのフィクスチャ(テスト用データ)であることにも言及しました。
回答の下部には「1 memory citation(1 件の記憶引用)」と明記され、ローカルでの再現前に参照された `MEMORY.md` 2122 行目のリポジトリ固有の検証ループコンテキストが使用されたことが示されています。
また、公式は Chronicle をオフにした状態での比較スクリーンショットも公開しています。同じく「why is this failing?」と尋ねても、Codex は「I do not know what this refers to yet(これが何を指すのかまだ分かりません)」と即座に返答します。
Chronicle をオフにしている場合、Codex は具体的なエラーメッセージのテキストかリンクを求めて逆質問してきます。
シナリオ 2:画面コンテキストで「これ」「あれ」を補完
2 つ目のシナリオは「Fill in missing context(欠落したコンテキストの補完)」です。
ユーザー入力:「Sync with the latest docs draft changes and message Romain(最新のドキュメントドラフトの変更を同期し、Romain にメッセージを送る)」
ここで言う「latest docs draft」がどのドキュメントで、「Romain」が誰なのか、ユーザーは一切指定していません。
Codex は Chronicle の記憶(memory)を解析することで、どのドラフト文書で、どの Romain なのかを特定。ファイルの同期を行い、Slack でメッセージを送信しました。
Codex は Chronicle を通じて、ユーザーが編集中のドキュメントドラフトを特定して `chronicle.mdx` を同期し、さらに Slack 機能(skill)を呼び出して Romain へダイレクトメッセージを送信。同期ステータスとビルド結果を報告しました。
プロセスを詳しく見ると、GPT が Chronicle 内から「Romain が誰か」を推論している様子が分かります。内部推論の記述はより明確で、「Memory points to the Google Doc Chronicle docs draft and Romain Huet on Slack(記憶は Google ドキュメントの Chronicle ドラフトと、Slack 上の Romain Huet 氏を指している)」と記されています。
Chronicle の記憶には、直近のドラフトと Romain Huet 氏の Slack ID が記録されていました。
この一連の流れで、「this(これ)」「that(あれ)」「latest(最新)」といった言葉が具体的に何を指すのか、ユーザーは一言も明言していません。Codex がすべてを補完したのです。
シナリオ 3:よく使うツールやワークフローを記憶
3 つ目のシナリオは「Remember tools and workflows(ツールとワークフローの記憶)」です。
ユーザー発言:「Create an empty draft doc for the Chronicle launch copy to share with the team(チーム共有用の Chronicle リaunch コピー用空のドラフト文書を作成して)」
Codex は記憶(memory)を参照し、ユーザーがドラフト作成に Google ドライブを常用していることを把握。即座に Google ドキュメントを作成しました。
Codex はまず memory を確認し、ユーザーがドラフトを Google ドライブに保存する習慣があることを確認。その後、Google Drive ツールを直接呼び出して `Chronicle Launch Copy [DRAFT]` というファイルを作成しました。この際、権限確認のダイアログが表示されています。
対照的に、Chronicle をオフにしたバージョンでは、Codex は「What format should this be? I can draft it here, create a Google Doc, or prepare a Slack post(どのような形式にしますか?ここにドラフトを作成するか、Google ドキュメントを作成するか、Slack 投稿を用意できますが)」と形式を逆質問します。
Chronicle による記憶がなければ、Codex はローンチ告知用の資料をどこに作成すべきか分かりません。
OpenAI 自身の説明によれば、Codex はまず Chronicle でソースを特定し、実際の作業を行う段階で初めて、具体的なファイル、Slack スレッド、Google ドキュメント、ダッシュボード、あるいは PR を読み込みに行くとのことです。
有効化方法
冒頭で述べた Pro プランおよび macOS 限定という条件に加え、「画面収録」と「アクセシビリティ」の権限付与が必要です。
有効手順は以下の通りです:
- 01 Codex の「Settings(設定)」を開く
- 02 「Personalization(パーソナライゼーション)」に進み、「Memories」がオンになっていることを確認する
- 03 Memories の下にある「Chronicle」をオンにする
- 04 確認ダイアログの「Continue」をクリック
- 05 macOS から権限を求められた際、「画面収録」と「アクセシビリティ」を許可する
メニューバーのアイコンからはいつでも一時停止(Pause)または再開(Resume)が可能です。会議の前や機密情報を扱う際は、事前に一時停止することをお勧めします。
技術的詳細
画面のスクリーンショットは $TMPDIR/chronicle/screen_recording/ に保存され、6 時間後に Chronicle 自体によって削除されます。
生成された記憶(memory)は $CODEX_HOME/memories_extensions/chronicle/(デフォルトでは ~/.codex/memories_extensions/chronicle/)に保存されます。
memory 本体は暗号化されていない Markdown ファイルであり、ユーザーによる閲覧・編集・削除が可能です。OpenAI は新規エントリの手動追加は推奨していませんが、一部の修正や削除はサポートされています。
memory 生成に使用されるモデルは、デフォルトでは Codex が使用するモデルと同一です。変更したい場合は config.toml で以下のように設定可能です。
toml
[memories]
consolidation_model = "gpt-5.4-mini"
Codex は即座に memory を生成するわけではなく、アクティブなセッションはスキップし、認証キー類の機密情報はフィルタリングされます。スレッドがしばらく非アクティブになってから、バックグラウンドで書き込みが行われます。
リスクと代償
公式ドキュメントでは、以下の 3 つのリスクが挙げられています。
1. レートリミット:Chronicle はバックグラウンドでサンドボックス化されたエージェントを稼働させ続けるため、利用枠(枠)を急速に消費します。OpenAI は「uses rate limits quickly(急速にレートリミットを消費する)」と明記しています。
2. プロンプトインジェクション:画面上に悪意のあるエージェント命令を含むウェブページなどが表示された場合、Codex がその画面の指示に従って動作する可能性があります。
3. データの可視性:memory ファイルは暗号化されていないため、同一 PC 上の他のアプリケーションからこれらのファイルを読み取られる可能性があります。
マイクやシステム音声は Chronicle によって取得されず、取得されるのはスクリーンショットのみです。OpenAI は特に、他者の同意なしに会議を録画・記録しないよう注意を促しています。
Chronicle が memory 生成のために処理を行う際、選択されたスクリーンショット、OCR で抽出されたテキスト、タイムスタンプ、ローカルファイルパスが OpenAI サーバーへ送信されます。処理完了後、スクリーンショットは保持されず、トレーニングにも使用されません。
なぜ現在は「リサーチプレビュー」なのか
公式ブログによると、「今後は、OpenAI は Codex をソフトウェアエンジニア以外のビルダーにとっても有能なツールへと発展させており、Chronicle はその目標に向けた一歩です」と述べています。
公式 X(旧 Twitter)では、「どこで最も役立つかを学び、体験を向上させるため(while we learn where it helps most and improve the experience)」としています。
したがって、今回のバージョンはオプトイン方式となっており、試したい Pro ユーザーが設定画面から自ら有効化する形をとっています。
参考資料
- → Chronicle 公式ドキュメント:developers.openai.com/codex/memories/chronicle
- → Memories 公式ドキュメント:developers.openai.com/codex/memories
- → Codex 公式ブログ:openai.com/index/codex-for-almost-everything
- → OpenAI Developers X:x.com/OpenAIDevs