Codex: Codex 入門ガイド
最終更新:2026-08-31
Codex がインストールされたので、実際に使い始めましょう。このレッスンでは、最初のタスク提出と基本操作のワークフローを説明します。
📋 前提条件: Codex がインストールされ、ログイン済み(前のレッスンを参照)
1. 学ぶ内容
- Codex の初回起動
- 基本的なタスク提出ワークフロー
- 結果の確認とレビュー
- 一般的なインタラクション
2. 初回起動
(1) プロジェクトの準備
BASH
# テストプロジェクトを作成
mkdir my-first-codex && cd my-first-codex
# シンプルな Python プロジェクトを初期化
echo 'def greet(name):\n return f"Hello, {name}!"' > app.py
(2) Codex の起動
BASH
codex
初回起動時、ウェルカム画面が表示されます。Yes, continue を選択して進みます。
(3) 最初のタスクを提出
入力ボックスに以下を入力します:
TEXT
📖 参照専用
Add unit tests to app.py using the pytest framework
Codex の実行プロセス:
TEXT
📖 参照専用
1. Reading app.py...
2. Creating test_app.py with pytest test cases
3. Running: pytest test_app.py
4. All tests passed ✓
▶ 例1:Bob の初回使用
Bob はバックエンド開発者で、初めて Codex を試しています:
BASH
cd bob-flask-api
codex
# Bob が入力:
# "Add input validation to all API endpoints using marshmallow"
# Codex 出力:
# → Scanning 15 API endpoint files...
# → Installing marshmallow...
# → Creating schemas/ directory...
# → Adding validation to 15 endpoints...
# → Running tests: 34/34 passed ✓
3. 基本操作ワークフロー
(1) 完全なワークフロー
graph TB
A[プロジェクトディレクトリに入る] --> B[codex を起動]
B --> C[タスクの説明を入力]
C --> D[Codex が分析・理解]
D --> E[操作を実行]
E --> F[結果を確認]
F --> G{満足?}
G -->|いいえ| H[追加指示]
H --> D
G -->|はい| I[セッション終了]
(2) タスク提出フォーマット
TEXT
📖 参照専用
# 良いタスクの説明
codex "Fix the login bug in user.py, ensure tests pass"
codex "Refactor utils.js to TypeScript, keep functionality consistent"
codex "Add pagination to orders API, 20 items per page"
# 悪いタスクの説明
codex "Help me write code"
codex "Fix bug"
codex "Optimize something"
(3) 効果的なプロンプトの原則
| 原則 | 説明 | 例 |
|---|---|---|
| 明確な目標 | 何をすべきかを正確に述べる | "change auth" ではなく "Add JWT authentication" |
| コンテキストの提供 | 関連ファイルを参照 | "Follow the style in auth.py" |
| 検証を含める | 結果の検証方法を指定 | "Ensure all tests pass" |
| 段階的に | 複雑なタスクをステップに分解 | "Step 1: Create model; notify me when done" |
4. インタラクティブ操作
(1) 一般的な操作
| 操作 | 説明 |
|---|---|
| テキスト入力 | 新しいタスクや追加指示を提出 |
Y / N |
Codex の操作を確認または拒否 |
Ctrl+C |
現在の操作を中断 |
/help |
ヘルプ情報を表示 |
/clear |
会話履歴をクリア |
/new |
新しいセッションを開始 |
(2) 追加指示
Codex がタスクを完了した後、追加し続けることができます:
TEXT
📖 参照専用
# 最初のタスク
> Add logging to app.py
# 追加
> Change log level to DEBUG
# さらに追加
> Output logs to file instead of console
▶ 例2:Alice の反復開発
TEXT
📖 参照専用
# Alice が段階的に機能を洗練
> Create a FastAPI project skeleton
✓ Created main.py, routers/, models/
> Add user registration API
✓ Created /api/register endpoint
> Add email verification to registration API
✓ Added email verification flow
> Write integration tests
✓ Created test_register.py, 5 tests passed
5. 結果の確認とレビュー
(1) コード変更のレビュー
Codex がファイルを変更した後、diff ビューが表示されます:
DIFF
- def greet(name):
- return f"Hello, {name}!"
+ def greet(name: str) -> str:
+ """Greet a person by name."""
+ if not name:
+ raise ValueError("Name cannot be empty")
+ return f"Hello, {name}!"
(2) テスト結果の確認
BASH
# Codex は自動的にテストを実行し結果を表示
Running pytest test_app.py...
✓ test_greet_normal - PASSED
✓ test_greet_empty - PASSED
✓ test_greet_type_hint - PASSED
3 passed, 0 failed
(3) 確認またはロールバック
- 確認:Codex の変更を受け入れて続行
- ロールバック:
git checkout -- .でコミットされていないすべての変更を取り消し
6. マルチファイル操作
▶ 例3:プロジェクトレベルのリファクタリング
TEXT
📖 参照専用
> Migrate Express project to Fastify, replace all route definitions, ensure tests pass
# Codex の実行プロセス:
# → Scanning 45 files for Express patterns
# → Converting route definitions (32 routes)
# → Updating middleware (8 files)
# → Running test suite: 89/89 passed ✓
# → Updating package.json
# → Final test run: 89/89 passed ✓
7. 実践的なヒント
| ヒント | 説明 |
|---|---|
git init でプロジェクトを初期化 |
Codex の変更を簡単にロールバックできる |
| タスク提出前にテストを実行 | 動作するベースラインを確保 |
| 小さな増分で提出 | 一度に1つのタスク |
| すべての変更をレビュー | 盲目的に変更を受け入れない |
| 追加指示を効果的に使用 | 一発で完璧にするより反復の方が確実 |
❓ よくある質問
Q Codex が間違ったファイルを変更した場合はどうすればよいですか?
A
git checkout -- <file> で特定のファイルを復元するか、git checkout -- . ですべての変更を取り消します。そのため、最初に git init でプロジェクトを初期化することをお勧めします。Q タスクに時間がかかりすぎる場合はどうすればよいですか?
A
Ctrl+C で中断し、より具体的な指示で再提出するか、タスクをより小さなステップに分解してください。Q Codex が私の意図を誤解した場合はどうすればよいですか?
A 修正指示を直接追加してください。「X のことであり、Y ではない」と言えば、Codex は更新されたコンテキストに基づいて修正します。
Q 日本語で Codex とコミュニケーションできますか?
A はい、Codex は複数の言語をサポートしています。ただし、英語の方が一般的に良い結果が得られます。複雑なタスクには英語での説明をお勧めします。
Q 毎回プロジェクトをゼロから説明する必要がありますか?
A いいえ。Codex は自動的にプロジェクトファイルをコンテキストとして読み取ります。同じセッション内の会話履歴も保持されます。
📖 まとめ
- 基本ワークフロー:プロジェクトに入る → codex 起動 → タスク入力 → 結果レビュー
- 効果的なプロンプト:明確な目標 + コンテキストの提供 + 検証を含める
- 追加指示を使用した反復開発
- git でプロジェクトを管理し、誤った変更を簡単にロールバック
- 小さな増分で提出し、すべての変更をレビュー
📝 練習問題
- 基本 (⭐):シンプルなプロジェクトを作成し、Codex を使ってユニットテストを追加する。
- 中級 (⭐⭐):反復的に機能を完成させる:スケルトン作成 → 機能追加 → エラー処理の改善。
- 上級 (⭐⭐⭐):意図的に曖昧な指示を Codex に与え、どのように解釈するかを観察し、追加指示で結果を修正する — 全プロセスを文書化する。