강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

기쁜 앵무새님의 프로필 이미지
기쁜 앵무새

작성한 질문수

[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!

주간 학습 인증 (4주차) | ~10/26(일) 23:59까지

사고패턴 질문입니다.

작성

·

20

0

프롬프팅 전략과 사고패턴에서 cot, tot 등을 구분하여 사용할수 있는 방법이 궁금해요

 

마이크로서비스를 단계별로 분리해줘.

최적의 데이터베이스 설계를 찾아줘.

api 엔드포인트를 구현하고 반복 개선해줘.

 

이런식으로 책에서 적힌 설명대로 사고패턴을 바꾸는 방법밖에 없는지? 명확한 기준이 있을까요?

사고패턴 변경방법이 궁금합니다

답변 3

0

조훈(Hoon Jo)님의 프로필 이미지
조훈(Hoon Jo)
지식공유자

LLM의 사고 패턴(Reasoning Pattern) — 예를 들어 CoT(Chain-of-Thought), ToT(Tree-of-Thought), GoT(Graph-of-Thought) 등 — 은 모델 내부의 추론 구조와 학습 데이터에 의해 크게 좌우됩니다.

즉, 어떤 사고 패턴이 실제로 활성화될지는 해당 LLM의 근본적인 학습 및 파인튜닝 방식에 따라 달라지므로, 외부에서 이를 직접적으로 “전환”하거나 “명령어로 제어”하는 것은 불가능합니다.

책에서 언급된 사고 패턴 유도법은, 모델이 특정 방식으로 사고하도록 ‘프롬프트 설계’를 통해 유도하는 전략에 가깝습니다.

예를 들어:

CoT (Chain of Thought)

→ “단계별로 생각해보자(Let’s think step by step)”

와 같은 문장을 추가하여 선형적 추론 흐름(linear reasoning)을 유도합니다.

이 방법은 수학 풀이, 논리 문제, 복잡한 절차적 판단에서 자주 사용됩니다.

Q: What is 37 × 42?

A: Let's think step by step.

37 × 42 = (30 + 7) × (40 + 2) = ...

위와 같은 방식으로 모델이 내부적으로 중간 사고 단계를 표현하며 답을 도출하도록 유도합니다.

ToT (Tree of Thought)

→ 여러 가능한 사고 가지(branch)를 생성하고, 각 가지를 평가한 뒤 최적의 답을 선택하는 방식입니다.

이는 일반적인 프롬프트로 직접 구현되기보다는, 외부 알고리즘 또는 컨트롤러(예: MCP, ToT Framework)가 LLM을 반복 호출하면서 각 단계의 출력을 구조화하는 형태로 작동합니다.

즉, LLM 내부에서 스스로 트리 구조로 사고하는 것이 아니라,

사용자가 “트리 형태의 사고를 하도록 설계한 반복적 질의 구조”를 통해 이를 흉내냅니다.

Thought 1 → Evaluate → Continue

Thought 2 → Evaluate → Continue

Select best branch → Final Answer

이런 형태의 제어는 “LLM을 유도하는 메타 레벨 로직”에 가깝습니다.

마지막으로 GoT는 다루지 않았지만, 사고를 넓히는 방법과 상호 교차하는 것에 대해서 이해를 돕기 위해 추가합니다.

GoT (Graph of Thought)

→ 사고의 단위를 노드(node)로 두고, 각 노드가 서로의 정보를 교환하며 사고를 확장해 나가는 네트워크형(graph-based) 사고 구조입니다.

즉, 여러 개의 사고 경로가 독립적으로 생성된 뒤 서로 연결되어 상호 참조, 검증, 보완을 거치며 더 정교한 결론을 만들어내는 형태입니다.

ToT가 ‘여러 갈래 중 하나를 선택하는 구조’라면, GoT는 ‘서로 다른 가지들이 협력하며 통합되는 구조’라고 할 수 있습니다.

예를 들어, 특정 문제를 분석할 때

- Node A는 원인 분석을 수행하고,

- Node B는 해결 전략을 제시하며,

- Node C는 실행 가능성을 검증하고,

- Node D는 이 결과를 종합하여 최종 결론을 제안하는 식으로 구성할 수 있습니다.

각 노드는 독립적인 사고 주체로서 작동하지만, 서로의 출력을 참고하면서 사고를 순환·보완하기 때문에, 전체 구조는 하나의 유기적 사고망(Thought Graph)처럼 작동합니다.

이러한 형태는 복잡한 문제 해결, 멀티에이전트 협업, RAG 기반의 통합 추론(예: GraphRAG, AutoGen 등)에 자주 활용됩니다.

요약하자면, CoT는 ‘단계별 사고’, ToT는 ‘분기적 사고’, GoT는 ‘연결적 사고’를 유도하는 패턴으로 볼 수 있습니다.

 

0

조훈(Hoon Jo)님의 프로필 이미지
조훈(Hoon Jo)
지식공유자

안녕하세요

금일 대규모 AWS 장애가 발생하여 위에 질문 주신 내용을 정리할 여유가 없을 것 같습니다.

이에 D+2일 내로 답변드리도록 하겠습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 기쁜 앵무새님.

고급 인공지능 활용 전략 중 하나로, CoT(Chain of Thought)와 ToT(Tree of Thought)는 프롬프트 디자인에서 중요한 요소로 작용합니다. 이들은 과정상의 논리적 연결을 만들어 주며, 문제 해결을 체계적이고 단계적으로 접근할 수 있게 하는 방법들입니다.

CoT와 ToT의 구체적인 차이와 활용:

  • Chain of Thought (CoT): 단계적으로 생각의 흐름을 따라가며 문제를 해결하는 방법입니다. 주어진 문제에 대한 해결 단계를 그대로 서술하여, 각 단계에서 얻어지는 결과들이 어떻게 연결되는지를 명확히 제시합니다. 이 접근은 주로 단계적으로 해결해야 하는 문제에 적합합니다.

예시:
1. 문제를 정의합니다.
2. 필요한 데이터를 수집합니다.
3. 데이터를 분석하여 결과를 도출합니다.

  • Tree of Thought (ToT): 여려 가능한 경로를 탐색하며, 각 선택의 결과를 고려하면서 최적의 해결책을 찾는 방법입니다. CoT와는 달리, 여러 가지 대안을 고려하여 가장 적절한 흐름을 선택하는 방식으로, 문제 해결 시 다양한 시나리오를 십분 활용할 수 있습니다.

명확한 기준과 적용 방법:

  1. 문제의 구조 파악: 문제의 복잡성을 파악하여, 단순한 연쇄적 절차로 해결 가능한지(-> CoT), 혹은 다양한 시나리오를 탐색해야 하는지(-> ToT) 결정합니다.

  2. 목표 정의: 무엇을 이루고자 하는지를 명확히 설정하여, 그에 따라 사고의 흐름을 모델링합니다.

  3. 재귀적 접근: ToT는 각 단계에 대해 재귀적으로 적용할 수 있어, 여러 가능성을 살펴보고 최선의 해결책을 고르고자 할 때 유용합니다.

관련된 토론에서 더 많은 예시와 설명을 얻고자 한다면, 사고패턴 변경의 예시 게시글을 참조해 보시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

기쁜 앵무새님의 프로필 이미지
기쁜 앵무새

작성한 질문수

질문하기