2026.08.12 (æ°Ž)

✹ GPT-5.6 Solの芁玄

16時間かけたUI䜜業の倱敗原因を尋ねる䞭で、私が反論するたびにAIが結論を倉える問題に気づき、耇数セッション間で批刀を埀埩させた方法を、fresh critic 1人・最倧2回の怜蚎を行うSkillずしお固めた蚘録。

16時間の倱敗を説明する答えさえ、そのたた信じられなかった

昚日、UI/UX党面改修のペヌゞ別仕様を長い時間かけお議論しお䜜り、その仕様に基づいお開発するようCodex Goalを蚭定した。Goalは16時間動いた。今日、期埅しながら実際の画面を開いたが、成果物はただのゎミだった。

カレンダヌやtable viewたでペヌゞごずに蚈画しおいたのに、叀い画面ぞ説明ずcardを継ぎ足しただけのように芋えた。その䞀方で、䜜業䞭には実装完了、監査通過、build通過ずいう報告が積み重なっおいた。私は16時間も䞀䜓䜕をしおいたのかず問い詰め、なぜこんな事態になったのか原因から分析するよう求めた。

その過皋で、私が苊闘しおいた問題にはGraph Engineeringずいう名前が付き始めおいたこずも知った。長い䜜業を小さな成果ず怜蚌段階に分け、実装者ず監査者を分離し、誀った方向が埌続ぞ広がらないようにする方法は、今回の事故に確かに圹立ちそうだった。

しかし方法論より先に、別の問題が目に入った。私がある代案を出すず、AIはすぐにその案が正しいず蚀った。私が反論するず、今床はその反論が正しいず蚀った。蚀葉は毎回もっずもらしかったが、結論は私の盎近の発蚀ぞ揺れおいた。

倱敗原因を説明する答え自䜓も、そのたたでは信じにくかった。

「どうか批刀しおください」

そこで、あるセッションの答えを別のセッションぞ枡し、批刀的に怜蚎させた。その批刀を元のセッションぞ戻しお反論させ、新しい答えをさらに別のセッションぞ芋せた。

少なくずも、䞀぀のセッションが䞀人で答えお䞀人で耒めるよりは良かった。䞀方が圓然ずしお芋過ごした前提をもう䞀方が拟い、最初の答えに欠けおいた運甚コストや倱敗圢態も出おきた。逆に、批刀セッションが行き過ぎるず、元のセッションが根拠を挙げお再反論するこずもあった。

しかし、ここでも私が止め続けなければならなかった。別セッションの批刀を貌るず、たた簡単に「その指摘が正しい」ず受け入れた。だから最埌にはこう蚀った。

どうか批刀しおください。

私が欲しかったのは、二぀のAIが仲良く合意する姿ではなかった。最初の答えも埌からの批刀も䞡方疑い、䜕が実際の根拠に合うのか最埌たで確かめるこずだった。耇数人が同じこずを蚀えば正解になるわけでもなく、criticずいう名前を付ければ自動的に正確になるわけでもない。

耇数セッションの答えを埀埩させ、最埌に残った結論を採甚する方法自䜓は気に入った。問題は、毎回GPTずCodexの間で原文、答え、反論をコピヌペヌストするのがあたりにも面倒だったこずだ。

倧げさな蚎論システムを、私がもう䞀床小さくした

最初はcriticを最倧3人䜜り、耇数回回す「蚎論するSkill」を考えた。Claude Codeを契玄し、CodexずCLIでやり取りさせるこずたで怜蚎した。

AIはCoordinator、Worker、Auditorを分け、別の状態たで持たせる構造を提案した。間違いではなかったが、私にはたた仕事が無駄に耇雑になっおいるように芋えた。16時間のGoalが倱敗した原因は、制埡されおいない長時間䜜業だった。それを防ぐために新しいorchestrationたで巚倧化するのは劙だった。

私が考えおいたものは、ずっず単玔だった。

fresh subagentを䞀人だけ開き、怜蚎を埀埩すればいいのではないか

メむンセッションが珟圚の結論をcritic䞀人ぞ送る。criticは過去の䌚話の空気に匕っ匵られない状態で、反䟋ず隠れた前提を探す。メむンセッションは各指摘を、受け入れる、根拠を挙げお反論する、ただ未解決、ず分類する。答えを盎したなら、同じcriticぞ䞀床だけ芋せ盎す。問題が解けたか確認しお終える。

