본문 바로가기
TYLER SONGBlog
블로그 목록
AI AgentEngineering

2026 AI Agent Engineer 학습 커리큘럼 (4) 프로젝트와 아키텍처

24주 심화 요약, P1–P9·Final 프로젝트, 최종 아키텍처, 추천 기술 스택.

송민성8분 읽기

이 글은 5편짜리 시리즈의 4편입니다.

시리즈 목차

아래부터 본편입니다.

2026 AI Agent Engineer 학습 커리큘럼 (4) 프로젝트와 아키텍처

6. 24주 심화 커리큘럼 (요약표)

전제: 12주 과정의 각 주제를 2배 깊이로 다룬다. 실패 실험실(failure lab)·프레임워크 비교·더 큰 capstone을 추가한다. 하루 평일 2~3h / 주말 4~6h.

주차Phase핵심 개념구현 / 산출물완료 기준
1A. Foundations개발 기반: async·DI·구조적 로깅·Docker·Postgres·CI재사용 가능한 async httpx 클라이언트, compose 스택동시 요청·재시도·SSE·CI 자동화
2ALLM 내부: 토큰·attention·sampling·context windowprovider 추상화 클라이언트 + 비용/지연 계측두 provider 동일 인터페이스, 계측
3A프롬프트·instruction hierarchy·인젝션 재현프롬프트 템플릿(버전) + 인젝션 스위트 12+직접·간접 인젝션 재현
4B. Context & RetrievalContext Manager: 예산·우선순위·compactioncontext/manager.py + 벤치예산 준수·품질 곡선
5BRAG 기초: chunking·embedding·hybrid·rerankpgvector ingest + hybrid searchrecall/MRR baseline
6BRAG 심화: contextual retrieval·Graph RAG·Agentic RAG3개 RAG 변형 비교 실험변형별 지표 표
7BMemory: 유형·충돌·decay·retrievalmemory/ 전 수명주기모순 주입 통과
8C. ProtocolMCP 서버·리소스·프롬프트·transportfilesystem + DB MCP 서버stdio·HTTP 양쪽 동작
9CMCP 생태계·보안: 악성 서버·tool poisoningMCP 클라이언트 통합 + 권한 경계 테스트poisoning 방어
10D. Harnessruntime·tool registry·permissionharness/runtime.py + permission.py권한 거부 경로
11Dsandbox·리소스 제한·네트워크 격리sandbox.py(subprocess+container)침투 시도 차단
12Dexecution trace·token/time/iteration budget·verificationtrace.py·budget.py·verify.pytrace 완전성·budget 컷
13E. Loopplan-act-observe·기본 루프loop/controller.py루프가 harness 위에서 동작
14Ereflection·self-correction·verifierprogress.py + reflection 트리거 정책정체 감지
15E실패 실험실: 무한 루프·비용 폭발·데드락·중복 행동정지 조건 7종 + escalation각 실패 모드 재현·방어
16F. Graphvanilla graph engine: node/edge/state/reducergraph/engine.py조건부 엣지·병렬·체크포인트
17F프레임워크 비교: LangGraph vs Temporal vs Prefect동일 그래프 2구현 + 비교 문서트레이드오프 문서화
18F멀티에이전트 패턴: supervisor·evaluator-optimizer·debate3패턴 구현 + "쓰지 말아야 할 때" 기준패턴별 장단·비용
19G. Evaloffline eval + LLM-judge(편향 완화)evals/ 러너 + judgejudge 재현성·편향률
20Gtrajectory eval·tool-use eval·regression DBtrajectory.py + regression.py회귀 CI 게이트
21Gonline eval·A/B·shadow 실행·human eval 루프온라인 지표 수집 + shadow 러너온라인/오프라인 지표 정합
22H. ProductionOTel·replay·failure analysisobs/otel.py·replay.py완전한 span 트리·replay
23Hsecurity 다층 방어·HITL·cost governancesecurity/·hitl/·ops/cost_guard.pyinjection·exfiltration 차단
24Hcapstone hardening·부하·비용·launchFinal Platform 배포 + 운영 런북SLO·알림·fallback·CI 게이트

24주 Capstone 추가 요구: 멀티테넌시, 요청당 비용 상한, 모델 라우팅, 온라인 eval 대시보드, 운영 런북(장애 대응 절차), 부하 테스트 결과(동시 100 요청 p95).

7. 단계별 프로젝트 (P1–P9 + Final)

각 프로젝트: 목표 · 핵심 기능 · 아키텍처 · 필수 Eval · 완료 기준 · 포트폴리오 포인트

