0Pricing
AI Prompt Engineering · 강의

토론 및 투표 에이전트

에이전트 간 합의

토론 및 투표 에이전트은(는) CoddyKit의 무료 AI Prompt Engineering 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Prompt Engineering 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Prompt Engineering 강의에는 총 4개의 강의가 포함되어 있습니다.

여러 에이전트를 집계하는 이유

단일 모델의 답변은 오류와 과도한 확신을 포함하는 분포에서 추출한 하나의 표본입니다. 여러 에이전트를 실행하고 투표나 구조화된 토론으로 집계하면 독립성과 불일치를 활용하여 실수를 드러내고 더 신뢰할 수 있는 결론으로 수렴할 수 있습니다.

  • 투표는 서로 독립적인 무작위 오류를 완화합니다.
  • 토론은 잘못된 추론을 검토 대상에 드러냅니다.

자기 일관성 투표

가장 단순한 집계 방법은 같은 질문에 대해 독립적인 추론 경로를 여러 개 표본 추출하고 최종적으로 다수인 answer를 선택하는 것입니다. 서로 다른 추론 사슬은 같은 올바른 답에 도달하는 경우가 많고 오류는 흩어지므로, 최빈값이 어떤 하나의 경로보다 더 신뢰할 수 있습니다.

answer 공간이 이산적이고 경로가 실제로 독립적일 때 가장 효과적입니다.

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]

독립성이 전제입니다

오류가 독립적일 때만 투표가 도움이 됩니다. 모든 에이전트가 같은 모델, 프롬프트, 편향을 공유하면 함께 실패하므로 투표는 공유된 실수를 그저 증폭할 뿐입니다. 서로 다른 온도, 프롬프트 구성, 분해 방식 또는 모델을 사용하여 다양성을 도입하십시오.

상관된 투표자는 잘못된 확신을 줍니다. 이는 독립성 없는 합의의 위험입니다.

다중 에이전트 토론

토론에서는 에이전트가 초기 답변을 만든 다음 서로의 추론을 읽고 여러 라운드에 걸쳐 revise합니다. 서로 반대되는 주장을 접하면 에이전트가 자신의 오류를 발견하고 약한 입장을 버릴 수 있으므로, 처음의 어떤 답보다 더 나은 답으로 수렴하는 경우가 많습니다.

  • 1라운드: 독립적인 답변을 제시합니다.
  • 2라운드 이후: 동료의 주장을 바탕으로 비판하고 revise합니다.
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)

비용과 이익의 곡선

집계는 에이전트 수와 라운드 수에 따라 비용을 선형적으로 늘리지만, 정확도 향상은 점차 줄어듭니다. 처음 몇 개의 추가 표본은 큰 도움이 되지만 열 번째 표본은 거의 도움이 되지 않습니다. 경험적으로 개수를 조정하고, 추가로 얻는 정확도가 추가 지출을 더 이상 정당화하지 못하는 지점에서 중지하십시오.

합의가 강할 때 조기에 중지하는 adaptive 중단은 쉬운 항목에 드는 예산을 절약합니다.

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)

토론이 투표보다 나은 경우

투표는 명확한 이산적 답과 독립적인 표본이 있는 작업에 적합합니다. 토론은 추론이 실패 지점인 작업, 즉 여러 단계의 증명이나 미묘한 결함이 있는 계획에 적합합니다. 이런 경우에는 결론을 세는 것보다 추론 사슬을 비판하는 데 가치가 있기 때문입니다.

오류가 어디에 있는지에 따라 방법을 맞추십시오. 답에 있다면 투표를, 추론에 있다면 토론을 사용합니다.

동률, 교착 상태, 단계적 상향 처리

에이전트가 수렴하지 않을 때, 즉 투표가 동률이거나 토론이 교착 상태에 빠졌을 때 어떻게 할지 정의하십시오. 시스템이 반복하거나 임의로 선택하게 두지 말고 결정론적인 동률 해결 방법을 사용하십시오. 예를 들어 심사자의 판정, 위험이 가장 낮은 선택지, 사람에게 단계적으로 상향 처리가 있습니다.

  • 토론 라운드 수에 상한을 두고, 교착 상태가 되면 심사자가 결정하거나 단계적으로 상향 처리하십시오.
  • '합의 없음'을 유효하고 실행 가능한 결과로 드러내십시오.

합의 설계 점검 목록

신뢰할 수 있는 합의를 위해 실제 다양성으로 투표자의 독립성을 보장하고, 이산적인 답에는 투표를 추론 중심 작업에는 토론을 선택하며, 타당성에 따른 revise만 허용하여 아첨을 막고, 판정을 위해 중립적인 심사자를 추가하십시오. 확신도가 보정된 경우에만 확신도에 따라 가중치를 부여하고, 비용을 통제하도록 adaptive 중단을 사용하며, 단계적 상향 처리를 포함한 결정론적인 동률 해결 방법을 정의하십시오. 의견 불일치는 자원이며 의도적으로 관리해야 합니다.

빠른 점검

모델, 프롬프트, 온도를 모두 동일하게 사용하는 에이전트 일곱 개를 실행한 다음 더 높은 신뢰성을 기대하며 답변에 다수결 투표를 실시하고 있습니다.

복습: 토론하고 투표하는 에이전트

여러 에이전트를 집계하면 독립성과 불일치를 활용하여 신뢰성이 향상됩니다. 이산적인 답에는 자기 일관성 투표를, 추론 중심 작업에는 다중 에이전트 토론을 사용하십시오. 단, 투표자가 실제로 다양할 때만 가능합니다. 상관된 에이전트는 공유된 편향을 증폭합니다. 타당성에 따른 revise만 허용하여 아첨을 막고, 판정을 위해 중립적인 심사자를 추가하며, 확신도가 보정된 경우에만 확신도에 따라 가중치를 부여하십시오. 비용을 통제하도록 adaptive 중단을 사용하고, 단계적 상향 처리를 포함한 결정론적인 동률 해결 방법을 정의하십시오.

자주 묻는 질문

“토론 및 투표 에이전트” 강의는 무료인가요?

네 — “토론 및 투표 에이전트” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Prompt Engineering 강의 전체를 잠금 해제할 수 있습니다. AI Prompt Engineering 강의에는 총 4개의 강의가 포함되어 있습니다.

“토론 및 투표 에이전트”에서 뭘 배우나요?

에이전트 간 합의 브라우저에서 직접 실행하는 실습 코드로 AI Prompt Engineering을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

AI Prompt Engineering을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 AI Prompt Engineering은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“토론 및 투표 에이전트” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 AI Prompt Engineering 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 AI Prompt Engineering 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 역할과 전문화
  2. 오케스트레이터와 작업자
  3. 에이전트 간 통신
  4. 토론 및 투표 에이전트
← AI Prompt Engineering(으)로 돌아가기