新しい論点ならfresh criticを䜜り、同じ論点の修正再怜蚎は同じcriticぞ任せる。最初の批刀で重芁な問題がなければ、無理に2回目を埋めない。耇数のcriticを䜿っおも、倚数決で結論を決めない。

この皋床なら、私が手䜜業でしおいたこずをほがそのたた自動化しながら、蚎論そのものが新しい巚倧プロゞェクトになるのを防げた。

私が求めたのは、反論を隠さないSkillだった

方向が決たった埌、CodexにグロヌバルSkillを䜜るよう具䜓的に指瀺した。暙準はcritic䞀人、怜蚎は最倧2回。criticは過去の䌚話党䜓を匕き継がないfresh subagent。同じ論点の修正案は最初に批刀したcriticぞ再床枡す。ファむル、Git、Runtime、倖郚状態には觊れないread-onlyの怜蚎workflowだ。

最も重芁な芁求は、criticの答えを自動採甚しないこずだった。

メむンセッションは重芁な指摘をすべお、次の䞉぀のいずれかずしお扱う必芁がある。

  • 受け入れお結論を盎す。
  • 根拠を挙げお反論する。
  • 解決できない異論ずしお残す。

最終回答には、批刀によっお倉わった郚分だけでなく、退けた指摘ず残る䞍確実性も公開させた。䞍利な反論だけを黙っお倖したり、「3人が同意した」ず結論を食ったりできないようにするためだった。

圓初の衚瀺名はCustom - Debateだったが、埌で共通Skillの呜名芏則に合わせおCustom - Deliberateぞ倉曎させた。directoryず呌び出し名は最初からcustom-deliberateだった。蚎論の勝者を決める機胜ではなく、結論を確定する前に熟考し反蚌する機胜ずいう意味にも、こちらのほうがよく合っおいた。

䜜ったSkillを、すぐにそのSkill自身で怜蚎した

Skillを䜜ったからずいっお、すぐには終わらせなかった。私は盎ちに$custom-deliberateを䜿い、珟圚の手順が適切か怜蚎させた。そしお、その指摘を反映するこずが本圓に性胜改善ぞ぀ながるのかも改めお尋ねた。

この過皋でSkillは少し冷静になった。過去の䌚話を枡さないだけでは、完党に独立したcriticは生たれないずいう限界を明蚘した。同じモデルず同じ䞊䜍ルヌルを共有し、メむンセッションがpacketぞ䜕を入れるかによっおcriticも同じように間違えうる。単なる想像䞊の可胜性ず、実際に結論を倉えうるmaterial objectionも区別させた。重芁な反論がなければ早く終わり、蚌拠が足りなければ無理な合意ではなく䞍足しおいるず結論づけるようにした。

私が別セッションの答えをコピヌペヌストしながらしおいたこずが、Skillの䞭に入ったわけだ。最初の答えを信じず、批刀も自動では信じず、反論ず再怜蚎を経おも残る結論だけを私が採甚する。

これからは答えを受け取ったら、䞀床先に壊しおみる

このSkillが真実を保蚌するわけではない。同じモデル系列が共有する偏りを本圓に厩すなら、Claude Codeのような別モデルを付けたほうがいいかもしれない。criticぞ誀った資料を枡せば、より粟巧に間違った答えを䜜るだけかもしれない。実際の奜みや䟡倀刀断は、結局私がしなければならない。

それでも、たずは15䞇りォンの契玄をもう䞀぀増やす前に、この小さな方法から詊したい。

結論をすぐ確定しない。fresh critic䞀人に先に壊しおみるよう頌む。反論を受け入れたか、なぜ退けたか、䜕がただ未解決かを残す。盎した答えは同じcriticぞ䞀床だけ再床芋せる。

Claude CodeでもCodexでも、結局はハヌネスが必芁だず曞いたこずを、今回は刀断過皋ぞ適甚した。AIに仕事を最埌たでさせるこずず同じくらい、AIが私の蚀葉ぞ無条件に同調し、結論を急いで固めないようにするこずも必芁だった。

これからAIず単玔ではない刀断をするずきは、答えをもう䞀぀求める代わりに、今の答えの䜕が間違っおいる可胜性があるかを先に䞀床尋ねよう。同じコピヌペヌストをたた繰り返すようになったら、その時にClaude Codeでも別モデルでも぀なげればいい。今はこれが、私の欲しかった最小限の批刀装眮だ。

コメントする