CodexをVS Codeに導入してみた|Windowsの権限エラーに苦戦した解決記録

CodexをVS Codeに導入してみた|Windowsの権限エラーに苦戦した解決記録【AI株ツール開発】 AIツール

これまでChatGPTを使いながら、日本株の投資支援・自動売買ツールを作ってきました。

私はプログラミング未経験なので、これまでの開発方法はかなりアナログでした。

ChatGPTにコードを書いてもらう
↓
VS Codeへ自分でコピペする
↓
実行する
↓
エラーが出る
↓
スクショを撮る
↓
ChatGPTに送る
↓
修正方法を教えてもらう

この方法でも開発自体は進められました。

実際、このやり方で株価データの取得やテクニカル指標の計算、複数銘柄分析、バックテストなどを少しずつ作っています。

ただ、開発が進むにつれて一つ疑問が出てきました。

「ChatGPTにコードを書いてもらって自分でコピペするのではなく、AIが直接VS Codeのコードを修正してくれないのか?」

そこで今回、開発環境にCodexを導入することにしました。

会社のPCでは比較的すんなり使い始めることができたので、自宅のWindows PCでも簡単に導入できると思っていたのですが、実際にはWindowsの権限やSandbox周りでかなり苦戦しました。

最終的にはCodexが、

  • 既存コードを調査
  • ソースコードを直接編集
  • Pythonを実行
  • バックテスト結果を確認
  • Gitへcommit
  • GitHubへpush

するところまでできるようになりました。

今回は、Codex導入から実際の日本株AIツール開発に使えるようになるまでに、どこで詰まったのかを実体験ベースでまとめます。

これまでの開発は「ChatGPT+コピペ」

Codexを導入するまで、基本的にはChatGPTとVS Codeを行き来しながら開発していました。

例えばChatGPTから、

「この部分を次のコードに変更してください」

と言われたら、自分で対象ファイルを開いてコードを貼り付けます。

ただ、プログラミング未経験だと、コードをもらっただけでは終わりません。

「このコードはどのファイルに貼るのか?」

「どの部分を削除して、どこから貼ればいいのか?」

「貼り付けた場所は本当に合っているのか?」

「実行するコマンドは何なのか?」

これらも毎回確認する必要があります。

そのため、VS Codeのスクリーンショットを撮ってChatGPTへ送り、

「ここで合っている?」

と確認しながら進めていました。

この方法でも開発はできます。

ただ、コード量が増えるにつれて、コピペとスクリーンショット確認の回数もかなり増えてきました。

Codexならリポジトリを直接見てくれる?

そこで導入することにしたのがCodexです。

今回対象にしたのは、これまで作ってきた日本株AI開発用のリポジトリです。

C:\Users\<ユーザー名>\japan-stock-ai

CodexをVS Codeの開発環境で使える状態にし、既存のプロジェクトも認識されました。

ここまでは順調でした。

「これでChatGPTからコードをコピペする作業から解放されるかもしれない」

と思ったのですが、最初の確認で問題が発覚します。

Codexからファイルを確認することはできても、

ファイルシステム:読み取り専用

となっていました。

つまり、

コードは読めるけれど、Codex自身がコードを書き換えることはできない

状態です。

「Approve for me」に変更できない

最初に確認したのがCodexの承認設定です。

Codexには、

  • Ask for approval
  • Approve for me
  • Full access
  • Custom(config.toml)

などの設定があります。

毎回自分で承認するより、Codexにある程度作業を任せたかったため、「Approve for me」へ変更しようとしました。

ところが、

「Approve for me」をクリックしてもチェックマークが付かない。

クリック自体はできます。

しかし、設定が「Approve for me」に切り替わりません。

何度確認してもCodex側は読み取り専用のままです。

この時点では、承認設定と実際のファイル書き込み権限が別の仕組みであることも理解していませんでした。

ここから権限設定を調べることになりました。

導入だけでこんなに詰まるとは思わなかった

会社のPCに導入したときは比較的すんなり使えたため、自宅のWindows PCでも同じように進められると思っていました。

ところが、権限設定で「Approve for me」を選んでも設定を変更できません。

さらにエラーが出るたびにChatGPTへ聞いて対処していましたが、指示されたコマンドをPowerShellに入力するのか、Codex側に入力するのかも分からず、途中でかなり混乱しました。

プログラミング未経験者にとっては「何を入力するか」だけではなく、

「それをどこに入力するのか」から確認が必要

でした。

config.tomlを変更してみる

次に確認したのがCodexの設定ファイルです。

今回のWindows環境では、

C:\Users\<ユーザー名>\.codex\config.toml

に設定ファイルがあります。

ChatGPTに確認しながら設定項目を変更していき、最終的にはCodex側でも、

Custom(config.toml)

として設定が認識されるところまで進みました。

これで書き込みできると思ったのですが、Codexから確認すると、

ファイルシステム:読み取り専用

のまま。

ネットワークにも制限がある状態でした。

つまり、

config.tomlを書き換えただけでは解決しませんでした。

「Update Agent sandbox to continue」が発生

さらに設定変更後、Codexへメッセージを送ろうとすると、今度は別のエラーが発生しました。

