1. 추천 결론
2026년 AI 개발 환경은 단순히 ChatGPT API를 호출하는 구조가 아니라, 로컬 개발 환경 + 클라우드 프런티어 모델 + 로컬 오픈 모델 + RAG + MCP + 평가/관측성을 함께 갖춘 형태가 가장 실용적입니다.
Local First민감 데이터·테스트·프로토타입은 로컬에서 빠르게
Cloud Smart고성능 추론·복잡한 코딩·멀티모달은 API 활용
Agent Ready도구 호출, 승인, 로그, 평가가 가능한 구조
권장 기본 조합
MacBook Pro + Homebrew + mise + Docker/OrbStack + Python uv + Node pnpm + VS Code/Cursor + Claude Code/Codex CLI + Ollama + Qdrant + PostgreSQL + Redis + LangGraph/LlamaIndex + OpenTelemetry/LLM tracing.
MacBook Pro + Homebrew + mise + Docker/OrbStack + Python uv + Node pnpm + VS Code/Cursor + Claude Code/Codex CLI + Ollama + Qdrant + PostgreSQL + Redis + LangGraph/LlamaIndex + OpenTelemetry/LLM tracing.
| 영역 | 1순위 추천 | 대안 | 선택 기준 |
|---|---|---|---|
| 코딩 에이전트 | Claude Code, Codex CLI | Cursor, GitHub Copilot, OpenCode | 터미널 자동화·대규모 리팩토링은 CLI 에이전트, IDE 보조는 Cursor/Copilot |
| 로컬 LLM | Ollama | LM Studio, vLLM, llama.cpp | Mac 개인 개발은 Ollama, 서버 GPU는 vLLM |
| RAG 벡터DB | Qdrant | pgvector, Milvus, Weaviate | 하이브리드 검색·운영 편의성은 Qdrant, 단순 앱은 pgvector |
| 에이전트 오케스트레이션 | LangGraph | LlamaIndex Workflows, OpenAI Agents SDK | Stateful·장기 실행은 LangGraph, 문서 중심은 LlamaIndex |
| 백엔드 | FastAPI | NestJS, Next.js API Routes | AI/RAG는 Python 생태계가 유리 |
| 프런트엔드 | Next.js | Vite React, SvelteKit | 웹앱·랜딩·인증·배포까지 고려하면 Next.js |
2. 전체 아키텍처
AI 개발 환경은 아래 5계층으로 나누어 구축하면 유지보수가 쉽습니다.
개발자 도구
IDE/CLI
IDE/CLI
모델 계층
API/Local
API/Local
지식 계층
RAG/DB
RAG/DB
도구 계층
MCP/API
MCP/API
운영 계층
Eval/Trace/Sec
Eval/Trace/Sec
ai-workspace/
├── apps/
│ ├── web/ # Next.js UI
│ └── api/ # FastAPI AI backend
├── packages/
│ ├── prompts/ # 시스템 프롬프트, 정책, 템플릿
│ ├── shared/ # 공통 타입/스키마
│ └── evals/ # 테스트셋, 평가 스크립트
├── rag/
│ ├── ingest/ # 문서 파싱·청킹·임베딩
│ ├── retriever/ # dense/sparse/hybrid 검색
│ └── datasets/ # 샘플 문서·정답셋
├── mcp/
│ ├── servers/ # 사내/개인 도구 MCP 서버
│ └── configs/ # Claude Code/Codex 연결 설정
├── infra/
│ ├── docker-compose.yml
│ ├── .env.example
│ └── scripts/
└── docs/
├── architecture.md
├── runbook.md
└── security.md
핵심 원칙
모델은 교체 가능하게, 지식은 DB에, 도구 권한은 최소화, 결과는 평가 가능하게, 비용은 추적 가능하게 설계합니다.
모델은 교체 가능하게, 지식은 DB에, 도구 권한은 최소화, 결과는 평가 가능하게, 비용은 추적 가능하게 설계합니다.
3. 로컬 머신 세팅
3.1 권장 하드웨어
| 용도 | 권장 사양 | 비고 |
|---|---|---|
| 일반 AI 앱 개발 | Apple Silicon Mac, RAM 16GB+ | API 중심 개발이면 충분 |
| 로컬 LLM 테스트 | RAM 32GB+ | 7B~14B급 양자화 모델 운용에 유리 |
| 대형 로컬 모델·멀티모달 | RAM 64GB+ 또는 GPU 서버 | 실서비스는 API/서버 GPU 혼합 권장 |
| RAG/문서처리 | SSD 여유 100GB+ | PDF, 임베딩, 벡터 인덱스 저장 |
3.2 macOS 기본 도구
# Xcode Command Line Tools
xcode-select --install
# Homebrew 설치 확인
brew --version
# 필수 도구
brew install git gh jq ripgrep fd fzf wget curl tree tmux htop watch
brew install git-lfs
brew install --cask visual-studio-code
3.3 Git 기본 설정
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main
git config --global pull.rebase false
git config --global core.editor "code --wait"
3.4 터미널 생산성
# zsh 기준 추천 alias
cat >> ~/.zshrc <<'ZSH'
alias ll='ls -alF'
alias gs='git status'
alias gp='git pull'
alias gc='git commit'
alias dc='docker compose'
alias py='python'
alias ai='cd ~/ai-workspace'
ZSH
source ~/.zshrc
4. 언어·런타임
4.1 버전 관리: mise 추천
mise를 사용하면 Node, Python, Go, Rust 버전을 프로젝트별로 고정할 수 있습니다.
brew install mise
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc
source ~/.zshrc
mise use -g node@22
mise use -g python@3.12
mise use -g go@latest
mise use -g rust@latest
node -v
python --version
4.2 Python: uv 기반
AI 개발은 Python 패키지 충돌이 잦으므로 uv로 프로젝트별 환경을 분리합니다.
brew install uv
mkdir -p ~/ai-workspace/apps/api
cd ~/ai-workspace/apps/api
uv init
uv add fastapi uvicorn pydantic pydantic-settings python-dotenv httpx
uv add openai anthropic langgraph llama-index qdrant-client sentence-transformers
uv add pytest ruff mypy
4.3 Node.js: pnpm 기반
corepack enable
corepack prepare pnpm@latest --activate
mkdir -p ~/ai-workspace/apps/web
cd ~/ai-workspace/apps/web
pnpm create next-app . --ts --eslint --app --src-dir --tailwind
pnpm add ai zod zustand @tanstack/react-query
4.4 코드 품질 기본값
# Python
uv run ruff check .
uv run ruff format .
uv run pytest
# Node
pnpm lint
pnpm typecheck
pnpm test
5. LLM 실행 환경
5.1 모델 전략
| 작업 | 추천 모델 경로 | 이유 |
|---|---|---|
| 기획·문서·리서치 | 클라우드 프런티어 모델 | 긴 문맥, 최신 도구, 추론 품질 |
| 코드 생성·리팩토링 | Claude Code/Codex + 고성능 API | 파일 수정, 테스트 실행, 반복 개선 |
| 민감 문서 요약 | 로컬 LLM + 로컬 RAG | 데이터 외부 전송 최소화 |
| 분류·태깅·간단 요약 | 소형 모델 또는 저가 API | 비용 절감 |
| 대량 배치 처리 | 로컬/서버 오픈 모델 | 처리량과 비용 통제 |
5.2 Ollama 설치
# macOS
brew install ollama
ollama serve
# 다른 터미널에서 모델 실행 예시
ollama pull llama3.2
ollama run llama3.2
# API 확인
curl http://localhost:11434/api/tags
5.3 Docker 기반 Ollama
mkdir -p ~/ai-workspace/infra
cd ~/ai-workspace/infra
cat > docker-compose.yml <<'YAML'
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama:/root/.ollama
restart: unless-stopped
qdrant:
image: qdrant/qdrant:latest
container_name: qdrant
ports:
- "6333:6333"
- "6334:6334"
volumes:
- qdrant:/qdrant/storage
restart: unless-stopped
postgres:
image: postgres:16
container_name: ai-postgres
environment:
POSTGRES_USER: ai
POSTGRES_PASSWORD: ai_password
POSTGRES_DB: aidb
ports:
- "5432:5432"
volumes:
- postgres:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7
container_name: ai-redis
ports:
- "6379:6379"
restart: unless-stopped
volumes:
ollama:
qdrant:
postgres:
YAML
docker compose up -d
5.4 OpenAI 호환 추상화
서비스 코드는 특정 모델 벤더에 종속되지 않도록 AIProvider 인터페이스를 둡니다.
# apps/api/app/llm.py
from typing import Protocol, List, Dict
class AIProvider(Protocol):
async def chat(self, messages: List[Dict], **kwargs) -> str: ...
class OpenAIProvider:
def __init__(self, client, model: str):
self.client = client
self.model = model
async def chat(self, messages, **kwargs):
res = await self.client.responses.create(
model=self.model,
input=messages,
**kwargs,
)
return res.output_text
class OllamaProvider:
def __init__(self, base_url="http://localhost:11434", model="llama3.2"):
self.base_url = base_url
self.model = model
async def chat(self, messages, **kwargs):
# httpx로 /api/chat 호출 구현
...
6. AI 코딩 에이전트
AI 코딩 환경은 IDE 보조 도구와 터미널 에이전트를 같이 쓰는 방식이 가장 효율적입니다.
6.1 도구별 역할
| 도구 | 역할 | 잘 맞는 작업 | 주의점 |
|---|---|---|---|
| Claude Code | 터미널 기반 코딩 에이전트 | 대규모 리팩토링, 테스트 실행, 코드베이스 이해 | 권한·MCP 설정 관리 필요 |
| Codex CLI | 로컬 터미널 코딩 에이전트 | 파일 읽기/수정/실행 기반 작업 | 작업 디렉터리 범위 제한 권장 |
| Cursor | IDE 기반 AI 개발 | 일상 코딩, 파일 단위 수정, 빠른 질문 | 대규모 자동 작업은 CLI가 유리 |
| GitHub Copilot | IDE 자동완성·리뷰 | 반복 코드, 테스트 초안, PR 보조 | 프로젝트 전체 컨텍스트는 제한적일 수 있음 |
6.2 에이전트 작업 규칙
# docs/agent-rules.md 예시
## 개발 원칙
- 변경 전 반드시 현재 구조를 읽고 요약한다.
- 큰 변경은 작은 단계로 나누고 각 단계마다 테스트한다.
- 파일 삭제, 마이그레이션, 외부 전송, 결제, 배포는 사용자 승인 후 실행한다.
- .env, API Key, 개인정보, 고객 데이터는 출력하지 않는다.
- 새 의존성 추가 시 이유와 대안을 기록한다.
## 완료 조건
- lint/typecheck/test 통과
- README 또는 docs 업데이트
- 변경 요약과 영향 범위 작성
- 롤백 방법 작성
6.3 Claude/Codex에 줄 작업 지시 템플릿
목표:
- 이 저장소에 [기능명]을 구현해 주세요.
제약:
- 기존 아키텍처를 최대한 유지합니다.
- 변경 전 관련 파일을 먼저 읽고 계획을 제시합니다.
- DB 마이그레이션, 삭제, 외부 API 호출은 승인 전 실행하지 않습니다.
완료 기준:
- 테스트 추가
- 타입 오류 없음
- README 업데이트
- 변경 요약 작성
작업 순서:
1. 현재 구조 분석
2. 구현 계획 제안
3. 작은 단위로 코드 수정
4. 테스트 실행
5. 결과 보고
7. RAG 개발 환경
7.1 권장 RAG 파이프라인
문서 수집
파싱·청킹
임베딩·색인
검색·재랭킹
생성·검증
문서 기반 AI는 Dense 검색만으로는 부족합니다. 실무에서는 Dense + Sparse/BM25 + RRF + Cross-Encoder Rerank + 출처 표시 구조를 권장합니다.
7.2 RAG 폴더 구조
rag/
├── ingest/
│ ├── parse_pdf.py
│ ├── chunk.py
│ └── embed.py
├── retriever/
│ ├── dense.py
│ ├── sparse.py
│ ├── hybrid.py
│ └── rerank.py
├── evals/
│ ├── golden_questions.jsonl
│ └── evaluate_retrieval.py
└── data/
├── raw/
├── parsed/
└── chunks/
7.3 기본 설치
cd ~/ai-workspace/apps/api
uv add qdrant-client sentence-transformers rank-bm25 pypdf pymupdf python-docx beautifulsoup4
uv add fastembed FlagEmbedding
7.4 검색 전략
| 검색 방식 | 장점 | 약점 | 사용처 |
|---|---|---|---|
| BM25/Sparse | 정확한 키워드, 코드명, 숫자, 법령, 제품명에 강함 | 의미 유사 질의에 약함 | 계약서, CTD, 금융 문서 |
| Dense | 표현이 달라도 의미가 비슷하면 찾음 | 정확한 식별자 검색이 약할 수 있음 | FAQ, 지식베이스 |
| Hybrid + RRF | 키워드와 의미 검색을 균형 있게 결합 | 튜닝 필요 | 대부분의 실무 RAG 기본값 |
| Cross-Encoder Rerank | 최종 상위 문서 품질 향상 | 추론 비용·지연 증가 | 정확도가 중요한 QA |
7.5 RAG 답변 정책
RAG_SYSTEM_PROMPT = """
너는 문서 기반 답변 시스템이다.
규칙:
1. 제공된 근거 안에서만 답한다.
2. 근거가 부족하면 '문서에서 확인되지 않음'이라고 말한다.
3. 답변에는 반드시 출처 chunk_id/page를 포함한다.
4. 숫자, 날짜, 금액, 법적 조건은 원문 표현을 우선한다.
5. 추론과 원문 사실을 구분한다.
"""
8. MCP·도구 연결
MCP(Model Context Protocol)는 AI 에이전트가 외부 도구와 데이터를 표준 방식으로 연결하도록 돕는 계층입니다. 2026년 AI 개발 환경에서는 MCP 서버를 직접 만들 수 있어야 합니다.
8.1 MCP로 연결하기 좋은 도구
| 도구 | 가능 작업 | 주의점 |
|---|---|---|
| GitHub | 이슈 조회, PR 분석, 코드 검색 | 쓰기 권한 분리 |
| PostgreSQL | 데이터 조회, 리포트 생성 | 읽기 전용 계정 권장 |
| Qdrant | 문서 검색, RAG 디버깅 | 컬렉션 삭제 금지 |
| Slack/Discord | 대화 요약, 알림 | 개인정보·채널 권한 관리 |
| 사내 API | 업무 자동화 | 승인 필요한 액션 분리 |
8.2 MCP 서버 설계 원칙
- Read와 Write 분리: 조회 도구와 변경 도구를 별도 서버 또는 별도 권한으로 분리합니다.
- 스키마 명확화: 파라미터, 실패 케이스, 반환 형식을 자세히 정의합니다.
- 승인 게이트: 삭제, 전송, 결제, 배포는 human approval을 넣습니다.
- 감사 로그: 누가, 언제, 어떤 입력으로, 어떤 도구를 실행했는지 남깁니다.
- 출력 최소화: API 키, 개인정보, 토큰, 내부 URL을 노출하지 않습니다.
8.3 MCP 도구 예시 스키마
{
"name": "search_documents",
"description": "문서 컬렉션에서 관련 근거를 검색한다. 삭제나 수정은 수행하지 않는다.",
"input_schema": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "사용자 질문 또는 검색어"},
"collection": {"type": "string", "description": "검색 대상 컬렉션"},
"top_k": {"type": "integer", "minimum": 1, "maximum": 20, "default": 8}
},
"required": ["query", "collection"]
}
}
9. 앱 개발 스택
9.1 권장 서비스 구조
Browser
↓
Next.js Web App
↓
FastAPI AI Gateway
├── Model Router: OpenAI / Anthropic / Ollama / 기타
├── RAG Service: Qdrant / BM25 / Reranker
├── Tool Service: MCP / 내부 API
├── Eval Logger: traces / feedback / cost
└── Policy Guard: PII / permission / rate limit
↓
PostgreSQL + Redis + Object Storage
9.2 FastAPI 기본 골격
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI(title="AI Gateway")
class ChatRequest(BaseModel):
message: str
mode: str = "default"
use_rag: bool = False
@app.post("/chat")
async def chat(req: ChatRequest):
# 1. 정책 검사
# 2. 필요 시 RAG 검색
# 3. 모델 라우팅
# 4. 응답 검증
# 5. trace/cost 저장
return {"answer": "...", "sources": [], "cost": {}}
9.3 환경 변수
# .env.example
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
OLLAMA_BASE_URL=http://localhost:11434
QDRANT_URL=http://localhost:6333
DATABASE_URL=postgresql://ai:ai_password@localhost:5432/aidb
REDIS_URL=redis://localhost:6379
APP_ENV=local
LOG_LEVEL=info
9.4 모델 라우팅 기준
| 요청 유형 | 라우팅 | 이유 |
|---|---|---|
| 간단 분류/태깅 | 저가 모델 또는 로컬 | 비용 절감 |
| 복잡한 코드 수정 | 고성능 코딩 모델 | 정확도와 반복 실행 필요 |
| 민감한 내부 문서 | 로컬 모델 + 로컬 RAG | 데이터 외부 전송 제한 |
| 긴 보고서 작성 | 긴 컨텍스트 API 모델 | 문맥 유지와 품질 |
| 대량 배치 | 큐 + 저가/로컬 모델 | 처리량·비용 최적화 |
10. 평가·관측성
AI 앱은 일반 소프트웨어보다 결과가 흔들립니다. 따라서 로그만 남기는 것이 아니라 평가 가능한 데이터셋과 실행 trace가 필요합니다.
10.1 최소 관측 항목
- 요청 ID, 사용자 ID 또는 익명 세션 ID
- 사용 모델, 프롬프트 버전, 도구 호출 목록
- 입력/출력 토큰, 예상 비용, 지연 시간
- 검색된 문서 chunk, rerank score, 최종 출처
- 에러, retry, fallback 여부
- 사용자 피드백: thumbs up/down, 수정 요청
10.2 평가 데이터셋 예시
{"id":"q001","question":"계약 해지 조건은?","expected_contains":["30일 전 서면 통지"],"source":"contract.pdf#p12"}
{"id":"q002","question":"S3 전송 비용 예외는?","expected_contains":["동일 리전"],"source":"aws-notes.md"}
{"id":"q003","question":"문서에 없는 내용을 물어볼 때","expected_contains":["확인되지 않음"],"source":null}
10.3 평가 종류
| 평가 | 목적 | 방법 |
|---|---|---|
| Retrieval Recall | 정답 근거를 검색했는지 | golden source가 top-k에 포함되는지 |
| Answer Correctness | 답변이 맞는지 | 규칙 기반 + LLM judge + 사람 검수 |
| Faithfulness | 근거에 없는 말을 만들지 않는지 | 출처 문장과 답변 비교 |
| Tool Safety | 위험한 도구 호출을 막는지 | 승인 필요 액션 테스트 |
| Cost/Latency | 운영 가능한 비용인지 | 토큰·캐시·응답 시간 추적 |
11. 보안·비용 관리
11.1 AI 개발 보안 체크리스트
.env, API 키, DB 비밀번호를 Git에 커밋하지 않는다.- AI 에이전트 작업 디렉터리를 프로젝트 폴더로 제한한다.
- 파일 삭제, 이메일 발송, 결제, 배포는 승인 후 실행한다.
- LLM 출력은 신뢰하지 않고 스키마 검증한다.
- RAG 원문에 포함된 prompt injection 문구를 별도 필터링한다.
- MCP 서버는 읽기/쓰기 권한을 분리한다.
- 개인정보와 고객 데이터는 마스킹 후 모델에 전달한다.
- 의존성 취약점 스캔을 CI에 포함한다.
- 모델·프롬프트·검색 파라미터 버전을 기록한다.
11.2 비용 절감 원칙
- 모델 라우팅: 모든 요청에 최고 성능 모델을 쓰지 않습니다.
- 프롬프트 캐싱: 긴 시스템 프롬프트와 고정 컨텍스트를 안정적으로 유지합니다.
- RAG 압축: 검색 문서를 그대로 다 넣지 말고 요약·중복 제거 후 투입합니다.
- 배치 처리: 실시간이 필요 없는 작업은 큐로 묶어 처리합니다.
- 로컬 모델: 단순 분류, 태깅, 초안 생성은 로컬 모델을 활용합니다.
11.3 금지해야 할 위험 패턴
절대 피해야 할 구성
프로덕션 DB 쓰기 권한을 가진 MCP를 승인 없이 에이전트에 연결,
프로덕션 DB 쓰기 권한을 가진 MCP를 승인 없이 에이전트에 연결,
sudo 가능한 쉘을 무제한 허용, 고객 데이터 전체를 외부 모델에 원문 전달, 테스트 없이 에이전트가 자동 배포하게 하는 구조.12. 프로젝트 템플릿
12.1 새 AI 프로젝트 생성 스크립트
#!/usr/bin/env bash
set -euo pipefail
PROJECT_NAME=${1:-ai-product}
mkdir -p "$PROJECT_NAME"/{apps/api,apps/web,packages/prompts,packages/evals,rag,infra,docs}
cd "$PROJECT_NAME"
git init
cat > .gitignore <<'EOF2'
.env
.env.*
!.env.example
node_modules
.venv
__pycache__
.DS_Store
dist
build
.cache
*.log
EOF2
cat > README.md <<'EOF2'
# AI Product
## 구성
- apps/web: Next.js
- apps/api: FastAPI
- rag: document ingestion/retrieval
- mcp: tool integrations
- infra: docker compose
## 원칙
- 모델 교체 가능
- RAG 출처 표시
- 도구 호출 감사 로그
- eval 기반 품질 관리
EOF2
echo "Created $PROJECT_NAME"
12.2 PRD 작성 템플릿
# AI 기능 PRD
## 1. 문제
사용자가 어떤 반복 업무/정보 탐색/의사결정에서 어려움을 겪는가?
## 2. 사용자
- 주요 사용자:
- 사용 빈도:
- 입력 데이터:
## 3. AI가 할 일
- 반드시 해야 하는 일:
- 하면 안 되는 일:
- 사용자 승인 필요 액션:
## 4. 데이터/RAG
- 문서 출처:
- 업데이트 주기:
- 출처 표시 방식:
## 5. 모델/도구
- 기본 모델:
- fallback 모델:
- 사용 도구/MCP:
## 6. 평가 기준
- 정답률:
- 환각 허용 기준:
- 응답 속도:
- 비용 한도:
## 7. 배포/운영
- 로그:
- 알림:
- 롤백:
- 보안:
12.3 에이전트 시스템 프롬프트 기본형
당신은 사용자의 AI 개발 보조 에이전트입니다.
우선순위:
1. 사용자의 목표 달성
2. 데이터와 시스템 보호
3. 검증 가능한 결과 생성
4. 최소 변경 원칙
작업 규칙:
- 모르는 것은 추측하지 말고 확인 질문 또는 검증 절차를 제안한다.
- 외부 시스템을 변경하는 작업은 실행 전 승인 요청한다.
- 코드 변경 후 테스트 명령을 실행하고 결과를 보고한다.
- 민감 정보는 출력하지 않는다.
- 답변에는 변경 파일, 이유, 검증 결과, 다음 단계를 포함한다.
13. 구축 로드맵
1일차: 기본 개발 환경
- Homebrew, Git, mise, Python uv, Node pnpm 설치
- VS Code/Cursor, Docker/OrbStack 설치
- ai-workspace 폴더 구조 생성
2일차: 모델·API 환경
- OpenAI/Anthropic API 키 설정
- Ollama 설치 및 로컬 모델 테스트
- FastAPI AI Gateway 초안 작성
3일차: RAG
- Qdrant/PostgreSQL/Redis Docker 구성
- PDF 파싱·청킹·임베딩 파이프라인 작성
- Hybrid 검색 + Rerank 실험
4일차: 앱 UI
- Next.js 채팅 UI
- 출처 표시 컴포넌트
- 모델 선택·모드 선택 UI
5일차: 에이전트·MCP
- Claude Code/Codex CLI 작업 규칙 설정
- 읽기 전용 MCP 서버 1개 구현
- 승인 필요한 액션 정책 정리
6일차: 평가·로그
- golden question 30개 작성
- retrieval recall, answer check 스크립트 작성
- trace/cost 로그 저장
7일차: 배포 준비
- 환경 변수 분리
- Docker compose 정리
- 보안 체크리스트 점검
- README/runbook 작성
14. 참고 자료
- OpenAI Agents SDK: https://developers.openai.com/api/docs/guides/agents
- OpenAI Agents SDK Tracing: https://openai.github.io/openai-agents-python/tracing/
- OpenAI Prompt Caching: https://developers.openai.com/api/docs/guides/prompt-caching
- Claude Code MCP: https://code.claude.com/docs/en/mcp
- Codex CLI: https://developers.openai.com/codex/cli
- Ollama: https://ollama.com/
- Qdrant Hybrid Search: https://qdrant.tech/documentation/search/hybrid-queries/
- Qdrant Reranking Hybrid Search: https://qdrant.tech/documentation/tutorials-basics/reranking-hybrid-search/
- LangGraph Overview: https://docs.langchain.com/oss/python/langgraph/overview
- LlamaIndex AgentWorkflow: https://www.llamaindex.ai/blog/introducing-agentworkflow-a-powerful-system-for-building-ai-agent-systems