chatGPT Algorithm Mentor
ActionsTags
(2)AI 기반 알고리즘 코드 리뷰 시스템
온라인 저지 플랫폼의 알고리즘 문제 풀이를 자동으로 분석하고 전문적인 피드백을 제공하는 GitHub Action
🌍 English Version | 한국어
- 알고리즘 문제의 핵심 요구사항과 제약 조건 자동 파악
- 시간/공간 복잡도 분석 및 최적화 제안
- 코딩 컨벤션 및 가독성 개선 제안
- 백준 (acmicpc.net) - 완전 지원
- 프로그래머스 (programmers.co.kr) - 지원
- LeetCode (leetcode.com) - 지원
- Codeforces (codeforces.com) - 지원
- HackerRank (hackerrank.com) - 지원
- OpenAI (GPT-4, GPT-4o, GPT-4o-mini)
- Google AI (Gemini-2.5-Pro)
- Anthropic (Claude-3-Sonnet)
- 프롬프트는 영어로 통일, 리뷰 응답 언어만 선택 가능
- 한국어, 영어 등 LLM이 지원하는 모든 언어
지원하는 AI 제공자 중 하나의 API 키를 준비하세요:
제공자 | API 키 발급 | 환경변수명 |
---|---|---|
OpenAI | OpenAI API | OPENAI_API_KEY |
Google AI | Google AI Studio | GOOGLE_API_KEY |
Anthropic | Anthropic Console | ANTHROPIC_API_KEY |
-
Secrets 등록: Repository → Settings → Secrets and variables → Actions
OPENAI_API_KEY=your_api_key_here # 또는 다른 제공자의 API 키
-
GitHub Action 워크플로우 생성:
.github/workflows/ai-review.yml
name: 🤖 AI Algorithm Mentor on: push: branches: [ main, master ] jobs: ai-review: runs-on: ubuntu-latest permissions: contents: write steps: - uses: choam2426/AI-Algorithm-Mentor@v4 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} LLM_PROVIDER: openai # openai, google, anthropic LLM_MODEL: gpt-4o # 모델명 (선택사항) OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} REVIEW_LANGUAGE: korean # korean, english, etc..
직접 커밋으로 알고리즘 문제 풀이를 올리면 자동으로 AI 리뷰가 생성됩니다!
# https://www.acmicpc.net/problem/1000
a, b = map(int, input().split())
print(a + b)
AI 리뷰 결과:
문제의 핵심을 정확히 파악하고 간결하게 구현하셨습니다. 기본적인 입출력 처리가 올바르게 되어 있어 좋습니다.
- 정확한 구현: 문제 요구사항을 정확히 구현했습니다
- 효율적인 코드: 불필요한 복잡성 없이 간결하게 작성했습니다
- 이 문제는 기본 입출력 연습에 좋은 문제입니다
- 더 복잡한 수학 문제로 단계를 올려보세요
변수명 | 설명 | 기본값 | 예시 |
---|---|---|---|
LLM_PROVIDER |
AI 제공자 | openai |
openai , google , anthropic |
LLM_MODEL |
사용할 모델 | gpt-4o |
gpt-4o , gpt-4o-mini , gemini-2.5-pro , claude-3-sonnet |
REVIEW_LANGUAGE |
리뷰 언어 | english |
korean , english |
OPENAI_API_KEY |
OpenAI API 키 | - | 필수 (openai 사용시) |
GOOGLE_API_KEY |
Google AI API 키 | - | 필수 (google 사용시) |
ANTHROPIC_API_KEY |
Anthropic API 키 | - | 필수 (anthropic 사용시) |
strategy:
matrix:
llm: [
{ provider: openai, model: gpt-4o, key: OPENAI_API_KEY },
{ provider: google, model: gemini-2.5-pro, key: GOOGLE_API_KEY }
]
steps:
- uses: choam2426/AI-Algorithm-Mentor@v4
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LLM_PROVIDER: ${{ matrix.llm.provider }}
LLM_MODEL: ${{ matrix.llm.model }}
${{ matrix.llm.key }}: ${{ secrets[matrix.llm.key] }}
graph TD
A[GitHub Action] --> B[AI Algorithm Mentor]
B --> C[설정 관리자]
B --> D[파일 분석기]
B --> E[문제 크롤러]
B --> F[LLM 서비스]
B --> G[GitHub API]
C --> C1[환경변수 검증]
C --> C2[다중 제공자 지원]
E --> E1[백준 크롤러]
E --> E2[프로그래머스 크롤러]
E --> E3[LeetCode 크롤러]
E --> E4[Codeforces 크롤러]
E --> E5[HackerRank 크롤러]
F --> F1[OpenAI]
F --> F2[Google AI]
F --> F3[Anthropic]
# 레포지토리 클론
git clone https://github.com/choam2426/AI-Algorithm-Mentor.git
cd AI-Algorithm-Mentor
# 의존성 설치
uv sync
# 환경 변수 설정
cp .env.example .env
# .env 파일에 API 키 입력
# 실행
python app/main.py
AI-Algorithm-Mentor/
├── app/
│ ├── main.py # 메인 애플리케이션
│ ├── src/
│ │ ├── config.py # 설정 관리
│ │ ├── exceptions.py # 예외 처리
│ │ ├── logger.py # 로깅 시스템
│ │ ├── llm_service.py # LLM 서비스
│ │ ├── github_service.py # GitHub 통합
│ │ ├── crawler_service.py # 웹 크롤링
│ │ └── prompt.py # 프롬프트 관리
│ └── pyproject.toml # 프로젝트 설정
├── .github/workflows/ # GitHub Actions
├── Dockerfile # 컨테이너 이미지
└── action.yml # GitHub Action 정의
- Fork 후 feature branch 생성
- 변경사항 구현 및 테스트
- Pull Request 생성
- 프로그래밍 언어: Python, Java, C++, C, JavaScript, Go, Rust
- 문제 플랫폼: 백준, 프로그래머스, LeetCode, Codeforces, HackerRank
- 리뷰 언어: 한국어, 영어 등 LLM이 지원하는 언어 (프롬프트는 영어 고정, 응답만 언어 변경)
이 프로젝트는 MIT 라이선스 하에 배포됩니다.
- Issues: GitHub Issues
- 개발자: choam2426
- 사용 예시 - 개발자가 실제 사용하고 있는 레포
chatGPT Algorithm Mentor is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.