制約がツールを封じる

更新: 2026-09-10
Claude CodeCodexプロンプトAIエージェント画像生成

エージェントに出す出力形式の指定は、ツール選択の指示を兼ねる。 「SVGで書け」「ラスタ画像を使うな」は、書式の要求のつもりでも、画像生成ツールを使うなという命令として届く。

結果が悪いとき、まず指示が粗いのだろうと考えて条件を足す。 だが原因が制約そのものだった場合、条件を足すほど結果は悪くなる。

何が起きるか

「絵を描いて」形式を指定する「SVGで」「ラスタ禁止」形式を指定しない内容だけを書く座標を手で計算画像生成ツールは封じられる画像生成ツールを使う1回で仕上がる
依頼の中身は同じ。分岐しているのは形式指定の有無だけ。

エージェントは矛盾した指示を受けたとき、明示された制約のほうを優先する。 だから禁止事項は必ず守られる。守られた上で、望んだ結果から遠ざかる。

見分け方

次の3つが揃ったら、指示の精度ではなく制約を疑う。

  1. エージェントが制約を守っている。「該当0件」「検証済み」と報告が返る
  2. **条件を足すたびに結果が悪くなる。**改善方向へ動いていない
  3. **同種の別タスクは成功している。**図解は通るのに絵だけ通らない、など

3つ目が効く。相手の能力の問題なら、隣接するタスクも同じように失敗するはずだ。 片方だけ失敗するなら、差分は相手ではなく依頼の側にある。

切り分ける

変数を1つずつ固定して潰す。

  1. **制約を全部外して投げ直す。**内容だけを1行で書く。ここで通れば犯人は制約
  2. **経路を変えて同じことをやる。**プラグイン経由と直接実行で結果を比べる。同じなら経路は無罪
  3. **モデルと設定を固定する。**この2つを動かすと、どの変更が効いたか分からなくなる

1で通った時点でほぼ確定するが、2をやっておくと「連携が悪いのでは」という疑いを潰せる。

# 制約なしで投げ直す。これで通れば制約が犯人
codex exec -m gpt-5.6-terra "二刀流の流浪侍を描く"

書き方

出力形式を指定する前に、それが図解なのか絵なのかを切り分ける。

依頼形式指定理由
フロー図、構成図、手順図SVGを明示してよい座標計算とコード生成の作業。テキストや線の位置を制御したい
イラスト、キービジュアル、写真的な画像指定しない画像生成ツールに任せる領域。形式を縛ると封じてしまう

絵を頼むときは、内容だけを書く。 細かく書けば正確に伝わるとは限らない。長い仕様書より短い一文のほうが望んだ絵に近いことがある。

確認すること

  1. 禁止事項がツールを名指ししていないか。「ラスタ禁止」は画像生成の禁止と同義になる
  2. 形式の指定が、その依頼にとって本当に必要か。見た目の都合で書いていないか
  3. エージェントが冒頭で使うツールを宣言していないか。「◯◯は使わず」と言っていたら、そこが分岐点
  4. 失敗が続いたら条件を足す前に、全部外した1行で1回投げる

エージェントの応答ログは残しておく。使うツールを自分で宣言していることがあり、後から読むと原因がそこに書いてある。

実際に3回失敗するまで気づかなかった経緯は 自分の禁止事項でAIの道具を封じていた に書いた。 指示書そのものの管理は 指示書を1本にする を参照。

WIKI一覧へ