- 사고 과정 유도는 단번에 답을 강요하는 대신 중간 단계를 명확히 제시함으로써 LLM 추론 능력을 향상시킵니다.
- 제로샷, 퓨샷, 자동 비용 절감(Auto-CoT), 자체 일관성 및 사고의 트리와 같은 변형 방법들은 정확도, 비용 및 구현 노력 측면에서 장단점이 있습니다.
- CoT는 투명한 추론이 신뢰성과 디버깅 용이성을 향상시키는 에이전트 기반 도구 사용 시스템에서 특히 강력한 성능을 발휘합니다.
- CoT를 실제 운영 환경에서 사용하려면 품질과 지연 시간 및 토큰 비용 간의 균형을 맞추기 위해 관찰 가능성, 평가 및 반복적인 최적화가 필요합니다.

사고 연쇄 유도(Chain of Thought prompting, CoT)는 연구 분야의 흥미로운 요소에서 벗어나, 개발자들이 대규모 언어 모델을 단순히 다음에 나올 가능성이 가장 높은 단어를 추측하는 것이 아니라 실제로 추론하도록 만드는 데 사용할 수 있는 가장 실용적인 도구 중 하나로 자리 잡았습니다. 모델에게 중간 단계를 명시적으로 설명하도록 요청함으로써 수학, 논리 및 의사 결정 작업에서 훨씬 더 나은 성능을 얻을 수 있을 뿐 아니라 디버깅 및 감사가 가능한 투명한 추적 기록을 확보할 수 있습니다.
LLM 기반 애플리케이션을 개발 중이라면, 자치령 대표 조종사나 부조종사가 있는데도 여전히 단일 단계 프롬프트만 보내고 있다면, 상당한 품질 손실을 보고 있는 것입니다. 이 개발자 중심 가이드에서는 사고 연쇄(Chain of Thought)가 무엇인지, 왜 효과적인지, 주요 변형(제로샷, 퓨샷, 자동 사고 연쇄, 자체 일관성, 사고의 트리, 최소-최대, 멀티모달)은 무엇인지, 프롬프트 체이닝과 어떻게 다른지, 그리고 최신 도구를 사용하여 실제 시스템에 통합하고 모니터링하는 방법을 자세히 살펴봅니다.
직접적인 답변에서 명확한 추론으로
대부분의 사람들이 LLM에 보내는 질문은 "단발성"입니다. 질문을 하면 모델이 아무런 질문도 하지 않고, 추론 과정도 보여주지 않고 바로 답을 내놓습니다. "하늘은 무슨 색인가요?"와 같은 질문의 경우, 모델은 그냥 "하늘은 파랗습니다."라고 대답합니다. 눈에 보이는 구조도 없고, 중간 논리도 없으며, 그저 자연스럽게 들리는 최종 문장일 뿐입니다.
사고 연쇄 유도 방식은 모델에게 자신이 따르는 추론 단계를 실제로 설명하도록 지시함으로써 이러한 패턴을 뒤집습니다. "왜 하늘이 파랗게 보일까요? 단계별로 생각해 보세요."라고 질문하면, 모델은 "파란색"이라는 개념을 설명하고, 햇빛이 대기와 어떻게 상호작용하는지 이야기하고, 레일리 산란을 언급한 다음, 짧은 파장의 파란색 빛이 모든 방향으로 산란되어 하늘이 파랗게 보인다고 설명할 수 있습니다.
엄밀히 말하면, 모델의 가중치를 변경하거나 새로운 정보를 제공하는 것이 아니라, 모델이 수행하도록 요청하는 계산 형식을 변경하는 것입니다. 구문 분석, 추론, 계산 및 답변을 단일 순방향 과정으로 압축하는 대신, 일련의 중간 단계적 사고 과정을 거쳐 결론에 도달하도록 합니다.
실제로 이는 문제 끝에 "단계별로 풀이 과정을 보여주세요" 또는 "체계적으로 풀어봅시다"와 같은 지시 사항을 추가하는 것만큼 간단할 수 있습니다. 이러한 작은 추가 사항은 모델이 단순히 그럴듯하게 들리는 답으로 바로 넘어가는 대신, 최종 결과로 이어지는 일련의 중간 단계를 드러내도록 유도합니다.
CoT는 또한 관찰 가능성을 훨씬 더 쉽게 만들어줍니다. 모델이 잘못되었을 때, 원인을 알 수 없는 잘못된 숫자나 설명할 수 없는 잘못된 결정만 바라보는 대신, 논리가 잘못된 정확한 단계를 찾아낼 수 있는 경우가 많습니다.
패턴 매칭과 실제 추론 사이의 간극
LLM은 엄청난 양의 텍스트로 훈련된 거대한 확률 기계이기 때문에 패턴 매칭에 놀라울 정도로 뛰어납니다. "깃털 1파운드와 납 1파운드 중 어느 것이 더 무거울까요?"라고 물으면, 현대의 모델은 그런 까다로운 질문 패턴을 수백, 수천 번 접해봤기 때문에 무게가 같다고 자신 있게 대답합니다.
하지만 여러 개의 연관된 연산이 필요한 질문을 할 경우 성능이 빠르게 저하될 수 있습니다. 대표적인 예: "기계 5대가 위젯 5개를 만드는 데 5분이 걸린다면, 기계 100대가 위젯 100개를 만드는 데는 얼마나 걸릴까요?" 많은 모델은 주의 깊게 지도하지 않으면 직관적이지만 잘못된 답을 내놓을 수 있습니다.
핵심 문제는 대개 지식의 부족이 아니라 구조의 부족입니다. 다단계 추론은 모델이 여러 작업을 순차적으로 처리하도록 암묵적으로 요구합니다. 즉, 텍스트를 이해하고, 질문의 요지를 파악하고, 관련 관계나 공식에 연결하고, 계산을 수행하고, 답변을 작성해야 합니다. 즉각적인 응답을 요구하는 것은 사실상 이 전체 과정을 한 번에 처리하도록 요구하는 것과 같습니다.
사고의 연쇄 촉진은 암묵적인 사고의 순서를 명시적인 텍스트로 전환함으로써 모델에게 "생각할 여지"를 제공합니다. 구글을 비롯한 여러 연구기관의 연구 결과에 따르면, 모델에게 "풀이 과정을 보여달라"고 요청했을 때 산술 연산, 상식적 추론, 기호 조작 등의 작업에서 정확도가 직접 답변하는 경우에 비해 크게 향상되는 것으로 나타났습니다.
특히 눈에 띄는 실험 하나는 연구자들이 GPT-3에게 초등학교 수준의 수학 문제를 냈을 때, 단순한 힌트만으로는 정답률이 20%에도 미치지 못했다는 점입니다. 단순히 중간 추론을 요구하는 방식으로 질문을 바꾸자 정확도가 50%를 넘어섰고, 여기에 자기 일관성을 추가하자 70% 중반대까지 상승했습니다. 동일한 가중치, 동일한 모델이었지만, 질문을 더 영리하게 표현한 것입니다.
사고 연쇄 유도의 핵심 유형
개발자들은 정확성, 비용 및 구현 복잡성의 균형을 맞추기 위해 몇 가지 CoT 변형을 개발해 왔습니다. 제로샷 CoT, 퓨샷 CoT, 자동 CoT(Auto-CoT), 자기 일관성, 사고의 트리, 최소-최대 프롬프트와 같은 다양한 변형을 볼 수 있으며, 각각 약간씩 다른 시나리오에 적합합니다.
제로샷 사고의 연쇄
제로샷 CoT는 가장 가벼운 옵션입니다. 예제를 입력할 필요 없이 추론 지침만 추가하면 됩니다. "단계별로 생각해 봅시다", "한 단계씩 신중하게 해결해 보세요", "답변하기 전에 추론 과정을 설명해 보세요"와 같은 문구는 모델의 학습된 추론 행동을 활성화하는 것으로 알려져 있습니다.
경험적으로 볼 때, 이러한 간단한 변화는 엄청난 영향을 미칠 수 있습니다. 산술 벤치마크에서 초기 연구 결과에 따르면 단계별 명령어를 추가하는 것만으로 정확도가 약 10%에서 40% 이상으로 향상되는 것으로 나타났습니다. 예제 라이브러리를 구축하거나 유지 관리할 필요 없이 추론 품질을 크게 향상시킬 수 있습니다.
제로샷 CoT는 일반적인 추론 작업에서 빠른 결과를 얻고 싶고 지연 시간과 비용이 중요한 경우에 특히 효과적입니다. 프롬프트가 짧게 유지되므로 토큰 사용량과 컨텍스트 구축에 드는 비용이 줄어들면서도 해석 가능성과 정확도는 크게 향상됩니다.
단점은 모델이 자체적인 추론 방식을 고안해야 한다는 점인데, 이 방식은 장황하거나, 영역별로 일관성이 없거나, 최종 답이 그럴듯해 보이더라도 때로는 비논리적일 수 있다는 것입니다. 금융, 의학, 법률, 안전에 중요한 결정과 같은 전문 분야에서는 일반적으로 이것만으로는 충분하지 않습니다.
몇 번의 샷으로 이루어진 사고의 연쇄
Few-shot CoT는 보다 주관적인 접근 방식을 취합니다. 즉, 답변에 명확한 추론 단계가 포함된 예시 질문과 답변 쌍을 모델에 보여줍니다. 몇 차례 시연을 거친 후, 실제 질문을 추가하고 모델이 해당 패턴을 모방하도록 합니다.
이 접근법은 타당한 추론의 구조가 정말 중요할 때 매우 효과적입니다. 재무 분석 도구의 경우 현금 흐름 계산, 할인율 및 위험 조정 과정을 보여주는 예시를 포함할 수 있습니다. 의료 분류 봇의 경우 증상, 병력, 위험 징후, 감별 진단, 권장 사항으로 구성된 임상 의사 결정 트리를 내장할 수 있습니다.
단점은 소량 촬영 CoT 방식은 상당한 즉각적인 엔지니어링 노력이 필요하다는 것입니다. 깔끔하고 다양한 예제를 설계하고, 논리가 정확하고 대표성을 갖도록 하며, 제품이나 도메인 제약 조건이 변화함에 따라 지속적으로 업데이트해야 합니다. 프롬프트가 길어지면 토큰 사용량이 늘어나고 비용이 증가하며 호출당 지연 시간이 길어집니다.
하지만 도메인이 민감하거나 복잡한 경우에는 소수 샷 CoT가 일반적으로 제로 샷보다 우수한 성능을 보이며, 프로덕션 환경에서 기본 설정으로 사용하기에 적합한 경우가 많습니다. 추론 방식과 깊이에 대한 통제력이 향상되고, 취약하거나 관련성이 떨어지는 사고 패턴에서 모델을 벗어나도록 유도할 수 있습니다.
자동 사고 연쇄(Auto-CoT)
좋은 사고 연쇄(CoT) 예시를 수작업으로 만드는 것은 확장성이 떨어지기 때문에 연구원들은 이러한 작업의 대부분을 모델에 맡기기 위해 자동 사고 연쇄(Auto-CoT)를 제안했습니다. 이 아이디어는 데모로 재사용할 수 있는 다양한 추론 과정을 자동으로 생성하는 것입니다.
Auto-CoT는 일반적으로 두 단계로 진행됩니다.
- 질문 클러스터링: 문제 데이터셋을 가져와서 (예를 들어 문장 변환기를 사용하여) 임베딩하고, 유사한 질문들이 함께 묶이도록 클러스터링합니다.
- 시범 샘플링: 각 클러스터에서 대표 질문을 선택하고 LLM에게 제로샷 CoT를 사용하여 추론 체인을 생성하도록 요청합니다. 이때 일반적으로 "약 5단계의 추론 과정을 거치는 짧은 질문"과 같은 간단한 휴리스틱을 사용합니다.
그 결과, 수동 작성 없이 자동으로 생성된, 상당히 다양한 CoT 예제 라이브러리가 만들어졌습니다. 새로운 쿼리가 들어오면 이 라이브러리에서 관련 데모를 검색하거나 샘플링하여 몇 개의 CoT 예제로 프롬프트에 추가할 수 있습니다.
자동 생성된 연결 고리에는 사소한 오류가 포함될 수 있지만, 다양성과 검색 기능 덕분에 단일 결함 사례의 영향은 완화되는 경향이 있습니다. 실제로 Auto-CoT는 추론 벤치마크에서 단순 제로샷 CoT와 단순 퓨샷 CoT 모두를 능가하는 경우가 많으며, 동시에 사람의 시간을 크게 절약해 줍니다.
다양한 추론 경로에 걸친 자기 일관성
자체 일관성은 연산 능력을 희생하는 대신 신뢰성을 확보하는 고급 확장 기능입니다. 모델에게 하나의 추론 과정과 답변을 요구하는 대신, (온도나 샘플링 매개변수를 조정하여) 여러 개의 독립적인 추론 과정을 샘플링한 다음, 다수결 투표를 통해 최종 답변을 종합합니다.
직관적으로 생각해보면, 정답에 이르는 타당한 추론 경로는 여러 가지가 있지만, 잘못된 경로는 종종 갈라져 나온다. 예를 들어, "15 − 3 + 8"은 "12 + 8", "15 + 8 = 23에서 3을 뺀다", 또는 "왼쪽에서 오른쪽으로 계산한다"와 같이 여러 가지 방법으로 계산할 수 있습니다. 모든 계산 결과는 20이지만, 계산 과정이 잘못되면 21이 나올 수도 있습니다. 여러 번 계산해 보면, 잘못된 답을 선택한 사람이 더 많은 표를 얻는 경향이 있습니다.
GSM8K와 같은 벤치마크에서 CoT에 자체 일관성 기능을 추가하면 정확도가 두 자릿수 퍼센트 향상되는 결과를 얻을 수 있습니다. 명백한 문제점은 이제 사용자 쿼리당 여러 번의 LLM 호출이 발생하여 샘플 수만큼 지연 시간과 토큰 사용량이 증가한다는 것입니다.
따라서 자기 일관성은 재무 계산, 법적 추론, 임상 의사 결정 지원, 안전성 점검과 같이 위험 부담이 큰 업무에 가장 적합합니다. 일반적인 챗봇의 경우 추가적인 컴퓨팅 자원 투입은 경제성이 떨어지는 경우가 많지만, 중요한 임무를 수행하는 에이전트의 경우 안정성 향상을 위해 필요한 시간은 단 몇 밀리초라도 아깝지 않을 수 있습니다.
사고의 나무: 선형적 추론 대신 분기형 추론
사고의 나무(Tree-of-Thought, ToT)는 사고의 사슬(Chain of Thought)을 단일 사슬에서 가능한 생각들을 아우르는 분기형 탐색 트리로 확장한 것입니다. 이 시스템은 처음부터 끝까지 하나의 추론 경로를 따르는 대신, 각 단계에서 여러 옵션을 탐색하고 약한 가지를 잘라낸 다음 가장 강력한 경로를 따라 계속 진행합니다.
이는 여러분이 머릿속으로 조합론이나 전략 문제를 푸는 방식과 더 가깝습니다. 몇 가지 가능한 해결책을 브레인스토밍하고, 부분적으로 검토한 후, 막다른 길로 보이는 것은 버리고, 유망한 방향으로 계속 확장해 나가다 보면 마침내 확실한 해결책에 도달하게 됩니다.
구현 측면에서 ToT는 일반적으로 여러 LLM 호출을 조정합니다. 트리의 각 깊이에서 모델은 다음 단계를 제안하고, 제어기는 다른 LLM이나 휴리스틱 점수 계산 등을 사용하여 부분 상태를 평가하고 확장할 분기를 선택합니다. 연구 데모에서는 ToT를 사용하여 퍼즐 게임, 계획 작업 및 창의적 아이디어 구상 문제를 해결했으며, 일반 CoT보다 훨씬 더 나은 결과를 보여주었습니다.
단점은 비용입니다. 하나의 문제를 해결하기 위해 수십 번의 전화 통화가 필요할 수도 있습니다. 그렇기 때문에 ToT는 속도보다 철저한 탐색이 더 중요한 분야, 즉 복잡한 설계, 게임 플레이 에이전트 또는 깊이와 다양성이 목표인 브레인스토밍에 가장 적합합니다.
가장 적은 자극에서 가장 많은 자극 순으로
최소-최대 프롬프팅은 복잡한 문제를 순차적으로 처리되는 더 간단한 하위 문제로 나누는 또 다른 고급 전략입니다. 먼저 모델에게 해결할 수 있는 최소한의 하위 작업을 식별하도록 요청합니다. 그런 다음 해당 솔루션을 다시 입력하고 그다음으로 복잡한 구성 요소를 요청합니다. 이런 식으로 전체 문제가 해결될 때까지 계속합니다.
이 패턴은 특히 구성적 추론에 효과적입니다. 중첩된 데이터 구조 쿼리, 다단계 대수 연산, 또는 각 부분이 이전 출력에 의존하는 복잡한 기능에 대한 코드 생성 등을 생각해 보세요. 깔끔하게 분해함으로써 각 단계에서 모델의 인지 부하를 줄이고 전체 추론 과정을 더 쉽게 검토할 수 있습니다.
행위 주체적이고 도구를 사용하는 시스템에서의 사고의 연쇄
CoT는 여러 단계를 거쳐 행동하고, 도구를 호출하고, 계획을 세우는 에이전트를 구축하기 시작하면 훨씬 더 가치가 높아집니다. 이러한 시스템은 단 하나의 질문에 답하고 멈추는 대신, 생각하고 행동하고 관찰하는 순환 과정을 거치며 새로운 정보가 나올 때마다 계획을 업데이트합니다.
상담원이 다음과 같은 상황을 처리한다고 상상해 보세요. "지난 화요일에 빨간색 스웨터를 주문했는데 파란색이 왔어요. 반품할 수 있을까요?" 합리적인 행동 파이프라인은 다음과 같을 수 있습니다: 문제 파악, 주문 내역 확인, 반품 정책 확인, 반품 기간 확인, 반품 가능 여부 결정, 그리고 마지막으로 반품 절차 시작.
간단한 안내만 있으면 상담원은 중요한 확인 절차를 건너뛰고 빠른 패턴 일치를 기반으로 "네, 여기 라벨이 있습니다" 또는 "아니요, 그건 불가능합니다"라고 바로 답변할 수 있습니다. Chain of Thought를 사용하면 다음과 같은 내레이션을 유도할 수 있습니다. "먼저 지난 화요일 주문을 조회하고, 품목 및 색상 불일치를 확인한 다음, 30일 반품 기간 내에 있는지 확인하고, 반품 자격이 있는 경우 반품 절차를 진행하겠습니다."
이는 ReAct(추론 + 행동) 패턴과 유사합니다. 에이전트는 내부 추론("주문 API를 조회해야 합니다")과 외부 행동(API 호출)을 번갈아 수행한 다음 관찰 결과를 다음 추론 단계에 통합합니다. 각각의 "생각"은 기록, 디버깅 및 분석에 사용할 수 있는 추적 데이터의 일부가 됩니다.
에이전트 기반 시스템의 경우, CoT(기술 안정성)는 있으면 좋은 기능이 아니라 신뢰성, 투명성 및 안전성을 확보하는 핵심적인 요소입니다. 무언가 잘못되었을 때(잘못된 도구, 잘못된 매개변수, 잘못된 해석 등) 에이전트가 어디에서 잘못되었는지 정확히 파악하고 추측에 의존하는 대신 프롬프트, 도구 또는 정책을 수정할 수 있습니다.
프롬프트 연쇄 vs 사고의 연쇄
프롬프트 체이닝과 사고의 연쇄 기법은 모두 복잡한 작업을 처리하는 데 도움이 되지만, 작동하는 수준이 다릅니다. 프롬프트 체이닝을 사용하면 큰 워크플로를 여러 개의 개별 프롬프트로 분할하고, 한 프롬프트의 출력을 다음 프롬프트로 전달합니다. CoT(Center of Technology)를 사용하면 전체 추론 프로세스를 단일 프롬프트-응답 교환 내에 포함시킬 수 있습니다.
프롬프트 연쇄 사용 예시: 세 단계에 걸쳐 책을 분석합니다. 첫 번째 단계에서는 줄거리 요약을, 두 번째 단계에서는 그 요약을 바탕으로 주제를 분석하고, 세 번째 단계에서는 두 가지를 모두 활용한 최종 서평을 작성합니다. 각 단계는 별도의 LLM 호출이며, 각 호출마다 고유한 지침이 있습니다.
유사한 작업을 위한 사고 과정의 예시: 하나의 프롬프트 안에 "먼저 줄거리를 요약하고, 주요 주제를 파악한 다음, 간략한 비판적 관점으로 결론을 내리세요. 각 단계를 차근차근 생각해 보세요."라고 입력하면, 모델은 자체적으로 사고의 미니 파이프라인을 생성하고 최종 답변을 한 번에 내놓습니다.
실제로는 실제 시스템에서 이 두 가지를 모두 사용하는 경우가 많습니다. 각 연결된 단계 내에서 CoT를 사용하여 추론을 개선하고, 여러 CoT 강화 프롬프트를 연결하여 긴 워크플로를 조율합니다. 주요 차이점은 프롬프트 체이닝이 여러 호출에 걸쳐 거시적인 워크플로를 구성하는 반면, 사고의 연쇄는 각 호출 내의 미시적인 추론 과정을 구성한다는 것입니다.
다중모드 사고의 연쇄
멀티모달 모델이 발전함에 따라, 사고의 사슬(Chain of Thought)은 더 이상 순수 텍스트에만 국한되지 않습니다. 멀티모달 CoT는 시스템이 텍스트, 이미지, 그리고 오디오나 표와 같은 다른 입력값을 기반으로 공동으로 추론하는 동시에 내부 단계를 설명할 수 있도록 합니다.
사람들로 붐비는 해변 사진을 찍고 "지금 이 장소가 관광객들로 북적이는 것처럼 보이나요?"라고 질문해 보세요. 다중 모드 CoT 모델은 우산의 개수, 사람들의 밀도, 혼잡한 주차장, 시간대 또는 그림자에서 얻는 단서 등을 명시적으로 기록한 다음, 이러한 모든 시각적 신호가 현재 높은 인기를 나타낸다고 주장할 수 있습니다.
시각적 추론 과정을 명시적으로 드러내면 정확도가 향상될 뿐만 아니라 훨씬 더 해석하기 쉬운 결정을 내릴 수 있습니다. 사용자는 모델이 이미지의 어떤 요소에 초점을 맞췄는지 확인할 수 있으며, 개발자는 관련 없는 세부 정보에 과도하게 인덱싱하는 등의 오류 유형을 파악할 수 있습니다.
대규모 사고 과정 최적화
데모 몇 개를 거쳐 실제 트래픽에 노출되면, 복잡한 현실에 직면하게 됩니다. CoT(서비스 품질)의 효율성은 작업 종류와 환경에 따라 크게 달라집니다. 모델 업데이트 및 마이그레이션 가이드사용하는 표현과 입력하는 구체적인 예시가 중요합니다. 논리적으로 잘 짜여진 주장이라도 잘못된 결론으로 이어질 수 있으며, 장황한 사고 과정은 별다른 가치를 더하지 않고 토큰만 낭비할 수 있습니다.
CoT를 실제 운영 환경에서 활용하려면 여러 요소를 동시에 추적하는 피드백 루프가 필요합니다.
- 최종 정확도: 모델의 답변이 예상되는 실제 값 또는 인간의 판단과 일치하는가?
- 추론 품질: 중간 단계가 타당하고 논리적으로 일관성이 있으며 도메인 제약 조건과 일치하는가?
- 일관성 : 유사한 쿼리를 실행했을 때와 시간이 지남에 따라 유사한 추론과 답변이 도출되는가?
- 토큰 효율성: 쿼리당 토큰을 얼마나 사용하고 있으며, 그에 상응하는 충분한 품질을 얻고 있습니까?
프롬프트 변형이 수십 개에 달하고 테스트 케이스가 수백 개에 이르는 상황에서는 몇 가지 예시를 수동으로 무작위 검사하는 것만으로는 충분하지 않습니다. 프롬프트 버전 관리, 구조화된 평가 실행, 추론 과정 시각화 등을 대규모로 수행할 수 있는 인프라가 필요합니다.
LLM을 위해 특별히 설계된 관찰 가능성 도구는 모든 요청에 대한 전체 추적(프롬프트, 모델, CoT 추론, 도구 호출, 최종 출력)을 캡처하여 이러한 문제를 해결하는 데 도움이 됩니다. 예를 들어 Opik과 같은 플랫폼을 사용하면 CoT 체인을 자세히 기록하고 검사하고, 다양한 프롬프트 버전을 비교하고, LLM을 심사위원으로 활용하여 최종 답변과 추론 품질을 자동으로 채점할 수도 있습니다.
해당 데이터를 활용하면 CoT 설정을 점진적으로 개선할 수 있습니다. 예를 들어 문구를 조정하거나, 제로샷을 퓨샷으로 바꾸거나, Auto-CoT를 사용하여 예제를 조정 또는 재생성하거나, 자체 일관성이 필요한 경우에만 자체 일관성을 도입할 수 있습니다. 일부 프레임워크는 DSPy와 같은 최적화 라이브러리나 진화적 탐색 알고리즘과 통합하여 평가 지표를 기반으로 더 나은 프롬프트를 반복적으로 개발하기도 합니다.
추론 과정 분석은 직접적인 답변보다 비용이 훨씬 많이 드는 경우가 많다는 점을 명심하십시오. 추론 텍스트만으로도 토큰 사용량이 2~4배 증가할 수 있으며, 자기 일관성 검증은 샘플 수만큼 증가시키고, 사고의 나무 분석은 그보다 훨씬 더 많은 비용이 들 수 있습니다. 그렇기 때문에 명확한 모니터링이 필요한 것입니다. 그래야 추가 예산이 어디에 효과적으로 쓰이는지 정확히 알 수 있습니다.
많은 팀에게 있어 실용적인 전략은 단계별로 진행됩니다. 기본적으로는 간단한 제로샷 또는 짧은 기간의 몇 번의 시도로 구성된 CoT를 사용하고, 가치가 높거나 모호하거나 위험도가 높은 것으로 표시된 쿼리에 대해서만 자체 일관성 또는 ToT로 확장합니다. 관찰 가능성과 평가 능력은 이러한 동적 전략을 실현 가능하게 만드는 핵심 요소입니다.
CoT를 자체 애플리케이션에서 실험할 때—빠른 제로샷 프롬프트, 엄선된 퓨샷 예제, 자동화된 Auto-CoT 라이브러리 또는 다중 샘플 자체 일관성 등 어떤 방식을 사용하든—핵심은 모델의 추론 과정을 일급 제품 표면으로 취급하는 것입니다. 명확하게 표현하고, 기록하고, 점수를 매기고, 반복적으로 개선하면, 단순한 일회성 답변으로는 결코 얻을 수 없었던 훨씬 더 신뢰할 수 있고, 해석 가능하며, 강력한 동작을 동일한 기본 모델에서 이끌어낼 수 있습니다.
