brunch

You can make anything
by writing

C.S.Lewis

by AI러 이채문 Nov 30. 2024

TOT, 복잡한 문제 해결하기

기초프롬프팅방법론(8)


복잡한 문제를 해결할 때, 

인간은 여러 가능성을 동시에 고려하고, 

각 선택지의 결과를 예측하며, 

필요한 경우 이전 단계로 돌아가 다른 접근 방식을 시도합니다. 



2023년 Yao et al.과 Long이 제안한 Tree of Thoughts(ToT) 프레임워크는 이러한 인간의 자연스러운 문제 해결 과정을 AI 시스템에 구현한 혁신적인 접근 방식입니다.


기존의 단순한 프롬프팅이나 Chain-of-Thought 방식은 선형적인 사고 과정을 따르기 때문에, 복잡한 문제나 전략적 사고가 필요한 상황에서 한계를 보였습니다. 예를 들어, 수학 문제를 풀 때 여러 가능한 접근 방식 중 어떤 것이 최적인지 결정하거나, 게임의 다음 수를 결정할 때 여러 수 앞을 내다봐야 하는 상황에서는 단순한 선형적 사고로는 충분하지 않습니다.


ToT는 이러한 한계를 극복하기 위해 '생각의 나무(Tree of Thoughts)'라는 구조를 도입했습니다. 이는 마치 체스 플레이어가 여러 수를 미리 계산하면서 각 선택의 결과를 평가하는 것처럼, AI가 문제 해결을 위한 여러 중간 단계의 생각들을 트리 구조로 탐색하고 평가할 수 있게 해줍니다.



ToT 프레임워크의 혁신성은 크게 세 가지 측면에서 살펴볼 수 있습니다:


체계적인 탐색 가능성:
기존의 프롬프팅 방식이 한 번의 시도로 최선의 답을 찾으려 했다면, ToT는 너비 우선 탐색(BFS)이나 깊이 우선 탐색(DFS)과 같은 알고리즘을 활용하여 가능한 여러 경로를 체계적으로 탐색할 수 있게 합니다.
자체 평가 메커니즘:
각 중간 단계에서 AI는 현재 진행 상황을 평가하고, 해당 경로가 얼마나 유망한지를 판단할 수 있습니다. 이는 마치 숙련된 전문가가 문제 해결 과정에서 지속적으로 자신의 접근 방식을 평가하고 조정하는 것과 유사합니다.
유연한 백트래킹:
어떤 접근 방식이 실패할 것 같다고 판단되면, 이전 단계로 돌아가 다른 접근을 시도할 수 있습니다. 이는 인간의 문제 해결 과정에서 흔히 볼 수 있는 '시행착오를 통한 학습' 과정을 모방한 것입니다.




효과적인 ToT 프레임워크 설계 방법론


ToT 프레임워크를 설계할 때는 다음과 같은 핵심 요소들을 고려해야 합니다:



문제 분해 및 단계 정의:


예시 - 수학 문제 해결:


단계 1: 문제 유형 파악

- 대수적 접근이 필요한가?

- 기하학적 접근이 필요한가?

- 복합적 접근이 필요한가?


단계 2: 가능한 접근 방식 생성

- 각 접근 방식의 초기 단계 정의

- 예상되는 중간 결과 설정

- 성공/실패 기준 설정


단계 3: 평가 기준 수립

- "확실함/가능함/불가능함" 판단 기준

- 부분 해결책의 진행 상태 평가 방법

- 최종 목표까지의 거리 측정 방법





탐색 전략 설계:


A. 너비 우선 탐색(BFS) 프롬프트:

"다음 단계들에 대해 각각 5개의 가능한 접근 방식을 생성해주세요:

1. [첫 번째 단계 설명]

2. [두 번째 단계 설명]

3. [세 번째 단계 설명]

각 접근 방식에 대해:

- 성공 가능성 평가 (확실/가능/불가능)

- 평가 근거 제시

- 다음 단계로의 연결 가능성 검토"


B. 깊이 우선 탐색(DFS) 프롬프트:

"현재 접근 방식에 대해:

1. 현재까지의 진행 상태 평가

2. 다음 단계의 가능한 선택지 생성

3. 각 선택지의 장단점 분석

4. 가장 유망한 경로 선택 또는 백트래킹 결정"






실제 적용 사례와 예시


수학 문제 해결 (Game of 24):


초기 프롬프트:

"주어진 숫자들을 사용하여 24를 만드는 문제를 해결하겠습니다. 

각 단계에서 가능한 연산을 평가하고, 

결과가 24에 도달할 가능성에 따라 판단하겠습니다.

시작 숫자: [4, 7, 8, 8]

첫 번째 단계 탐색:

1) 4 + 7 = 11 (가능: 13이 남음)

2) 4 × 7 = 28 (불가능: 이미 24 초과)

3) 8 + 8 = 16 (가능: 8이 남음)

4) 8 × 8 = 64 (불가능: 이미 24 초과)

5) 4 + 8 = 12 (가능: 12가 남음)"

평가 프롬프트:

"각 중간 결과에 대해:

- 24에 도달 가능성 평가

- 남은 숫자들과의 조합 가능성 검토

- 불가능한 경우 즉시 가지치기"



논리 퍼즐 해결:


초기 상태 분석 프롬프트:

"다음 논리 퍼즐을 해결하기 위한 접근 방식을 탐색하겠습니다:

[퍼즐 설명]

각 단계에서:

1. 현재 알려진 사실 정리

