1. 소개
일반 개발자의 눈으로 보면 이미 어딘가 익숙합니다. 새로운 유행어 — ChatGPT App이 있고, API도 있고, SDK도 있고, 약어 몇 개가 더 있습니다. 그래서 “AI 모델을 또 다른 방식으로 호출하는 방법”쯤으로 보이기도 합니다.
문제는, 명확한 큰 그림 없이 서로 아주 다른 개체들을 뒤섞기 시작한다는 점입니다. 오래된 ChatGPT 플러그인, Assistants API, Custom GPTs, 그리고 새로운 ChatGPT Apps 말이죠. 그 결과 어떤 사람은 저녁에 UI에서 Custom GPT처럼 “클릭 몇 번”으로 끝내길 기대하지만, 결국 MCP 서버를 띄우고 Next.js 위젯을 작성하며 Store를 고민해야 함을 알게 됩니다. 반대로, 어떤 사람은 복잡한 백엔드를 만들지만 실제로는 간단한 Custom GPT나 일반 API 래핑이면 충분할 때도 있습니다.
그래서 먼저, 새로운 ChatGPT App이 무엇인지(그리고 차근차근 정리해 두고), 무엇이 아닌지부터 시작하겠습니다.
LLM 통합의 ‘간단한’ 역사적 진화
정의부터 내리기 전에, 접근 방식의 진화를 보는 것이 유익합니다. 이렇게 하면 새로운 용어를 외우는 수준이 아니라, ChatGPT 내부의 App이라는 개념이 어디에서 나왔는지 이해하게 됩니다.
처음에는 고전적인 “API wrapper”가 있었습니다. 자신만의 웹 애플리케이션이나 봇을 띄우고, 어딘가 백엔드에서 OpenAI API를 호출했습니다. 프롬프트를 전달하고, 텍스트 응답을 받아 사용자에게 보여 주죠. 모든 로직, UI, 인증, 과금은 여러분 쪽 몫이었습니다. 이 경우 ChatGPT라는 제품은 전혀 개입하지 않습니다.
그다음으로 ChatGPT Plugins가 등장했습니다. 이는 외부 서비스를 ChatGPT 인터페이스 자체에 넣어 보려는 첫 시도였습니다. 플러그인은 OpenAPI로 서술되었고, ChatGPT는 그 엔드포인트들을 호출할 수 있었으며, 여러분은 모델이 사용자에게 텍스트로 풀어 말해 주는 JSON으로 응답했습니다. 플러그인은 자체 UI가 전혀 없었고 — 많아야 모델이 채팅에서 보여 줄 수 있는 Markdown 정도였습니다. 지금 이 시스템은 구식으로 간주됩니다.
이후 Custom GPTs(MyGPTs)가 나왔습니다. 이는 코드 없이 “나만의 ChatGPT 버전”을 만드는 도구입니다. 프롬프트를 설정하고, 파일을 연결하고, 때로는 Custom Actions로 HTTP API를 붙입니다. 모든 것이 ChatGPT 인터페이스 안에서 동작하지만, UI는 엄격히 표준화되어 있고 통합은 Actions 기능에 제한됩니다.
그리고 마침내 질적 도약 — 최신 ChatGPT Apps입니다. 이제는 풍부한 UI(채팅 내부의 위젯), 여러분의 데이터와 백엔드 로직과 소통하는 표준 프로토콜(MCP), 그리고 생태계 내의 별도 위치(Dev Mode, Store, 권한, 내장 결제 등)가 등장합니다.
이 강의를 쓰는 시점에 Google Play에는 4백만 개의 애플리케이션이, Apple AppStore에는 2백만 개가 있었고, ChatGPT에는 단 5개뿐이었습니다. 5백만이 아니라, 고작 5(!)개입니다. 그런데 ChatGPT는 주간 활성 사용자가 800백만 명입니다. top100 애플리케이션에 진입하고 몇 백만을 벌기가 이토록 쉬웠던 적은 없었습니다.
흥미가 생겼다면, 이제 본론으로 들어가 보겠습니다. 도대체 이 새로운 ChatGPT App은 무엇일까요?
2. ChatGPT App의 간단한 정의
인터넷에는 여러 마케팅식 설명이 있지만, 여기서는 모두 개발자이니 개발자 언어로 풀어보겠습니다.
ChatGPT App은 ChatGPT 내부에서 실행되는 웹 애플리케이션으로, 자체 UI 위젯을 가집니다. 애플리케이션은 ChatGPT에 도구(함수)와 데이터의 묶음을 제공하고, 앱 목록(App Store)에 등록됩니다. 대화형 인터페이스(채팅)와 그래픽 UI, 백엔드 로직을 결합하고, MCP 같은 표준화된 프로토콜을 통해 ChatGPT 플랫폼과 통신합니다.
이게 우리에게 주는 것은 다음과 같습니다.
첫째, “ChatGPT 인터페이스 내부에서 실행된다.” 사용자는 https://chatgpt.com/이나 모바일 앱을 벗어나지 않습니다. 여러분 앱의 UI는 위젯으로 해당 인터페이스에 삽입되며, 채팅 흐름 속에 바로 표시됩니다.
둘째, “자체 UI 위젯을 가진다.” 모델이 채팅에 출력하는 단순 텍스트가 아닙니다. 카드, 리스트, 폼, 지도, 플레이어 등 다양한 React 컴포넌트를 렌더링할 수 있습니다. 기술적으로는 일반적인 Next.js 애플리케이션이 샌드박스에서 동작하며, window.openai 와 Apps SDK를 통해 ChatGPT와 통신합니다.
셋째, “ChatGPT에 도구(함수)와 데이터를 제공한다.” 백엔드에 MCP 서버를 띄우고 그곳에 여러분 App의 MCP 도구를 등록합니다. 즉, 여러분 서비스가 수행할 수 있는 액션(카탈로그 검색, 예약, 데이터 분석, 보고서 생성 등)을 서술합니다. ChatGPT는 이를 JSON Schema가 있는 함수로 인식하고 필요에 따라 호출할 수 있습니다.
넷째, “앱 스토어에 등록된다.” App에는 이름, 아이콘, 설명, 카테고리, 권한, 버전, 수익화가 있습니다. “급조한 스크립트”가 아니라 ChatGPT 생태계의 정식 App입니다.
아주 중요한 사고 전환: 여러분은 모든 것을 스스로 결정하는 “봇”을 쓰는 것이 아닙니다. 여러분은 인터페이스와 가능성(UI + tools)을 정의하고, ChatGPT가 이를 언제 어떻게 대화에 엮을지 스스로 결정합니다. 전체 시나리오를 완전히 통제할 수는 없습니다.
이 접근법의 큰 장점 하나 — ChatGPT가 사용자에게 스스로 여러분 App 설치를 제안하고, 스스로 언제 실행할지 결정합니다. 즉, 앱 광고 비용은 $0입니다. 여러분 앱의 백만 설치 비용은 $0입니다. 적어도 여러분이 선점한다면요.
ChatGPT용 앱을 2025년에 출시한다는 건, 비트코인을 $1에 사는 것과 같습니다. 선택은 여러분의 몫입니다.
3. ChatGPT App의 해부: UI, 도구, 컨텍스트
더 헷갈리지 않도록, 이 강의 전반에 걸쳐 반복해서 등장할 App을 세 가지 큰 구성요소로 나눠 보겠습니다.
첫 번째 구성요소 — UI 레이어. 일반적으로 React/Next.js와 Apps SDK로 작성한 여러분의 위젯입니다. 이는 ChatGPT 내부에서 렌더링되며, 선물 목록, 예약 폼, 차트 등 다양한 시각 요소를 보여 줍니다. 이 위젯은 샌드박스에서 동작합니다. 전체 DOM을 건드릴 수 없고, 임의의 인터넷 접근도 어렵고, 제한된 창 범위에서만 실행됩니다.
두 번째 구성요소 — 도구, 리소스, 프롬프트. 프로토콜 수준에서 이는 서술된 capabilities를 가진 MCP 서버입니다. tools(행동), resources(데이터), prompts(템플릿)이 여기에 해당합니다. 도구는 JSON 스키마로 서술되고, 모델은 이를 적절할 때 호출할 수 있는 함수로 인식합니다. 다음 모듈에서 callTool 이 정확히 어떻게 일어나는지 자세히 살펴보겠지만, 지금은 “도구가 현실 세계에서 여러분 App의 손과 눈”이라는 점만 기억하세요.
세 번째 구성요소 — 사용 컨텍스트. 모델과 사용자에게 여러분 App을 설명하는 모든 것: 시스템 프롬프트, 도구 설명, 권한, 타깃 사용자, Store 카테고리 등입니다. 이러한 메타데이터에 따라 GPT가 언제 App을 제안할지, 어떤 요청을 관련 있다고 볼지, 어떤 행동이 허용되는지가 결정됩니다.
잠시 후 우리가 학습용 애플리케이션 GiftGenius를 다룰 때, 이 세 층을 실제로 보게 됩니다. 카드형 선물과 질의 마스터가 있는 UI 위젯, MCP/백엔드 측의 선물 추천 및 주문 처리 도구, 그리고 컨텍스트 — 시스템 지침, 설명, 권한, Store의 카테고리입니다.
4. ‘애플리케이션’ ChatGPT 비교
이제 App에 대한 전체적인 그림과 해부를 갖췄으니, 한 걸음 물러나 ‘친척들’과 비교해 봅시다. 이렇게 하면 머릿속에서 Apps, 플러그인, Assistants API, ‘그냥’ OpenAI API를 명확히 구분할 수 있습니다. 아래는 이 개체들을 분리해서 기억하는 데 도움이 되는 표입니다.
| 개체 | UI가 어디에 있는가 | 토큰 비용을 누가 내는가 | 주요 시나리오 | 2025년 상태 |
|---|---|---|---|---|
| ChatGPT App | ChatGPT 내부(위젯) | ChatGPT 사용자 | 복잡한 시나리오, GPT 내부의 SaaS, commerce | 핵심 포커스 |
| Legacy Plugins | ChatGPT 내부(텍스트) | ChatGPT 사용자 | 자체 UI 없는 단순 API 호출 | 구식 |
| Assistants API | 여러분의 웹사이트/제품 | 개발자인 여러분 | 외부 에이전트, 제품 내 AI 기능 | 유효하지만 별도 트랙 |
| OpenAI API | UI 없음, 오직 JSON | 개발자인 여러분 | 어떤 작업이든 모델에 대한 기본 접근 | 기본 레이어 |
| Custom GPTs | ChatGPT 내부(표준 채팅) | ChatGPT 사용자 | No‑code/low‑code 동작 설정 | 입문 레벨 |
공식 문서에서 명확히 강조하는 좋은 비유가 있습니다. Assistants API는 “GPT의 두뇌”를 여러분 제품에 내장하는 것이고, ChatGPT App은 반대로 여러분의 제품을 ChatGPT 인터페이스 안으로 가져오는 것입니다.
5. ChatGPT App이 ‘아닌’ 것들
이제 흔한 오해를 짚어 봅시다. 그래야 App을 다른 것으로 착각한 상태에서 설계하지 않게 됩니다.
ChatGPT App ≠ 단순한 Next.js 웹사이트
프런트엔드 개발자의 직관은 App을 “또 하나의 SPA”로 받아들이는 것입니다. 단, / 대신 “ChatGPT의 다소 낯선 창”에 올라간다는 점만 다르다고요. 부분적으로 맞지만, 결정적 차이가 있습니다. 여러분은 자신의 도메인에서 전체 UI를 통제하는 것이 아니라, ChatGPT 인터페이스에서 작은 영역을 임대해 쓰는 셈입니다. 전체 내비게이션을 갈아엎거나, 최상단에 배너를 덮어씌우거나, 환경을 ‘해킹’할 수 없습니다.
이 강의에서는 위젯을 완전한 사이트가 아닌, 격리된 컴포넌트로 바라봅니다. 네트워크, DOM, 리소스에 대한 강한 제약이 있고, 무거운 작업은 모두 backend/MCP로 보냅니다. 샌드박스에 대한 자세한 내용은 이 레벨의 마지막 강의에서 다루고, 여기서는 이것이 “또 하나의 Next.js 호스팅”이 아니라는 점만 기억하세요.
직관을 위한 코드 예시. 아래는 여러분의 Next.js 애플리케이션에서 OpenAI를 감싼 고전적인 “API 래퍼”입니다 — 이것은 ChatGPT App이 아닙니다:
// app/api/chat/route.ts — 당신 사이트의 일반적인 백엔드, App 아님
import OpenAI from "openai";
import { NextRequest, NextResponse } from "next/server";
const client = new OpenAI();
export async function POST(req: NextRequest) {
const { message } = await req.json();
const response = await client.responses.create({
model: "gpt-5.2",
input: [{ role: "user", content: [{ type: "text", text: message }] }],
});
return NextResponse.json({ reply: response.output[0].content[0].text });
}
이 애플리케이션의 사용자는 ChatGPT가 아니라 여러분의 백엔드와 대화합니다. 모든 UI와 세션 로직은 여러분의 몫입니다. 제품 내부 AI 기능에는 훌륭한 방식이지만, ChatGPT App은 아닙니다.
ChatGPT App ≠ 옛 ChatGPT Plugin
“플러그인”이라는 단어는 2023년의 박물관으로 보내고, 오래된 시스템을 가리킬 때만 사용합시다. 플러그인은 ChatGPT가 OpenAPI 스펙을 통해 여러분의 HTTP 엔드포인트를 호출하게 했지만, 풍부한 UI를 만들 수는 없었습니다. 많아야 모델이 채팅에서 보여 줄 Markdown을 반환하는 정도였습니다.
새로운 Apps는 플러그인과 달리 React 위젯을 렌더링할 수 있고, MCP로 동작하며, 권한을 갖고, 금융 시나리오에 참여합니다. 그래서 이를 “플러그인 2.0”으로 생각하는 것은 지나친 단순화이며, UI와 도구를 설계하기 시작하면 곧 한계를 마주치게 됩니다.
ChatGPT App ≠ Assistants API
Assistants API는 다른 문제를 해결합니다. 여러분의 제품(웹사이트, 모바일 앱, 내부 도구)에 GPT 기반의 똑똑한 어시스턴트를 붙이려는 경우죠. 모든 것이 “여러분 쪽”에서 돌아가고, UI를 여러분이 통제하며, GPT는 API로 통신하는 백엔드 서비스입니다.
반면 ChatGPT App에서는 모든 것이 정반대입니다. UI와 핵심 사용자 경험은 ChatGPT에 속하고, 여러분은 그 안에 ‘입주’합니다. 사용자는 여러분의 도메인을 보지 않고, ChatGPT 내부의 App 이름과 아이콘을 봅니다. 토큰 비용은 보통 사용자가 자신의 ChatGPT 구독을 통해 부담합니다.
요약하면, Assistants API는 여러분의 제품 안에 있는 GPT이고, ChatGPT App은 ChatGPT 안에 있는 여러분의 제품입니다.
ChatGPT App ≠ 그냥 Custom GPT
Custom GPTs는 빠른 시작에 훌륭한 도구입니다. 프롬프트를 모으고 파일 몇 개를 붙이면 곧바로 “개인 비서”가 생깁니다. 하지만 UI는 표준형이고 위젯이 없으며, Custom Actions를 통한 통합은 꽤 제한적입니다. 완전한 Apps SDK와 MCP 레벨이 없습니다.
ChatGPT App은 프로 코드의 영역입니다. 위젯(보통 Next.js)을 작성하고, MCP 서버를 띄우며, 인증, 권한, 결제를 설정합니다. 유연성은 훨씬 크지만, 보안, UX, 앱 등록 심사 등 책임도 더 큽니다.
제가 비즈니스 측에 권하는 실전 전략은 이렇습니다. Custom GPT를 빠른 마케팅 진입(간단한 도우미, GPT Store)으로 쓰고, 동시에 진지한 시나리오와 향후 수익화를 위해 Apps SDK로 풀 스케일 App을 개발하세요.
ChatGPT App ≠ ‘그냥 또 하나의 봇’
마지막으로 중요한 심리적 포인트. ChatGPT App은 “또 하나의 챗봇”이 아닙니다. 수명주기를 가진 제품입니다. Dev Mode, 심사, 버전, 제약, 분석, 결제 시나리오가 있습니다. 이를 “데모용 봇”으로 생각하면 실제 출시를 망치고, 여러분의 백만 달러를 놓치기 쉽습니다.
6. ChatGPT 앱의 유형들
무엇을 만들고 있는지 더 잘 이해하려면 ChatGPT Apps의 대략적인 분류가 유용합니다. 본 강의에서는 네 가지 주요 포커스를 다루고, 짧은 영어 레이블을 함께 씁니다: UI-heavy, tool-first, commerce-oriented, data/analytics.
- 첫 번째 유형 — UI‑heavy 또는 UI‑first 애플리케이션. 핵심 가치는 시각적 인터페이스입니다. 마법사, 구성 도구, 복잡한 폼, 캔버스 등. 예: 수십 개 파라미터로 보험을 추천하는 구성기, 디자인 구성기, 데이터 시각화.
- 두 번째 유형 — Tool‑first 애플리케이션. 핵심은 UI가 아니라 도구입니다. App이 모델에 강력한 함수 모음을 제공하고, 사용자 경험의 대부분은 ChatGPT가 텍스트 설명과 때때로 극소 UI로 구성합니다. 예: GPT에 회사 내부 지식 베이스 접근을 제공하는 App — 모델이 스스로 언제 어떻게 검색을 호출하고 결과를 사용자에게 설명할지 결정합니다.
- 세 번째 유형 — Commerce‑oriented 애플리케이션. 중심은 판매, 구독, 예약입니다. App은 Agentic Commerce Protocol(ACP)과 통합되어 구매를 처리하고, 장바구니 및 Instant Checkout을 다루고, 주문을 사용자와 연결합니다.
- 네 번째 유형 — Data/analytics 애플리케이션. 데이터 소스 연결과 분석에 초점을 둡니다. 보고서, BI 대시보드, 로그/메트릭 분석, 업로드 파일 처리 등.
같은 아이디어도 서로 다른 스타일로 구현할 수 있습니다. 예를 들어 선물 추천은 순수 Tool‑first(모델이 설명을 만들고 App은 아이디어 목록의 JSON만 반환)일 수도 있고, UI‑heavy(필터, 상품 카드, 비교가 있는 풍부한 위젯)일 수도 있습니다.
7. 우리의 학습 프로젝트: GiftGenius
강의 전반에 걸쳐 하나의 “관통” 애플리케이션에 연결해 두면 좋습니다. 그래서 과정을 진행하면서 우리만의 애플리케이션, GiftGenius — ChatGPT를 통한 선물 추천과 구매를 다루는 앱 — 을 작성하고 계속해서 참조하겠습니다.
분류 관점에서 GiftGenius는 무엇보다도 상업 지향(commerce‑oriented) App이며, UI‑heavy 요소를 갖습니다. 사용자가 ChatGPT에 “IT 친구에게 줄 선물이 필요해요, 예산은 50–70달러”처럼 말하면, 모델은 GiftGenius를 연결하기로 결정하고, App은 추가 질문 위젯과 추천 선물, 최종적으로 ACP를 통한 주문 처리까지 보여 줍니다.
TypeScript 관점으로 생각을 시작하기 위해, 앞으로 우리를 동반할 가장 단순한 도메인 모델을 스케치해 볼 수 있습니다.
// gift-types.ts — GiftGenius의 단순화된 도메인 모델
export type GiftIdea = {
id: string;
title: string;
priceUsd: number;
tags: string[]; // 수령인의 관심사
occasion: string; // 행사: birthday, wedding 등
};
지금은 어떤 SDK에도 묶이지 않은 단순 타입일 뿐입니다. 하지만 강의가 진행될수록 이러한 도메인 모델이 MCP 도구, UI 위젯, 심지어 커머스 레이어로 스며드는 모습을 보게 될 것입니다.
8. 대화 안에서 사용자가 ChatGPT App을 보는 방식
“사용자 플로우”는 세 번째 강의의 핵심 주제지만, UI가 왜 필요한지, App이 어떻게 대화에 등장하는지 큰 그림만이라도 먼저 그려 두는 것이 중요합니다.
사용자는 평소처럼 ChatGPT와 대화합니다. 메시지를 쓰고, 질문하고, 도움을 요청합니다. 그러면 ChatGPT는 매 발화마다 무엇을 할지 결정합니다. 스스로 답할지, 어떤 도구를 호출할지, 여러분 App의 위젯을 보여 주거나 업데이트할지, 컨텍스트에 맞으면 App 사용을 제안할지 등을요.
예를 들어 사용자가 “결혼기념일 선물이 필요해요, 예산은 100달러까지, 남편은 보드게임을 좋아해요”라고 쓴다면, 모델은 선물 추천에 능한 GiftGenius App이 있음을 봅니다. 그리고 두 가지 경로 중 하나를 택할 수 있습니다.
- 먼저 GiftGenius 사용을 제안합니다. “몇 가지 후보를 고르기 위해 App GiftGenius를 연결할 수 있어요. 실행할까요?” 같은 식으로요.
- 곧바로 App의 도구를 호출하고, 이미 채워진 필드와 함께 추천 목록을 보여 주는 위젯을 표시합니다.
이 모든 것은 여러분의 직접적인 if user_said_gift then call_app() 없이 일어납니다. 여러분은 App의 역량을 서술하고, 모델은 이를 활용하는 법을 학습합니다. 그래서 명확한 설명, 제약, 잘 설계된 UX가 그렇게 중요한 것입니다 — 그렇지 않으면 GPT가 여러분 App을 과도하게 사용하거나, 반대로 전혀 사용하지 않을 수 있습니다.
시각화를 위해 다이어그램으로 그려 보면 다음과 같습니다.
flowchart TD U[ChatGPT의 사용자] -->|메시지| G[GPT 모델] G -->|결정: App을 사용할까?| A[당신의 ChatGPT App] A -->|위젯| W[채팅 내 UI] A -->|툴/MCP| B[당신의 백엔드 / MCP] B --> A --> G --> U
GPT가 정확히 어떻게 App 호출을 결정하는지는 도구와 시스템 프롬프트 파트에서 자세히 이야기하겠지만, 지금부터 기억할 점은 이것이 협업이지, 명령형 제어가 아니라는 것입니다.
9. 미니 연습: 당신의 App 아이디어
내용이 추상적 이론으로만 남지 않게, 지금 바로 여러분만의 App 아이디어를 생각해 보세요. 이후 GiftGenius와 함께 머릿속에서 함께 발전시킬 것입니다.
ChatGPT 내부에서 여러분의 애플리케이션이 무엇을 하는지 한 문장으로 정리해 보세요. 예: “개발자들이 작업의 복잡도를 추정하고 하위 작업으로 쪼개도록 돕는 App” 또는 “날씨와 예산을 고려해 여행 경로를 추천하는 App”.
그리고 두 가지 질문에 솔직히 답해 보세요. 첫째, 우리의 분류 중 어느 유형에 가까운가? UI‑heavy, tool‑first, commerce‑oriented, data/analytics 중에서요. 둘째, 이것이 진짜 ChatGPT App인가요, 아니면 사실상 여러분 사이트의 봇이거나 또 하나의 Custom GPT에 불과한가요? 필요한 것이 백엔드에서 OpenAI API를 좀 더 편하게 호출하는 정도라면, 굳이 풀스케일 App이 필요 없을 수도 있습니다.
이런 미니 점검은 엉뚱한 제품을 몇 달 동안 개발하지 않게 해 주는 훌륭한 방법입니다.
10. ChatGPT App을 오해할 때의 흔한 실수
실수 №1: 뭐든 “플러그인”이라고 부르기.
플러그인 시스템은 2023년의 역사적 단계입니다. 새로운 세대의 통합은 Apps SDK + MCP 위의 Apps입니다. “플러그인”이라는 용어에 계속 집착하면 UI, 샌드박스, Store, 전반적인 제품 사이클의 역할을 과소평가하기 쉽습니다. 이 강의에서 “플러그인”은 과거 시스템만 가리키며, App은 항상 새로운 세대의 애플리케이션을 뜻합니다.
실수 №2: GPT를 완전히 통제할 수 있다고 기대하기.
때때로 개발자는 “내가 App을 쓰면 모델이 내가 시키는 대로만 딱딱 움직일 것”이라고 기대합니다. 그러나 ChatGPT 생태계는 다릅니다. 여러분은 자신의 역량과 의도를 서술하고, 모델은 언제 도구를 호출할지, 언제 위젯을 보여 줄지, 언제 텍스트로만 답할지를 스스로 결정합니다. 고전적인 SPA처럼 엄격한 시나리오로 App을 설계하려 들면, 실망만 큽니다.
실수 №3: ChatGPT App과 Assistants API를 혼동하기.
아주 흔한 상황입니다. “내 제품 안의 봇”을 원하면서 습관적으로 Apps SDK 쪽을 보는 경우죠. 사실 Assistants API를 쓰는 편이 훨씬 더 간단하고 논리적일 때가 많습니다. 그 결과 사용자는 필요로 하지도 않는 ChatGPT 위젯에 힘을 쏟게 됩니다. 구분은 간단합니다. 사용자가 여러분의 사이트나 앱으로 온다면 Assistants API를, ChatGPT 안으로 찾아가고 싶다면 ChatGPT App을 생각하세요.
실수 №4: 샌드박스를 무시하고 App을 “또 하나의 프런트엔드”로 여기는 것.
Apps SDK를 일반 Next.js 프런트엔드처럼 쓰고 샌드박스 제약(한정된 네트워크/DOM/리소스 접근)을 무시하면, “내 사이트에서처럼 동작하지 않는다”는 벽에 곧 부딪힙니다. 위젯은 격리된 컴포넌트이고, 무거운 통합과 시크릿 보관은 backend/MCP로 옮겨야 한다는 점을 미리 받아들이세요.
실수 №5: Custom GPT를 과대평가하고 Apps SDK를 과소평가(혹은 그 반대)하기.
Custom GPTs와 Apps는 “양자택일”이 아니라 서로 다른 성숙도 레벨입니다. 올바른 전략은 종종 둘 다 쓰는 것입니다. Custom GPT는 빠른 진입과 마케팅, App은 풍부한 UI와 커머스를 갖춘 진지한 제품으로요. Apps SDK 수준의 기능을 Custom GPT에서 기대하거나, 반대로 Custom GPT로 충분한 곳에 Apps SDK를 끌고 가면, 스스로만 더 힘들어질 뿐입니다.
GO TO FULL VERSION