rohitg00/ai-engineering-from-scratch

Learn AI Engineering! Learn it. Build it. Ship it for others.

이 프로젝트는 무엇인가요?

ai-engineering-from-scratch는 AI 엔지니어링을 위한 무료 오픈소스(MIT 라이선스) 학습 커리큘럼입니다. 특정 철학을 기반으로 구축되었습니다: 모델, 검색 파이프라인, 에이전트 런타임의 내부를 직접 구현합니다—단지 읽는 것이 아닙니다. 그런 다음 코드를 테스트하고 실패를 검사하며 배운 것의 증거로 생성한 산출물을 보관합니다.

README는 Python, TypeScript, Rust, Julia에서 20개 단계에 걸친 542개의 레슨을 광고합니다. 세 가지 방법으로 배울 수 있습니다:

  1. 웹사이트에서 (aiengineeringfromscratch.com) — 설정 없이 아무 레슨이나 엽니다.
  2. 코딩 에이전트 튜터 사용 — Node.js와 npx가 있으면 "AI 튜터" 스킬을 설치하여 레슨을 대화형으로 진행할 수 있습니다.
  3. 로컬 코드 실행 — 리포지토리를 클론하고 레슨 스크립트를 직접 실행합니다.

학습 방법

모든 레슨의 핵심 루프는 동일합니다(README에서):

  1. 읽기: 레슨의 docs/en.md를 읽고 핵심 아이디어를 자신의 말로 설명합니다.
  2. 입력하고 구축: 중요한 코드를 직접 입력합니다—복사만 하지 마세요.
  3. 실행: 리포지토리 루트에서 레슨 명령을 실행합니다.
  4. 증거 보관: 명령, 작업 디렉토리, 종료 코드, 의미 있는 출력, 변경하거나 생성한 산출물.
  5. 출력을 설명하고 추측 없이 작은 변경을 하나 할 수 있을 때만 계속합니다.

이 "증거 보관" 원칙이 튜토리얼을 보는 것과 다른 점입니다—결국 자신의 실행 가능한 코드와 결과가 담긴 폴더를 갖게 됩니다.

세 가지 실습 프로젝트

README는 각각 단계별 스타터, 참조 구현, 로컬 채점기가 있는 세 가지 전체 프로젝트를 강조합니다. 각 단계를 구현할 때까지 의도적으로 실패하는 스타터로 시작합니다.

01 · 검색 평가 랩 (Python)

후보 시스템은 평균 NDCG(순위 메트릭)를 개선하지만 한 쿼리의 가장 관련성 높은 결과를 더 낮게 순위 매깁니다. 당신의 작업: 회귀를 잡아내고 릴리스 검사를 실패시킬 수 있는 쿼리별 비교를 구축합니다. 순위 검증, 정밀도/재현율, 순위 민감 메트릭, 시스템 비교를 구현합니다.

보관하는 것: 쿼리별 델타와 이를 점수화하는 데 사용된 판단이 포함된 재현 가능한 비교. README는 규율을 지적합니다: "메트릭은 그 판단을 설명합니다. 답변의 정확성을 확립하지 않습니다."

02 · 에이전트 추적 디버거 (TypeScript)

제공된 실행 추적은 여전히 100ms가 걸리지만 총 토큰 사용량은 200 증가하고 하나의 스팬이 실패하기 시작합니다. 당신의 작업: 겹치는 하위 작업을 상위 실행 시간과 분리하고 변경 사항을 노출하는 보고서를 생성합니다. JSONL 파싱, 상위 검증, 구간 산술, 검사 가능한 타임라인을 구현합니다.

보관하는 것: 입력 추적, HTML 타임라인, JSON 회귀 보고서. README는 상위 및 하위 사용량이 이중으로 계산되지 않도록 스팬별 독점 토큰 수를 보존하는 것을 강조합니다.

03 · 도구 호출 방화벽 (Rust)

검토 후 쓰기가 변경되거나 승인이 재생됩니다. 당신의 작업: 호출 봉투를 검증하고, 호출자의 역할과 경로를 확인하고, 정확한 요청과 콘텐츠에 바인딩된 승인을 소비합니다. 호출자 애플리케이션은 ID를 제공합니다. 모델은 작업을 제안합니다.

