๋ํ๋ฏผ๊ตญ ์ํ๋ฅ๋ ฅ์ํ(KSAT)์ผ๋ก AI ๋ชจ๋ธ์ ์ค๋ ฅ์ ์ธก์ ํฉ๋๋ค
๐ ๋ฆฌ๋๋ณด๋ ๋ฐ๋ก๊ฐ๊ธฐ: https://roboco.io/KSAT-AI-Benchmark/
๐ 2026ํ๋ ๋ ์๋ฅ ์์ : 2025๋ 11์ 13์ผ(๋ชฉ) ์ํ ์์ - ์ํ ํ ๋น ๋ฅธ ๋ฒค์น๋งํฌ ๊ฒฐ๊ณผ ์ ๋ฐ์ดํธ
KSAT AI Benchmark๋ ๋ํ๋ฏผ๊ตญ ์ํ๋ฅ๋ ฅ์ํ ๋ฌธ์ ๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ AI ๋ชจ๋ธ์ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ ํ๊ฐํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ณต๊ฐ์ ์ผ๋ก ๊ณต์ ํ๋ ์คํ์์ค ํ๋ก์ ํธ์ ๋๋ค.
์ธ๊ฐ ์ค์ฌ์ AI ํ๊ฐ (Human-Centered AI Evaluation)
๊ธฐ์กด์ AI ๋ฒค์น๋งํฌ๋ค์ ๋๋ถ๋ถ AI๋ฅผ ์ํด ์ค๊ณ๋ ํฉ์ฑ ๋ฐ์ดํฐ์ ์ด๋ ํน์ ํ์คํฌ์ ์ต์ ํ๋ ๋ฌธ์ ๋ค์ ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๋ ๋ค๋ฅธ ์ ๊ทผ์ ํํ์ต๋๋ค:
- ์ง์ง ์ธ๊ฐ์ด ๋ณด๋ ์ํ์ผ๋ก ํ๊ฐ: ๋ํ๋ฏผ๊ตญ ๊ณ ๋ฑํ์๋ค์ด ์ค์ ๋ก ์น๋ฅด๋ ์๋ฅ ๋ฌธ์ ๋ก AI๋ฅผ ํ๊ฐํฉ๋๋ค
- ํ์คํ๋ ์ธก์ : ๋งค๋ ๋์ผํ ๋์ด๋์ ํ์์ผ๋ก ์ถ์ ๋๋ ์๋ฅ์ AI ๋ฅ๋ ฅ์ ์ผ๊ด๋ ๋น๊ต ๊ธฐ์ค์ ์ ๊ณตํฉ๋๋ค
- ์ข ํฉ์ ์ฌ๊ณ ๋ ฅ ์๊ตฌ: ๋จ์ ์๊ธฐ๊ฐ ์๋ ๋ ํด๋ ฅ, ์ถ๋ก ๋ ฅ, ๋ฌธ์ ํด๊ฒฐ๋ ฅ์ ์ข ํฉ์ ์ผ๋ก ํ๊ฐํฉ๋๋ค
- ํฌ๋ช ํ ๋ฒค์น๋งํน: ๋ชจ๋ ๋ฌธ์ , ๋ต๋ณ, ์ฑ์ ๊ณผ์ ์ด ๊ณต๊ฐ๋์ด ๋๊ตฌ๋ ๊ฒ์ฆ ๊ฐ๋ฅํฉ๋๋ค
Vibe Coding: ์์ฐ์ค๋ฌ์ด ๊ฐ๋ฐ ๊ฒฝํ
์ด ํ๋ก์ ํธ๋ "Vibe Coding" ์ฒ ํ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค:
- ์์ฐ์ค๋ฌ์ด ์ํฌํ๋ก์ฐ:
make korean,make gpt-5 2025 korean๊ฐ์ ์ง๊ด์ ์ธ ๋ช ๋ น์ด - ์ง๋ฅํ ์๋ํ: Vision API๋ก PDF๋ฅผ ํ์ฑํ๊ณ , GitHub Actions๋ก ํ๊ฐ๋ฅผ ์๋ํ
- ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ: ํ๊ฐ ํ ๋ฐ๋ก ๋ฆฌ๋๋ณด๋์ ์์ธ ๋ถ์ ๊ฒฐ๊ณผ ์ ๊ณต
- ํ์ฅ ๊ฐ๋ฅํ ์ค๊ณ: ์ ๋ชจ๋ธ, ์ ์ํ์ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์๋ ๊ตฌ์กฐ
์ง์์ ์ธ AI ๋ฐ์ ์ถ์
- ์์ ๋ ์ต์ ๋ชจ๋ธ 6์ข
์ผ๋ก ์ง์ค ๋ฒค์น๋งํน (Gemini 2.5 Pro๋ ์์ ํํฐ ์ด์๋ก ์ ์ธ)
- OpenAI: GPT-5, GPT-4o
- Anthropic: Claude Opus 4.1, Claude Sonnet 4.5 (via Perplexity)
- Upstage: Solar Pro (ํ๊ตญ์ด ํนํ)
- Perplexity: Sonar Pro
- ๋์ผํ ์ํ์ผ๋ก ์๊ฐ์ ๋ฐ๋ฅธ AI ๋ฐ์ ์ ๊ฐ๊ด์ ์ผ๋ก ๋น๊ต
- ๊ณผ๋ชฉ๋ณ(๊ตญ์ด, ์ํ, ์์ด), ์์ญ๋ณ(์ธ์ด์ดํด, ์๋ฆฌ์ถ๋ก , ๋ฌธ์ ํด๊ฒฐ) ๊ฐ์ ๊ณผ ์ฝ์ ํ์
โ ๏ธ Google Gemini 2.5 Pro ์ ์ธ ์ฌ์ Google์ ์์ ํํฐ๊ฐ ํ๊ตญ์ด ์๋ฅ ๋ฌธ์ ์ฝํ ์ธ ๋ฅผ ์ ํด ์ฝํ ์ธ ๋ก ์ค์ธํ์ฌ ๋๋ถ๋ถ์ ๋ฌธ์ ์์ SAFETY ์๋ต(finish_reason=2)์ ๋ฐํํฉ๋๋ค. BLOCK_NONE ์ค์ ์๋ ๋ถ๊ตฌํ๊ณ ์ ์์ ์ธ ํ๊ฐ๊ฐ ๋ถ๊ฐ๋ฅํ์ฌ ๋ฒค์น๋งํฌ์์ ์ ์ธํ์์ต๋๋ค.
- ๐ค Vision API ๊ธฐ๋ฐ ์ง๋ฅํ ํ์ฑ: GPT-4o Vision์ผ๋ก ๋ณต์กํ ์์, ๊ทธ๋ํ, 2๋จ ๋ ์ด์์ ์๋ฒฝ ์ฒ๋ฆฌ
- ๐ฏ ์์ ๋ ์ต์ AI ๋ชจ๋ธ: GPT-5, GPT-4o, Claude Opus 4.1, Claude Sonnet 4.5, Solar Pro, Sonar Pro
- ๐ ์์ธํ ๊ฒฐ๊ณผ ๋ถ์: ์ ๋ต๋ฅ , ๋ต๋ณ ์ ํ ์ด์ , ํ์ด ์๊ฐ, ๊ณผ๋ชฉ๋ณ ๋ฑ์๊น์ง ๋ชจ๋ ๊ธฐ๋ก
- โก ์์ ์๋ํ ํ์ดํ๋ผ์ธ: PDF โ Vision ํ์ฑ โ ํ๊ฐ โ ์น ๋ฐฐํฌ๊น์ง GitHub Actions๋ก ์๋ํ
- ๐ ํ๋์ ์ธ ์น UI: Next.js + Mantine UI๋ก ๊ตฌํ๋ ์ธํฐ๋ํฐ๋ธ ๋ฆฌ๋๋ณด๋
- ๐ ์ง์์ ์ธ ์ ๋ฐ์ดํธ: ์๋ก์ด ์ํ์ด๋ ๋ชจ๋ธ์ด ์ถ๊ฐ๋๋ฉด ์๋์ผ๋ก ํ๊ฐํ๊ณ ๋ฐฐํฌ
๊ฐ AI ๋ชจ๋ธ์ ๋ค์ ๊ธฐ์ค์ผ๋ก ํ๊ฐ๋ฉ๋๋ค:
- ์ ๋ต๋ฅ & ์ ์: ์ ๋ต์ ๋งํ ๋ฌธ์ ์ ๋น์จ๊ณผ ํ๋ ์ ์
- ๋ต๋ณ ์ ํ ์ด์ : ํด๋น ๋ต์ ์ ํํ ์์ธํ ๋ ผ๋ฆฌ์ ์ค๋ช
- ํ์ด ์๊ฐ: ๊ฐ ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ์์๋ ์๊ฐ (์ด ๋จ์)
- ๊ณผ๋ชฉ๋ณ ์ฑ์ : ๊ตญ์ด, ์ํ, ์์ด, ํ๊ตฌ ์์ญ๋ณ ์ ์
# ๋์๋ง
make help
# ๊ตญ์ด ํ์ฑ + ์ ๋ต ์
๋ ฅ
make korean
# ์ํ ํ์ฑ + ์ ๋ต ์
๋ ฅ (Vision API)
make math
# ๋ชจ๋ ๊ณผ๋ชฉ ์ฒ๋ฆฌ
make all
# ์ปค์คํ
PDF ํ์ฑ
make parse PDF=exams/pdf/2025/๊ตญ์ด์์ญ_๋ฌธ์ ์ง_ํ์ํ.pdf
make parse-vision PDF=exams/pdf/2025/์ํ์์ญ_๋ฌธ์ ์ง_ํ์ํ.pdf
# YAML ๊ฒ์ฆ
make validate
# ์ ๋ฆฌ
make cleangraph LR
A[ํ๊ฐ ์คํ] --> B[results/ ์ ์ฅ]
B --> C[Git Push]
C --> D[GitHub Actions]
D --> E[์๋ ๋ฐฐํฌ]
์๋ํ ๋จ๊ณ:
- ๋ก์ปฌ ํ๊ฐ:
make gpt-5 2025 korean์คํ โresults/๋๋ ํ ๋ฆฌ์ YAML ์ ์ฅ - Git ์ปค๋ฐ/ํธ์:
results/๋ณ๊ฒฝ์ฌํญ์ main ๋ธ๋์น์ ํธ์ - GitHub Actions ์๋ ์คํ (
.github/workflows/deploy-pages.yml):- Python์ผ๋ก YAML โ JSON ๋ณํ (
scripts/export_data.py) - Next.js ์น์ฌ์ดํธ ๋น๋
- GitHub Pages ์๋ ๋ฐฐํฌ
- Python์ผ๋ก YAML โ JSON ๋ณํ (
- ์น์ฌ์ดํธ ์๋ ์ ๋ฐ์ดํธ: https://roboco.io/KSAT-AI-Benchmark/
graph TD
A[PDF ์
๋ก๋<br/>exams/pdf/] --> B[Vision API ํ์ฑ<br/>GPT-4o Vision]
B --> C[YAML ์์ฑ<br/>exams/parsed/]
C --> D[๋ชจ๋ธ ํ๊ฐ<br/>AI ๋ชจ๋ธ ์คํ]
D --> E[๊ฒฐ๊ณผ ์ ์ฅ<br/>results/]
E --> F[Git Commit & Push]
F --> G[GitHub Actions ํธ๋ฆฌ๊ฑฐ]
G --> H[์น ๋ฐฐํฌ<br/>GitHub Pages]
B1[์์ โ LaTeX] -.-> B
B2[๊ทธ๋ํ ์ธ์] -.-> B
B3[2๋จ ๋ ์ด์์ ์ฒ๋ฆฌ] -.-> B
D1[๋ฌธ์ ์ฝ๊ธฐ] -.-> D
D2[์ฌ๊ณ & ์ถ๋ก ] -.-> D
D3[๋ต๋ณ ์ ํ] -.-> D
D4[์ด์ ์ค๋ช
] -.-> D
sequenceDiagram
participant User as ๐ค ์ฌ์ฉ์
participant Make as ๐ง Makefile
participant Parser as ๐ Parser
participant Eval as ๐ค Evaluator
participant Git as ๐ฆ Git
participant GHA as โ๏ธ GitHub Actions
participant Web as ๐ Website
User->>Make: make korean
Make->>Parser: PDF ํ์ฑ (Vision API)
Parser->>Parser: YAML ์์ฑ
Parser-->>User: โ
YAML ํ์ผ ์์ฑ ์๋ฃ
User->>Make: make gpt-5 2025 korean
Make->>Eval: ๋ชจ๋ธ ํ๊ฐ ์คํ
Eval->>Eval: AI ๋ชจ๋ธ๋ก ๋ฌธ์ ํ์ด
Eval->>Eval: results/ ์ ์ฅ
Eval-->>User: โ
ํ๊ฐ ์๋ฃ
User->>Git: git push
Git->>GHA: ํธ๋ฆฌ๊ฑฐ
GHA->>GHA: YAML โ JSON ๋ณํ
GHA->>GHA: Next.js ๋น๋
GHA->>Web: GitHub Pages ๋ฐฐํฌ
Web-->>User: ๐ ๋ฆฌ๋๋ณด๋ ์
๋ฐ์ดํธ ์๋ฃ
GitHub Actions ์ํฌํ๋ก์ฐ๊ฐ ์๋ํ๋ ค๋ฉด GitHub Pages ์ค์ ์ด ํ์ํฉ๋๋ค:
- GitHub ์ ์ฅ์ โ Settings โ Pages
- Source: "GitHub Actions" ์ ํ
- ์ ์ฅ ํ ์๋์ผ๋ก ์ํฌํ๋ก์ฐ ์คํ
์๋ ํธ๋ฆฌ๊ฑฐ ๋ฐฉ๋ฒ:
- GitHub ์ ์ฅ์ โ Actions ํญ โ "Deploy to GitHub Pages" โ "Run workflow"
๋ฐฐํฌ ์ํ ํ์ธ:
- Actions ํญ์์ ์ํฌํ๋ก์ฐ ์คํ ์ํ ํ์ธ
- ๋ฐฐํฌ ์๋ฃ ํ https://roboco.io/KSAT-AI-Benchmark/ ์ ์
์ด ํ๋ก์ ํธ์ ์ ์ฒด ์ํฌํ๋ก์ฐ๋ฅผ ๋จ๊ณ๋ณ๋ก ์ดํด๋ด ๋๋ค:
1. PDF ์
๋ก๋: exams/pdf/์ ์ํ์ง PDF ์ถ๊ฐ
- ์๋ฅ ๋ฌธ์ ์ง๋ฅผ ๊ทธ๋๋ก ์ ๋ก๋ (OCR ๋ถํ์)
2. Vision API ํ์ฑ: GPT-4o Vision์ผ๋ก ์ง๋ฅํ ์ถ์ถ
- ๋ณต์กํ ์ํ ์์ โ LaTeX๋ก ์ ํํ๊ฒ ๋ณํ
- ๊ทธ๋ํ, ๋ํ โ ์๊ฐ์ ์์ ์ธ์ ๋ฐ ์ค๋ช
- 2๋จ ๋ ์ด์์ โ ๊ตฌ์กฐ ํ์ ๋ฐ ๋ ผ๋ฆฌ์ ์์๋ก ์ฌ๋ฐฐ์ด
- ํ ๋ฒ์ ๋ช
๋ น:
make korean๋๋make math
3. YAML ์์ฑ: exams/parsed/์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ์ ์ฅ
- ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ํฌ๋งท
- ๋ฒ์ ๊ด๋ฆฌ ๊ฐ๋ฅ
- ์ฌ์ฌ์ฉ ๋ฐ ๊ฒ์ฆ ์ฉ์ด
4. ๋ชจ๋ธ ํ๊ฐ: ๊ฐ AI ๋ชจ๋ธ์ด ์ค์ ์ํ ์์
- ๋ฌธ์ ์ฝ๊ธฐ โ ์ฌ๊ณ โ ๋ต๋ณ ์ ํ โ ์ด์ ์ค๋ช
- ์ค์๊ฐ ์์ ์๊ฐ ์ธก์
- ์ ์ฐํ ํ๊ฐ:
make gpt-5 2025 korean,math
5. ๊ฒฐ๊ณผ ์ ์ฅ: results/์ YAML ํ์์ผ๋ก ์ ์ฅ
- ๋ชจ๋ธ๋ณ, ์ํ๋ณ ๊ฒฐ๊ณผ ๋ถ๋ฆฌ
- ๋ต๋ณ ์ด์ ์ ์๊ฐ ๋ชจ๋ ๊ธฐ๋ก
- ์ธ์ ๋ ์ฌ๋ถ์ ๊ฐ๋ฅ
6. ์น ๋ฐฐํฌ: GitHub Actions๋ก ์๋ ๋ฐฐํฌ
- ๊ฒฐ๊ณผ ์ปค๋ฐ โ ์๋ ๋น๋ โ GitHub Pages ๋ฐฐํฌ
- ์ค์๊ฐ ๋ฆฌ๋๋ณด๋ ์ ๋ฐ์ดํธ
- ๊ณผ๋ชฉ๋ณ ๋ฑ์, ์์ธ ํต๊ณ ์๋ ์์ฑ
- Python 3.10 ์ด์
- Node.js 18 ์ด์
- AI ๋ชจ๋ธ API ํค:
- OpenAI (GPT-4, GPT-3.5)
- Anthropic (Claude)
- Google (Gemini)
- Upstage (Solar)
- Perplexity (Sonar)
# ์ ์ฅ์ ํด๋ก
git clone https://github.com/roboco-io/KSAT-AI-Benchmark.git
cd KSAT-AI-Benchmark
# Python ์์กด์ฑ ์ค์น
pip install -r requirements.txt
# ํ๊ฒฝ ๋ณ์ ์ค์
cp .env.example .env
# .env ํ์ผ์ API ํค ์
๋ ฅ# ๊ตญ์ด ํ์ฑ + ์ ๋ต ์
๋ ฅ (ํ ๋ฒ์)
make korean
# ์ํ ํ์ฑ + ์ ๋ต ์
๋ ฅ (ํ ๋ฒ์)
make math
# ์์ด ํ์ฑ + ์ ๋ต ์
๋ ฅ (ํ ๋ฒ์)
make english
# ๋ชจ๋ ๊ณผ๋ชฉ ์ฒ๋ฆฌ
make all
# ๋์๋ง ๋ณด๊ธฐ
make help# 1. PDF ํ์ฑ (๋ก์ปฌ์์)
# ํ
์คํธ ๊ธฐ๋ฐ (๊ตญ์ด, ์ฌํ ๋ฑ)
python src/parser/parse_exam.py exams/pdf/2025/๊ตญ์ด์์ญ_๋ฌธ์ ์ง_ํ์ํ.pdf
# Vision API (์ํ, ๊ณผํ ๋ฑ) - ์์๊ณผ ๊ทธ๋ํ ์๋ฒฝ ์ธ์
python src/parser/parse_exam.py exams/pdf/2025/์ํ์์ญ_๋ฌธ์ ์ง_ํ์ํ.pdf --vision
# 2. ์ ๋ตํ ํ์ฑ ๋ฐ ์๋ ์
๋ ฅ
python src/parser/parse_answer_key.py \
exams/pdf/2025/์ํ์์ญ_์ ๋ตํ.pdf \
exams/parsed/2025-math-sat.yaml
# 3. Git์ ์ถ๊ฐ ๋ฐ ์ปค๋ฐ
git add exams/parsed/2025-math-sat.yaml
git commit -m "feat: 2025 ์ํ ์ํ ์ถ๊ฐ"
git push
# 4. GitHub Actions๊ฐ ์๋์ผ๋ก:
# - ๋ชจ๋ AI ๋ชจ๋ธ๋ก ํ๊ฐ ์คํ
# - ๊ฒฐ๊ณผ๋ฅผ results/์ ์ ์ฅ
# - ์น์ฌ์ดํธ ์
๋ฐ์ดํธํ์ฑ ๊ฐ์ด๋: ์์ธํ ํ์ฑ ๋ฐฉ๋ฒ์ docs/PARSER_GUIDE.md๋ฅผ ์ฐธ๊ณ ํ์ธ์.
exams/parsed/ ํด๋์ YAML ํ์ผ์ ์ง์ ์์ฑํ ์๋ ์์ต๋๋ค.
๊ตญ์ด ์ํ (Optimized Schema - ์ง๋ฌธ ์ค๋ณต ์ ๊ฑฐ):
exam_id: 2024-korean-sat
title: 2024ํ๋
๋ ์๋ฅ ๊ตญ์ด์์ญ
subject: korean
year: 2024
# ์ง๋ฌธ ์ค์ ๊ด๋ฆฌ (๊ฐ์ ์ง๋ฌธ์ ๊ณต์ ํ๋ ๋ฌธ์ ๊ทธ๋ฃน)
passages:
- passage_id: p1
passage_text: "๊ธด ์ง๋ฌธ ๋ด์ฉ..."
question_numbers: [1, 2, 3]
# ๋ฌธ์ ๋ค์ passage_id๋ก ์ง๋ฌธ ์ฐธ์กฐ
questions:
- question_id: q1
question_number: 1
question_text: "์๊ธ์ ๋ด์ฉ๊ณผ ์ผ์นํ๋ ๊ฒ์?"
passage_id: p1 # ์ง๋ฌธ ์ฐธ์กฐ
choices: ["์ ํ์ง1", "์ ํ์ง2", ...]
correct_answer: 3
points: 2์ํ ์ํ (Legacy Schema - ๊ธฐ์กด ๋ฐฉ์):
exam_id: 2024-math-sat
title: 2024ํ๋
๋ ์๋ฅ ์ํ์์ญ
subject: math
year: 2024
questions:
- question_id: q1
question_number: 1
question_text: "๋ค์ ์ค ์ณ์ ๊ฒ์?"
passage: "์ง๋ฌธ ๋ด์ฉ (์ ํ์ )" # ์ง์ ํฌํจ
choices: ["1", "2", "3", "4", "5"]
correct_answer: "3"
points: 2models/models.json ํ์ผ์ ๋ชจ๋ธ ์ ๋ณด๋ฅผ ์ถ๊ฐํฉ๋๋ค:
{
"models": [
{
"name": "gpt-4-turbo",
"provider": "openai",
"version": "2024-01",
"api_key_env": "OPENAI_API_KEY",
"max_tokens": 2000,
"timeout": 60
}
]
}# PDF ํ์ฑ
python -m src.parser.main --input exams/pdf/2024-ksat-math.pdf
# ๋ชจ๋ ๋ชจ๋ธ๋ก ๋ชจ๋ ์ํ ํ๊ฐ
python -m src.evaluator.main
# ํน์ ๋ชจ๋ธ๋ก ํน์ ์ํ ํ๊ฐ
python -m src.evaluator.main --model gpt-4-turbo --exam 2024-ksat-mathcd web
npm install
npm run dev
# http://localhost:3000 ์ ์KSAT-AI-Benchmark/
โโโ .github/
โ โโโ workflows/ # GitHub Actions ์ํฌํ๋ก์ฐ
โ โโโ parse-and-evaluate.yml
โ โโโ deploy-pages.yml
โโโ exams/
โ โโโ pdf/ # ์๋ณธ PDF ์ํ์ง
โ โโโ parsed/ # ํ์ฑ๋ YAML ํ์ผ
โโโ models/ # AI ๋ชจ๋ธ ์ค์
โโโ src/
โ โโโ parser/ # PDF ํ์ฑ ์์คํ
โ โโโ evaluator/ # ํ๊ฐ ์์คํ
โ โโโ models/ # ๋ชจ๋ธ ์ธํฐํ์ด์ค
โโโ results/ # ํ๊ฐ ๊ฒฐ๊ณผ YAML
โโโ web/ # Next.js ํ๋ก ํธ์๋
โ โโโ app/ # App Router ํ์ด์ง
โ โโโ components/ # React ์ปดํฌ๋ํธ
โ โโโ lib/ # YAML ๋ก๋ ๋ฑ
โโโ docs/ # ํ๋ก์ ํธ ๋ฌธ์
โโโ tests/ # ํ
์คํธ ์ฝ๋
ํธ๋ฆฌ๊ฑฐ:
exams/pdf/์ ์ PDF ์ถ๊ฐmodels/models.json์์ - ์๋ ์คํ
ํ๋ก์ธ์ค:
graph TD
subgraph "Job 1: PDF ํ์ฑ"
A1[PDF ํ
์คํธ/์ด๋ฏธ์ง ์ถ์ถ] --> A2[YAML ์์ฑ]
A2 --> A3[exams/parsed/ ์ปค๋ฐ]
end
subgraph "Job 2: ๋ชจ๋ธ ํ๊ฐ"
B1[YAML ๋ก๋] --> B2[๊ฐ ๋ชจ๋ธ๋ก ๋ฌธ์ ํ์ด]
B2 --> B3[๊ฒฐ๊ณผ YAML ์ ์ฅ]
B3 --> B4[results/ ์ปค๋ฐ]
end
A3 --> B1
ํธ๋ฆฌ๊ฑฐ:
results/ํด๋ ๋ณ๊ฒฝexams/parsed/ํด๋ ๋ณ๊ฒฝweb/ํด๋ ๋ณ๊ฒฝ
ํ๋ก์ธ์ค:
graph TD
C1[YAML โ JSON ๋ณํ] --> C2[Next.js ๋น๋]
C2 --> C3[์ ์ HTML ์์ฑ]
C3 --> C4[GitHub Pages ๋ฐฐํฌ]
graph TD
subgraph "ํธ๋ฆฌ๊ฑฐ"
T1[exams/pdf/ ๋ณ๊ฒฝ]
T2[models/models.json ๋ณ๊ฒฝ]
T3[results/ ๋ณ๊ฒฝ]
T4[web/ ๋ณ๊ฒฝ]
end
subgraph "์ํฌํ๋ก์ฐ"
W1[parse-and-evaluate.yml]
W2[deploy-pages.yml]
end
T1 --> W1
T2 --> W1
T3 --> W2
T4 --> W2
W1 --> R1[PDF ํ์ฑ & ํ๊ฐ]
W2 --> R2[์น์ฌ์ดํธ ๋ฐฐํฌ]
ํ๊ฐ ๊ฒฐ๊ณผ๋ ๋ค์ ๋งํฌ์์ ํ์ธํ ์ ์์ต๋๋ค:
๐ https://roboco.io/KSAT-AI-Benchmark/
- ๋ชจ๋ธ๋ณ ์ ์ฒด ์์ ํ ์ด๋ธ
- ๊ณผ๋ชฉ๋ณ ์ ์ ํํฐ๋ง
- ์ ๋ต๋ฅ ๊ณผ ํ๊ท ํ์ด ์๊ฐ
- ์ํ์ ๋ชจ๋ ๋ฌธ์ ํ์
- ๊ฐ ๋ฌธ์ ๋ณ๋ก ๋ชจ๋ ๋ชจ๋ธ์ ๋ต์ ๊ทธ๋ฆฌ๋
- ์ ๋ต(์ด๋ก) / ์ค๋ต(๋นจ๊ฐ) ์์ ๊ตฌ๋ถ
- ๋ต์ ํด๋ฆญ โ ์์ธ ๋ชจ๋ฌ ํ์
- ์ ํํ ๋ต์
- ๋ต๋ณ ์ ํ ์ด์ (์ ์ฒด ์ค๋ช )
- ํ์ด ์์ ์๊ฐ
- ํ๋ ์ ์
- ํด๋น ๋ชจ๋ธ์ ์ ์ฒด ์ฑ์
- ๊ณผ๋ชฉ๋ณ ํญ
- ๋ฌธ์ ๋ณ ์ ๋ต/์ค๋ต ์์ธ
- ์ฐจํธ ๋ฐ ํต๊ณ
๐ ์ด ํ๋ก์ ํธ๋ ๊ฐ๋ฐ ์ด๊ธฐ ๋จ๊ณ์ ๋๋ค!
์ฌ๋ฌ๋ถ์ ๊ธฐ์ฌ๋ฅผ ํ์ํฉ๋๋ค. ํจ๊ป AI ๋ฒค์น๋งํน์ ์๋ก์ด ํ์ค์ ๋ง๋ค์ด๊ฐ์!
1. ์ด์ ํ์ธ ๋๋ ์์ฑ
- ์ด์ ํธ๋์ปค์์ ๊ธฐ์กด ์ด์ ํ์ธ
- ์๋ก์ด ์์ด๋์ด๊ฐ ์๋ค๋ฉด ์ด์ ์์ฑ ํ ํ ๋ก
good first issue๋ผ๋ฒจ๋ก ์ด๋ณด์ ์นํ์ ์ธ ํ์คํฌ ์ฐพ๊ธฐ
2. Fork & Clone
# Repository fork ํ
git clone https://github.com/YOUR_USERNAME/KSAT-AI-Benchmark.git
cd KSAT-AI-Benchmark3. ๊ฐ๋ฐ ํ๊ฒฝ ์ค์
# Python ์์กด์ฑ ์ค์น
make install
# .env ํ์ผ ์์ฑ ๋ฐ API ํค ์ค์
make env
code .env # API ํค ์
๋ ฅ
# ๊ฐ๋ฐ ๋๊ตฌ ์ค์น
make dev-install4. Feature Branch ์์ฑ
git checkout -b feature/amazing-feature
# ๋๋
git checkout -b fix/bug-description5. ๊ฐ๋ฐ ๋ฐ ํ ์คํธ
# ์ฝ๋ ์์ฑ
# ํ
์คํธ ์คํ
make test
# ์ฝ๋ ํฌ๋งทํ
make format
# Linting
make lint6. ์ปค๋ฐ & ํธ์
git add .
git commit -m "feat: ๋ฉ์ง ๊ธฐ๋ฅ ์ถ๊ฐ"
git push origin feature/amazing-feature7. Pull Request ์์ฑ
- GitHub์์ PR ์์ฑ
- ์ ๋ชฉ: ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ (์:
feat: ๊ณผ๋ชฉ๋ณ ๋ฆฌ๋๋ณด๋ ํญ ์ถ๊ฐ) - ์ค๋ช : ๋ณ๊ฒฝ ์ฌํญ, ํ ์คํธ ๋ฐฉ๋ฒ, ์คํฌ๋ฆฐ์ท(UI ๋ณ๊ฒฝ ์) ํฌํจ
- โ ๊ณต๊ฐ ๊ฐ๋ฅํ ์ํ ๋ฌธ์ ๋ง ์ถ๊ฐ (์ ์๊ถ ํ์ธ ํ์)
- โ Vision API ํ์ฑ ํ ๋ฐ๋์ ์๋ ๊ฒ์ฆ
- โ ์ ๋ตํ ํ์ฑ ํ ์ํ ํ๊ฐ๋ก ๊ฒ์ฆ
- ๐ ์์น:
exams/pdf/YYYY/๊ณผ๋ชฉ์์ญ_๋ฌธ์ ์ง_ํ์ํ.pdf
- โ
models/models.json์ ์ค์ ์ถ๊ฐ - โ
src/evaluator/models/์ provider ๊ตฌํ (์ provider์ธ ๊ฒฝ์ฐ) - โ ์ต์ 1๊ฐ ์ํ์ผ๋ก ํ ์คํธ ํ PR
- ๐ README.md์ ๋ชจ๋ธ ๋ชฉ๋ก ์ ๋ฐ์ดํธ
- โ PEP 8 ์คํ์ผ ๊ฐ์ด๋ ์ค์
- โ ์ ๊ธฐ๋ฅ์ ํ ์คํธ ์ฝ๋ ํจ๊ป ์์ฑ
- โ
CLAUDE.md์ ๋ฐ์ดํธ (์ค์ํ ๋ณ๊ฒฝ์ฌํญ์ ๊ฒฝ์ฐ) - โ
Vibe Coding ์ฒ ํ ์ ์ง:
- ์ง๊ด์ ์ธ ๋ช ๋ น์ด์ API
- ์ง๋ฅํ ์๋ํ
- ํฌ๋ช ํ ํ๋ก์ธ์ค
- ๐ README.md: ์ฌ์ฉ์ ๊ด์ ์ ๊ฐ์ด๋
- ๐ง CLAUDE.md: ๊ฐ๋ฐ์ ๊ด์ ์ ๊ฐ์ด๋
- ๐ฌ ์ฝ๋ ์ฃผ์: ๋ณต์กํ ๋ก์ง์ ์ค๋ช ์ถ๊ฐ
- ๐ ํ๊ตญ์ด ์ฐ์ : ๋ฌธ์๋ ํ๊ตญ์ด๋ก ์์ฑ
- โ Next.js 15 + App Router ์ฌ์ฉ
- โ Mantine UI v7 ์ปดํฌ๋ํธ ํ์ฉ
- โ ๋ฐ์ํ ๋์์ธ (๋ชจ๋ฐ์ผ ์ง์)
- โ ์ ๊ทผ์ฑ(a11y) ๊ณ ๋ ค
- GitHub Actions ์ํฌํ๋ก์ฐ ๊ตฌํ - ์๋ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ
- ์น์ฌ์ดํธ UI/UX ๊ฐ์ - ๊ณผ๋ชฉ๋ณ ํญ, ์ฐจํธ, ํํฐ
- ๋ชจ๋ธ ์ถ๊ฐ - ์ต์ AI ๋ชจ๋ธ ๋ฒค์น๋งํน
- PDF ํ์ฑ ๊ฐ์ - ์ ํ๋ ํฅ์, ์ค๋ฅ ์ฒ๋ฆฌ
- ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง - ๋จ์ ํ ์คํธ, ํตํฉ ํ ์คํธ ์ถ๊ฐ
- ์ฑ๋ฅ ์ต์ ํ - ํ๊ฐ ์๋, ์น ๋ก๋ฉ ์๊ฐ
- ๋ค๊ตญ์ด ์ํ ์ง์ - SAT, ๊ฐ์ค์นด์ค ๋ฑ
- API ์๋น์ค - ํ๊ฐ ๊ฒฐ๊ณผ ์กฐํ API
- ์ฐจํธ & ์๊ฐํ - ์ฑ๋ฅ ์ถ์ด, ๋น๊ต ๊ทธ๋ํ
๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ์ จ๋์? ์ด์๋ฅผ ์์ฑํด์ฃผ์ธ์!
ํฌํจํ ๋ด์ฉ:
- ๐ ์ฌํ ๋ฐฉ๋ฒ: ๋จ๊ณ๋ณ ์ค๋ช
- ๐ฏ ์์ ๋์: ์ด๋ป๊ฒ ์๋ํด์ผ ํ๋์ง
- ๐ฅ ์ค์ ๋์: ์ค์ ๋ก ์ด๋ป๊ฒ ์๋ํ๋์ง
- ๐ผ๏ธ ์คํฌ๋ฆฐ์ท: ๊ฐ๋ฅํ๋ฉด ์ฒจ๋ถ
- ๐ง ํ๊ฒฝ: OS, Python ๋ฒ์ , Node.js ๋ฒ์
- ๐ก ์์ด๋์ด ์ ์: Discussions
- ๐ ๋ฒ๊ทธ ๋ฆฌํฌํธ: Issues
- ๐ง ์ง์ ์ฐ๋ฝ: ์ด๋ฉ์ผ
- ๐ค ์กด์ค: ๋ชจ๋ ๊ธฐ์ฌ์๋ฅผ ์กด์คํฉ๋๋ค
- ๐ ํฌ์ฉ: ๋ค์ํ ๋ฐฐ๊ฒฝ๊ณผ ๊ด์ ์ ํ์ํฉ๋๋ค
- ๐ฏ ๊ฑด์ค์ : ํผ๋๋ฐฑ์ ๊ฑด์ค์ ์ด๊ณ ๊ตฌ์ฒด์ ์ผ๋ก
- ๐ ํ๋ ฅ: ํจ๊ป ์ฑ์ฅํ๋ ์ปค๋ฎค๋ํฐ
ํจ๊ป ๋ง๋ค์ด๊ฐ์! ์์ ๊ธฐ์ฌ๋ ํฐ ์ํฅ์ ๋ง๋ญ๋๋ค. ๐ช
ํ์ฌ ํ์ฑํ๋ ๋ชจ๋ธ (6์ข ):
| ์ ๊ณต์ฌ | ๋ชจ๋ธ | ๋ฒ์ | ํน์ง |
|---|---|---|---|
| OpenAI | GPT-5 | 2025 | ์ํ/๊ณผํ ๋ฅ๋ ฅ ๋ํญ ํฅ์ |
| OpenAI | GPT-4o | 2024-08 | ์ต์ ๋ฉํฐ๋ชจ๋ฌ ๋ชจ๋ธ |
| Anthropic | Claude Opus 4.1 | 2025-08 | ์์ด์ ํธ, ์ฝ๋ฉ, ์ถ๋ก ๊ฐํ |
| Anthropic | Claude Sonnet 4.5 | 2025 | Perplexity API๋ก ์ ๊ณต |
| Upstage | Solar Pro | 2024 | ํ๊ตญ์ด ํนํ ๋ชจ๋ธ |
| Perplexity | Sonar Pro | 2024-11 | ์ต์ ์ถ๋ก ๋ชจ๋ธ |
๋นํ์ฑํ๋ ๋ชจ๋ธ: GPT-4 Turbo, GPT-4, GPT-3.5-turbo, Claude 3.5 Sonnet, Claude 3 ์๋ฆฌ์ฆ, Gemini 2.0/1.5 ์๋ฆฌ์ฆ, Solar Mini, Sonar ์จ๋ผ์ธ ์๋ฆฌ์ฆ
๐ก ๋ชจ๋ธ ์ ์ ๊ธฐ์ค: ๊ฐ ์ ๊ณต์ฌ์ ์ต์ /์ต๊ฐ ๋ชจ๋ธ ์ค์ฌ์ผ๋ก ์์ ํ์ฌ ๋ฒค์น๋งํฌ ํจ์จ์ฑ ๊ทน๋ํ
์๋ก์ด ๋ชจ๋ธ ์ถ๊ฐ ์์ฒญ์ ์ด์๋ก ๋จ๊ฒจ์ฃผ์ธ์.
- ๊ตญ์ด
- ์ํ
- ์์ด
- ํ๊ตญ์ฌ
- ์ฌํํ๊ตฌ
- ๊ณผํํ๊ตฌ
.env ํ์ผ์ ๋ค์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํด์ฃผ์ธ์:
# AI Model API Keys
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
GOOGLE_API_KEY=your_google_api_key
UPSTAGE_API_KEY=your_upstage_api_key
PERPLEXITY_API_KEY=your_perplexity_api_key
# Evaluation Settings
MAX_RETRIES=3
TIMEOUT=60
API_CALL_DELAY=1# ์ ์ฒด ํ
์คํธ ์คํ
pytest
# ํน์ ํ
์คํธ ์คํ
pytest tests/test_evaluator.py
# ์ปค๋ฒ๋ฆฌ์ง ๋ฆฌํฌํธ
pytest --cov=src tests/์ด ํ๋ก์ ํธ๋ CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial 4.0 International) ๋ผ์ด์ ์ค๋ฅผ ๋ฐ๋ฆ ๋๋ค.
- โ ๋น์์ ์ ์ฌ์ฉ: ๊ต์ก ๋ฐ ์ฐ๊ตฌ ๋ชฉ์ ์ผ๋ก ์์ ๋กญ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
- ๐ ์ถ์ฒ ํ๊ธฐ ํ์: ์ฌ์ฉ ์ ๋ฐ๋์ ์๋ณธ ์ถ์ฒ๋ฅผ ๋ช ์ํด์ผ ํฉ๋๋ค
- ๐ซ ์์ ์ ์ฌ์ฉ ๊ธ์ง: ์์ ์ ๋ชฉ์ ์ผ๋ก๋ ์ฌ์ฉํ ์ ์์ต๋๋ค (๋ณ๋ ๋ฌธ์ ํ์)
์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ๊ณ ํ์ธ์.
KSAT AI Benchmark by roboco-io
Licensed under CC BY-NC 4.0
Source: https://github.com/roboco-io/KSAT-AI-Benchmark
- ๐ฆ ํ๋ก์ ํธ ์ ์ฅ์: https://github.com/roboco-io/KSAT-AI-Benchmark
- ๐ฌ ์ด์ ํธ๋์ปค: https://github.com/roboco-io/KSAT-AI-Benchmark/issues
- ๐ ๋ฆฌ๋๋ณด๋ ์น์ฌ์ดํธ: https://roboco.io/KSAT-AI-Benchmark/
- ํ๊ตญ๊ต์ก๊ณผ์ ํ๊ฐ์ - ํ์คํ๋ ๊ณ ํ์ง ํ๊ฐ ๋๊ตฌ(์๋ฅ) ์ ๊ณต
- OpenAI, Anthropic, Google, Upstage, Perplexity - ๊ฐ๋ ฅํ AI ๋ชจ๋ธ๊ณผ API ์ ๊ณต
- ์คํ์์ค ์ปค๋ฎค๋ํฐ - ์ด ํ๋ก์ ํธ์ ๊ธฐ๋ฐ์ด ๋๋ ์๋ง์ ๋๊ตฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ๋ชจ๋ ๊ธฐ์ฌ์๋ค - ์ฝ๋, ๋ฌธ์, ํผ๋๋ฐฑ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ๋ฐ์ ์์ผ์ฃผ์ ๋ถ๋ค
์ด ํ๋ก์ ํธ๋ ๋ค์๊ณผ ๊ฐ์ ์ง๋ฌธ์์ ์์๋์์ต๋๋ค:
"AI๊ฐ ์ผ๋ง๋ ๋๋ํ์ง ์ด๋ป๊ฒ ์ธก์ ํ ๊น?"
ํฉ์ฑ ๋ฒค์น๋งํฌ๋ AI๋ฅผ ์ํด ๋ง๋ค์ด์ง ๊ฒ์ด๊ณ , ์ธ๊ฐ์ด ์ค์ ๋ก ์ผ๋ง๋ ์ด๋ ค์ด์ง ์ฒด๊ฐํ๊ธฐ ์ด๋ ต์ต๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ธ๊ฐ์ด ์ค์ ๋ก ๋ณด๋ ์ํ์ ์ ํํ์ต๋๋ค.
์๋ฅ์ ๋ํ๋ฏผ๊ตญ์์ ๊ฐ์ฅ ํ์คํ๋๊ณ , ๊ณต์ ํ๋ฉฐ, ์ข ํฉ์ ์ธ ์ฌ๊ณ ๋ ฅ์ ํ๊ฐํ๋ ์ํ์ ๋๋ค. ๋งค๋ 50๋ง ๋ช ์ ํ์์ด ๋์ผํ ์กฐ๊ฑด์์ ์์ํ๊ณ , ๋ฌธ์ ์ ์ง๊ณผ ๋์ด๋๊ฐ ์ฒ ์ ํ ๊ฒ์ฆ๋ฉ๋๋ค.
Vibe Coding์ผ๋ก ์ด ๋ฒค์น๋งํฌ๋ฅผ ๊ตฌ์ถํ๋ฉด์, ๋จ์ํ ์ ์๋ฅผ ๋งค๊ธฐ๋ ๊ฒ์ ๋์ด AI๊ฐ ์ด๋ป๊ฒ ์๊ฐํ๋์ง๋ฅผ ๋ค์ฌ๋ค๋ณผ ์ ์๊ฒ ๋์์ต๋๋ค. ๊ฐ ๋ฌธ์ ๋ง๋ค AI์ ๋ต๋ณ ์ด์ ๋ฅผ ๋ณด๋ฉด์, ์ธ๊ฐ๊ณผ AI์ ์ฌ๊ณ ๋ฐฉ์ ์ฐจ์ด๋ฅผ ๋ฐ๊ฒฌํ๊ณ , ์์ผ๋ก AI๊ฐ ์ด๋ป๊ฒ ๋ฐ์ ํด์ผ ํ ์ง ํํธ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์ด ํ๋ก์ ํธ๊ฐ AI ๋ฐ์ ์ ์ถ์ ํ๊ณ , AI ๋ฅ๋ ฅ์ ์ดํดํ๋ฉฐ, ๋ ๋์ AI๋ฅผ ๋ง๋๋ ๋ฐ ์์ ๊ธฐ์ฌ๊ฐ ๋๊ธธ ๋ฐ๋๋๋ค.
- ํ๋ก์ ํธ ์ด๊ธฐ ์ค์ ๋ฐ ์ํคํ ์ฒ ์ค๊ณ
- PDF ํ์ฑ ์์คํ ๊ตฌํ (Vision API ๊ธฐ๋ฐ)
- YAML ๋ฐ์ดํฐ ํ์ ์ ์ ๋ฐ ๊ฒ์ฆ
- AI ๋ชจ๋ธ ํ๊ฐ ์์คํ ๊ตฌํ
- GitHub Actions ์๋ํ ํ์ดํ๋ผ์ธ
- Next.js + Mantine UI ์น ์ธํฐํ์ด์ค
- ๋ฆฌ๋๋ณด๋ ๋ฐ ๋ฌธ์ ๋ชฉ๋ก ํ์ด์ง
- ๋ต์ ์์ธ ๋ชจ๋ฌ ๋ฐ ์ธํฐ๋์
- 2025 ์๋ฅ 3๊ฐ ๊ณผ๋ชฉ ํ์ฑ ์๋ฃ (๊ตญ์ด, ์ํ, ์์ด)
- 6๊ฐ ์ต์ AI ๋ชจ๋ธ ๋ฒค์น๋งํน
- 2026ํ๋ ๋ ์๋ฅ ๋ฒค์น๋งํฌ (2025๋ 11์ 13์ผ ์ํ ์์ )
- ๊ณผ๊ฑฐ ์๋ฅ ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฅ (2024, 2023...)
- ๊ณผ๋ชฉ๋ณ ์์ธ ๋ถ์ ํ์ด์ง ๊ตฌํ
- ์ฐจํธ ๋ฐ ์๊ฐํ ๊ณ ๋ํ (์ฑ๋ฅ ์ถ์ด ๊ทธ๋ํ)
- ๋ชจ๋ธ๋ณ ๊ฐ์ /์ฝ์ ๋ถ์ ๋ฆฌํฌํธ
- ์ฐ๋๋ณ ์ฑ๋ฅ ๋น๊ต ๋ถ์
- ์ฑ๋ฅ ์ต์ ํ (ํ๊ฐ ์๋, ์น ๋ก๋ฉ)
- ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง ํ๋
- ๋ค๊ตญ์ด ์ํ ์ง์ (SAT, ์ผ๋ณธ ์ผํฐ์ํ ๋ฑ)
- RESTful API ์๋น์ค ์ ๊ณต
- ์ค์๊ฐ ๋ชจ๋ธ ๋น๊ต ๊ธฐ๋ฅ
- ์ปค๋ฎค๋ํฐ ๊ธฐ์ฌ ๋ชจ๋ธ ์ถ๊ฐ ์ง์
- ๋ชจ๋ฐ์ผ ์ฑ ๊ฒํ
๋ณธ ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ๋ํ๋ฏผ๊ตญ ์ํ๋ฅ๋ ฅ์ํ(KSAT) ๋ฌธ์ ์ ๋ชจ๋ ์ ์๊ถ์ ํ๊ตญ๊ต์ก๊ณผ์ ํ๊ฐ์์ ์์ต๋๋ค.
- ์ถ์ฒ: ํ๊ตญ๊ต์ก๊ณผ์ ํ๊ฐ์ ์๋ฅ ์๋ฃ์ค
- ์ ์๊ถ์: ํ๊ตญ๊ต์ก๊ณผ์ ํ๊ฐ์ (Korea Institute for Curriculum and Evaluation)
- ์ฌ์ฉ ๋ชฉ์ : ๋ณธ ํ๋ก์ ํธ๋ AI ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐํ๊ธฐ ์ํ ๋น์๋ฆฌ ์ฐ๊ตฌ ๋ฐ ๊ต์ก ๋ชฉ์ ์ผ๋ก๋ง ์ํ ๋ฌธ์ ๋ฅผ ํ์ฉํฉ๋๋ค.
์ํ ๋ฌธ์ ์ ๊ด๋ จํ ๋ชจ๋ ๊ถ๋ฆฌ๋ ํ๊ตญ๊ต์ก๊ณผ์ ํ๊ฐ์์ ์์ผ๋ฉฐ, ๋ณธ ํ๋ก์ ํธ๋ ๊ณต๊ฐ๋ ์๋ฃ๋ฅผ ์ฐ๊ตฌ ๋ชฉ์ ์ผ๋ก ํ์ฉํ๊ณ ์์ต๋๋ค.
๋ณธ ํ๋ก์ ํธ์ ์์ค ์ฝ๋ ๋ฐ ํ๊ฐ ๊ฒฐ๊ณผ๋ CC BY-NC 4.0 ๋ผ์ด์ ์ค๋ฅผ ๋ฐ๋ฆ ๋๋ค.
- โ ์ถ์ฒ๋ฅผ ํ์ํ๋ฉด ์์ ๋กญ๊ฒ ๊ณต์ ๋ฐ ๋ณ๊ฒฝ ๊ฐ๋ฅ
- โ ์์ ์ ์ด์ฉ ๋ถ๊ฐ
- โน๏ธ ์ํ ๋ฌธ์ ์๋ณธ์ ํ๊ตญ๊ต์ก๊ณผ์ ํ๊ฐ์์ ์ ์๊ถ ์ ์ฑ ์ ๋ฐ๋ฆ ๋๋ค
์ด ํ๋ก์ ํธ๊ฐ ์ ์ฉํ๋ค๋ฉด โญ๏ธ๋ฅผ ๋๋ฌ์ฃผ์ธ์!
Made with โค๏ธ by the KSAT AI Benchmark Team