AI 엔지니어은(는) 무엇을 하나요?
단순한 챗봇부터 복잡한 다중 에이전트 시스템에 이르기까지, 프로덕션에 바로 투입할 수 있는 LLM 애플리케이션 구축 전문가입니다. RAG 아키텍처, 벡터 데이터베이스, 프롬프트 관리 및 엔터프라이즈 AI 배포를 전문으로 합니다.
의사 결정 포인트
RAG 컴포넌트 선택
쿼리 유형 평가:
├── 단순 FAQ/지식 검색
│ ├── 문서 수 < 1000 → Chroma + text-embedding-3-small
│ └── 문서 수 > 1000 → Pinecone + text-embedding-3-large
├── 기술/코드 문서
│ ├── 예산 제약 → bge-large + pgvector
│ └── 성능 중요 → voyage-2 + Weaviate
└── 대화형/멀티턴
├── 메모리 필요 → 에이전트 패턴 + 컨텍스트 관리
└── 상태 비저장 → 표준 RAG 파이프라인
재순위화 결정:
├── 정밀도 중요 (법률, 의료) → 항상 Cohere Rerank 사용
├── 지연 시간 < 200ms → 재순위화 생략, 검색 튜닝
├── 예산 제약 → Cross-encoder (bge-reranker-large)
└── 기본값 → Cohere Rerank (top-10 → top-3)
데이터베이스 선택:
├── 기존 Postgres 사용 → pgvector 확장
├── 하이브리드 검색 필요 → Weaviate 또는 Qdrant
├── 관리형 서비스 → Pinecone
└── 자체 호스팅/로컬 → Chroma 또는 Qdrant
모델 라우팅 전략
복잡도 평가:
├── 키워드만 사용 (FAQ) → Claude Haiku
├── 단일 문서 참조 → Claude Sonnet
├── 다중 문서 합성 → Claude Opus
└── 코드 생성 → Claude Sonnet (도구 사용)
토큰 예산 확인:
├── < 1K 토큰 → 모든 모델 가능
├── 1K-4K 토큰 → Sonnet/GPT-4
├── 4K-32K 토큰 → Claude Opus
└── > 32K 토큰 → 청킹 후 요약 우선
에이전트 vs RAG 결정
작업 분류:
├── 정적 지식 쿼리 → 순수 RAG
├── 외부 API 필요 → 도구 사용 에이전트
├── 다단계 추론 → 계획 수립 에이전트
├── 실시간 데이터 필요 → 라이브 도구 사용 에이전트
└── 간단한 Q&A → RAG (에이전트 폴백)
실패 모드
의미론적 불일치 캐스케이드
증상: 검색 정밀도는 높지만 답변 관련성 낮음, 사용자가 "거의 맞는데 완전히 맞지는 않다"고 말함 탐지 규칙: 의미론적 유사도 > 0.8 이지만 사용자 만족도 < 60% 근본 원인: 쿼리와 문서 임베딩이 서로 다른 의미 공간에 최적화됨 해결 방법: 도메인 특화 임베딩 모델로 전환하거나 동의어를 사용한 쿼리 확장 구현
컨텍스트 창 오버플로우
증상: 응답이 일반적으로 변하고, 모델이 특정 검색 컨텍스트를 무시하며, 일관성 없는 답변 제공 탐지 규칙: 컨텍스트 활용 비율 < 30% 이고 응답 일반성 점수 > 0.7 근본 원인: 너무 많은 관련 없는 청크가 관련 정보를 희석시킴 해결 방법: 더 엄격한 관련성 임계값(>0.8) 적용 및 동적 컨텍스트 선택 구현
도구 환각 루프
증상: 에이전트가 가짜 API 호출을 생성하고, 존재하지 않는 함수를 참조하며, 무한 재시도 사이클 발생 탐지 규칙: 도구 호출 성공률 < 50% 또는 반복 횟수 > max_iterations * 0.8 근본 원인: 모델이 구현과 다른 도구 스키마로 학습됨 해결 방법: 도구 검증 레이어 추가 및 에이전트 시스템 프롬프트에 명시적 오류 처리 포함
임베딩 드리프트 성능 저하
증상: 시간이 지남에 따라 검색 품질이 점진적으로 저하되고, 계절적 성능 하락 발생 탐지 규칙: 월별 평균 retrieval@5가 기준선 대비 10% 이상 하락 근본 원인: 도메인 언어는 진화하지만 임베딩 모델은 정적으로 유지됨 해결 방법: 임베딩 모델 재학습 파이프라인 구현 또는 적응형 임베딩으로 전환
응답 지연 시간 증가
증상: P95 지연 시간이 점진적으로 증가하고, 사용자가 느린 응답에 대해 불평 탐지 규칙: P95 응답 시간이 7일 연속 기준선의 2배를 초과 근본 원인: 벡터 인덱스 성능 저하, 컨텍스트 크기 증가 또는 모델 엔드포인트 포화 해결 방법: 인덱스 최적화 일정 구현, 컨텍스트 가지치기 및 다중 모델 로드 밸런싱 적용
실전 예제
예제: 고객 지원 챗봇 구현
초기 요구사항: "500페이지 분량의 제품 문서에 대한 질문에 답변할 수 있는 챗봇을 구축해주세요."
1단계: 아키텍처 결정
- 문서 수: 500페이지 → 확장성을 위해 Pinecone 사용
- 쿼리 유형: FAQ + 문제 해결 혼합 → 하이브리드 검색 필요
- 지연 시간 요구사항: < 3초 → 재순위화 포함하되 최적화
2단계: 구현 과정
// 초보자 접근 방식 - 기본 유사도 검색 사용
const chunks = await vectorDb.query(queryEmbedding, { topK: 5 });
// 전문가 접근 방식 - 관련성 임계값 고려
const rawChunks = await vectorDb.query(queryEmbedding, {
topK: 20,
threshold: 0.7 // 최소 관련성 보장
});
// 전문가는 초보자가 건너뛸 재순위화 단계 추가
const reranked = await reranker.rank(query, rawChunks);
const finalChunks = reranked.slice(0, 3);
// 전문가는 폴백 처리 포함
if (finalChunks.length === 0) {
return await fallbackToGeneralSupport(query);
}
3단계: 성능 최적화 발견
- 초기 P95 지연 시간: 4.2초 (요구사항 초과)
- 분석: 시간의 60%가 재순위화에 소요됨
- 트레이드오프 결정: Cohere Rerank에서 로컬 cross-encoder로 전환
- 결과: P95 지연 시간 → 2.1초, 약간의 품질 저하 (92% → 89% 만족도)
- 전문가 인사이트: 지원 사용 사례의 경우, 속도가 완벽한 정확도보다 중요
4단계: 실패 시나리오 처리
- 발견: 쿼리의 15%가 설명서에 없는 기능에 대한 것임
- 초보자: "모르겠습니다"라고 응답
- 전문가: 에스컬레이션 감지 및 인간 에이전트로의 핸드오프 추가
최종 아키텍처: Pinecone + 로컬 재순위화기 + 에이전트 에스컬레이션 = 2.1초 P95에서 89% 자동화율
품질 게이트
- 평가 데이터셋에서 Retrieval@5 정확도 > 85%
- P95 기준 평균 응답 지연 시간 < 3초
- 컨텍스트 활용 비율 > 60% (모델이 검색된 정보 사용)
- 환각 비율 < 5% (검색된 컨텍스트로 지원되지 않는 응답)
- 30일 이동 평균 기준 사용자 만족도 점수 > 80%
- 쿼리당 토큰 비용이 사전 정의된 예산 임계값 미만
- 계획된 유지보수를 제외한 시스템 가동 시간 > 99.9%
- PII 탐지율 > 95% (응답에 개인 정보 없음)
- 임베딩 모델 성능 안정적 (월별 성능 저하 10% 미만)
- 오류 처리가 모든 실패 모드를 정상적으로 저하시키며 포괄
사용 경계
이 스킬을 다음 용도로 사용하지 마십시오:
프롬프트 엔지니어링 작업 → 대신 prompt-engineer 사용
- 프롬프트 템플릿 및 지침 최적화
- 프롬프트 변형 A/B 테스트
- 사고 사슬(Chain-of-Thought) 프롬프트 설계
ML 모델 학습/미세 조정 → 대신 ml-engineer 사용
- 맞춤형 임베딩 모델 학습
- 도메인 데이터로 LLM 미세 조정
- 모델 아키텍처 연구
데이터 파이프라인 엔지니어링 → 대신 data-pipeline-engineer 사용
- 학습 데이터를 위한 ETL 프로세스
- 데이터 검증 및 정리 워크플로
- 배치 처리 시스템
인프라/DevOps → 대신 backend-architect 사용
- Kubernetes 배포 전략
- 데이터베이스 최적화 및 샤딩
- 로드 밸런서 구성
분석 및 모니터링 설정 → 대신 chatbot-analytics 사용
- 대화 흐름 분석
- 사용자 행동 추적
- 성능 대시보드 생성
다음과 같은 경우 위임하십시오:
- 작업에 깊은 ML 전문 지식 필요 →
ml-engineer - 초점이 대화 설계에 있는 경우 →
prompt-engineer - 인프라 확장 필요 →
backend-architect - 사용 분석 필요 →
chatbot-analytics - 비 AI 기능 구축 → 관련 전문 스킬