Unable to send message

Update Agent sandbox to continue

さらに画面には、

Finish Windows setup to continue

と表示されました。

ここまで来て、

問題はCodexの設定ファイルだけではなく、Windows側のSandbox環境にもあるのではないか

という可能性が出てきました。

Windowsセットアップでもエラー

そこでCodexのWindowsセットアップを実行します。

WindowsのUACで、

「このアプリがデバイスに変更を加えることを許可しますか?」

という確認が複数回表示されました。

さらに途中では、

「指定されたモジュールが見つかりません。」

というエラーまで発生。

Codex内部の、

codex-windows-sandbox-setup.exe

に関連したエラーでした。

設定を変更しても直らない。

Windowsセットアップを実行してもエラー。

ここで、闇雲に設定を変更するのではなく、Codex環境そのものを診断することにしました。

codex doctorで原因が見えてきた

ターミナルから、

codex doctor

を実行しました。

するとSandboxについて、

elevated Windows sandbox provisioning is incomplete or outdated

さらに、

sandbox provisioning: incomplete

と表示されました。

ここでようやく原因がかなり絞れました。

Codex本体やPython、Gitそのものが原因ではなく、

Windows用Sandboxのプロビジョニングが正常に完了していなかった

可能性が高いことが分かりました。

この診断ではGit、VS Code、Codex本体、認証、ネットワーク接続などは正常であることも確認できました。

【Codex導入時のエラー→codex doctorで原因を確認→Sandbox正常化まで】

Approve for meの設定から始まり、Windows Sandbox周りでエラーが続きました。codex doctorを実行したことで、Sandboxのプロビジョニングが正常に完了していないことを確認できました。

管理者PowerShellからSandboxを設定

原因がSandboxにありそうだと分かったため、管理者権限でWindows PowerShellを起動しました。

最初に実行したのが、

codex sandbox setup --elevated

です。

ところが、これも一発では通りません。

required arguments were not provided

と表示され、

--user <USER>

または、

--current-user

が必要だと分かりました。

そこで、

codex sandbox setup --elevated --current-user

を実行。

今度は、

Windows elevated sandbox setup completed for <ユーザー名>

と表示され、セットアップ自体は完了しました。

ただし、その後も診断ではincompleteが残りました。

PCを再起動しても直らなかった

設定を変更したため、一度PCを再起動しました。

しかし、再起動後に確認してもエラーの状態は変わりませんでした。

そこで再びSandbox周りを確認し、管理者PowerShellからセットアップをやり直しました。

最終的には、ユーザーとCodexのホームディレクトリを明示して、

codex sandbox setup --elevated --user <ユーザー名> --codex-home C:\Users\<ユーザー名>\.codex

まで実行しました。

その後、再度、

codex doctor

を実行。

それまで警告になっていたSandboxが、

✓ sandbox

へ変化しました。

最終的な診断結果も、

18 ok / 0 fail

となりました。

ここでようやくWindows Sandboxのセットアップ問題が解消されたことを確認できました。

Microsoft DefenderやWindows Dev Driveに関する警告は残っていましたが、今回Codexを使用するうえで動作を止めるエラーではなかったため、そのまま開発を進めることにしました。

本当にCodexからコードを書き換えられるのか?

環境構築が終わっても、実際の開発に使えなければ意味がありません。

そこで、これまで作ってきた日本株AI投資支援ツールの開発をCodexへ依頼しました。

今回実施したのはStep36-2。

対象ファイルは、

backtest/simple_backtest.py

です。

これまでバックテスト結果として保持していた情報を拡張し、1取引ごとの詳細データを保存できるようにします。

重要なのは、

既存のBUY/SELL判定ロジックは変更しない

という条件です。

Codexにはまず既存コードを調査させ、そのうえで必要な部分だけを修正してもらいました。

Codexが直接コードを編集した

Codexがコードを解析し、取引結果として、

  • buy_date
  • sell_date
  • buy_price
  • sell_price
  • profit
  • profit_rate
  • holding_days
  • buy_score

を保存するように変更しました。

損益率は、

profit_rate = (sell_price - buy_price) / buy_price × 100

として算出。

BUYからSELLまでの日数もholding_daysとして記録します。

これまで自分で行っていた「対象ファイルを探してコードを貼り、正しく変更できたか確認する」という作業を、今回はCodex自身が既存コードを確認して直接修正しました。

コードを変えたらバックテスト結果も変わってしまう?

今回の修正では、取引結果として保存する情報を増やしています。

ただ、既存の売買判定ロジックまで変わってしまっては困ります。

そこでCodexに、変更前後でバックテスト結果が変わっていないかまで確認してもらいました。

結果は、

項目結果
決済済み取引12回
勝ち7回
負け5回
勝率58.3%
平均損益1,109
最大利益6,055
最大損失-2,592
合計損益13,310

以前のバックテスト結果と一致しました。

つまり、

保存する情報は増えたが、既存の売買判定・バックテスト結果は変わっていない

ことを確認できました。

単にAIにコードを書かせるだけではなく、

「変更によって既存機能が壊れていないか確認する」

ところまで任せられたのは大きな変化でした。

