추론 모델 모범 사례

추론 모델 모범 사례 (Reasoning best practices)

OpenAI에는 크게 두 종류의 모델이 있는데, 추론 모델(예: o3, o4-mini)과 GPT 모델(예: GPT-4.1)이에요. 둘의 차이를 이해하고 상황에 맞게 골라 쓰는 게 성능의 절반 이상을 결정해요. 이 글에서는 추론 모델과 일반 GPT 모델이 어떻게 다른지, 언제 추론 모델을 써야 하는지, 그리고 추론 모델을 효과적으로 프롬프트하는 방법을 다뤄볼게요.

출처: 공식문서

추론 모델 vs. GPT 모델

GPT 모델과 비교하면 o-시리즈 모델은 다른 작업에 뛰어나고 다른 프롬프트를 요구해요. 한 모델 계열이 다른 것보다 '더 낫다'기보다는 그냥 다르다고 보는 게 맞아요.

o-시리즈 모델(이른바 "계획자(planner)")은 복잡한 작업에 대해 더 길고 깊이 있게 생각하도록 훈련됐어요. 그래서 전략 수립, 복잡한 문제에 대한 해결책 계획, 대량의 모호한 정보를 바탕으로 한 의사 결정에서 효과적이에요. 또한 높은 정확도와 정밀도로 작업을 수행해, 수학·과학·공학·금융 서비스·법률 서비스처럼 원래 인간 전문가가 필요한 분야에 이상적이에요.

반면 지연이 낮고 비용 효율적인 GPT 모델(이른바 "일꾼(workhorse)")은 단순 명료한 실행을 위해 설계됐어요. 애플리케이션은 o-시리즈 모델로 문제를 풀 전략을 계획하고, GPT 모델로 특정 작업을 실행하는 조합을 쓰는 경우가 많아요. 특히 속도와 비용이 완벽한 정확도보다 중요할 때요.

어떻게 고를까

내 유스케이스에서 가장 중요한 게 뭔가요?

  • 속도와 비용 → GPT 모델이 더 빠르고 보통 비용이 덜 들어요
  • 잘 정의된 작업 실행 → GPT 모델이 명시적으로 정의된 작업을 잘 처리해요
  • 정확성과 신뢰성 → o-시리즈 모델이 신뢰할 수 있는 의사 결정자예요
  • 복잡한 문제 해결 → o-시리즈 모델이 모호함과 복잡함을 헤쳐 나가요

작업을 끝내는 데 속도와 비용이 가장 중요하고, 유스케이스가 단순하고 잘 정의된 작업으로 이뤄져 있다면 GPT 모델이 최고의 선택이에요. 반면 정확성과 신뢰성이 가장 중요하고, 매우 복잡한 다단계 문제를 풀어야 한다면 o-시리즈가 맞을 가능성이 높아요.

대부분의 AI 워크플로는 두 모델을 함께 써요. o-시리즈는 에이전트형 계획과 의사 결정에, GPT 시리즈는 작업 실행에요.

예: GPT-4o와 GPT-4o mini 모델이 고객 정보로 주문 상세를 분류하고 주문 문제와 반품 정책을 파악한 뒤, o3-mini에 이 데이터를 넘겨 정책에 기반한 반품 가능성을 최종 판단하게 합니다.

언제 추론 모델을 써야 하나

고객들과 OpenAI 내부에서 관찰한 성공적인 사용 패턴 몇 가지를 소개할게요. 모든 유스케이스의 완전한 목록은 아니고, o-시리즈를 테스트해 보기 위한 실용적 안내예요.

1. 모호한 작업 탐색

추론 모델은 제한된 정보나 서로 다른 조각의 정보를 받고, 단순한 프롬프트로도 사용자 의도를 이해하고 지시의 공백을 처리하는 데 특히 뛰어나요. 실제로 추론 모델은 근거 없는 추측을 하거나 정보 공백을 메우기 전에 종종 명확화 질문을 던져요.

"o1의 추론 능력 덕분에 저희 다중 에이전트 플랫폼 Matrix는 복잡한 문서를 처리할 때 포괄적이고 잘 정리된 상세 응답을 만들 수 있게 됐습니다. 예를 들어 o1은 기본 프롬프트만으로 신용협약에서 제한된 지불 능력 하의 바스켓을 쉽게 식별했어요. 기존 모델 중 이만큼 성능이 나오는 건 없었죠. o1은 밀도 높은 신용협약의 복잡한 프롬프트 52%에서 다른 모델보다 강한 결과를 냈습니다." —Hebbia, 법률·금융 AI 지식 플랫폼

