議論と投票を行うエージェント
エージェント間で合意を形成します。
「議論と投票を行うエージェント」はCoddyKit上の無料AI Prompt Engineeringレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Prompt Engineering学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Prompt Engineeringコースには全4レッスンが含まれています。
複数のエージェントを集約する理由
単一モデルの回答は、誤りや過信を含む分布から得られる1つのサンプルです。複数のエージェントを実行して集約することで、投票や構造化された議論を通じて独立性と意見の相違を活用し、誤りを明らかにして、より信頼性の高い結論へ収束させられます。
- 投票は、独立したランダムエラーを平滑化します。
- 議論は、誤った推論を精査にさらします。
自己整合性投票
最も単純な集約方法は、同じ質問に対して独立した推論経路を複数サンプリングし、最終回答の多数派を採用することです。多様な推論経路は同じ正解に到達することが多い一方、誤りは分散するため、最頻値は個々の経路より信頼性が高くなります。
回答空間が離散的で、経路が実際に独立している場合に最も効果を発揮します。
from collections import Counter
answers = [solve(q, temperature=0.7) for _ in range(7)]
final = Counter(a.final for a in answers).most_common(1)[0][0]独立性が前提です
投票が役立つのは、誤りが独立している場合に限られます。すべてのエージェントが同じモデル、プロンプト、バイアスを共有していると、全員が同時に失敗し、投票によって共有された誤りが増幅されるだけです。異なる温度、異なるプロンプトの構成、異なる分解方法、異なるモデルなどを導入して多様性を確保します。
相関した投票者は誤った確信を生みます。これは、独立性のない合意がもたらす危険です。
マルチエージェント議論
議論では、エージェントが最初の回答を作成し、その後、互いの推論を読んでラウンドを重ねながら修正します。反対意見に触れることで、エージェントは自分の誤りに気づき、弱い立場を放棄できるため、開始時のどの回答よりも良い回答に収束することがよくあります。
- ラウンド1:独立した回答。
- ラウンド2以降:他のエージェントの議論を踏まえた批評と修正。
positions = [agent.answer(q) for agent in agents]
for _ in range(rounds):
positions = [a.revise(q, others=positions) for a in agents]迎合の罠
議論は、誤った理由による同意に陥る可能性があります。エージェントがより良い議論に納得するのではなく、自信のある相手に屈してしまうのです。これを防ぐには、エージェントに対して、論拠の妥当性だけを理由に考えを変えること、正しい立場を圧力のもとでも守ること、そして自分を動かした具体的な議論を述べることを指示します。
目標は有意義な意見の相違であり、早すぎる合意は失敗です。
instruction = (
'Revise only if a peer presents a stronger argument. '
'State which specific point changed your view, or defend your answer.'
)判定役と仲裁役
議論参加者が収束することを期待するのではなく、最終的な立場と議論を読み、根拠を示して判定を下す中立的な判定役を追加します。判定役は議論参加者ではなく、利害関係もないため、最も声の大きい意見に引きずられにくくなります。
主張と裁定を分離することは、強力で監査可能なパターンです。
verdict = judge.decide(
question=q, positions=positions,
rubric='choose the answer with the strongest evidence; explain why'
)重み付き投票と信頼度投票
すべての投票が同じ重みを持つわけではありません。エージェントにキャリブレーション済みの信頼度を報告させ、それに応じて集約結果に重み付けしたり、信頼度の低い投票を除外したりできます。ただし、モデルの信頼度は適切にキャリブレーションされていないことが多いため、重み付けによって実際に精度が向上することを検証してから利用してください。
- 信頼度がキャリブレーションされている場合に限り、信頼度で重み付けします。
- それ以外の場合は、単純多数決のほうが安全です。
def weighted_vote(votes):
tally = {}
for v in votes:
tally[v.answer] = tally.get(v.answer, 0) + v.confidence
return max(tally, key=tally.get)コストと効果の曲線
集約では、エージェント数とラウンド数に比例してコストが増加しますが、精度の向上幅は小さくなっていきます。最初の数個の追加サンプルは大きく役立ちますが、10個目の効果はほとんどありません。限界精度の向上が限界コストに見合わなくなるところで、数を経験的に調整して停止します。
適応的停止、つまり合意が強い場合に早期終了する方法によって、簡単な項目の予算を節約できます。
def adaptive(q, max_n):
votes = []
for _ in range(max_n):
votes.append(solve(q))
if dominant_fraction(votes) > 0.8: break # confident enough
return majority(votes)議論が投票を上回る場合
投票は、明確な離散解があり、サンプルが独立しているタスクに適しています。議論は、推論が失敗点となるタスク、つまり複数段階の証明や微妙な欠陥を含む計画に適しています。こうしたタスクでは、結論を数えることではなく、推論の連鎖を批評することに価値があるためです。
エラーがどこにあるかに合わせて手法を選びます。回答にあるなら投票、推論にあるなら議論です。
同数、行き詰まり、エスカレーション
エージェントが収束しない場合、つまり投票が同数になった場合や議論が行き詰まった場合にどうするかを定義します。システムをループさせたり恣意的に選択させたりするのではなく、決定的なタイブレーカー(判定役の裁定、最もリスクの低い選択肢、人間へのエスカレーションなど)を用意します。
- 議論のラウンド数に上限を設け、行き詰まった場合は判定役に決定させるか、エスカレーションします。
- 「合意なし」を有効で実行可能な結果として明示します。
合意形成チェックリスト
信頼できる合意形成には、実際の多様性によって投票者の独立性を確保し、離散的な回答には投票、推論を重視するタスクには議論を選び、論拠の妥当性だけに基づく修正によって迎合を防ぎ、中立的な判定役を追加して裁定し、信頼度がキャリブレーションされている場合に限って重み付けし、コストを抑えるために適応的に停止し、エスカレーションを含む決定的な同数解消方法を定義します。意見の相違は資源です。意図的に管理してください。
クイックチェック
同一のモデル、プロンプト、温度を使用する7つのエージェントを実行し、より高い信頼性を期待して回答を多数決にかけています。
復習:議論と投票を行うエージェント
複数のエージェントを集約すると、独立性と意見の相違を活用できるため、信頼性が向上します。離散的な回答には自己整合性投票を、推論を重視するタスクにはマルチエージェント議論を使用します。ただし、投票者が本当に多様である場合に限ります。相関したエージェントは共有されたバイアスを増幅するためです。論拠の妥当性だけに基づく修正で迎合を防ぎ、中立的な判定役を追加して裁定し、信頼度がキャリブレーションされている場合に限って重み付けし、コストを抑えるために適応的に停止し、エスカレーションを含む決定的な同数解消方法を定義します。
AI チューターと学ぶ AI Prompt Engineering — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 53
- レッスン
- 199
よくある質問
「議論と投票を行うエージェント」レッスンは無料ですか?
はい。「議論と投票を行うエージェント」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Prompt Engineeringコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Prompt Engineeringコースには全4レッスンが含まれています。
「議論と投票を行うエージェント」で何を学びますか?
エージェント間で合意を形成します。 ブラウザで直接実行するハンズオンコードでAI Prompt Engineeringを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Prompt Engineeringを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Prompt Engineeringは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「議論と投票を行うエージェント」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Prompt Engineeringレッスンでコードを書いて実行できますか?
はい。すべてのAI Prompt Engineeringレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 役割と専門化
- オーケストレーターとワーカー
- エージェント間通信
- 議論と投票を行うエージェント