最後のGit操作でもまた権限エラー

これで終わりかと思ったのですが、最後にもう一度エラーが出ました。

コード編集とバックテストが正常に完了したので、CodexへGitのステージングを依頼。

するとgit addで、

fatal: Unable to create '.git/index.lock': Permission denied

が発生しました。

Sandboxを正常化した後でも、.gitへの書き込みでは追加の権限処理が必要でした。

Codexはそのまま勝手に処理を続けるのではなく、権限承認付きで再実行。

その結果、

backtest/simple_backtest.py

だけを正常にステージできました。

Codexからcommit→pushまで成功

最後はCodexに、

  • ステージ対象の確認
  • git diff --cached
  • commit
  • git push
  • git status
  • 直近のgit log

まで実行してもらいました。

最終的に作成されたcommitは、

497a543 Step36-2: store structured trade results

です。

origin/mainへのpushも成功。

ローカルのmainとorigin/mainが同期していることまで確認できました。

また、未追跡だった、

data/8035_backtest.csv

には触れず、今回変更したPythonファイルだけをGitHubへ反映できました。

【Codexによるコード変更→バックテスト→commit→push成功】

Sandbox問題を解決した後は、Codexが既存コードを確認して直接修正。バックテストで既存ロジックへの影響を確認し、最後はGitHubへのpushまで実行できました。

ChatGPT+コピペから何が変わった?

実際にCodexを使えるようになると、一番大きかったのはAIと自分の間でコードを受け渡す作業が減ったことでした。

これまではChatGPTから修正コードを受け取り、自分で対象ファイルを探して貼り付け、実行結果を再びChatGPTへ渡していました。

Codexでは、

目的と条件を伝える
↓
既存コードを調査
↓
必要なファイルを編集
↓
テストを実行
↓
結果を確認
↓
必要ならGitへcommit・push

というところまで同じ開発環境内で進められます。

もちろん、何でも完全に放置できるわけではありません。

今回もGit操作では権限承認が必要でしたし、変更後の結果が意図したものになっているかは人間側でも確認する必要があります。

それでも、プログラミング未経験の自分にとって、コードを貼る場所や操作手順を毎回確認する作業が減ったことは大きな変化でした。

初心者にはCodex導入が簡単とは言い切れない

今回の経験だけを見ると、

「Codexを入れれば初心者でもすぐ簡単に開発できる」

とは言い切れません。

特に今回のWindows環境では、

Codexの承認設定
↓
config.toml
↓
Windows Sandbox
↓
PowerShell
↓
Gitの書き込み権限

と、複数の設定や権限が関係していました。

プログラミング未経験者からすると、

「このコマンドを実行してください」

と言われても、

「それをCodexに入力するのか、VS Codeのターミナルなのか、管理者PowerShellなのか」

から分からないことがあります。

この部分は、実際に導入してみて想像以上に難しく感じました。

一方、一度環境を構築できてしまえば、開発そのものはかなり楽になりました。

困ったときにcodex doctorが役立った

今回のトラブルで特に役立ったのが、

codex doctor

でした。

最初は、

「Approve for meに変更できない」

「config.tomlを変えても読み取り専用」

「Windowsセットアップでもエラー」

と問題が次々に出てきて、何が原因なのか分からなくなっていました。

そこで環境全体を診断したことで、

sandbox provisioning: incomplete

と表示され、Sandbox側に問題があることを切り分けられました。

今回と同じエラーがすべての環境で発生するとは限りません。

また、今回記載しているコマンドや設定は、2026年9月時点で私のWindows環境で実際に行った内容です。

Codex側の仕様変更や環境の違いによって、同じ方法がそのまま使えるとは限りません。

ただ、今回のように原因不明の問題が発生した場合、

まず現在の環境が正常なのか確認する

という意味で、診断結果はかなり参考になりました。

まとめ:導入には苦戦したが、開発方法は変わった

今回、日本株AI投資支援・自動売買ツールの開発環境へCodexを導入しました。

実際には、

  • Approve for meへ変更できない
  • 読み取り専用
  • config.tomlでも解決しない
  • Update Agent sandbox to continue
  • Windows Sandboxセットアップでエラー
  • sandbox provisioning incomplete
  • setupコマンドの引数不足
  • PCを再起動しても改善しない
  • GitでPermission denied

と、かなりの数の問題に遭遇しました。

最終的にはSandboxの設定を見直し、

codex doctor

で、

18 ok / 0 fail

を確認できました。

その後は実際の日本株AIプロジェクトでCodexにStep36-2を依頼し、既存コードの直接編集、バックテストによる確認、GitHubへのcommit・pushまで実行できました。

導入だけを見ると、プログラミング未経験者には決して簡単ではありませんでした。

ただ、一度使える状態になると、これまで人間が担当していた「AIからコードを受け取って開発環境へ反映する作業」がかなり減りました。

まだCodexを使い始めたばかりなので、本当に開発効率がどこまで上がるのかはこれからです。

今後も実際の日本株AIツール開発でCodexを使いながら、どこまでAIに開発を任せられるのか試していきます。

コメント

タイトルとURLをコピーしました