LLM 대 전통적인 AI 모델 비교: 차이점 이해하기
요약
본 글은 전통적인 ML 파이프라인의 한계를 극복하고, LLM을 활용하여 지원 티켓 트리아지 에이전트를 구축하는 방법을 설명합니다. Oxlo.ai와 같은 플랫폼에서 OpenAI 호환 엔드포인트를 사용하여 시스템 프롬프트만으로 분류 및 구조화된 출력을 얻는 과정을 다룹니다.
핵심 포인트
- LLM은 레이블링, 피처 엔지니어링 없이도 구현 가능합니다.
- 시스템 프롬프트를 통해 엄격한 JSON 형식의 출력을 요청할 수 있습니다.
- 내부 컨텍스트 주입 시 별도의 검색/토큰화 과정이 필요 없습니다.
- 다양한 LLM(Llama 3.3, Qwen 3, Kimi K2.6 등)을 활용하여 특정 작업에 최적화합니다.
우리는 비정형 고객 메시지를 읽고, 의도를 분류하며, 첫 응답 초안을 작성하는 지원 티켓 트리아지 에이전트를 구축하고 있습니다. 전통적인 ML 파이프라인은 레이블링된 데이터셋, 피처 엔지니어링(feature engineering), 그리고 새로운 카테고리가 생길 때마다 재훈련이 필요할 것입니다. 우리는 이 모든 것을 건너뛰고 Oxlo.ai의 LLM을 사용하여 의미론적 이해와 구조화된 출력을 수행할 것입니다.
필요한 것들
- Python 3.10+
pip install openai- https://portal.oxlo.ai에서 얻은 Oxlo.ai API 키
1단계: 연결성 확인 (Verify connectivity)
저는 항상 스모크 테스트(smoke test)부터 시작합니다. Oxlo.ai는 OpenAI와 호환되는 엔드포인트를 노출하므로 SDK를 수정 없이 사용할 수 있습니다. 저는 Llama 3.3 70B를 사용하는데, 이것이 범용 플래그십 모델이며 Oxlo.ai에서 콜드 스타트(cold starts)가 없기 때문입니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.oxlo.ai/v1", api_key="YOUR_OXLO_API_KEY")
...
2단계: 시스템 프롬프트 정의 (Define the system prompt)
전통적인 분류기(classifier)는 고정된 어휘집과 원-핫 인코딩(one-hot encodings)이 필요합니다. 반면 LLM은 작업에 대한 자연어 설명만 있으면 됩니다. 이 프롬프트는 우리가 결과를 다운스트림에서 파싱할 수 있도록 엄격한 JSON을 요청합니다.
SYSTEM_PROMPT = """당신은 지원 트리아지 에이전트입니다. 사용자 메시지를 분석하고 다음을 포함하는 JSON 객체로 응답하세요:
- category: [technical, billing, refund, spam] 중 하나
- urgency: [low, medium, high, critical] 중 하나
...
3단계: 분류기 구축 (Build the classifier)
이제 이 프롬프트를 재사용 가능한 함수로 연결합니다. 저는 Qwen 3 32B를 사용하는데, 그 다국어 추론(multilingual reasoning) 및 에이전트 워크플로우 강점이 경직된 TF-IDF와 SVM 파이프라인이 할 수 있는 것보다 지저분하고 비공식적인 사용자 언어를 더 잘 처리하기 때문입니다.
import json
from openai import OpenAI
...
4단계: 내부 컨텍스트 주입 (Inject internal context)
4단계: 내부 컨텍스트 주입 (Inject internal context)
전통적인 모델의 경우 별도의 검색 단계, 토큰화 정렬(tokenization alignment), 그리고 피처 병합(feature merging)이 필요합니다. LLM을 사용하면 매뉴얼 스니펫(runbook snippet)을 프롬프트에 직접 붙여넣을 수 있습니다. 저는 131K 컨텍스트 창과 고급 추론 능력을 가진 Kimi K2.6으로 전환하여, 추가 인프라 없이도 문제 해결 노트를 포함할 수 있게 했습니다.
import json
from openai import OpenAI
...
Step 5: 추론을 통한 복잡한 에스컬레이션 처리 (Handle complex escalations with reasoning)
일부 티켓에는 단순 분류기(simple classifiers)를 혼란스럽게 하는 여러 중복 이슈가 포함되어 있습니다. DeepSeek V3.2는 코딩과 추론에 강점을 가지며, Oxlo.ai 무료 등급에서 사용할 수 있으므로, 사용자가 같은 스레드에서 청구 및 기술 문제를 모두 언급할 경우 보조 필터로 이를 사용합니다.
import json
from openai import OpenAI
...
실행 (Run it)
다음은 간단한 휴리스틱(heuristics)을 기반으로 티켓 배치를 적절한 모델을 통해 라우팅하는 전체 스크립트입니다. 실제 운영 환경에서는 이 휴리스틱을 LLM 자체의 신뢰도 점수(confidence scoring)로 대체할 수 있습니다.
import json
from openai import OpenAI
...
예시 출력:
Ticket: hey i was charged twice last month and now my dashboard is blank. fix this asap.
{
"category": "billing",
...
요약 (Wrap-up)
우리는 취약한 키워드 파이프라인을 컨텍스트를 기반으로 추론하고, 구조화된 JSON을 구문 분석하며, 답변 초안을 작성하는 LLM 에이전트로 교체했습니다. Oxlo.ai는 요청 기반 가격 책정(request-based pricing)을 사용하므로, Kimi K2.6의 131K 컨텍스트 창에 긴 매뉴얼 스니펫을 넣더라도 비용은 일정하게 유지됩니다. 이는 토큰 기반 제공업체보다 장문 컨텍스트 분류 작업에서 아키텍처를 훨씬 저렴하게 만듭니다.
다음 단계: JSON 출력을 웹훅(webhook)을 통해 CRM에 연결하거나, 에이전트가 답변하기 전에 청구 데이터베이스를 직접 쿼리할 수 있도록 도구 호출(tool-calling) 단계를 추가합니다. 두 패턴 모두 Oxlo.ai의 함수 호출 지원으로 즉시 작동합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기