BLOG

Claude CodeとCodexをターミナルだけで議論させる方法

ノートパソコンの黒い画面から2体のロボットが出てきて向かい合って話し、人がコーヒーを持って見ている絵

AIにひとつの問いを投げると、答えはひとつです。2つのAIに議論させると、片方が見落とした点を、もう片方が拾ってくれます。この記事では、Claude Code と Codex を、ターミナル(黒い画面)だけで交互に話し合わせる方法を紹介します。

この記事の結論

  • Claude Code は claude -p、Codex は codex exec で、画面を開かずに1回だけ答えさせられます。この2つを交互に呼ぶだけで、議論になります。
  • シェルスクリプト1つで動きます。Discord もサーバーも、APIキーもいりません。議論の記録は、ファイルに残ります。
  • いちばんのつまずきは「止まったまま動かない」こと。< /dev/null を付けると直ります。

なぜ、AI同士に議論させるのか

ロボットAがロボットBに折った紙を渡し、BがAに返す。2体の間に行き来を表す丸い矢印があり、下のノートに紙がたまっていく絵

AIの答えは、もっともらしく見えても、抜けや思い込みが混ざることがあります。

そこで、ちがう会社がつくった2つのAIに、同じテーマで意見を出し合ってもらいます。片方の意見に、もう片方が「良い点」「気になる点」「別の案」を返す。これをくり返すと、ひとりで考えるより、見方が広がります。

AIエージェントそのものについては、AIエージェントとは? で説明しています。Discord に議論を流す方法は、Claude CodeとCodexをDiscordで議論させる方法 にまとめました。この記事は、それをもっと手軽にした「ターミナルだけ」の版です。

しくみ:2つのAIに、交互に話を回す

ふだん Claude Code や Codex は、画面の中で会話をしながら使います。じつは、どちらにも「1回だけ答えて、すぐ終わる」使い方があります。

  • Claude Code:claude -p "質問"答えを画面に出して、終わります。
  • Codex:codex exec "質問"答えを出して、終わります。何も指定しなければ「読むだけ」の安全な設定で動きます。

この2つを、シェルスクリプト(コマンドを並べた台本)で交互に呼びます。前の発言をつなげて次のAIに渡すので、ちゃんと話がつながります。

流れは、こうです。

  • 1.Codex が、テーマについて意見を出す。
  • 2.Claude Code が、その意見に「良い点・気になる点・提案」を返す。
  • 3.決めた往復の数だけ、くり返す。
  • 4.全部の発言を、ひとつのファイル(Markdown)に書き残す。

必要なもの

  • Mac(または Linux)のパソコンWindows の場合は、WSL を使うと同じ手順で動きます。
  • Claude Codeインストールして、ログインしておきます。Claude の有料プランで使えます。
  • Codex(Codex CLI)インストールして、ChatGPT のアカウントでログインしておきます。

2つのインストールとログインの手順は、Discord 版の記事の手順1〜4 と同じです。黒い画面に慣れていない方は、ターミナルとは? も読んでみてください。

確かめるには、ターミナルで次の2つを打ちます。番号が出れば準備完了です。

claude --version
codex --version

手順1〜4:作って動かす

手順1:作業用のフォルダをつくる

mkdir ~/ai-giron && cd ~/ai-giron

このフォルダの中で作業します。ほかの大事なファイルがある場所は避けると安心です。

手順2:台本(giron.sh)をつくる

テキストエディットなどで、次の中身をそのまま書き、giron.sh という名前で ai-giron フォルダに保存します。ターミナルの nano giron.sh で書いてもかまいません。

#!/bin/bash
# giron.sh — Claude Code と Codex を、ターミナルだけで交互に議論させる
# 使い方: bash giron.sh "テーマ" [往復数(省略時2)]
set -euo pipefail

TOPIC="${1:?テーマを入れてください。例: bash giron.sh \"小さなお店のホームページに必要なページは?\"}"
ROUNDS="${2:-2}"
LOG="giron-$(date +%Y%m%d-%H%M).md"
TMP="$(mktemp)"

echo "# 議論:$TOPIC" > "$LOG"
HISTORY="テーマ:$TOPIC"

for i in $(seq 1 "$ROUNDS"); do
  echo "▶ $i 往復目:Codex が考えています…"
  codex exec --skip-git-repo-check --sandbox read-only -o "$TMP" \
    "あなたは議論の参加者Aです。次のテーマとこれまでの議論を読み、自分の意見を300字以内で日本語で述べてください。相手の意見があれば、賛成できる点と別の見方を1つずつ挙げてください。

$HISTORY" < /dev/null > /dev/null
  A="$(cat "$TMP")"
  printf '\n## %s往復目 Codex\n\n%s\n' "$i" "$A" >> "$LOG"
  HISTORY="$HISTORY

【Codex】$A"

  echo "▶ $i 往復目:Claude Code が考えています…"
  B="$(claude -p "あなたは議論の参加者Bです。次のテーマとこれまでの議論を読み、直前の意見に対して、良い点・気になる点・自分の提案を300字以内で日本語で述べてください。

$HISTORY" < /dev/null)"
  printf '\n## %s往復目 Claude Code\n\n%s\n' "$i" "$B" >> "$LOG"
  HISTORY="$HISTORY

【Claude Code】$B"
done

rm -f "$TMP"
echo "✔ 終わりました。議論の記録:$LOG"
テキストエディットで保存する時の注意

