調査させる
↓
変更させる
↓
diffを見る
↓
実行させる
┌─────────────────────┐
│ ① 目的 │ 何を実現したい?
│ ② 現状 │ 今どうなっている?
│ ③ 制約 │ 何を守る?
│ ④ 完成条件 │ 何なら完成?
│ ⑤ 確認方法 │ どう検証する?
└─────────────────────┘
↓
Codex
長い指示
判断に必要な情報が明確な指示
CSVツールを改善してください。
文字コード対応?
速度改善?
GUI改善?
エラー処理?
コード整理?
ログ追加?
CSVプログラムをいい感じに直してください。
csv_utils.pyを改善してください。
CSVファイルが存在しない場合に、
利用者に分かりやすいエラーを表示してください。
それ以外の機能は変更しないでください。
【目的】
CSVファイルが存在しない場合でも
プログラムが異常終了しないようにする。
【現状】
csv_utils.py の read_csv() で
CSVファイルを読み込んでいる。
【制約】
・既存の正常系の動作を変えない
・GUIは追加しない
・外部ライブラリを追加しない
・変更は必要最小限とする
【完成条件】
存在しないCSVを指定した場合、
利用者にファイルが存在しないことが分かる。
【確認方法】
正常なsample.csvと
存在しないnot_found.csvの両方で実行し、
結果を報告する。
なぜ、この変更をするのか?
【目的】
CSV読み込み時のエラーを
利用者に分かりやすくする。
try-exceptを追加してください。
存在しないCSVを指定しても、
利用者が原因を理解できるようにしたい。
人間
↓
目的を伝える
Codex
↓
実装方法を検討
今どうなっているか?
【現状】
main.pyから
csv_utils.pyのread_csv()を呼び出しています。
read_csv()ではUTF-8固定で
CSVを読み込んでいます。
【現状】
このプロジェクトのCSV読み込み処理を調査してください。
現在の実装を確認したうえで変更してください。
あなたが知っている現状
+
Codex自身のコード調査
↓
より正確な現状把握
何をしてはいけないか/何を守る必要があるか
【制約】
・main.pyの動作は変更しない
・GUIは変更しない
・外部ライブラリを追加しない
・Python 3.12で動作させる
・変更範囲は必要最小限
新機能を追加した
↓
でも既存機能が壊れた
「何を変えてほしいか」
「何を変えてほしくないか」
CSV文字コード判定を追加してください。
【変更禁止】
Tkinterの画面レイアウト、
ボタン配置、
ウィンドウサイズ、
既存メッセージについては変更しないでください。
「できました」
【完成条件】
次のCSVを読み込めること。
・UTF-8
・UTF-8 BOM付き
・CP932
読み込んだデータは
すべて同じ形式で処理できること。
文字コードに強くしてください。
できた?
↓
YES / NO
□ UTF-8を読み込める
□ CP932を読み込める
□ ファイル不存在で異常終了しない
□ 既存GUIが変わっていない
□ 外部ライブラリを追加していない
□ コードをきれいにする
□ 使いやすくする
□ 高品質にする
何なら完成か?
それをどうやって確かめるか?
【完成条件】
CP932のCSVを正常に読み込めること。
【確認方法】
input/test_cp932.csvを使って
main.pyを実行する。
読み込み結果と件数を確認する。
目的
↓
実装
↓
完成条件
↓
確認方法
↓
結果
【目的】
【現状】
【変更内容】
【制約】
【完成条件】
【確認方法】
【目的】
CSVファイルの文字コードの違いによる
読み込みエラーを減らしたい。
【現状】
現在のCSV読み込み処理を調査してください。
UTF-8固定になっている箇所と、
その処理を利用している箇所を確認してください。
【変更内容】
UTF-8とCP932のCSVを
読み込めるようにしてください。
【制約】
・既存の正常系の動作を維持する
・GUIは変更しない
・変更範囲は必要最小限
・不要なリファクタリングは行わない
【完成条件】
UTF-8とCP932のCSVの両方を
正常に読み込めること。
【確認方法】
UTF-8のテストCSVと
CP932のテストCSVを用意して実行してください。
実行したテストと結果を報告してください。
【目的】
【現状】
【変更内容】
【制約】
【完成条件】
【確認方法】
main.pyの表示を
「3 rows」から「3件」に変更してください。
それ以外は変更しないでください。
変更後に実行してください。
小さい仕事
↓
短い指示
大きい仕事
↓
構造化した指示
CSV文字コード処理を調査してください。
まだコードは変更しないでください。
関係するファイル、
現在の処理、
問題点、
変更候補を報告してください。
では、その調査結果をもとに
変更計画を作ってください。
まだ実装しないでください。
その計画で実装してください。
変更後にテストを実行し、
変更内容とテスト結果を報告してください。
Explore
↓
Plan
↓
Implement
↓
Test
↓
Review
問題を見つけた → 直す
まず原因だけ知りたい
まず調査だけしてください。
まだファイルを変更しないでください。
実装に必要な情報が不足している場合は、
推測して実装せず、
先に質問してください。
不明点
↓
Codexが質問
↓
人間が回答
↓
実装
会社名が存在しない場合は
適当に補完してください。
データ仕様が不明な場合は推測しないでください。
不明点を列挙し、
実装前に確認してください。
変更対象:
csv_utils.py
必要な場合のみ:
main.py
変更禁止:
GUI関連ファイル
project/
├─ main.py ← 必要なら変更
├─ csv_utils.py ← 変更OK
├─ gui.py ← 変更禁止
├─ config.py
└─ ...
作業完了後、次の形式で報告してください。
1. 原因
2. 変更したファイル
3. 変更内容
4. 実行したコマンド
5. テスト結果
6. 残っている問題
CSVファイル不存在時の処理を改善する
CSV処理を改善してください。
CSVファイルが存在しない場合の
エラー処理を追加してください。
既存機能は変更しないでください。
【目的】
CSVファイル不存在時の
エラーを分かりやすくする。
【現状】
現在のCSV読み込み処理を
最初に調査してください。
【変更内容】
存在しないCSVが指定された場合の
処理を追加する。
【制約】
既存の正常系を変更しない。
外部ライブラリを追加しない。
必要最小限の変更とする。
【完成条件】
存在しないCSVを指定しても、
原因が分かること。
【確認方法】
正常なCSVと存在しないCSVの
両方で実行する。
変更内容と実行結果を報告する。
| 観点 | A | B | C |
|---|---|---|---|
|
意図通りの変更か
|
? | ? | ? |
|
不要な変更があったか
|
? | ? | ? |
|
Codexの判断が分かりやすいか
|
? | ? | ? |
|
完成を確認できるか
|
? | ? | ? |
|
テストされたか
|
? | ? | ? |
プロンプトの違いによってCodexの行動がどう変わるか
UTF-8とCP932のCSVを読み込めるようにする
この要件を実装する前に、
現在のCSV読み込み処理を調査してください。
まだ変更しないでください。
関係するファイルと、
現在の文字コード処理を説明してください。
UTF-8とCP932のCSVに対応する場合の
実装方法を考えてください。
まだ変更しないでください。
複数の方法がある場合は、
それぞれのメリット・デメリットを説明してください。
では、その方法で実装してください。
【制約】
・既存の正常系を維持
・GUI変更禁止
・不要な外部ライブラリを追加しない
・変更は必要最小限
【完成条件】
UTF-8とCP932のCSVを読み込める。
【確認方法】
両方の文字コードのテストCSVで実行し、
結果を報告してください。
人間
↓
どう実装する?
↓
コードを書く
↓
デバッグ
人間
↓
何を実現する?
↓
何を守る?
↓
何なら完成?
↓
Codex
↓
どう実装する?
↓
コード変更
↓
検証
↓
人間
↓
結果を判断
□ 何を実現したいか明確?
□ Codexは現状を把握できる?
□ 変更してはいけないものは明確?
□ 何をもって完成とする?
□ どう確認する?
□ 不明な仕様を勝手に推測させていない?
□ 変更範囲が大きすぎない?
【目的】
何を実現したいのか
【現状】
現在どうなっているのか
必要ならCodex自身に調査させる
【変更内容】
今回何を変更するのか
【制約】
変更禁止事項
使用環境
互換性
変更範囲など
【完成条件】
何ができれば完成なのか
【確認方法】
どのようにテストするのか
【作業手順】
必要なら、
1. 調査
2. 計画
3. 実装
4. テスト
5. 結果報告
の順に実施する。
Codexが仕事を完了するために必要な情報は何か?
| 用語 | 意味 |
|---|---|
| Goal / 目的 | 最終的に実現したいこと |
| Context / 現状 | 判断材料となる現在の状態 |
| Constraint / 制約 | 守るべき条件 |
| Scope / 範囲 | 今回扱う対象 |
| Acceptance Criteria / 完成条件 | 完成と判断する基準 |
| Verification / 確認 | 完成条件を検証する方法 |
| Explore | 現状を調査する |
| Plan | 実装方法を計画する |
| Implement | 実装する |
| Review | 変更結果を確認する |
CSV変換ツールをUTF-8、CP932に対応させたい。現在動いている機能は壊したくない。
【目的】
【現状】
【変更内容】
【制約】
【完成条件】
【確認方法】
調査
↓
計画
↓
人間が確認
↓
実装
↓
テスト
↓
diff確認
STEP 0
Codexとは何か
↓
Agentを理解
STEP 1
VS Code + Codex
↓
Read / Write / Executeを体験
STEP 2
指示の書き方
↓
Codexの仕事をコントロール
main.py
を質問する段階から進んで、 複数ファイルからなる既存プロジェクトをCodexに調査させ、「どこから実行され、どのモジュールが何を担当し、データがどう流れているのか」を把握する方法を学習します。アンソロピックのIPO目論見書の件 KIM… 2026.10.02
Microsoft Foundry Localを使って NPU付… 2026.09.29
ClaudeCodeもCodexもGoogle AIも全部やめ… 2026.09.28
PR
Calendar
Category