図:OpenAI Codexの起動画面
かつてClaude Codeを絶賛していた菅野完が,Codexに乗り換えるというので,さっそく追随してみた。AIによるプログラム開発支援モードである。
まずは,brew install codex でインストールしたところ,既にnpmで入っていたものとぶつかってしまう(どこかで見た風景)。仕方がないので,アンインストールしてから,brew install --cask codex でOK。ターミナルで,codexとすると,図の実行画面になる。
macOSにはWebインターフェースのcodexアプリ版もあるのだけれど,ChatGPTには,CLI版を使うようにアドバイスされた。Claude CodeとCodexの違いも聞いたのだが,Claude Codeは親切な対話型でコードのレベルも高くコンテキストウィンドウも大きい。しかし,トークンが嵩みコストが高すぎるのがネックだ。Codexは自動型でどんどん進んでいくが(ちょっと速すぎてこわかった),トークンコストは低いし,OpenAI Plusで無料で利用できる部分もある。
実行例として,日本語Wikipediaからテンプレートとモジュールと抽出するコードで試した。
Codex CLIのコマンドラインでの結果をClaudeでまとめてもらったものが,以下である。
A(Claude):
OpenAI Codex(GPT-5.5搭載)を使用して、日本語版Wikipediaからテンプレート使用状況を抽出するCLIツールを作成した過程をまとめました。
1.開発環境の準備と要件定義
まずはプロジェクト用のディレクトリを作成し、仮想環境を有効化してCodexを起動します。
```bash
source ~/myenv/bin/activate
pwd
# /Users/koshi/jawiki-template-test
codex
```
依頼内容:
・Wikipedia APIからwikitextを取得し、テンプレート名と出現回数をCSV出力するPythonツール。
・ `extract_templates.py`, `articles.txt`, `requirements.txt`, `README.md` の4ファイルを作成。
2.実装フェーズ(一括生成)
Codexがリポジトリ内を確認し、既存ファイルがないことを把握した上で、一気に4つのファイルを生成しました。
> **Codexの判断:**
> 「フォルダ内には既存ファイルがないようです。API取得、簡易テンプレート抽出、CSV出力、READMEの最小構成で実装します。」
メインロジックである `extract_templates.py` では、MediaWiki APIへのリクエスト処理が実装されました。
```python
# APIリクエスト部分の引用
params = {
"action": "query",
"format": "json",
"prop": "revisions",
"titles": title,
"rvprop": "content",
"rvslots": "main",
"redirects": "1",
}
```
3.ユニットテストと動作検証
ファイル生成後、Codexは自律的に「コードが動くか」のチェックを開始します。
・構文チェック: `python -m py_compile` でエラーがないか確認。
・ロジック検証: ネットワークを使わずに、正規表現によるテンプレート抽出が正しく機能するかテスト。
```bash
# 抽出ロジックのテスト実行
python -c "from extract_templates import extract_template_names; \
print(extract_template_names('{{Infobox|x={{small|a}}}} text {{テンプレート:出典の明記}}'))"
# 出力結果: ['Infobox', 'small', '出典の明記']
```
4.ネットワーク接続テスト(実機確認)
最後に、実際にWikipediaのサーバーへ接続して記事(「日本」「東京」)のデータを取得できるかテストします。一度ネットワークエラーが出たものの、権限を承認して再実行。
```bash
python extract_templates.py --input articles.txt --output template_usage.csv
# Fetching: 日本
# Fetching: 東京
# Wrote template_usage.csv
```
5.仕上げ(クリーンアップ)
動作確認のために生成された一時ファイル(`template_usage.csv` や `__pycache__`)を、Codexが「依頼外のファイルである」と判断して自動的に削除しました。
> **Codexの配慮:**
> 「動作確認で CSV が生成されましたが、依頼された作成対象は4ファイルなので、成果物サンプルは残さず削除しておきます。」
まとめ
最新のGPT-5.5モデルを搭載したCodexは、単にコードを書くだけでなく、「環境確認 → 実装 → テスト → 修正 → 掃除」という一連のエンジニアリング工程を自律的に完遂しました。
最終的に、指定通りの4ファイルが揃ったクリーンな状態で作業完了となりました。
0 件のコメント:
コメントを投稿