AI VIDEO BRIEFING

프롬프트 엔지니어링 기초: LLM 앱 개발자가 알아야 할 컨텍스트·토큰·함수 호출

LLM 위에 애플리케이션을 올릴 때 실제로 필요한 기본 개념을 정리했다. 문서 완성 엔진이라는 성질과 채팅 역할 구조, 컨텍스트 설계와 토큰 한계, 함수 호출과 구조화된 출력, 모델 선택 기준까지 다룬다.

5분짜리 프롬프트 비법 말고, LLM 앱을 만들 때 실제로 필요한 개념들 영상 대표 이미지

핵심 메시지

  • LLM은 대화 상대가 아니라 문서 완성 엔진이며, 채팅처럼 보이는 화면도 결국 역할 태그가 붙은 하나의 문서를 이어 쓰는 과정이다.
  • 사용자가 직접 대화하지 않는 프로그램 안에서는 애플리케이션이 컨텍스트를 모아 프롬프트를 조립하고 응답을 파싱해야 한다.
  • 컨텍스트는 많을수록 좋은 게 아니라 수집 지연 시간, 접근 권한, 토큰 한계라는 세 가지 제약 안에서 걸러내고 요약해야 한다.
  • LLM은 프롬프트의 앞과 뒤에 더 무게를 두는 경향이 있어, 앞에 질문을 두고 중간에 컨텍스트를 넣은 뒤 끝에서 다시 질문으로 초점을 되돌리는 구성이 권장된다.
  • 응답을 코드로 다루려면 XML이나 JSON 같은 구조화된 형식으로 주고받되, 형식이 어긋난 응답에 대한 오류 처리를 반드시 설계해야 한다.

쉽게 이해하기

자바 교육 채널 마르코 코즈(Marco Codes)의 이 강의는 '5분 만에 프롬프트 엔지니어가 되어 고연봉을 받는 법' 같은 이야기를 하지 않는다. 대신 LLM 위에 실제 애플리케이션을 올릴 때 알아야 할 기초 개념을 다룬다. 예시는 쇼핑몰에 '책 추천' 버튼을 하나 두고, 사용자가 챗봇과 대화하지 않아도 프로그램이 알아서 추천을 받아오게 만드는 상황이다.

먼저 짚는 것은 제공자와 모델의 구분이다. OpenAI의 GPT, 앤트로픽의 클로드, 구글의 제미나이처럼 회사와 모델은 다른 층위이며, 강의 내용은 특정 제공자에 매이지 않는다. 그리고 더 중요한 전제로, LLM은 학습 때 본 문서를 흉내 내며 다음 토큰을 하나씩 예측해 문서를 완성하는 엔진이라는 점을 강조한다.

채팅처럼 보이는 인터페이스도 사실은 이 문서 완성 위에 올린 장치다. system·user·assistant라는 역할 태그로 감싼 텍스트가 하나의 문서로 합쳐지고, 모델은 assistant 부분을 이어 쓴다. 태그를 개발자가 직접 쓰지 않고 API의 역할 필드로 넘기는 이유도 여기서 나온다.

프로그램 안에서 추천을 만들려면 컨텍스트가 필요하다. 사용자가 최근에 읽거나 산 책, 직업, 여행 이력, 남긴 리뷰 등이 후보다. 다만 외부 사이트에서 가져오는 정보일수록 유용하지만 지연 시간이 길고 접근이 허용되지 않는 경우도 많다. 리뷰가 200건이라면 원문을 그대로 넣는 대신 모델에게 요약을 시켜 넣는 식으로 정리해야 한다.

분량의 한계는 토큰이다. 영어 기준으로 대략 네 글자가 한 토큰에 해당하고, 한계는 보내는 프롬프트와 받는 응답을 합쳐 계산된다. 강의는 웹의 토크나이저 화면 대신 실제 개발에서는 OpenAI의 tiktoken이나 허깅페이스의 토크나이저 라이브러리로 미리 토큰 수를 세라고 권한다.

최신 정보 부족은 함수 호출로 보완한다. '주가를 조회하는 함수가 있고 인자로 종목 기호를 받는다'는 설명을 텍스트로 넘기면, 모델은 답을 지어내는 대신 그 함수를 어떤 인자로 부르면 되는지 채워 돌려준다. 실제 호출과 결과 처리는 애플리케이션의 몫이며, 이 과정이 여러 번 오가는 반복 루프가 된다. 모델은 상태를 기억하지 않으므로 매 호출마다 이전 대화를 통째로 다시 보내야 한다.

주요 인사이트

  • 함수 설명도 결국 토큰을 소비하는 텍스트다. 컴파일되는 코드가 아니라 프롬프트에 실려 가는 문자열이므로, 함수 목록이 늘어날수록 컨텍스트 예산을 갉아먹는다.
  • 모델이 상태를 갖지 않는다는 사실은 비용 구조로 직결된다. 대화가 길어질수록 매 요청에서 다시 보내야 하는 이전 내용이 쌓이기 때문에, 상태 관리는 애플리케이션이 책임져야 한다.
  • 프롬프트 구성은 샌드위치 형태가 권장된다. 앞에 요청을 적고 중간에 컨텍스트를 넣은 뒤, 끝에서 다시 '그래서 무엇을 추천해 달라'로 초점을 되돌린다. 덜 중요한 내용을 가운데 두는 것도 같은 이유다.
  • 응답 형식은 자연어보다 구조화된 문서가 다루기 쉽다. 질문·배경·응답 형식을 담은 XML 조각을 일부러 미완성 상태로 보내고 모델이 나머지를 완성하게 하면, 결과를 파싱하기 쉬운 형태로 받아낼 수 있다.
  • 모델 선택은 성능·속도·비용·API 편의성·법적 고려의 절충이다. 강의 시점 기준으로 최신 모델은 출력 100만 토큰에 15달러 수준이었고 이전 세대인 GPT-3.5 터보는 1달러대여서, 하루 몇 건만 처리하는 서비스와 대량 요청을 받는 서비스의 선택이 달라질 수밖에 없다.

자주 묻는 질문

LLM이 '문서 완성 엔진'이라는 말은 무슨 뜻인가요?

질문을 이해하고 답한다기보다, 주어진 문서 뒤에 올 가능성이 높은 토큰을 한 번에 하나씩 이어 붙여 문서를 완성한다는 뜻입니다. 채팅 모델은 역할 태그가 붙은 대화 형식 문서를 완성하도록 학습돼 있어 질문에 답하는 것처럼 보입니다.

대화 내용을 매번 다시 보내야 하나요?

네. 모델 자체는 상태를 유지하지 않기 때문에, 여러 번 주고받는 흐름에서는 지금까지 사용자가 쓴 내용과 모델이 답한 내용을 API 호출 때마다 함께 보내야 합니다. 대화 상태 추적은 애플리케이션이 맡습니다.

응답을 프로그램에서 다루기 쉽게 받으려면 어떻게 하나요?

질문과 배경, 원하는 응답 형식을 담은 XML이나 JSON 문서를 만들어 마지막 태그를 열어둔 채 보내면 모델이 그 형식대로 이어서 채워 줍니다. 다만 태그 이름이 달라지거나 형식이 깨진 응답이 올 수 있으므로 오류 처리가 필요합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식