P1 — LLM CLI Assistant

  • 목표: LLM API를 프레임워크 없이 다룬다.
  • 핵심 기능: 스트리밍 REPL, 멀티 provider 전환, 대화 저장/로드, 세션 비용 표시.
  • 아키텍처: llm/ 클라이언트 + CLI(typer/argparse) + 대화 저장(JSON).
  • 필수 Eval: 없음(도구·비용 계산 단위 테스트로 대체).
  • 완료 기준: 두 provider 동일 인터페이스, 스트리밍 파싱 테스트, 비용 정확.
  • 포트폴리오 포인트: "프레임워크 없이 provider 추상화" — 기초 체력을 보여 준다.

P2 — Tool-Calling Agent

  • 목표: 도구 선택·실행·되먹임을 한 루프로 묶는다.
  • 핵심 기능: tool registry, 5개 도구, 3종 실패 처리, parallel tool call.
  • 아키텍처: llm/ + tools/ + 단일 스텝 컨트롤러.
  • 필수 Eval: 인젝션 스위트(회귀), 도구 선택 정확도 10케이스.
  • 완료 기준: 3종 도구 실패를 각각 다르게 처리, 인젝션 완화 수치.
  • 포트폴리오 포인트: 도구 스키마·검증·에러 되먹임 설계.

P3 — RAG Agent

  • 목표: 검색 품질을 측정하는 프로덕션 RAG.
  • 핵심 기능: 하이브리드 검색 + reranking, 인용 포함 답변, /search·/answer(SSE).
  • 아키텍처: rag/ + FastAPI + pgvector + evals/.
  • 필수 Eval: recall@5·MRR·faithfulness 골든셋, chunking 회귀 게이트.
  • 완료 기준: 검색 품질 baseline + CI 회귀 차단, 검증 가능한 인용.
  • 포트폴리오 포인트: "RAG를 만들었다"가 아니라 "RAG 품질을 측정하고 회귀를 막았다".

P4 — Memory Agent

  • 목표: 세션을 넘는 개인화를 구현한다.
  • 핵심 기능: 메모리 추출·타입별 저장·충돌 해결·decay·retrieval.
  • 아키텍처: memory/ + Postgres + Context Manager 통합.
  • 필수 Eval: 추출 정확도, 충돌 해결, retrieval recall.
  • 완료 기준: 모순 주입 테스트 통과, Context 세그먼트 통합.
  • 포트폴리오 포인트: RAG와 Memory의 차이를 코드로 구분.

P5 — MCP Server

  • 목표: 표준 프로토콜로 도구·데이터를 노출한다.
  • 핵심 기능: tools + resources + prompts, stdio·HTTP transport, 권한 경계.
  • 아키텍처: mcp/server_*.py + 이를 쓰는 Agent.
  • 필수 Eval: transport 계약 테스트, 권한 경계.
  • 완료 기준: 서버·클라이언트 양쪽 구현, 동적 도구 발견.
  • 포트폴리오 포인트: 자작 통합 대신 표준 채택 — 실무 감각.

P6 — Research Agent (Harness 데모)

  • 목표: harness(sandbox·permission·trace·budget)를 실증한다.
  • 핵심 기능: 웹 검색·문서 읽기·요약 도구, 모든 실행이 trace·budget을 통과.
  • 아키텍처: harness/ + 도구 세트 + trace viewer.
  • 필수 Eval: 리서치 태스크 10개 골든셋(출처 정확도·완결성).
  • 완료 기준: 권한 거부·budget 컷·trace 완전성.
  • 포트폴리오 포인트: trace viewer 스크린샷 — "관측 가능한 Agent".

P7 — Autonomous Coding Agent

  • 목표: 자율 반복 루프로 실제 이슈를 해결한다.
  • 핵심 기능: issue → code → test → fix → green, 7종 정지 조건, escalation 리포트.
  • 아키텍처: harness/ + loop/ + git 통합.
  • 필수 Eval: 이슈 벤치 15개(task success, cost/successful task, retry rate), trajectory eval.
  • 완료 기준: 정지 조건 전체 테스트, 성공률·비용 지표 제시.
  • 포트폴리오 포인트: "task success 62% → 84%, cost/successful task $0.11" 같은 수치.

P8 — Multi-Agent Workflow

  • 목표: 그래프로 분업·병렬·검증을 분리한다.
  • 핵심 기능: planner/backend/frontend/test/security/review 노드, 조건부 라우팅, 병렬+join, 체크포인트, human gate.
  • 아키텍처: graph/ + P7 Loop 인스턴스들 + hitl/.
  • 필수 Eval: 워크플로우 e2e 케이스, 노드별 성공률, "단일 Agent 대비 개선/악화" 비교.
  • 완료 기준: 재개 가능, gate 동작, 단일 Agent 대비 트레이드오프 문서.
  • 포트폴리오 포인트: 멀티에이전트를 "언제 쓰고 언제 안 쓰는지" 판단 근거.

