[AI] Langchain 기반 멀티스텝 AI 구현 - 100-hours-a-week/21-iceT-wiki GitHub Wiki

1. 프로젝트 기능별 LangChain 기반 멀티스텝 AI 구현 검토

기능 영역 요구 특성 LangChain 적합도 비고
문제 해설 단계적 추론, 조건 분기, 언어 선택 처리 높음 ✅ 도입 결정
챗봇 이전 대화 기반 기억, 흐름 제어 높음 ✅ 도입 고려
문제 추천 시스템 정형 데이터 기반 분석 및 조건 필터링 낮음 기존 로직 유지
유저 군집화 통계 기반 모델, clustering 알고리즘 낮음 기존 ML 파이프라인 유지

2. 문제 해설 AI 기능에 도입하기로 결정한 이유

  • 프롬프트를 통해 옳은 해설을 답변하도록 유도할 수 있지만, 생성된 코드는 이를 반영하지 못하는 문제가 자주 발생함
  • 순열과 조합과 같은 문제 유형에서 알고리즘의 유형을 잘못 파악하는 경우가 발생하는데, 프롬프트를 나눠서 관리하면 수정과 관리가 용이해짐
  • 챗봇의 경우 V2에 추가될 예정이므로 우선순위가 낮음

3. 도입 방법 및 결과

원하는 생성 결과 예시 image

문제 해설 생성을 다음과 같은 단계로 분리

  • 1단계 : 해설 생성
    • Problem Check: 문제 핵심 요구사항 요약
    • Problem Solving: 적합한 알고리즘 분류 및 해결 전략 설명
    • Comment: 알고리즘 선택 시 주의사항이나 전략 보완
  • 2단계 : 코드 생성 -Solution Code: 수강생이 선택한 언어로 정답 코드 생성

결과 이전에 오답을 출력했던 백준 15649, 백준 1744 도 정답을 출력해냄