1. LLM foundations
모델을 호출하는 법이 아니라 실패 경계를 예측하는 지식입니다.
- tokenization과 context budget
- cache·knowledge cutoff·sampling
- reasoning effort와 tool calling
- 모델 조합, fine-tune, self-host 판단
산출물: 모델 선택표와 실패 예상 목록.
Andrew Ng의 AI Engineering Skills Map 1~3편을 시간순으로 복원하고, 원문에서 이름만 언급된 eval·RAG·agent harness·MCP·observability·보안·데이터 아키텍처를 공식 자료로 보완한 확장 해설입니다.
버튼을 눌러 각 글의 핵심 주장과 지도 항목을 비교할 수 있습니다.
AI가 소프트웨어 제작 방식을 바꾼 지금, 개발자는 무엇을 배워야 하는가?
AI 앱, SW 기본기, 코딩 에이전트, shaping the build의 네 축과 지속 학습.
직접 구현만 하는 역할에서 측정·지휘·제품 판단·ownership으로 이동.
불확실한 출력을 측정·통제해 신뢰할 수 있는 제품으로 만든다.
성능·비용·신뢰성·보안 trade-off를 이해해 에이전트를 지휘한다.
컨텍스트, 계획, 검증기, 멀티에이전트와 권한을 운용한다.
명세를 받는 사람이 아니라 고객·사업 맥락으로 무엇을 만들지 결정한다.
모델의 생성·컨텍스트·sampling·tool calling·fine-tuning 경계.
prompt와 retrieval, vector·graph·semantic layer, 신선한 데이터.
workflow와 harness, 도구·메모리·context·multi-agent·guardrail.
trace와 오류 분석, deterministic·judge·human eval의 반복 루프.
관측, drift, 보안 사고, 통계적 regression, 비용·latency 최적화.
bias/variance, error analysis, 데이터 엔지니어링과 모델 trade-off.
UI·rendering·API·auth·state·async·persistence·test·accessibility.
access pattern·저장 모델·transaction·품질·privacy·lifecycle.
경계·분해·state·stack·monolith/microservice·단계별 진화.
테스트 전략·degradation·blast radius·shift-left security.
SDLC·CI/CD·IaaS·observability·incident·load·technical debt.
첫 글의 네 축 위에 2·3편에서 공개된 11개 하위 역량을 붙였습니다. 점선 축은 아직 상세편이 나오지 않았음을 뜻합니다.
모델을 호출하는 법이 아니라 실패 경계를 예측하는 지식입니다.
산출물: 모델 선택표와 실패 예상 목록.
정답을 모델 파라미터에 기대지 않고 외부 지식과 연결합니다.
산출물: 질문 유형별 retrieval 전략과 근거 표시.
예측 가능한 workflow와 유연한 agent loop 사이에서 복잡성을 선택합니다.
산출물: 권한표, 상태 전이, 실패·중단 조건.
성공 기준을 사례와 측정으로 바꾸고 매 변경마다 비교합니다.
산출물: 버전 관리되는 eval set과 오류 대시보드.
실사용 환경에서 품질·비용·지연·보안을 함께 관찰합니다.
산출물: SLI/SLO, alert, incident playbook.
불확실한 출력의 원인을 데이터·모델·평가로 분해하는 사고 도구입니다.
산출물: 오류 원인 가설과 다음 데이터 실험.
| 영역 | 알아야 하는 것 | 모르면 에이전트가 하기 쉬운 실수 | 검증할 증거 |
|---|---|---|---|
| Full-stack | rendering, caching, API, auth, state/session, async, persistence, testing, accessibility | 인증을 UI에만 두거나, 캐시 invalidation·상태 경계를 잘못 설계 | 사용자 흐름 E2E, API contract, authz test, 접근성 검사 |
| Data | access pattern, storage model, transaction, concurrency, quality, privacy, lifecycle | 현재 CRUD에는 맞지만 미래 migration과 AI context를 망치는 schema 선택 | schema·retention·lineage·migration plan·freshness SLO |
| Architecture | 경계, 분해, state placement, stack, prototype/production/scale 단계 | 단순 앱을 불필요한 microservice로 쪼개거나 load·cost 요구를 무시 | quality attribute, ADR, 부하 실험, failure model |
| Security & reliability | test strategy, degradation, blast radius, least privilege, supply chain | LLM 출력이나 외부 문서를 신뢰하고 권한 있는 도구로 전달 | threat model, dependency scan, chaos/failure test, approval gate |
| Production | release, CI/CD, IaaS, observability, incident, scaling, technical debt | demo가 된 것을 운영 가능하다고 착각하고 rollback·alert·capacity를 누락 | SLI/SLO, dashboard, runbook, rollback drill, postmortem |
Anthropic은 workflow를 미리 정의된 코드 경로, agent를 모델이 자신의 과정과 도구 사용을 동적으로 결정하는 구조로 구분합니다. 고정 업무는 workflow가 예측 가능하고, 예상하지 못한 경로가 필요한 업무는 agent가 유연합니다. 복잡성이 늘수록 latency·비용·debugging 부담도 커지므로 가장 단순한 구조에서 시작하라고 권합니다.
2020년 원 논문에서 RAG는 모델의 parametric memory와 검색 가능한 외부 non-parametric memory를 결합했습니다. 이후 실무의 grounding은 vector search를 넘어 structured query, graph, semantic layer, tool retrieval, 권한 필터, 문서 변환과 freshness까지 포함합니다. 검색 결과를 붙였다고 정확성·보안이 자동 보장되는 것은 아닙니다.
에이전트는 여러 turn에서 도구를 호출하고 상태를 바꾸므로 최종 답만 채점하면 실패 경로를 놓칩니다. 입력 과제, 실행 환경, tool trace, 중간 state, 최종 outcome을 함께 평가해야 합니다. NIST의 TEVV 관점은 평가를 설계·개발·사용 전 생애주기의 위험관리로 봅니다.
자연어 품질처럼 코드로 판정하기 어려운 기준에 유용하지만, judge의 편향·position effect·self-preference·rubric 누락을 가질 수 있습니다. 따라서 작은 human-labeled set으로 judge를 calibration하고, 기계적 조건은 deterministic check로 분리하며, 고위험 판정은 사람에게 남기는 조합이 안전합니다.
이 해석은 Andrew Ng의 ‘deterministic / judge / human을 상황별로 선택하고 eval도 평가하라’는 원칙을 실무 절차로 풀어쓴 것입니다.
Google SRE는 모니터링 목적을 alert, 진단, 시각화, 장기 추세로 구분하고, 사용자 관점의 latency·traffic·errors·saturation 같은 핵심 신호를 권합니다. AI 제품은 여기에 task success, groundedness, refusal, tool failure, token cost, model/version별 품질 slice를 더해야 합니다.
OWASP는 RAG와 fine-tuning이 prompt injection을 완전히 막지 못한다고 명시합니다. 외부 콘텐츠를 untrusted input으로 격리하고, 최소 권한, 결정적 output validation, 고위험 action 승인, adversarial test를 적용해야 합니다. LLM 출력도 downstream 코드에 들어가기 전 사용자 입력처럼 검증해야 합니다.
MCP는 LLM 애플리케이션이 외부 데이터와 도구를 공통 프로토콜로 연결하게 합니다. 연결 표준이지 신뢰 표준은 아닙니다. 서버가 제공하는 resource·tool의 권한, 입력 검증, 인증, 데이터 경계를 애플리케이션이 별도로 설계해야 합니다.
모델은 전달받지 못한 사실을 ‘누락됐다’고 보고할 수 없습니다. access pattern, entity identity, temporal history, permissions, provenance가 잘못 설계되면 retrieval도 그 잘못된 표현 위에서만 움직입니다. 그래서 data model은 저장 형식이 아니라 AI가 무엇을 알 수 있는지를 정의하는 epistemic boundary입니다.
모델·grounding·agent·production·제품 목표를 하나의 개선 루프로 연결합니다. 별도 상위 축은 아니지만 사실상 지도의 운영체제입니다.
초보자는 더 넓은 시스템을 만들 수 있으나 잘못된 schema, 권한 경계, failure mode도 더 빠르게 확대할 수 있습니다. 학습은 생성보다 리뷰·debug·eval에 더 많은 시간을 배정해야 합니다.
AI 앱과 SW 기본기 양쪽에 data·production·security가 나타납니다. 전자는 확률적 AI core 관점, 후자는 전체 애플리케이션 관점입니다. 학습 계획에서는 중복을 하나의 실제 프로젝트로 묶어야 합니다.
전자는 제품 안에 agent runtime을 만드는 기술이고, 후자는 개발자가 자신의 작업을 coding agent에 위임하는 업무 방식입니다. 같은 도구·context·eval 개념을 공유하지만 대상 시스템이 다릅니다.
채용공고 수는 공개됐지만 수집 기간·지역·산업·직급·중복 제거·인터뷰 질문·설문 표본·소스 가중치·클러스터 결과는 공개되지 않았습니다. ‘실증적으로 입증된 순위’보다 ‘자료로 보강된 전문가 taxonomy’로 보는 것이 정확합니다.
기업은 자신이 이해한 역할만 공고에 적고, 신생 업무는 직무명 없이 기존 역할에 섞입니다. 인터뷰와 전문가 판단을 결합한 이유이지만, 어떤 신호가 결과를 주도했는지는 알 수 없습니다.
Using coding agents와 Shaping the build 상세편이 남았습니다. 특히 두 축이 구현 이후의 인간 역할을 설명하므로 전체 메시지의 절반은 앞으로 더 구체화될 가능성이 큽니다.
아래 순서는 Andrew Ng이 직접 제시한 prerequisite가 아니라, 세 글의 의존 관계를 바탕으로 구성한 실전 순서입니다. 역할을 선택하면 우선해야 할 산출물이 바뀝니다.
| 주차 | 학습 목표 | 검증 가능한 산출물 |
|---|---|---|
| 1–2 | full-stack thin slice, Git, API, auth, DB, 배포 | 공개 가능한 URL, architecture sketch, E2E test |
| 3–4 | LLM foundation과 eval baseline | 30+ eval cases, 오류 taxonomy, 모델 선택 기록 |
| 5–6 | grounding과 데이터 품질 | retrieval benchmark, citation/provenance, freshness check |
| 7–8 | workflow→agent 복잡성 단계화 | tool contract, permission matrix, stop condition, trace |
| 9–10 | production observability와 보안 | SLI/SLO, dashboard, injection test, rollback drill |
| 11–12 | shaping the build와 확장 판단 | 사용자 관찰, spec, 비용·latency 실험, 다음 버전 결정 |
앞서 분석한 Paperthin은 AI 엔지니어링 전체 커리큘럼이 아니라, coding agent를 신뢰성 있게 운전하고 결과를 검증하는 메타 하네스에 가깝습니다.
| Andrew Ng 지도 | Paperthin에서 대응하는 부분 | 남는 공백 |
|---|---|---|
| Evaluation-driven development | sip, shower, factchk, mandela, hate | 실제 제품 eval dataset·metric·experiment 구현 |
| Agentic iteration | re0-loop, re0-memo, re0-work, nba | 실제 agent runtime·tool protocol·memory 구현 |
| Using coding agents | readchk, aim, modelchk, autobahn, prism | IDE·CI·sandbox·permission 운영 기술 |
| Maintainability | re0, ssotize, debloat, detool | 코드 아키텍처·DB·distributed system 기본기 |
| Shaping & release | re0-plan, re0-release, re0-merge | 고객 연구·시장 판단·제품 metric |
모델 출력을 외부 데이터·규칙·도구 결과에 연결해 근거와 최신성을 제공하는 설계.
질문과 관련된 외부 문서를 검색해 생성 모델의 입력에 결합하는 방식.
모델이 반복적으로 다음 행동을 선택하고 도구를 실행하도록 context·state·permission·loop를 제공하는 실행 환경.
LLM 애플리케이션과 외부 resource·tool을 연결하는 공개 프로토콜. 권한 안전을 자동 보장하지는 않음.
AI 시스템의 행동과 결과를 예제·metric·rubric·judge·human review로 측정하는 절차와 데이터.
실패 사례를 원인·유형·영향별로 묶어 다음 개선의 우선순위를 정하게 하는 분류 체계.
시간이 지나 입력 분포·사용자 행동·모델·데이터가 달라져 품질이 변하는 현상.
서비스 상태를 나타내는 지표와 그 지표가 충족해야 할 목표. 예: p95 latency와 99.9% availability.
일부 의존성이 실패해도 전체 중단 대신 제한된 기능으로 안전하게 계속 동작하는 설계.
한 실패·권한·배포 오류가 영향을 줄 수 있는 시스템과 사용자 범위.
보안·테스트·품질 검토를 개발 후반이 아니라 설계와 구현 초기로 이동하는 접근.
시스템 원리와 trade-off를 충분히 이해하지 않은 채 자연어 지시와 생성 결과만으로 개발하는 방식.
세 편의 공식 제목과 8월 14·21·28일 발행일을 확인.
andrewng.org/writingworkflow와 agent 구분, 단순 패턴 우선, evaluator-optimizer와 ground-truth loop.
Anthropicprompt injection, improper output handling, supply chain과 최소 권한.
OWASP GenAI