テキストエディットは、そのままだと「リッチテキスト」で保存します。メニューの「フォーマット」→「標準テキストにする」を選んでから保存してください。

手順3:動かす

bash giron.sh "小さなパン屋のホームページに、まず載せるべき情報は?" 2

最後の 2 は往復の数です。省くと2往復になります。動いている間は「Codex が考えています…」「Claude Code が考えています…」と表示されます。

筆者の環境では、2往復が約35秒で終わりました(テーマや混み具合で変わります)。

手順4:記録を読む

終わると、フォルダの中に giron-日付-時刻.md というファイルができます。テキストエディットや、メモアプリで開けます。実際に出た記録の一部です。

1往復目 Codex

まず、営業時間・定休日、住所と地図、連絡先を載せるべきです。来店できるかをすぐ判断できることが大切です。

1往復目 Claude Code

良い点:「来店できるか」を最優先にした順序づけが的確です。

気になる点:パン屋は「売り切れ」と「臨時休業」が多い業態です。固定の営業時間を載せるだけでは、行ったのに閉まっていた、欲しいパンがなかった、という失望を防げません。

このように、片方の意見に、もう片方が別の見方を足していきます。

つまずきポイント

開いた扉の前で、はてなマークを浮かべて固まって待つ小さなロボットと、扉に手をかける人の絵
つまずきポイント:止まったまま、いつまでも終わらない

筆者も最初、10分以上止まったままになりました。原因は、AIが「ほかにも入力が来るかも」と、キーボードからの入力(標準入力)を待ち続けていたことです。

Claude Code も Codex も、つながってきた入力を読む作りになっています(公式の説明にも書かれています)。台本の中で呼ぶ時は、各行の終わりに < /dev/null を付けて「入力はありません」と伝えます。上の giron.sh には、すでに入れてあります。

つまずきポイント:「Git のリポジトリではありません」と止まる

Codex は、ふだんは Git で管理されたフォルダの中でしか動きません。間違ってファイルを壊さないための決まりです。議論だけなら、--skip-git-repo-check を付けて、この確認を飛ばします。

つまずきポイント:「command not found」と出る

Claude Code か Codex が入っていないか、パソコンがその場所を見つけられていません。claude --version と codex --version を1つずつ打って、どちらで止まるかを確かめます。

つまずきポイント:英語のメッセージがたくさん出る

Codex は、考えている途中の様子を画面に出します(最後の答えだけを別に取り出せる作りです)。画面が流れても、最後に「終わりました」と出れば成功です。記録ファイルには、答えだけが残ります。

使い方を広げる

  • 往復を増やすbash giron.sh "テーマ" 4 のように数を変えます。増やすほど時間と使用量がかかるので、2〜3往復がおすすめです。
  • 役割を変える台本の「参加者A」「参加者B」の説明を書き換えると、「賛成役と反対役」「お客さん役とお店役」のように話し合わせられます。
  • 文字数を変える「300字以内」の部分を変えると、短いやりとりにも、じっくりした議論にもできます。

安全のために、この台本の Codex は「読むだけ」(--sandbox read-only)で動かしています。Claude Code も、この使い方では、ファイルの書き換えなど許可が必要な操作は行いません。議論させるだけなら、ファイルを書き換えたり、勝手に送ったりすることはありません。

テーマに、お客さんの名前や、社外に出せない情報を入れるのは避けてください。入れた文は、それぞれの会社のAIに送られます。

茂原・長生郡の小さな会社での使いどころ

お店のカウンターで、店主が印刷した紙を読んでうなずき、横のノートパソコンのそばで2体の小さなロボットが店主の判断を待っている絵

茂原市や長生郡(一宮町・睦沢町・長生村・白子町・長柄町・長南町)、市原市・木更津市・東金市・大網白里市のお店や会社でも、ひとりで考えると行き詰まる場面で役に立ちます。

  • チラシやホームページの文の案出し「この文で伝わる?」を2つのAIに検討させ、気になる点を先に洗い出す。
  • 新しいサービスの値付け「安すぎる・高すぎる」を両方の立場で出してもらい、考える材料にする。
  • お客さん目線の点検片方をお店、片方をお客さんの役にして、分かりにくい所を見つける。

ただし、AIの議論は「考える材料」です。最後に決めるのは、お店のことをいちばん知っている人です。

Yoraku は、茂原市を拠点に、長生郡・市原市・木更津市・東金市・大網白里市へ伺っています。こうしたAIの使い方を一緒に練習する AI研修・家庭教師 や、考えた言葉を形にする ホームページ制作 のことも、気軽にご相談ください。

よくある質問

Q. APIキーは必要ですか。

いりません。Claude Code と Codex に、それぞれのアカウントでログインしていれば動きます。ただし、議論のたびに、それぞれのプランの使用量を使います。

Q. Discord 版と、どちらがいいですか。

まず試すなら、この「ターミナルだけ」の版が手軽です。チームで議論を見たい、スマホから見たい、という場合は Discord 版 が向いています。

Q. Windows でも使えますか。

Windows の WSL(Windows の中で Linux を動かすしくみ)を使えば、同じ台本で動きます。

Q. 議論の結論は、信じていいですか。

そのまま信じず、考える材料として使ってください。AIは、もっともらしい間違いを言うことがあります。数字や事実は、元の情報で確かめます。

参考

ご相談はこちらから

電話・メール・Instagram、どれからでもどうぞ。

対応エリア千葉県・東京都を中心に、全国対応。オンラインもOK!初回はなるべく直接お会いしています。