2. 건초 더미에서 바늘 찾기

대량의 비정형 정보를 넘길 때, 추론 모델은 질문에 답할 가장 관련성 높은 정보만 이해하고 끄집어내는 데 뛰어나요.

"회사 인수 분석을 위해 o1은 계약서·임대차 같은 수십 개 회사 문서를 검토해 거래에 영향을 줄 수 있는 까다로운 조건을 찾았어요. 이 모델은 핵심 조항을 표시하는 작업을 맡았고, 그 과정에서 각주에 있는 결정적인 'control 변경' 조항을 찾아냈죠. 회사가 매각되면 7,500만 달러 대출을 즉시 상환해야 하는 조항이었어요. o1의 극도의 세심함 덕분에 저희 AI 에이전트는 미션 크리티컬 정보를 식별해 금융 전문가를 지원할 수 있습니다." —Endex, AI 금융 인텔리전스 플랫폼

3. 대규모 데이터셋에서 관계와 뉘앙스 찾기

추론 모델은 수백 페이지에 달하는 밀도 높은 비정형 정보(법률 계약서, 재무제표, 보험 청구 같은)가 담긴 복잡한 문서를 추론하는 데 특히 뛰어나요. 문서 사이의 평행 관계를 끌어내고, 데이터에 담긴 암묵적 진실을 바탕으로 결정하는 데 강해요.

"세금 조사는 여러 문서를 종합해 최종적이고 일관된 답을 내는 작업이 필요해요. 저희는 GPT-4o를 o1로 교체했는데, o1은 어느 한 문서에만 드러나지 않는 논리적 결론에 도달하기 위해 문서 간 상호작용을 추론하는 데 훨씬 뛰어났어요. 그 결과 o1로 전환한 뒤 종단간 성능이 4배 개선됐죠. 정말 놀랍습니다." —Blue J, 세금 조사 AI 플랫폼

추론 모델은 또한 뉘앙스 있는 정책·규칙을 추론해 작업에 적용함으로써 합리적인 결론에 도달하는 데도 능숙해요.

"금융 분석에서 애널리스트는 주주 지분과 관련된 복잡한 시나리오를 자주 다루며 관련 법적 미묘함을 이해해야 해요. 저희는 다른 공급업체의 모델 약 10개를 까다롭지만 흔한 질문으로 테스트했는데, 바로 '펀드레이즈가 기존 주주에게 어떤 영향을 미치는가 — 특히 안티-딜루션 특권을 행사할 때'였어요. 이 문제는 pre/post-money 밸류에이션을 추론하고 순환하는 딜루션 루프를 다뤄야 하는데, 최고 금융 애널리스트도 20~30분 걸리는 일이었죠. o1과 o3-mini가 이걸 완벽하게 해냈습니다. 심지어 10만 달러 주주에 미치는 영향을 보여주는 명확한 계산표까지 만들어 냈어요." —BlueFlame AI, 투자관리 AI 플랫폼

4. 다단계 에이전트형 계획

추론 모델은 에이전트형 계획과 전략 개발에 핵심이에요. 추론 모델을 "계획자"로 쓰고, 문제에 대한 상세한 다단계 해결책을 만든 뒤 각 단계에 가장 적합한 GPT 모델("실행자")을 고르는 방식이 성공 사례로 확인됐어요. 높은 지능이 중요한지 낮은 지연이 중요한지에 따라 선택이 달라져요.

"저희는 에이전트 인프라에서 o1을 계획자로 쓰고, 워크플로의 다른 모델들을 오케스트레이션해 다단계 작업을 완료합니다. o1은 데이터 유형을 고르고 큰 질문을 작은 조각으로 쪼개는 데 정말 능숙해서, 다른 모델들이 실행에 집중할 수 있게 해줍니다." —Argon AI, 제약 산업 AI 지식 플랫폼

"o1은 업무용 AI 어시스턴트 Lindy의 많은 에이전트형 워크플로를 구동합니다. 이 모델은 함수 호출로 캘린더나 이메일 정보를 가져와 회의 일정 잡기, 이메일 보내기, 일상 업무 관리 등을 자동으로 도와줘요. 우리는 문제를 일으키던 모든 에이전트 단계를 o1로 전환했고, 에이전트가 거의 하룻밤 사이에 완벽해지는 걸 목격했어요!" —Lindy.AI, 업무용 AI 어시스턴트

