목차 15개 섹션
- 기술 가이드
- 개발환경 구축
- AI Model 선정
- 모델 설치와 실행
- 학습과 튜닝
- Vector DB 구축
- RAG 개발
- 시스템 연계
- 검증과 운영
- 분야별 모델 선정
- 전체 아키텍처
- Project ABC
- 데이터와 도구
- 마일스톤/산출물
- 기술 스택
Technical Blueprint
실전 AI Agent 개발 체크리스트
아이디어 설명보다 실행 가능한 개발 문서를 우선합니다. 로컬 실행, API 계약, RAG 데이터, tool 호출, 검증 루틴, 운영 fallback을 먼저 고정해야 AI Agent가 데모에서 실제 서비스로 넘어갈 수 있습니다.
1. 개발환경과 실행 기준
- README 첫 화면에 `npm install`, `docker compose up`, `npm run build`, health check 명령을 순서대로 적습니다.
- Node.js 22 LTS, Python 3.11 이상, Git, Docker Desktop, VS Code 또는 Cursor를 기본 개발환경으로 고정합니다.
- 프론트엔드는 Next.js, Agent API는 FastAPI 또는 Cloudflare Worker, Vector DB는 Chroma 또는 pgvector 중 하나로 시작합니다.
- `.env.example`에는 모델명, API key, DB URL, vector collection, timeout, observability endpoint를 실제 변수명으로 남깁니다.
- 첫 커밋부터 build, API 단위 테스트, 대표 curl, k6 smoke test를 통과 기준으로 둡니다.
2. 모델과 비용 기준
- 업무를 대화, 문서 질의응답, 코드 생성, 데이터 분석, tool calling 중 하나로 먼저 분류합니다.
- 운영 후보 모델은 품질만 보지 말고 월 비용, p95 latency, JSON schema 준수율, 장애 fallback 가능성을 함께 비교합니다.
- 로컬 우선 프로젝트는 `llama3.1:8b`, `llama3.2:3b`, `gemma2:9b`, `nomic-embed-text`처럼 실제 설치할 모델명과 예상 용량을 문서에 적습니다.
- API 모델을 병행할 경우 provider adapter를 두고 `MODEL_PROVIDER`, `MODEL_NAME`, `MODEL_TIMEOUT_SECONDS`로 전환 가능하게 만듭니다.
- 모델 평가는 대표 질문 30~50개 golden set으로 정확성, 근거성, 환각률, 응답 지연, 실패 유형을 표로 남깁니다.
3. API 계약과 로컬 실행
- 처음 고정할 endpoint는 `/health`, `/v1/chat`, `/v1/rag/query`, `/v1/agent/run` 네 가지로 충분합니다.
- 모든 응답에는 `answer`, `citations`, `model`, `latency_ms`, `trace_id`, `warnings`를 같은 형태로 반환합니다.
- 브라우저는 모델 provider나 노트북 API를 직접 호출하지 않고, 서버 사이드 API facade만 호출하게 설계합니다.
- 로컬 모델은 Ollama 또는 Docker Compose로 실행하고, 모델 목록 조회와 첫 chat completion curl을 문서에 포함합니다.
- timeout, retry, max tokens, temperature, streaming 여부는 코드에 박지 말고 환경 변수로 분리합니다.
4. 프롬프트와 응답 정책
- system prompt에는 역할, 금지 행동, 근거 부족 시 답변 방식, tool 사용 조건을 짧게 고정합니다.
- 초기에는 fine-tuning보다 prompt template, RAG 문서 품질, tool schema, JSON 응답 형식을 먼저 개선합니다.
- 금지 답변, 근거 부족 답변, 사용자 확인이 필요한 답변 예시를 golden set에 포함합니다.
- 업무별 출력은 자유 문장이 아니라 `summary`, `evidence`, `next_actions`, `confidence`, `needs_review` 같은 schema로 관리합니다.
- 프롬프트 변경 시 golden set 통과율과 실패 유형을 이전 버전과 비교합니다.
5. RAG 데이터 구축
- 문서 원본, chunk, embedding, metadata, ingestion version을 분리해 저장하고 재색인 명령을 README에 적습니다.
- 처음에는 문서 10개로 시작해 chunk 크기, overlap, metadata, 검색 결과를 눈으로 확인합니다.
- 검색 API는 `query`, `top_k`, `filters`, `min_score`를 명시하고 source id, title, page, score, chunk text를 반환합니다.
- RAG 답변에는 citation을 필수로 두고, citation이 없으면 “근거 부족” 응답으로 fallback합니다.
- 문서 변경 감지, 증분 색인, 삭제 문서 tombstone, embedding version 변경 시 재색인 기준을 미리 정합니다.
6. Agent workflow 구현
- workflow는 intent 분류, retrieval 필요 여부 판단, tool 호출, 답변 생성, 검증, fallback 순서로 나눕니다.
- LangGraph를 쓰는 경우 각 node의 입력/출력 schema와 실패 시 다음 node를 문서화합니다.
- Agent가 호출할 tool은 읽기 전용부터 시작하고, 쓰기 작업은 사람 승인 단계 뒤에 둡니다.
- tool 호출에는 timeout, retry, rate limit, audit log, user permission check를 기본으로 붙입니다.
- 최종 답변은 근거, 다음 행동, 확인 필요 여부를 분리해 UI가 그대로 렌더링할 수 있게 반환합니다.
7. 시스템 연계와 보안
- Agent는 DB를 직접 조회하지 않고 `stock_search`, `portfolio_summary`, `log_search`, `policy_check` 같은 제한된 tool API만 호출합니다.
- 외부 API와 내부 DB adapter에는 권한, rate limit, timeout, retry, 감사 로그를 기본으로 둡니다.
- API key, JWT, session id, user id, request id의 책임 위치를 클라우드와 로컬 API 사이에서 명확히 나눕니다.
- 민감 정보는 prompt와 로그에 그대로 남기지 않고 masking 또는 별도 secure store로 분리합니다.
- 사용자 요청, tool 호출, 모델 응답, 최종 답변은 trace id로 연결해 장애 분석과 품질 개선에 활용합니다.
8. 검증과 운영 전환
- Golden set으로 정답성, 근거성, 정책 위반, 출력 형식 준수율을 측정하고 변경 전후 결과를 비교합니다.
- 운영 전 최소 기준은 health check, smoke test, k6 p95 latency, API error rate, RAG hit rate, fallback rate입니다.
- 금융/교육/운영 자동화처럼 위험도가 높은 영역은 LLM 판단과 deterministic rule 검사를 반드시 분리합니다.
- OpenTelemetry, Prometheus, Grafana 또는 최소 structured log로 latency, token usage, tool failure, retrieval hit rate를 관측합니다.
- 초기 배포는 읽기 전용 Agent와 사람 승인 기반 workflow로 시작하고, 충분한 검증 후 자동 실행 범위를 넓힙니다.
Model Selection
분야별 AI 모델 선정과 설치/활용
Education 프로젝트에서 바로 POC를 시작할 수 있도록 추천 API 모델, 로컬 모델, 임베딩 모델과 설치/활용 기준을 정리합니다.
추천 API 모델
GPT-4.1 mini 또는 Gemini 2.5 Flash
로컬/온프레미스 대안
Gemma 2/3 계열 또는 Llama 3.1/3.3 8B Instruct
Embedding 모델
text-embedding-3-small 또는 bge-m3
실제 선택 모델과 Docker 설치 기준
Gemma 3 12B Instruct 또는 Llama 3.1 8B Instruct를 교육 AI Agent 기본 로컬 모델로 선택합니다. 친절한 해설과 빠른 응답이 중요하고, 채점은 별도 checker가 맡습니다.
교사용 데모와 오프라인 학습 환경은 Ollama Docker로 시작합니다. 고난도 해설만 API 상위 모델로 라우팅할 수 있게 adapter를 둡니다.
권장 서버 스펙
- 개발/데모: 8코어 CPU, RAM 32GB, GPU 12~16GB VRAM. 8B~12B Q4 모델과 bge-m3 임베딩을 함께 검증합니다.
- 학교/기관 POC: GPU 24GB VRAM 1장, RAM 64GB, SSD 100GB 이상. 여러 학습자 세션과 문제 생성을 테스트합니다.
- 저사양 노트북 데모는 4B~8B 모델로 축소하고, 문제 생성 품질은 golden set으로 별도 비교합니다.
용량과 저장소
- 8B~12B Q4 모델 약 5~9GB, bge-m3 약 2~3GB, 커리큘럼/문항 vector index 포함 최소 80GB SSD를 권장합니다.
- 학생 제출 답안과 평가 기록은 별도 DB 테이블에 저장하고, 모델 prompt에는 최소 정보만 전달합니다.
- 문항 은행은 원문, 정답, 해설, 난이도, 단원 metadata, embedding version을 함께 관리합니다.
Docker 설치 명령
- Ollama: `docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama`
- 모델 다운로드: `docker exec -it ollama ollama pull gemma3:12b` 또는 `docker exec -it ollama ollama pull llama3.1:8b`
- 임베딩: `docker exec -it ollama ollama pull bge-m3` 후 앱에서 `EMBEDDING_MODEL=bge-m3`로 설정합니다.
설치 후 검증
- 학습 진단 20개, 해설 생성 30개, 힌트 생성 30개로 정답 누설률과 난이도 적합성을 평가합니다.
- 채점 결과는 deterministic checker와 비교하고, LLM은 피드백 문장 품질만 평가합니다.
- 학생 개인정보가 prompt와 trace log에 남지 않는지 샘플 로그를 확인합니다.
선정 이유
- 교육 Agent는 친절한 설명, 난이도 조절, 커리큘럼 기반 근거가 중요하므로 빠르고 안정적인 중간급 모델이 적합합니다.
- 정답 판정과 점수 계산은 모델보다 deterministic checker가 적합하고, 모델은 해설과 피드백 생성에 집중시킵니다.
- 학생 데이터와 평가 기록은 민감하므로 로컬 모델 또는 최소 데이터 전송 구조를 선택할 수 있어야 합니다.
설치와 구성
- API형은 `LLM_MODEL=gpt-4.1-mini`, `EMBEDDING_MODEL=text-embedding-3-small`로 시작하고, 고난도 해설만 상위 모델로 라우팅합니다.
- 로컬형은 Ollama로 Gemma/Llama 8B급 모델을 실행해 교사용 데모와 오프라인 학습 환경을 구성합니다.
- 커리큘럼 문서와 문항 은행은 단원, 개념 태그, 난이도, 정답/해설 metadata를 포함해 PostgreSQL과 Vector DB에 나눠 저장합니다.
활용 방식
- `curriculum_retriever`로 관련 개념을 찾고, `quiz_generator`가 문항 후보를 만들며, `answer_checker`가 정답 판정을 담당합니다.
- 모델 출력은 `diagnosis`, `hint`, `explanation`, `next_questions`, `learning_path`로 구조화합니다.
- 학생별 개인화는 세션/프로필 기반 추천으로 시작하고 장기 기억은 명시적 동의 후 저장합니다.
주의점
- 학생의 민감한 평가 기록을 외부 모델에 그대로 보내지 않습니다.
- 틀린 답을 정답으로 판정하지 않도록 채점 로직은 단위 테스트로 고정합니다.
Reference Architecture
전체 아키텍처 설계
AI Agent는 화면, 오케스트레이션, 도구 연계, 데이터 검색, 평가/운영 계층을 분리해야 변경과 검증이 쉬워집니다.
Presentation Layer
- Next.js UI
- Agent 실행 상태
- 근거/출처 표시
- 사용자 피드백 수집
Agent Orchestration
- Prompt policy
- Tool routing
- Memory/session
- Structured output
Tool & Integration
- 업무 API adapter
- DB 조회 tool
- 문서 검색 tool
- 정책 검사 tool
Data & Retrieval
- PostgreSQL
- pgvector
- 문서 chunking
- embedding/reranking
Evaluation & Ops
- Golden set
- Playwright
- k6
- OpenTelemetry/Prometheus
Project ABC
실제 프로젝트 진행을 위한 ABC
A는 구조 설계, B는 AI Agent 구현, C는 검증 기준입니다. 이 순서로 진행하면 데모가 아니라 운영 가능한 Agent로 확장하기 쉽습니다.
A. Architecture
- 커리큘럼 검색, 문제 생성, 답안 채점, 학습 경로 추천을 독립 도구로 분리합니다.
- Agent는 학습 목표 확인, 진단 질문, 문제 제공, 해설, 다음 과제 추천 흐름으로 동작합니다.
- 정답 판정은 deterministic checker를 우선 사용하고 LLM은 해설과 피드백 생성에 집중합니다.
B. Build
- 한 과목, 한 단원, 30개 문항으로 AI Agent 범위를 작게 고정합니다.
- 문항에는 정답, 해설, 난이도, 개념 태그를 필수 메타데이터로 저장합니다.
- 학습 화면은 진단 결과, 추천 문제, 제출 답안, 해설 피드백, 다음 학습 링크로 구성합니다.
C. Check
- 정답 판정과 점수 계산은 단위 테스트로 고정하고 LLM 출력은 스키마 검증합니다.
- 난이도 추천이 너무 쉽거나 어려운 문제로 치우치지 않는지 샘플 학습자 프로필로 검증합니다.
- 학습자 개인정보, 민감한 평가 기록, 외부 공유 문구를 정책 테스트로 차단합니다.
Project Spec
데이터와 Agent 도구
Agent Tools
curriculum_retrieverquiz_generatoranswer_checkerlearning_path_planner
AI Agent 범위
- 학습 수준 진단
- 맞춤 문제 5개 생성
- 오답 원인 설명
- 다음 학습 경로 추천
검증 기준
- 정답 판정 정확도
- 난이도 적합성
- 해설 근거 포함률
- 개인정보 최소 수집
Execution
진행 마일스톤과 산출물
진행 마일스톤
- 단원/문항 데이터 설계
- 채점 도구 구현
- 문제 생성 Agent 연결
- 학습 피드백 UI
- 난이도/정답 검증
산출물
- Tutor Agent UI
- 문항 은행 스키마
- 답안 채점 API
- 학습 경로 추천 로직
- 교육 품질 평가 세트
Stack
기술 스택
Next.jsFastAPIPydanticPostgreSQLpgvectorPlaywright