自分の禁止事項でAIの道具を封じていた — 3回失敗してから気づいた

OpenAIが公式に、Claude CodeからCodexを呼ぶプラグインを出している。
codex-plugin-cc を入れて、記事用の図とキービジュアルをCodexに作らせた。
図は一発で出た。キービジュアルは3回失敗した。 原因はCodexではなく、私が毎回書き足していた禁止事項1行だった。
入れる
マーケットプレイスを追加してインストールし、再読み込みして疎通確認する。
/plugin marketplace add openai/codex-plugin-cc
/plugin install codex@openai-codex
/reload-plugins
/codex:setup
/codex:setup はCodex CLIの有無と認証状態をJSONで返す。CLIが無ければインストールを提案してくる。
入った直後の状態はこうだった。
{
"ready": true,
"codex": { "available": true, "detail": "codex-cli 0.154.0" },
"auth": { "loggedIn": true, "authMethod": "chatgpt" },
"reviewGateEnabled": false
}
使えるのは /codex:review(通常レビュー)、/codex:adversarial-review(強めのレビュー)、/codex:rescue(詰まったときの委譲)、/codex:transfer(セッション引き渡し)。走らせた仕事は /codex:status と /codex:result で回収する。バックグラウンドに投げられる。
図は一発だった
配色と寸法を指定して、SVGで図解を2枚作らせた。
図解は座標を決めて属性を書く作業なので、コード生成と同じ土俵になる。ここは強い。
絵は3回失敗した
「二刀流の流浪侍を水墨画タッチで」と頼んだ。
1回目は輪郭が均一な黒いシルエットが出た。にじみもかすれもない影絵だった。
「ベタ塗りをやめろ、筆跡を重ねろ、濃淡をつけろ」と条件を足して2回目。人物が四角いブロックの積み重ねになった。肩、胸、腹、腰が独立した面として並ぶ。
3回目は逃げ道を塞いだ。「rect を使うな。直線コマンド(L/H/V)も使うな。曲線だけで描け。完成したら自分で検証して報告しろ」。
輪郭が溶けた。
このときCodexから返ってきた報告がこれだった。
人物グループの grep -nE '[[:space:]]d="[^"]*[LHVlhv]': 0件
人物グループの <rect>, <polygon>, <polyline>: 0件
XML構文: xmllint --noout 成功
**指示は完璧に守られている。**守った上で溶けている。 ここで私は「Codexは絵が苦手なんだな」と思いかけた。
切り分け
条件を外して投げ直した。注文は1行だけにした。
二刀流の流浪侍を描く
一発で出た。しかも3回かけて言語化しようとしていた「ぼろ布」「濃淡」「動きのある姿勢」が全部入っていた。
原因は3回とも入れていたこの1行だった。
ラスタ画像の埋め込み禁止。すべて手書きのSVG要素で完結させること。
Codexには画像生成ツールが積まれている。1回目の実行時、Codex自身がこう言っていた。
SVGベクター制作なので、ラスタ生成向けのimagegenは使わず、手書きSVG要素で仕上げます。
道具は最初からあった。宣言どおりに封じられていただけだった。
念のためもう一度プラグイン経由で、同じモデル・同じ設定で、禁止事項だけ外して投げた。一発で出て、報告は一行、「生成には組み込み画像生成を使用しました」。
危ないと思ったこと
3回失敗する間、私は一度もプロンプトそのものを疑わなかった。疑ったのは指示の細かさで、だから毎回もっと厳密に書いた。条件を積み増すたびに結果は悪くなった。
厄介なのは、Codexが毎回きちんと従っていたことだ。従っていない相手なら気づける。従った上で結果が悪いとき、制約そのものが原因だという可能性は視界に入りにくい。
もしこれが初めてCodexを触った日だったら、「Codexは絵が下手」で終わっていたと思う。ClaudeとCodexの相性が悪いと結論づけた可能性もある。実際は相性でもモデルでもなく、自分が書いた1行だった。
AIの評価は、こうやって簡単に間違う。しかも本人は「試した上で言っている」と思っている。
モデル選びの落とし穴
ついでに1つ。最初 --model spark(軽量モデル)を指定したら400エラーで弾かれた。
The 'gpt-5.3-codex-spark' model is not supported when using Codex with a ChatGPT account.
かといって最上位モデルを高effortで回すと利用枠を一気に消費する。gpt-5.6-sol を低effort、または gpt-5.6-terra を高effortあたりが実用域だった。
出力形式を指定する前に、それが図解なのか絵なのかを切り分ける。手順としてまとめたものは 制約がツールを封じる に置いた。 エージェント側の指示書を1本化する話は 指示書を1本にする にある。
この記事の図はCodexが描いた。キービジュアルもCodexだが、一度手を縛って3回転んでから外している。同じ環境で Valscope も作っている。