5. 시각적 추론

현재 o1은 비전 기능을 지원하는 유일한 추론 모델이에요. GPT-4o와의 차이는 o1이 모호한 구조의 차트·표나 화질이 낮은 사진 같은 가장 까다로운 시각 자료도 파악할 수 있다는 점이에요.

"저희는 수백만 개 온라인 제품(럭셔리 주얼리 모조품, 멸종위기 종, 통제 물질 포함)의 위험·컴플라이언스 검토를 자동화합니다. 가장 어려운 이미지 분류 작업에서 GPT-4o는 50% 정확도에 도달했지만, o1은 파이프라인을 전혀 수정하지 않고 88%라는 인상적인 정확도를 달성했어요." —SafetyKit, AI 기반 위험·컴플라이언스 플랫폼

내부 테스트에서도 o1은 매우 상세한 건축 도면에서 설비와 자재를 식별해 포괄적인 자재 명세서(BOM)를 생성할 수 있었어요. 가장 놀라웠던 점 중 하나는 명시적 지시 없이도 건축 도면 한쪽의 범례를 가져와 다른 쪽에 올바르게 적용해 서로 다른 이미지 사이의 평행 관계를 끌어낸다는 거예요. 예를 들어 4x4 PT 목재 기둥에서 o1은 범례를 바탕으로 "PT"가 압력 처리(pressure treated)를 뜻함을 인식했습니다.

6. 코드 품질 검토·디버깅·개선

추론 모델은 대량의 코드를 검토하고 개선하는 데 특히 효과적이에요. 지연이 상대적으로 높아서 보통 백그라운드에서 코드 리뷰를 돌리는 경우가 많아요.

"저희는 GitHub·GitLab 같은 플랫폼에서 AI 코드 리뷰를 자동으로 제공합니다. 코드 리뷰는 본질적으로 지연에 민감하진 않지만, 여러 파일에 걸친 코드 diff를 이해해야 해요. 여기서 o1이 빛을 발합니다. 인간 리뷰어가 놓칠 수 있는 코드베이스의 미세한 변경을 안정적으로 감지하거든요. o-시리즈로 전환한 뒤 제품 전환율을 3배 높일 수 있었습니다." —CodeRabbit, AI 코드 리뷰 스타트업

GPT-4o와 GPT-4o mini가 낮은 지연으로 코드 작성에 더 적합할 수 있지만, o3-mini는 지연에 덜 민감한 유스케이스에서 코드 생산에 놀라운 결과를 보이기도 해요.

"o3-mini는 항상 고품질이고 결정적인 코드를 만들며, 문제가 잘 정의되면 아주 어려운 코딩 작업에서도 자주 올바른 해결책에 도달합니다. 다른 모델들이 소규모·빠른 코드 반복에만 유용할 수 있는 반면, o3-mini는 복잡한 소프트웨어 설계 시스템의 계획과 실행에 탁월합니다." —Windsurf, Codeium이 만든 협업 에이전트형 AI IDE

7. 다른 모델 응답의 평가·벤치마킹

추론 모델은 다른 모델 응답의 벤치마킹과 평가에서도 잘한다는 걸 확인했어요. 데이터 검증은 특히 헬스케어 같은 민감한 분야에서 데이터셋 품질과 신뢰성을 보장하는 데 중요해요. 전통적 검증은 사전 정의된 규칙·패턴을 쓰지만, o1·o3-mini 같은 고급 모델은 컨텍스트를 이해하고 데이터를 추론해 더 유연하고 지능적인 검증 접근이 가능해요.

"많은 고객이 Braintrust의 eval 과정의 일부로 LLM-as-a-judge를 사용합니다. 예를 들어 헬스케어 회사가 gpt-4o 같은 일꾼 모델로 환자 질문을 요약한 뒤 o1으로 요약 품질을 평가할 수 있어요. 한 Braintrust 고객은 judge의 F1 점수가 4o 기준 0.12에서 o1 기준 0.74로 오른 걸 봤어요! 이런 유스케이스에서 o1의 추론은 완성 간의 미세한 차이를 찾아내는 가장 어렵고 복잡한 채점 작업에 게임체인저가 됐다고 합니다." —Braintrust, AI evals 플랫폼

추론 모델을 효과적으로 프롬프트하기

