"우리도 AI 도입해 보자"는 과제를 받은 기획자(1)

api 문서부터 봅시다

by 피넛

요즘도 기획자들이 회사에서 자주 듣는 말이 있다.
“우리도 AI 서비스 한번 해보자!”, “AI 뭐시기를 붙여보자!”


챗GPT가 일상화되고, 국가 차원에서도 AI의 중요성을 강조하다 보니 이제는 일종의 시대적 과제가 되어버린 AI 활용. 하지만 막상 이런 미션을 받은 기획자 입장에서는 어디서부터 손을 대야 할지 막막한 게 사실이다.


현실적인 첫걸음은 이미 상용화되어 있고 안정적인 OpenAI 같은 서비스를 가져다 쓰는 것이다. 직접 대규모 언어 모델을 개발할 수 있는 회사는 드물기 때문에, 대부분은 챗GPT API를 연동해서 'AI 서비스 도입'을 시작하게 된다.


이 글은 바로 그 막막한 순간을 위한 기록!
‘AI 도입 과제’를 받은 기획자가 OpenAI API 연동 규격서를 직접 읽어보고 정리해 보는 과정을 담아보려고 했다.


“도대체 뭐부터 봐야 하지?” 하고 잘 모르겠다면 일단 있는 문서부터 찾아보는 것이 인지상정!

Open AI의 모든 API를 다 보지는 못했고, 기본적이라고 생각되는 것들만 정리해 봤다. 비용은 고려하지 않고 작성했다. (기회가 된다면 따로 정리해 보겠다..) 이 글은 8월 말~ 9월 초의 Open AI API문서를 보고 작성했다. API가 옛날 버전일 수 있으니 확인할 것. 틀린 내용이 있을 수도 있으니 혹시 이상한 부분이 있다면 댓글을 달아주길 바란다.(나도 독학한 것이다..)





챗gpt연동글인데 이미지는 gemini로 생성해봤다



실제 서비스를 만든다고 가정하면 좋을 것 같아서 "온라인 쇼핑몰 고객센터 상담 봇"을 만든다고 가정해 보았다. 상담 서비스는 텍스트 기반으로 질문 -> 답변을 하는 기본적인 서비스 예시가 될 수 있을 듯해서 골라봤다.


Response API

가장 먼저 알아야 할 API이다. 사실 이 API만 잘 알면 거의 끝이라고 봐도 된다(아님).

Response API는 이름에서부터 눈치챘겠지만 사용자의 입력을 받아서 모델이 답변을 생성해 주는 녀석이다.

멀티턴 대화도 가능하고, 펑션 콜링, 도구를 연결해서 파일이나 MCP 연동까지 여기서 해준다고 보면 되는데.. 각각의 개념들은 나중에 조금씩 더 정리해 보겠다. 지금은 이 API가 짱이다! 만 알고 넘어가자.


먼저, 사용자가 "제가 주문한 상품, 언제 배송와요?"라고 문의했다고 하자.

모델은 사용자가 입력한 텍스트만 가지고 답변을 하기 때문에 실제 데이터인 주문일자, 배송상태 같은 정보를 모르면 답변을 할 수 없다. 따라서, 아무런 배경지식을 주지 않으면, “고객님, 주문은 보통 2~3일 내 배송되며, 어제 주문하셨다면 내일 모레 도착할 예정입니다.”와 같이 범용적인 대답밖에 할 수 없다. 고객이 주문한 상품에 대한 배송 안내가 아니라 어떤 배송 주문에도 답변할 수 있는 내용이다. 만족하는가? 아니다. (대부분의 챗봇들이 이런 식으로 동작해서 고객님을 더 화나게 하기도 한다)

게다가 답변하는 스타일도 매번 달라질 수 있다. 언제는 존댓말을 했다가, 반말을 했다가, 단순 안내만 했다가, 스몰톡을 했다가.. 중구난방으로 답변하기도 한다. 만족하는가? 그렇지 않다. 우리는 안정적으로 내가 정한 범위 내에서 사람처럼 훌륭한 답변이 나오길 바란다.


