본문 바로가기
Project: algo-analyzer/DEV

백준 문제 분석기 개발일지 #3

by odaebum 2025. 3. 14.
728x90

현재 백준 문제 분석기는 개발이 1차 목표 완료하였다.

Chrome Extension을 기반으로 개발되었으며 성능은 골드 문제 정도를 분석하고 있다. (추후 향상 및 개선)

📝 개요

알고리즘 문제를 처음 접하는 학우들이 단순하게 누군가의 코드만 보고 공부하는 것을 목격하였다. 옛날 수학을 공부할 때 그 원리를 알아가며 공부하였듯이 알고리즘도 답안지의 해설이 필요함을 느끼고 개발에 시작했다.

 

 Backend

[SpringBoot, FastAPI, MongoDB]

  • SpringBoot로 문제 및 데이터 API를, FastAPI로 AI API를 분리 구축하여 구조적 유연성과 유지보수성을 확보
  • 빠른 개발과 JSON형식의 문서 저장을 위해 mongoDB를 활용하여 데이터 저장, 캐싱 구조를 설계하여 LLM 호출을 1회로 제한, 운영비용 최적화 달성

https://github.com/archun39/algo-analyzer-back

Frontend

[TypeScript]

  • 기존 웹사이트 목표 프로젝트에서 Chrome Extension개발으로 전환하여 유저들의 편의성 문제 해결
  • JavaScript만 지원하는 Chrome Extension에 맞게 TypeScript의 프로젝트를 트랜스파일링하여 문제 해결

https://github.com/archun39/algo-analyzer-chrome

AI

[Python, LangChain, OpenAI]

  • LangChain 기반 구조로 GPT 프롬프트-모델-파서를 분리하고 Chain-of-Thought 설계를 통해 응답 정확도 95% 이상 확보 및 API 비용 84% 절감
  • Few-shot을 활용하여 응답 일관성 65%에서 95%로 향상
  • GPT-4o와 LangChain을 활용하여 백준 Gold 난이도의 문제를 분석, 3차원 배열이 포함된 고난이도 BFS 문제도 정확히 분석 가능함을 입증

https://github.com/archun39/algo-analyzer-ai

 

🚀 핵심 기능 및 상세 설명

📌 1) Chrome Extension

  • Chrome Extension에서 현재 페이지의 문제 번호를 자동 인식
  • FastAPI를 통해 AI 모델이 현재 문제 분석 결과를 생성

📌 2) AI 기반 문제 해설

  • LangChain을 활용하여 LLM 문제 분석
  • 모든 답변에 대한 근거를 서술하여 유저들이 쉽게 이해 가능
  • 기존에 저장된 해설이 있다면 DB에서 가져오고, 없으면 새롭게 생성

📌 3) 비용 절감 로직

  • 동일한 문제에 대한 AI 분석 요청을 줄이기 위해, 결과를 DB에 캐싱

📊 성능 개선 지표

  • 응답 정확도: 65% → 95%
  • 출력 일관성 향상: ±불안정 → 구조화 JSON
  • 분석 응답 시간: 최초 5~10초 → 캐싱 이후 1초 이내
  • GPT 호출 수: 동일 문제 기준 1/5 이하로 감소

 

스크린샷 및 시연 영상

728x90

'Project: algo-analyzer > DEV' 카테고리의 다른 글

백준 문제 분석기 개발일지 #2  (0) 2025.02.24