보관하는 것: 요청된 작업과 정책 결정을 보여주는 감사 영수증. README는 한계를 명시합니다: "승인은 한 번의 호출 내에서 일회용입니다. 이 프로젝트는 영구적인 권한 부여나 운영 체제 샌드박스를 제공하지 않습니다."

세 프로젝트 모두 스크립트(python3 scripts/project_test.py ...)로 채점되며 특정 언어 버전이 필요합니다(첫 번째와 세 번째는 Python 3.10+, 두 번째는 Node.js 22.18+).

학습 경로 및 전문 분야

시작하기 전에 542개의 레슨을 훑어볼 필요는 없습니다. README는 하나의 목표를 선택할 것을 제안합니다:

목표 시작점
모델 기초 (모든 것이 처음) 설정 및 도구, 단계 0
LLM 시스템 (Python을 알고 수학 + ML 기초를 원함) 수학 기초, 단계 1
에이전트 및 전달 에이전트 루프, 단계 14

또한 지식을 시작 단계에 매핑하고 개인화된 학습 계획을 저장하는 10문항 배치 퀴즈가 있습니다.

일반 경로 외에도 AI 튜터를 통해 호출할 수 있는 집중 학습 경로가 있습니다:

  • Model Context Protocol (MCP) — 무상태 요청, 전송, 양방향 작업, 보안, 신뢰성, 레지스트리 거버넌스, 적합성 증거를 다루는 17개 레슨 경로.
  • Agent Skills — 계약, 발견, 호출, 샌드박스 경계, 릴리스 평가 및 이식성에 대한 5개 레슨 경로.
  • 인증 트랙 — Anthropic 인증(CCAO-F, CCDV-F, CCAR-F, CCAR-P) 및 MCPA(2026-07-28 프로토콜에 대한 34개 레슨 경로)를 위한 특정 경로.

각각 전용 스킬(예: learn-mcp, learn-agent-skills, claude-certification, mcpa-certification)이 있으며, 자체 학습 진행 파일을 만들고 진행하면서 증거를 기록합니다.

로컬 설정

README는 빠른 시작을 보여줍니다:

git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
python3 phases/00-setup-and-tooling/01-dev-environment/code/verify.py --route beginner
python3 phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py

verify.py 사전 점검은 지금 필요한 요구 사항과 나중에 필요한 도구를 분리하며, 각 실패에는 감지된 이유와 수정 명령이 포함됩니다. vectors.py 레슨은 의존성이 없으며 행렬 곱하기 벡터가 신경망 계층 내부의 연산임을 보여주며 끝납니다—README는 해당 터미널 출력을 첫 번째 증거로 저장할 것을 제안합니다.

실용적인 세부 사항

  • 라이선스: MIT, 무료, 오픈소스.
  • 언어: 30개 이상의 번역된 README 버전이 나열되어 있습니다(중국어, 일본어, 한국어, 스페인어, 힌디어 등).
  • 스폰서: SerpApi(웹 검색 API 회사)가 프로젝트를 지원합니다.
  • 웹사이트: aiengineeringfromscratch.com — README 전체의 링크는 해당 사이트의 특정 레슨을 가리킵니다.
  • 표시된 대화형 랩: 20개의 시작점이 이차 손실 표면을 내려가는 경사 하강 시각화로, 학습률을 조정할 수 있습니다(코드에서 GD, 모멘텀, Adam을 비교할 수 있습니다).

의도적으로 약속하지 않는 것

README의 몇 가지 명시적 경계는 성숙도를 보여주므로 주목할 가치가 있습니다:

  • 도구 호출 방화벽 프로젝트는 "한 번의 호출 내 일회용 승인"에서 멈춥니다—영구 인증이나 OS 샌드박스가 없습니다.
  • 검색 평가 랩의 메트릭은 관련성에 대한 판단을 설명합니다—"답변의 정확성"을 확립한다고 주장하지 않습니다.
  • AI 튜터는 호환 가능한 호스트(Codex, Claude Code 등)와 Node.js가 필요합니다. 없으면 웹사이트 경로는 작동하지만 대화형 랩을 실행할 수 없습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트