그래서 여기서 알아야 할 개념이 총 3가지가 있다.

1. 시스템 프롬프트(system prompt)

2. 파일 서치(file search, RAG라고도 한다)

3. 펑션 콜링(function calling)


하나씩 살펴보자.


1. 시스템 프롬프트(system prompt)

시스템 프롬프트는 모델에게 역할과 행동 규칙을 지정하는 프롬프트다. 너 쪼대로 대답하지 말고 내가 정한 범위 내에서 답변하라고 통제하는 과정이다.

사용자가 "제가 주문한 상품, 언제 배송와요?"라고 문의했을 때 어떠한 톤 앤 매너와 정책을 갖고 답변할 것인지 지정하는 것인데,

이런 식으로 프롬프트를 넣을 수 있다.

당신은 고객센터 상담원입니다.
- 항상 공손하고 간결하게 답변하세요.
- 사용자가 주문/배송 관련 질문을 하면 정책/FAQ 문서에 기반하여 정확히 안내하세요.
- 모르는 내용은 추측하지 말고 "정확한 확인이 필요합니다"라고 안내하세요.
- 민감 정보나 환불/계정 관련 질문은 필요시 상담원에게 연결하세요.

초창기 AI가 도입될 당시 여러 가지 프롬프팅 기법이 나왔는데, 지금이 바로 그 프롬프팅 기량을 발휘할 때다! 요즘엔 누구나 AI를 사용해서 조금 더 검색처럼 이용하지만, 우리 기획자들은 조금 더 구체적인 답변, 원하는 답변이 나오도록 세팅이 필요하고, 프롬프트 연구를 할 필요가 있는 것이다. 물론, 이 프롬프트도 AI에게 시켜서 짜달라고 해도 된다. 여러 가지 테스트를 해보며 최상의 결과가 나오는 프롬프트를 세팅해 보자.



2. 파일 서치(file search)

RAG(Retrieval Augmented Generation)라고도 한다. 보통은 파일서치라고 하기보다 RAG라는 용어를 더 많이 쓰는 것 같다.

모델이 모르는 정보를 추측하지 않고 외부(=우리) 문서를 검색해서, 답변에 반영하게 하는 것이다.

내부적으로 FAQ, 배송규정, 매뉴얼 등이 있다면 이러한 문서를 참조하게 하는 것이다. 내부 문서가 잘 정리되어 있어야 한다.



3. 펑션 콜링(function calling)

RAG가 정적인 데이터를 활용하는 것이라면, 펑션 콜링은 실시간 데이터를 활용하는 것이다.

상품의 재고, 주문 내역, 배송 조회 같은 실시간으로 변경되는 정보에 접근하게 해서 답변을 주는 것이다.



이 세 가지 개념을 조합해서 다음과 같은 흐름으로 답변한다는 것을 정리할 수 있다.

사용자 질문 → 시스템 프롬프트 적용 → RAG(File Search)로 문서 근거 확인 → Function Calling으로 실시간 데이터 조회 → 최종 답변 생성 → 사용자에게 전달


여기서 기획자가 할 일들은 다음과 같다.

- 사용자 시나리오를 설계한다. 사용자가 어떤 질문을 할지 어떻게 대답할지 정리해 보는 것이다.

- 시스템 프롬프트를 기획한다. 어떻게 답변할 것인지에 대한 정책이 나와야 한다.

- RAG가 참조할 FAQ, 정책서 등의 문서를 준비하고 최신화한다.

- 모델이 조회할 내부 상품, 재고, 배송 등의 API들을 정리하고 개발팀과 논의를 한다.



조금 더 구체적으로 시나리오 설계하는 방법이나, 멀티턴, 보안, 품질, 실패 케이스 관련된 내용도 정리를 해야 하는데... 조금 졸리다.

오늘은 여기까지만 하겠다.


매거진의 이전글노션? 마일스톤? 릴리즈? 꿈꿨니?