rohitg00/ai-engineering-from-scratch
요약
rohitg00/ai-engineering-from-scratch는 수학적 기초부터 자율 에이전트 구축까지 아우르는 428개의 레슨으로 구성된 오픈 소스 AI 엔지니어링 커리큘럼입니다. Python, TypeScript, Rust, Julia를 사용하여 이론적 수학 모델을 실제 코드로 직접 구현하며 엔드 투 엔드 학습을 지향합니다.
핵심 포인트
- 선형 대수와 같은 수학적 기초부터 에이전트 루프 및 프로덕션 단계까지 체계적인 20단계 커리큘럼 제공
- Python, TypeScript, Rust, Julia 등 4가지 프로그래밍 언어를 활용한 실전 구현 중심 학습
- 단순한 도구 사용법을 넘어 역전파, 토크나이저, 어텐션 등 모델 내부 동작 원리 심층 학습
- 문제 읽기, 수학 유도, 코드 작성, 테스트, 결과물 보관으로 이어지는 일관된 학습 루프 적용
- MIT 라이선스의 무료 오픈 소스 프로젝트로 누구나 자신의 환경에서 실행 가능
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
학생의 84%가 이미 AI 도구를 사용하고 있습니다. 하지만 전문적으로 사용할 준비가 되었다고 느끼는 비율은 18%에 불과합니다. 이 커리큘럼은 그 격차를 해소합니다. 428개의 레슨, 20개의 단계, 약 320시간 분량. Python, TypeScript, Rust, Julia를 사용합니다. 모든 레슨은 프롬프트 (prompt), 기술 (skill), 에이전트 (agent), MCP 서버 (MCP server)와 같이 재사용 가능한 결과물 (artifact)을 제공합니다. 무료이며, 오픈 소스(open source)이고, MIT 라이선스입니다.
단순히 AI를 배우는 것이 아닙니다. 직접 구축합니다. 엔드 투 엔드 (End-to-end)로, 직접 손으로 만듭니다.
대부분의 AI 학습 자료는 파편화된 방식으로 가르칩니다. 여기서는 논문 하나, 저기서는 미세 조정 (fine-tuning) 포스트 하나, 다른 곳에서는 화려한 에이전트 데모 하나가 나옵니다. 이 조각들은 좀처럼 정렬되지 않습니다. 챗봇 (chatbot)을 배포할 수는 있지만, 그 손실 곡선 (loss curve)을 설명하지 못합니다. 에이전트에 함수를 연결할 수는 있지만, 이를 호출하는 모델 내부에서 어텐션 (attention)이 무엇을 하는지 말하지 못합니다.
이 커리큘럼은 척추 역할을 합니다. 20개의 단계, 428개의 레슨, 4가지 언어: Python, TypeScript, Rust, Julia. 한쪽 끝에는 선형 대수 (Linear algebra)가 있고, 다른 쪽 끝에는 자율 군집 (autonomous swarms)이 있습니다. 모든 알고리즘은 먼저 가공되지 않은 수학으로부터 구축됩니다. 역전파 (Backprop), 토크나이저 (Tokenizer), 어텐션 (Attention), 에이전트 루프 (Agent loop). PyTorch가 등장할 때쯤이면, 여러분은 이미 그것이 내부적으로 무엇을 하고 있는지 알고 있을 것입니다.
각 레슨은 동일한 루프를 실행합니다: 문제를 읽고, 수학을 유도하고, 코드를 작성하고, 테스트를 실행하고, 결과물 (artifact)을 보관합니다. 5분짜리 영상도, 복사-붙여넣기 식의 배포도, 과도한 도움도 없습니다. 무료이며, 오픈 소스이고, 여러분의 노트북에서 실행되도록 설계되었습니다.
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
20개의 단계가 서로 쌓여 있습니다. 수학이 바닥(floor)이라면, 에이전트 (Agents)와 프로덕션 (production)은 지붕(roof)입니다. 하위 계층을 이미 알고 있다면 건너뛰어도 좋지만, 건너뛴 후에 상위 계층의 무언가가 왜 고장 나는지 의아해하지는 마십시오.
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#fafaf5','primaryTextColor':'#1a1a1a','primaryBorderColor':'#3553ff','lineColor':'#3553ff','fontFamily':'JetBrains Mono','fontSize':'12px'}}}%%
flowchart TB
P0["Phase 0 — Setup & Tooling"] --> P1["Phase 1 — Math Foundations"]
...
각 레슨은 고유한 폴더에 담겨 있으며, 전체 커리큘럼에 걸쳐 동일한 구조를 유지합니다:
phases/<NN>-<phase-name>/<NN>-<lesson-name>/
├── code/ 실행 가능한 구현체 (Python, TypeScript, Rust, Julia)
├── docs/
...
모든 레슨은 6단계의 흐름을 따릅니다. Build It / Use It (직접 만들기 / 사용하기) 분리가 핵심 축입니다. 먼저 알고리즘을 처음부터 직접 구현(from scratch)한 다음, 동일한 내용을 프로덕션 라이브러리(production library)를 통해 실행합니다. 프레임워크가 무엇을 하고 있는지 이해할 수 있는 이유는 직접 더 작은 버전의 코드를 작성해 보았기 때문입니다.
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#fafaf5','primaryTextColor':'#1a1a1a','primaryBorderColor':'#3553ff','lineColor':'#3553ff','fontFamily':'JetBrains Mono','fontSize':'13px'}}}%%
flowchart LR
M["MOTTO<br/><sub>한 줄의 핵심 아이디어</sub>"] --> Pr["PROBLEM<br/><sub>구체적인 고충</sub>"]
...
세 가지 진입 방법이 있습니다. 하나를 선택하세요.
옵션 A — 읽기. aiengineeringfromscratch.com에서 완료된 레슨을 열거나 목차(Contents) 아래의 단계를 확장하세요. 설정이나 클로닝(cloning)이 필요 없습니다.
옵션 B — 클론하고 실행하기.
git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
python phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py
옵션 C — 자신의 수준 찾기 (권장). 지능적으로 건너뛰세요. Claude, Cursor, Codex, OpenClaw, Hermes 또는 SkillKit이 설치된 모든 에이전트 내부에서 다음을 입력하세요:
/find-your-level
10개의 질문이 진행됩니다. 당신의 지식을 시작 단계에 매핑하고, 예상 소요 시간과 함께 개인화된 경로를 구축합니다. 각 단계가 끝난 후에는 다음과 같이 사용할 수 있습니다:
/check-understanding 3 # 3단계에 대해 스스로 퀴즈를 풀어보세요
ls phases/03-deep-learning-core/05-loss-functions/outputs/
# ├── prompt-loss-function-selector.md
...
- 코드를 작성할 수 있어야 합니다 (어떤 언어든 가능하며, Python이 도움이 됩니다).
- 단순히 API를 호출하는 것이 아니라, AI가 실제로 어떻게 작동하는지 이해하고 싶어야 합니다.
| 기술 (Skill) | 기능 |
|---|---|
/find-your-level | 10문항의 레벨 테스트. 사용자의 지식을 시작 단계에 매핑하고 예상 소요 시간과 함께 개인화된 경로를 생성합니다. |
/check-understanding <phase> | 단계별 퀴즈(8문항). 피드백과 함께 복습해야 할 특정 레슨을 제공합니다. |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
다른 커리큘럼들은 *"축하합니다, X를 배웠습니다"*로 끝납니다. 하지만 이곳의 각 레슨은 일상적인 워크플로우(workflow)에 설치하거나 붙여넣을 수 있는 **재사용 가능한 도구 (reusable tool)**로 끝납니다.
SkillKit으로 도구들을 설치하세요. 숙제가 아닌 실제 도구들입니다. 커리큘럼이 끝날 때쯤이면, 여러분은 직접 구축했기에 실제로 이해하고 있는 428개의 결과물(artifacts)로 구성된 포트폴리오를 갖게 됩니다.
Phase 14, lesson 1: 에이전트 루프 (agent loop). 의존성 없는 약 120줄의 순수 Python 코드.
|
def run(query, tools):
history = [user(query)]
for step in range(MAX_STEPS):
...
``` |
name: agent-loop
description: 모든 도구 목록을 위한 ReAct 스타일 루프
...
당신은 에이전트 디버거 (agent debugger)입니다. 에이전트 실행의 트레이스 (trace)가 주어지면,
에이전트가 잘못된 단계를 식별하고 그 이유를 설명하세요...
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
20개의 단계 (phases). 각 단계를 클릭하면 레슨 목록이 확장됩니다.
이어지는 모든 과정을 위해 환경을 준비하세요.
| # | 레슨 (Lesson) | 유형 (Type) | 언어 (Lang) |
|---|---|---|---|
| 01 | 개발 환경 (Dev Environment) | 구축 (Build) | Python, TypeScript, Rust |
| ... |
**Phase 1 — 수학 기초 (Math Foundations)** `22 lessons`
*코드를 통해 모든 AI 알고리즘 이면에 있는 직관을 배웁니다.*
**Phase 2 — 머신러닝 기초 (ML Fundamentals)** `18 lessons`
*고전적 머신러닝 (Classical ML) — 여전히 대부분의 프로덕션 AI의 중추 역할을 합니다.*
| # | 레슨 (Lesson) | 유형 (Type) | 언어 (Lang) |
|---|---|---|---|
| 01 | 머신러닝이란 무엇인가 (What Is Machine Learning) | 학습 (Learn) | Python |
| ... |
**Phase 3 — 딥러닝 핵심 (Deep Learning Core)** `13 lessons`
*제1원리 (first principles)로부터 배우는 신경망 (Neural networks). 직접 구축하기 전까지는 프레임워크 (frameworks)를 사용하지 않습니다.*
| # | 레슨 (Lesson) | 유형 (Type) | 언어 (Lang) |
|---|---|---|---|
| 01 | 퍼셉트론 (The Perceptron): 모든 것이 시작된 곳 | 구축 (Build) | Python |
| ... |
**Phase 4 — 컴퓨터 비전 (Computer Vision)** `28개 레슨`
*픽셀에서 이해까지 — 이미지, 비디오, 3D, VLM (Vision-Language Models), 그리고 월드 모델 (world models).*
**Phase 5 — NLP: 기초부터 심화까지** `29개 레슨`
*언어는 지능으로 향하는 인터페이스 (interface)입니다.*
**Phase 6 — 음성 및 오디오 (Speech & Audio)** `17개 레슨`
*듣고, 이해하고, 말하기.*
| # | 레슨 (Lesson) | 유형 (Type) | 언어 (Lang) |
|---|---|---|---|
| 01 | 오디오 기초: 파형 (Waveforms), 샘플링 (Sampling), FFT | 학습 (Learn) | Python |
| ... |
**Phase 7 — 트랜스포머 (Transformers) 심층 분석** `14개 레슨`
*모든 것을 바꾼 아키텍처 (architecture).*
| # | 레슨 (Lesson) | 유형 (Type) | 언어 (Lang) |
|---|---|---|---|
| 01 | 왜 트랜스포머인가: RNN의 문제점 | 학습 (Learn) | Python |
| ... |
**Phase 8 — 생성형 AI (Generative AI)** `14개 레슨`
*이미지, 비디오, 오디오, 3D 등을 생성합니다.*
| # | 레슨 (Lesson) | 유형 (Type) | 언어 (Lang) |
|---|---|---|---|
| 01 | 생성 모델 (Generative Models): 분류 (Taxonomy) 및 역사 | 학습 (Learn) | Python |
| ... |
**Phase 9 — 강화학습 (Reinforcement Learning)** `12개 레슨`
*RLHF 및 게임 플레이 AI의 토대.*
| # | 레슨 (Lesson) | 유형 (Type) | 언어 (Lang) |
|---|---|---|---|
| 01 | MDP, 상태 (States), 행동 (Actions) 및 보상 (Rewards) | 학습 (Learn) | Python |
| ... |
**Phase 10 — LLM 밑바닥부터 만들기 (LLMs from Scratch)** `22개 레슨`
*대규모 언어 모델 (large language models)을 구축, 학습 및 이해합니다.*
**Phase 11 — LLM 엔지니어링 (LLM Engineering)** `15개 레슨`
*LLM을 프로덕션 (production) 환경에서 작동시킵니다.*
| # | 레슨 (Lesson) | 유형 (Type) | 언어 (Lang) |
|---|---|---|---|
| 01 | 프롬프트 엔지니어링 (Prompt Engineering): 기법 및 패턴 | 구축 (Build) | Python |
| ... |
**Phase 12 — 멀티모달 AI (Multimodal AI)** `25개 레슨`
*ViT 패치 (patches)부터 컴퓨터 사용 에이전트 (computer-use agents)까지 — 다양한 모달리티 (modalities)를 가로질러 보고, 듣고, 읽고, 추론합니다.*
**Phase 13 — 도구 및 프로토콜 (Tools & Protocols)** `23개 레슨`
*AI와 현실 세계 사이의 인터페이스 (interfaces).*
| # | 레슨 (Lesson) | 유형 (Type) | 언어 (Lang) |
|---|---|---|---|
| 01 | 도구 인터페이스 (The Tool Interface) | 학습 (Learn) | Python |
| ... |
**Phase 14 — 에이전트 엔지니어링 (Agent Engineering)** `42개 레슨`
*제1원리 (first principles)로부터 에이전트를 구축합니다 — 루프 (loop), 메모리 (memory), 계획 (planning), 프레임워크 (frameworks), 벤치마크 (benchmarks), 프로덕션 (production), 워크벤치 (workbench).*
**단계 15 — 자율 시스템 (Autonomous Systems)** `22개 레슨`
*장기적 목표를 가진 에이전트 (Long-horizon agents), 자기 개선 (self-improvement), 그리고 2026년형 안전 스택 (safety stack).*
**단계 16 — 멀티 에이전트 및 스웜 (Multi-Agent & Swarms)** `25개 레슨`
*조정 (Coordination), 창발성 (emergence), 그리고 집단 지성 (collective intelligence).*
**단계 17 — 인프라 및 프로덕션 (Infrastructure & Production)** `28개 레슨`
*AI를 실제 세상으로 출시하십시오.*
| # | 레슨 (Lesson) | 유형 (Type) | 언어 (Lang) |
|---|---|---|---|
| 01 | 관리형 LLM 플랫폼 (Managed LLM Platforms) — Bedrock, Azure OpenAI, Vertex AI | 학습 (Learn) | Python |
| ... |
**단계 18 — 윤리, 안전 및 정렬 (Ethics, Safety & Alignment)** `30개 레슨`
*인류를 돕는 AI를 구축하십시오. 이는 선택 사항이 아닙니다.*
**단계 19 — 캡스톤 프로젝트 (Capstone Projects)** `17개 프로젝트`
*2026년형 엔드 투 엔드 (end-to-end) 출시 가능 제품, 각 프로젝트당 20-40시간 소요.*
| # | 프로젝트 (Project) | 결합 요소 (Combines) | 언어 (Lang) |
|---|---|---|---|
| 01 | 터미널 네이티브 코딩 에이전트 (Terminal-Native Coding Agent) | P0 P5 P7 P10 P11 P13 P14 P15 P17 P18 | TypeScript, Python |
| ... |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
모든 레슨은 재사용 가능한 산출물 (artifact)을 생성합니다. 과정을 마치면 다음을 보유하게 됩니다:
outputs/
├── prompts/ 모든 AI 작업을 위한 프롬프트 템플릿 (prompt templates)
├── skills/ AI 코딩 에이전트를 위한 SKILL.md 파일
...
SkillKit으로 설치하십시오. Claude, Cursor, Codex, OpenClaw, Hermes 또는 모든 MCP 호환 에이전트에 연결하십시오. 숙제가 아닌 실제 도구입니다.
| 배경 (Background) | 시작 지점 (Start at) | 예상 소요 시간 (Estimated time) |
|---|---|---|
| 프로그래밍과 AI가 처음인 경우 | 단계 0 — 설정 (Phase 0 — Setup) | 약 306시간 |
| ... |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
FIG_003 · 산업 신호 (THE INDUSTRY SIGNAL) |
FIG_003 · 다뤄진 기초 논문 (FOUNDATIONAL PAPERS COVERED) |
|---|---|
| |
|
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
| 목표 (Goal) | 읽기 (Read) |
|---|---|
| 레슨 기여 또는 수정 (Contribute a lesson or fix) | CONTRIBUTING.md |
| ... |
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
무료, MIT 라이선스, 428개 레슨. 커리큘럼은 오직 후원만으로 유지됩니다. 현금 후원만 받습니다.
**도달 범위 (2026-05-14 확인):** 월간 방문자 55,593명 · 페이지 뷰 90,709회 · 스타(stars) 7.5K ·
Twitter/X가 가장 주요한 유입 채널(acquisition channel)입니다.
| 등급 | $/월 | 제공 혜택 |
|---|---|---|
| 후원자 (Backer) | $25 | BACKERS.md에 이름 기재 |
| ... | |
전체 요금표(rate card), 엄격한 규칙, 가격 기준(pricing anchors) 및 도달 범위 데이터는 SPONSORS.md를 참조하세요. GitHub Sponsors를 통해 신청할 수 있습니다.
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒
이 매뉴얼이 도움이 되었다면, 저장소(repo)에 스타(star)를 눌러주세요. 프로젝트를 지속하는 힘이 됩니다.
MIT 라이선스. 원하는 대로 사용하세요 — 포크(fork)하고, 가르치고, 판매하고, 배포(ship)해도 좋습니다. 출처 표기(Attribution)는 권장 사항이며 필수 사항은 아닙니다.
Rohit Ghumare와 커뮤니티가 유지 관리합니다.
@ghumare64 · aiengineeringfromscratch.com · 신고 / 제안
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기