2. 가능한 추론 경로 생성

3. 각 추론의 확실성 평가

4. 다음 단계 결정

첫 번째 추론 단계:

- 가정 1: [논리적 가정]

- 가정 2: [대안 가정]

- 각 가정의 함의 분석"

탐색 프롬프트:

"각 추론 경로에 대해:

1. 모순 여부 확인

2. 새로운 정보 도출 가능성

3. 최종 해답까지의 거리 추정

4. 탐색 우선순위 결정"

전략 게임 의사결정:



상황 분석 프롬프트:


"현재 게임 상태:

[게임 상태 설명]

각 가능한 행동에 대해:

1. 즉각적인 결과 예측

2. 상대방의 예상 대응

3. 2-3수 앞의 상황 시뮬레이션

평가 기준:

- 승리 가능성

- 위험 수준

- 대안 전략 존재 여부"

전략 탐색 프롬프트:

"선택된 행동에 대해:

1. 긍정적 시나리오 전개

2. 부정적 시나리오 전개

3. 대비책 수립

4. 백트래킹 조건 정의"





ToT의 발전된 형태와 응용


ToT 프레임워크는 Hulbert(2023)의 Tree-of-Thought Prompting과 Sun(2023)의 PanelGPT와 같은 새로운 발전된 형태로 진화하고 있습니다. 이러한 발전은 더욱 실용적이고 효과적인 문제 해결 방식을 제시합니다.


Tree-of-Thought Prompting의 구현:


전문가 패널 시뮬레이션 프롬프트:

"세 명의 전문가가 다음 문제를 해결하려 합니다:

[문제 설명]

각 전문가는:

1. 자신의 사고 과정을 한 단계씩 공유

2. 다른 전문가의 의견을 경청

3. 필요시 자신의 접근 방식 수정

4. 잘못된 방향임을 깨달으면 중단

첫 번째 라운드 시작:

전문가 A: [첫 번째 사고 단계]

전문가 B: [첫 번째 사고 단계]

전문가 C: [첫 번째 사고 단계]"

평가 및 조정 프롬프트:

"각 전문가의 접근에 대해:

1. 논리적 타당성 평가

2. 다른 접근과의 시너지 가능성

3. 수정이나 보완이 필요한 부분

4. 다음 단계 제안"



PanelGPT 방식의 구현:


패널 토론 설정 프롬프트:

"다음 주제에 대해 다양한 관점을 가진 전문가들이 토론합니다:

[주제 설명]

패널 구성:

- 이론가: 이론적 기반과 원칙 중심

- 실무자: 실제 적용과 현실적 제약 고려

- 혁신가: 새로운 접근 방식 제안

토론 규칙:

1. 각자의 관점 제시

2. 다른 의견에 대한 건설적 비판

3. 합의점 도출 시도

4. 최종 결론 도출"

통합 분석 프롬프트:

"토론 내용을 바탕으로:

1. 주요 합의점 정리

2. 남은 쟁점 분석

3. 실행 가능한 해결책 도출

4. 후속 검토 사항 제시"



강화학습 기반 ToT Controller:


컨트롤러 동작 프롬프트:

"현재 문제 해결 상태:

[상태 설명]

다음 단계 결정을 위한 평가:

1. 현재까지의 진행 평가

   - 성공 가능성

   - 리소스 사용량

   - 남은 탐색 공간

2. 가능한 행동:

   - 현재 경로 계속 진행

   - 이전 단계로 백트래킹

   - 새로운 접근 시도

3. 행동 선택 기준:

   - 예상 보상

   - 불확실성 수준

   - 탐색/활용 트레이드오프"





ToT의 성능 최적화 전략

ToT 프레임워크의 성능을 최대화하기 위한 핵심 전략들:



탐색 깊이와 너비 최적화:


매개변수 설정 가이드:

- 문제 복잡도에 따른 최대 깊이 설정

- 각 단계별 고려할 후보 수 결정

- 평가 기준 세분화 수준 조정

예시 설정:

간단한 문제:

- 깊이: 2-3 단계

- 후보 수: 3-5개

- 평가: 단순 가능/불가능

복잡한 문제:

- 깊이: 4-6 단계

- 후보 수: 5-7개

- 평가: 5단계 확률 척도



평가 메커니즘 최적화:


평가 기준 프레임워크:

"각 중간 단계에 대해:

1. 객관적 메트릭:

   - 목표까지의 거리

   - 리소스 사용량

   - 제약조건 충족도

2. 휴리스틱 평가:

   - 전문가 직관 기반 판단

   - 유사 사례와의 비교

   - 위험/기회 요소 분석

3. 종합 평가:

   - 각 메트릭의 가중치 적용

   - 불확실성 고려

   - 최종 점수 산출"



ToT는 AI 시스템의 문제 해결 능력을 획기적으로 향상시킬 수 있는 강력한 프레임워크입니다. 특히 복잡한 추론이나 전략적 사고가 필요한 작업에서 그 진가를 발휘합니다. 다만, 이를 효과적으로 활용하기 위해서는 문제의 특성에 맞는 적절한 구조와 매개변수 설정, 그리고 평가 메커니즘의 최적화가 필요합니다.


앞으로 ToT는 더욱 발전하여, 강화학습과의 결합을 통한 적응형 탐색 전략 개발, 멀티 에이전트 시스템과의 통합, 그리고 더욱 효율적인 탐색 알고리즘의 개발 등을 통해 더욱 강력한 문제 해결 도구로 발전할 것으로 기대됩니다.



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari