AI Without the Hype: A Working Engineer's Guide
실제 프로젝트에서 LLM과 ML 도구를 사용하는 방법을 다루는 현실적이고 실용적인 입문서입니다. 유행어나 마법 같은 생각 없이 말이죠.
온라인의 대부분의 AI 콘텐츠는 두 가지로 나뉩니다. 초지능에 대한 공포감이나, 챗봇이 화요일쯤이면 당신의 일자리를 대체할 것이라는 숨 가쁜 주장 중 하나입니다. 둘 다 실제로 무언가를 배포하는 데는 도움이 되지 않습니다. 이 가이드는 둘 다 건너뛰고 실제로 현세대 AI 도구를 실제 프로젝트에서 어떻게 사용하는지, 그리고 한계를 명확히 하는 방법을 설명합니다.
LLM이 실제로 하는 일
GPT-4나 Llama 3 같은 대규모 언어 모델은 거대한 양의 텍스트로 학습된 시퀀스의 다음 토큰을 예측합니다. 이게 전부입니다. 내부 팩트 체커도 없고, 세션 간 영구적인 메모리도 없으며(직접 만들지 않는 한), 사람이 이해하는 방식의 이해력도 없습니다. 질문을 하면, 모델은 당신의 프롬프트의 통계적으로 그럴듯한 연속을 생성하고 있을 뿐입니다.
이것이 실제로 중요한 이유는, 모델이 라이브러리가 가지지 않은 메서드를 호출하는 Python 함수를 자신감 있게 생성할 것이기 때문입니다. 왜냐하면 그 메서드가 그 라이브러리가 가질 법한 것처럼 들리기 때문입니다. 항상 코드를 실행하세요. 항상 API 레퍼런스를 확인하세요. 모델 출력을 빠르고, 많이 읽지만 가끔 모르고 거짓을 말하는 인턴의 초안으로 생각하세요.
실제 워크플로우: 코드용 LLM 사용
단순히 ChatGPT에 "앱을 만들어달라"고 하는 대신 작동하는 패턴은 다음과 같습니다:
- 타입과 엣지 케이스를 지정하여 함수 시그니처와 docstring을 직접 작성하세요.
- 모델에 정확한 사양에 맞춰 구현하도록 요청하세요.
- 테스트를 별도로 직접 작성하세요. 모델에 방금 작성한 코드의 테스트를 작성하도록 요청하지 마세요. 자명하게 통과하는 테스트를 작성하는 경향이 있습니다.
- 테스트를 실행하세요. 실패를 새로운 프롬프트로 피드백하세요. "작동하지 않습니다"라는 모호한 설명이 아니라요.
def parse_duration(text: str) -> int:
"""
Parse strings like '1h30m', '45s', '2d' into total seconds.
Raise ValueError on invalid input.
"""
모델에 이 정확한 계약을 제공하면 느슨한 설명보다 훨씬 나은 출력이 생성되고, 테스트할 구체적인 것이 생깁니다.
Retrieval-augmented generation, 단순하게 설명하자면
RAG는 유행어처럼 떠다니지만 메커니즘은 간단합니다. 모델이 학습 중에 암기한 것에 의존하는 대신, 쿼리 시점에 관련 문서를 가져와서 프롬프트에 넣습니다.
기본 설정:
- 문서를 청킹하세요(500-1000 토큰이 일반적인 시작점입니다).
text-embedding-3-small같은 모델이나bge-small-en같은 오픈 모델로 각 청크를 임베딩하세요.pgvector를 사용한 Postgres나 Qdrant 같은 전용 스토어에 벡터를 저장하세요.- 쿼리 시점에 사용자의 질문을 임베딩하고, 유사성 검색(코사인 거리가 표준)을 실행하며, 질문과 함께 상위 k개 청크를 프롬프트로 가져오세요.
SELECT content FROM docs
ORDER BY embedding <=> '[0.012, -0.045, ...]'
LIMIT 5;
이것이 학습 데이터 기한이 있는 챗봇이 지난주 내부 wiki에 대한 질문에 여전히 답할 수 있는 이유입니다. 당신의 회사에 대해 추론하지 않고 있습니다. 당신의 문서를 읽고 요약하고 있을 뿐입니다.
전통적인 ML이 여전히 승리하는 경우
모든 문제가 트랜스포머를 필요로 하는 것은 아닙니다. 계정 나이, 사용 빈도, 지원 티켓 같은 구조화된 표 형식 데이터에서 이탈을 예측하는 경우, XGBoost나 LightGBM 같은 그래디언트 부스팅 트리 모델은 보통 LLM 기반 접근법을 능가하며, 몇 시간 대신 분 단위로 학습하고, 실행 비용은 일부입니다. API 호출에 도달하기 전에 scikit-learn의 RandomForestClassifier나 XGBoost에 도달하세요. 특히 데이터가 스프레드시트에 맞고 타겟 변수가 깔끔한 숫자나 카테고리일 때 말입니다.
비용과 지연 시간은 사후생각이 아닌 디자인 제약 조건입니다
GPT-4급 호출은 토큰당 실제 돈이 들고, 반환되는 데 실제 초가 걸립니다. 모든 사용자에 대해 모든 페이지 로드에서 실행되는 기능을 구축하는 경우, 이는 빠르게 합산되고 지연 시간이 눈에 띌 것입니다. 공격적으로 캐시하고, 최고 수준의 추론이 필요하지 않은 경우 GPT-4o-mini나 로컬 Llama 3 8B 같은 더 작은 모델을 사용하며, 품질이 실제로 중요한 파이프라인 부분을 위해 비싼 모델 호출을 예약하세요.
아무도 경고하지 않는 실패 모드
모델은 학습 분포에서 약간 벗어난 것을 요청할 때 더 적게가 아니라 더 많이 환각합니다. 모호한 라이브러리 버전, 내부 회사 용어, 최근 CVE 번호. 답이 정확해야 한다면(보안 공지, 법률 인용, 의료 용량), 생성만 신뢰하지 마세요. 매번 주요 출처에 대해 확인하고, 사실 후에 인간 검토에 맡기는 대신 파이프라인에 그 검증 단계를 구축하세요.
AI 도구는 생각할 것으로 기대하기를 멈추고 검사해야 하는 빠른 패턴 매처로 취급하기 시작하면 진정으로 유용합니다. 첫날부터 검증 단계를 구축하면 자신감 있는 넌센스의 흐름 대신 실제 가치를 얻을 수 있습니다.
더 나아가고 싶다면 Korra Studio의 Python과 Data Science 트랙을 확인하여 이러한 도구를 실제로 생산성 있게 사용하기 위한 기본 사항을 확인하세요.
AI 도움을 받아 작성했으며, Michal Pilch(CISSP), Korra Studio에서 검토 및 게시했어요.
이것은 Korra Studio 나레지베이스의 한 노트예요. 플랫폼은 모든 주제를 1-to-1 멘토링과 함께 제공해요.
무료로 시작하기arrow_forward