Tree of Thoughts 소스코드 분석 - AI 시대 앱 개발 - 로직 중심에서 의미 중심으로
- AI 앱 개발은 기존의 로직/구조 중심에서 AI의 '의미'를 이해하고 해석하는 '의미 중심'으로 패러다임이 전환되고 있습니다. 🧠
- AI 앱 개발자는 AI의 의미 기반 언어와 기존 앱의 구조 기반 언어를 연결하는 '통역사' 역할을 수행해야 합니다. 🗣️↔️💻
- Tree of Thoughts(ToT) 추론 기법의 핵심은 '생각 확장(Expand)', '평가(Score)', '가지치기(Prune)' 세 단계로 구성됩니다. 🌳
- LangGraph는
Equation 클래스를 통해 AI의 자연어 수식을 컴퓨터가 처리하기 쉬운 역폴란드 표기법(RPN)으로 구조화하여 '의미를 구조화'하는 방법을 보여줍니다. 🔢➡️⚙️
GuessEquation 클래스는 AI의 '추론 과정(reasoning)'과 '결과 수식(equations)'을 함께 구조화하여 AI의 자기 평가 및 백트래킹을 가능하게 합니다. 🤔📝
- LangGraph의
with_structured_output 기능은 AI 응답을 개발자가 정의한 특정 데이터 구조(예: GuessEquation)에 맞춰 자동으로 변환하도록 프롬프트를 생성하는 핵심 '통역' 도구입니다. 🏗️
compute_score 로직은 단순히 정답/오답을 넘어, AI가 생성한 수식의 유효성을 검증하고 24에 얼마나 가까운지 점수화하며, '왜 틀렸는지'에 대한 상세한 피드백을 제공하여 AI의 학습을 돕습니다. ✅❌💡
- 시스템 프롬프트는 AI의 역할을 명확히 설정하고, 유저 프롬프트는 실제 문제를 전달하며, 플레이스홀더는 동적인 값 바인딩을 가능하게 하는 프롬프트 엔지니어링의 중요 요소입니다. 🎭
- LangSmith는 ToT 추론 과정의 내부 흐름(생각 생성, 평가, 필터링)을 시각적으로 추적하여 AI의 작동 방식을 깊이 이해하는 데 필수적인 도구입니다. 📊
- 데이터 전처리(CSV 파싱)는 AI 앱 개발에서도 여전히 중요한 단계로, 의미 있는 프롬프트 생성을 위한 기반 데이터를 준비하는 역할을 합니다. 🧹