Claude의 think
도구 소개
Claude는 다양한 상황에서 도구를 호출하거나 복잡한 사용자 요청을 처리할 수 있도록 설계된 LLM입니다. Anthropic은 이러한 작업에서 Claude의 일관성과 정확성을 높이기 위해 "think"라는 이름의 새로운 도구를 도입했습니다. "think" 도구는 Claude의 복잡한 작업 처리 능력을 획기적으로 개선할 수 있는 간단하면서도 강력한 기능입니다. 특히 다단계 도구 호출, 사용자 정책 준수, 도구 출력 분석 등에서 탁월한 성능 향상을 보여주고 있습니다.
"think" 도구는 Claude가 응답을 생성하는 도중 "지금 이 시점에서 한 번 생각을 정리하자"는 목적의 도구입니다. 이는 기존의 Extended Thinking*(응답을 생성하기 전 심층 계획을 세우는 기능)*과는 다릅니다. "think"는 주어진 정보 외에 도구 호출을 통해 획득한 외부 정보를 바탕으로 중간 정리와 검토를 수행할 수 있도록 돕습니다. "think" 도구는 특히 다음과 같은 시나리오에서 유용합니다:
- 다단계 도구 호출
- 정책 기반 환경에서의 판단
- 이전 단계 결과에 의존하는 순차적 결정
기존의 Extended Thinking
이 응답 생성 전에 계획을 수립하고 목표를 정의하는 등의 목적에 적합한 도구라면, Think
도구는 응답 생성 중 사용이 가능하여 정보를 정리하거나 규칙을 검토하는 목적으로 사용합니다. 이를 통해 정책 기반의 의사결정 또는 다단계 도구 호출 등의 시나리오에 적합합니다. 간단히 말해, Extended Thinking
은 계획 수립용, Think
도구는 실시간 사고 정리용이라고 볼 수 있습니다.
think
도구의 주요 특징은 다음과 같습니다:
- Claude의 응답 흐름 도중 중간 사고 정리를 가능하게 함
- 도구 출력 기반 사고를 구조화된 방식으로 기록
- 복잡한 고객 서비스 정책이나 다단계 흐름에서 오류 감소
- τ-Bench 및 SWE-Bench 벤치마크에서 성능 개선 확인
성능 비교 및 효과
Anthropic은 τ-Bench 벤치마크를 사용하여 실제 고객의 서비스 시나리오에서의 “think” 도구의 성능을 분석했습니다. think
도구 및 Extented Thinking
이 없는 것을 베이스라인(baseline)으로 잡고, 각 도구를 하나씩 사용한 경우와 둘 모두를 사용한 경우를 비교하였습니다.
그 결과, 항공 분야에서는 최적화된 프롬프트가 있는 “think” 도구는 기준치인 0.370에 비해 0.570을 달성하여 54%의 상대적 개선을 이루었습니다. 또한, 소매 분야에서는 “think” 도구만으로도 기준치인 0.783에 비해 0.812를 달성했습니다. (상세한 벤치마크 결과는 블로그 내용을 참고해주세요!)
think
도구 사용 모범 사례(Best Practices)
τ-bench 실험을 통해 얻은 구현 모범 사례는 다음과 같습니다:
-
특정 영역의 예시를 통한 전략적 프롬프트: 가장 효과적인 접근 방식은 τ-bench 항공사 영역에 사용된 것과 같이 “think” 도구를 언제 어떻게 사용해야 하는지에 대한 명확한 지침을 제공하는 것입니다. 특정 사용 사례에 맞는 예시를 제공하면 모델이 “think” 도구를 사용하는 효율성이 크게 향상됩니다:
- 추론 과정에서 예상되는 세부 사항의 수준;
- 복잡한 지침을 실행 가능한 단계로 나누는 방법;
- 일반적인 시나리오를 처리하기 위한 의사 결정 트리; 그리고
- 필요한 모든 정보가 수집되었는지 확인하는 방법.
-
복잡한 지침을 시스템 프롬프트에 넣기: 시스템 프롬프트에 “think” 도구에 대한 지침을 넣는 것이 도구 설명 자체에 넣는 것보다 더 효과적이라는 것을 발견했습니다. 이 접근 방식은 더 넓은 맥락을 제공하고 모델이 사고 과정을 전반적인 행동에 더 잘 통합할 수 있도록 도와줍니다.
think
도구를 사용하지 말아야 할 때
“think” 도구는 상당한 개선을 가져다줄 수 있지만, 모든 도구 사용 사례에 적용할 수 있는 것은 아니며, 프롬프트 길이와 출력 토큰의 증가라는 대가를 치러야 합니다. 구체적으로, “think” 도구는 다음과 같은 사용 사례에서 개선을 가져다주지 않는 것으로 나타났습니다:
-
비순차적 도구 호출(Non-sequential tool calls): Claude가 작업을 완료하기 위해 한 번의 도구 호출 또는 여러 개의 병렬 호출만 수행해야 하는 경우, “think” 도구를 추가해도 개선될 가능성이 낮습니다.
간단한 지시 사항 따르기. Claude가 준수해야 하는 제약 조건이 많지 않고 기본 동작이 충분히 좋은 경우, “think” 도구를 추가해도 이득이 없을 가능성이 높습니다. -
간단한 지시 사항 따르기(Simple instruction following): Claude가 준수해야 하는 제약 조건이 많지 않고 기본 동작이 충분히 좋은 경우, “think” 도구를 추가해도 이득이 없을 가능성이 높습니다.
Anthropic의 think
도구 출시 블로그
https://www.anthropic.com/engineering/the-think-tool-enabling-claude-to-stop-and-think
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~