AI 기반 애플리케이션 설계는 올바른 AI 접근을 선택하고, AI의 고유한 특성(비결정성, 비용, 지연시간, 오류)을 다루며, 본질적으로 불완전한 AI를 둘러싼 신뢰성을 설계하는 것을 포함합니다. 이는 소프트웨어 엔지니어링과 AI 특유의 고려사항을 결합합니다.
AI 접근 선택
→ PROMPT(LLM API) → 대부분의 LLM 작업에(가장 간단); 좋은 prompt가 멀리 감
→ RAG → 답변을 당신의/최신 DATA에 근거(환각 감소)
→ FINE-TUNING → prompt가 달성할 수 없는 특정 행동/스타일에
→ 전통적 ML → 데이터가 있는 구조화된 예측/분류에
→ 사전 구축된 서비스 → 비전, 음성 등(재발명하지 않음)
→ 접근을 문제에 맞춤(종종: LLM 앱에는 prompt + RAG)
AI의 특성을 둘러싼 설계
⚠️ AI는 불완전/비결정적 → 이를 고려해 설계:
✓ AI 출력 검증 → 맹신하지 않음; 구조화된 출력 + 검증; 가드레일
✓ 오류/실패 처리 → 폴백; AI가 틀리거나, 사용 불가하거나, 느릴 수 있음
✓ 환각 → 근거(RAG), 검증, 인용, 중요한 결정에는 사람 검토
✓ HUMAN-IN-THE-LOOP → 고위험 결정에(중요한 선택을 완전히 자동화하지 않음)
✓ 비결정성 → 가변성을 고려해 설계(동일한 출력을 가정하지 않음)