이 모델들은 단순하고 직접적인 프롬프트에서 가장 잘 동작해요. "단계별로 생각해봐"처럼 지시하는 일부 프롬프트 엔지니어링 기법은 성능을 높이지 않고 오히려 방해할 수도 있어요. 아래 모범 사례를 참고하세요.

  • Developer 메시지가 새 system 메시지: o1-2024-12-17부터 추론 모델은 system 메시지 대신 developer 메시지를 지원해요. model spec에 설명된 명령 체계와 일치시키기 위해서예요.
  • 프롬프트를 단순하고 직접적으로: 이 모델들은 짧고 명확한 지시를 이해하고 응답하는 데 뛰어나요.
  • chain-of-thought 프롬프트 피하기: 이 모델들은 내부적으로 추론하므로 "단계별로 생각해봐"나 "추론 과정을 설명해줘" 같은 프롬프트는 불필요해요.
  • 구분자로 명확성 높이기: 마크다운, XML 태그, 섹션 제목 같은 구분자로 입력의 서로 다른 부분을 명확히 표시해 모델이 각 섹션을 적절히 해석하게 해요.
  • 제로샷 먼저, 필요하면 퓨샷: 추론 모델은 좋은 결과를 내기 위해 퓨샷 예시가 필요 없는 경우가 많아요. 먼저 예시 없이 프롬프트를 작성해 보세요. 원하는 출력에 더 복잡한 요구사항이 있다면, 입력·출력 예시를 몇 개 넣는 게 도움이 될 수 있어요. 단, 예시가 프롬프트 지시와 아주 밀접하게 일치해야 해요. 둘 사이의 불일치는 좋지 않은 결과를 낼 수 있으니까요.
  • 구체적인 가이드라인 제공: "500달러 예산 미만의 해결책을 제안해줘"처럼 모델 응답을 명시적으로 제약하고 싶은 방식이 있다면, 그 제약을 프롬프트에 명확히 적어요.
  • 최종 목표를 아주 구체적으로: 성공적인 응답에 대한 매우 구체적인 파라미터를 제공하고, 모델이 성공 기준을 충족할 때까지 추론·반복을 계속하도록 유도해요.
  • 마크다운 서식: o1-2024-12-17부터 API 추론 모델은 기본적으로 마크다운 서식의 응답 생성을 피해요. 응답에 마크다운 서식을 원한다면 developer 메시지 첫 줄에 Formatting re-enabled 문자열을 포함시켜요.

비용을 낮추고 정확도를 높이기

o3o4-mini 모델이 등장하면서 Responses API에서 지속(persisted) 추론 items 처리 방식이 달라졌어요. 이전에는(o1, o3-mini, o1-mini, o1-preview) 추론 items가 후속 API 요청의 입력에 포함되더라도 항상 무시됐어요. o3·o4-mini에서는 함수 호출에 인접한 일부 추론 items가 모델 컨텍스트에 포함되어, 최소한의 추론 토큰으로 모델 성능을 높여요.

이 변화를 최대한 활용하려면 Responses APIstore 파라미터 true로 쓰고, 이전 요청의 모든 추론 items를 넘기는 걸 권장해요(previous_response_id를 쓰거나, 이전 요청의 모든 output items를 가져와 새 요청의 input items로 넘기는 방식). OpenAI가 관련 추론 items를 모델 컨텍스트에 자동으로 포함하고, 무관한 것은 무시해요. 모델 컨텍스트에 들어갈 내용을 더 정밀하게 제어하고 싶은 고급 유스케이스라면, 적어도 가장 최근 함수 호출과 이전 사용자 메시지 사이의 모든 추론 items는 포함하길 권장해요. 이렇게 하면 함수 호출에 응답할 때 모델이 추론을 처음부터 다시 시작하지 않아도 되어, 함수 호출 성능이 좋아지고 전체 토큰 사용량이 줄어들어요.

Chat Completions API를 쓰면 추론 items는 결코 모델 컨텍스트에 포함되지 않아요. Chat Completions는 무상태(stateless) API이기 때문이에요. 이로 인해 함수 호출이 많은 복잡한 에이전트형 케이스에서 모델 성능이 약간 저하되고 추론 토큰 사용이 늘어날 수 있어요. 복잡한 다중 함수 호출이 없는 경우라면 어느 API를 쓰든 성능 저하는 없어야 해요.

기타 리소스

더 많은 아이디어는 예시 코드와 서드파티 리소스 링크가 담긴 OpenAI Cookbook에서 볼 수 있어요.

더 알아보기 (Learn more)