P9 — Agent Evaluation Platform

  • 목표: eval을 재사용 가능한 인프라로 만든다.
  • 핵심 기능: 데이터셋 관리, 실행 러너, judge, trajectory, regression 추적, 리포트 UI.
  • 아키텍처: FastAPI + Postgres + 큐 + 간단 대시보드.
  • 필수 Eval: 플랫폼 자체의 메타 테스트(judge 재현성, 지표 계산 정확도).
  • 완료 기준: P7·P8을 이 플랫폼으로 평가, 회귀 CI 통합.
  • 포트폴리오 포인트: "eval-driven development"를 실천했다는 증거.

Final — Production AI Agent Platform

  • 목표: 위 전부를 하나의 운영 가능한 시스템으로 묶는다.
  • 핵심 기능: 8장 아키텍처 전체 — Next.js 대시보드(run/trace/tool call/eval), FastAPI + SSE, async worker, graph 오케스트레이터, harness, loop, context/memory/RAG/MCP, eval, OTel, security, HITL.
  • 필수 Eval: 전 계층 regression 스위트가 CI 게이트, 온라인 지표 수집.
  • 완료 기준: 13장 체크리스트 전체 + Docker Compose 원커맨드 + 운영 런북.
  • 포트폴리오 포인트: 이력서 헤드라인 프로젝트로 쓴다.

8. 최종 프로젝트 아키텍처

데이터 흐름 요약: User → Next.js → FastAPI(/runs enqueue) → Redis → Worker → Graph → (노드마다) Loop → Harness → Context Manager(+Memory/RAG/MCP/Tools) → LLM → 결과. 모든 단계가 OTel span. 위험 액션은 HITL Gate에서 멈춘다. 전 계층 변경은 Eval regression 게이트를 통과해야 배포.

9. 추천 기술 스택 (선정 이유)

Language

기술이유
Python 3.13+Agent 백엔드 주력. LLM SDK·async·데이터 생태계. 3.13의 성능·타이핑 개선.
TypeScript대시보드(Agent 실행·trace·eval 뷰어). 타입 안정성.

Python 코어

기술이유
uv빠른 의존성·가상환경 관리. 재현성.
Pydantictool 스키마·structured output·state 검증의 단일 도구.
FastAPIasync 네이티브, SSE, 자동 OpenAPI, Pydantic 통합.
asyncio / httpx동시 LLM·도구 호출. TaskGroup으로 구조적 동시성.
pytest / ruff / mypy테스트·린트·타입. CI 게이트.
structlog (또는 표준 logging+JSON)구조적 로그 → trace 상관.

AI / Agent (Vanilla 먼저, 그다음 비교)

기술이유 / 위치
OpenAI API / Anthropic API직접 호출로 기초 체력. 두 provider로 추상화 훈련.
Vanilla Python AgentHarness·Loop·Graph를 손으로. 프레임워크 이해의 전제.
LangGraphvanilla graph 이후 비교. 상태·체크포인트·스트리밍 표준.
PydanticAIPydantic 친화적 Agent 프레임워크. 타입 안정적 도구·구조적 출력.
OpenAI Agents SDKprovider 제공 Agent 런타임. 최소 구성 프로덕션 비교군.
LlamaIndexRAG·인덱싱 유틸. 직접 파이프라인 이후 비교.
DSPy프롬프트·파이프라인 최적화 연구 도구. 실험적 위치.

MCP

기술이유
Model Context Protocol2025 표준화 이후 도구·데이터 연결 사실상 표준. 서버·클라이언트 직접 구현.

Database

기술이유
PostgreSQLAgent state·checkpoint·memory·eval 결과의 트랜잭션 저장소.
pgvector별도 벡터 DB 없이 RAG. 운영 단순화.
SupabasePostgres + pgvector + auth를 빠르게. 프로토타입·개인 프로젝트.
Redis잡 큐·rate limit·캐시. Agent state와 분리.

Infrastructure

기술이유
Docker / Compose재현 가능한 sandbox·로컬 스택.
ColimamacOS에서 가벼운 컨테이너 런타임.
GitHub Actionslint→type→test→eval 게이트.
AWS / Vercel백엔드(worker·큐) / 프론트(대시보드) 배포.

Frontend

기술이유
Next.js + TypeScript대시보드. SSE 스트리밍, 서버 컴포넌트.
Tailwind + shadcn/ui빠른 일관 UI. trace·eval 뷰어에 집중.
TanStack Queryrun 상태·eval 결과 폴링·캐시.
© 2026 Tyler Song