OpenAI Shell Tool, Python만 된다고요? 이 차이 먼저 보세요

Published on

in

OpenAI Shell Tool, Python만 된다고요? 이 차이 먼저 보세요

2026.02.10 출시 기준
Responses API 전용
GPT-5.4 기준

OpenAI Shell Tool, Python만 된다고요?
이 차이 먼저 보세요

Code Interpreter와 헷갈리는 경우가 많은데, 실제로 써보면 완전히 다른 도구입니다. 공식 문서와 실사용 데이터를 같이 놓고 보니 생각보다 큰 차이가 보였습니다.

6개
지원 언어
500만+
토큰 세션 처리
20분
비활성 후 컨테이너 만료

Code Interpreter와 뭐가 다른가요?

Python만 돌리는 것과 터미널 전체를 쓰는 것

Code Interpreter는 Python 실행에 특화된 도구입니다. 그런데 OpenAI Shell Tool은 다릅니다. 공식 문서에 딱 이렇게 나옵니다. “Compared to our existing code interpreter, which only executes Python, the shell tool enables a much wider range of use cases, like running Go or Java programs or starting a NodeJS server.” (출처: OpenAI 공식 블로그, 2026.02.11)

즉, Shell Tool은 Python을 포함한 6개 언어(Python 3.11, Node.js 22.16, Java 17.0, PHP 8.2, Ruby 3.1, Go 1.23)에 더해 grep, curl, awk 같은 Unix 유틸리티도 그대로 씁니다.

Chat Completions API에서는 작동하지 않습니다

이 부분이 가장 많이 놓치는 지점입니다. Shell Tool은 Responses API 전용입니다. Chat Completions API에서 호출하면 에러가 납니다. (출처: OpenAI Shell Tool 공식 문서, developers.openai.com/api/docs/guides/tools-shell) 기존에 Chat Completions API로 서비스를 운영 중이라면 마이그레이션 없이는 쓸 수 없습니다.

항목 Code Interpreter Shell Tool
지원 언어 Python 6개 언어 + Unix 전체
API 호환 Chat Completions, Responses Responses API 전용
서버 측 컴팩션 미지원 지원 (자동)
네트워크 접근 제한적 허용 목록 기반 가능
실행 주체 모델이 직접 실행 모델이 제안 → 환경이 실행

(출처: OpenAI 공식 문서 changelog 및 Shell Tool 가이드, developers.openai.com, 2026.02.10)

▲ 목차로 돌아가기

호스티드 컨테이너, 실제 스펙

OpenAI가 직접 운영하는 Debian 12 환경

container_auto를 설정하면 OpenAI가 Debian 12 기반 컨테이너를 자동으로 프로비저닝합니다. 직접 서버를 세팅하거나 도커 이미지를 관리할 필요 없이 API 요청 하나로 완성된 실행 환경이 생깁니다. 파일은 /mnt/data에 저장되고, 이후 단계에서 그대로 참조할 수 있습니다.

패키지 설치까지 됩니다 — 단, 허용 목록이 있어야

기본값은 네트워크 차단입니다. pip install이나 npm 패키지를 설치하려면 관리자가 대시보드에서 허용 도메인(예: pypi.org, github.com)을 먼저 등록해야 합니다. 허용 목록 없이 네트워크 요청을 시도하면 그냥 막힙니다. 이 부분을 모르고 쓰다가 “왜 pip가 안 되지?” 하는 경우가 나옵니다.

💡 공식 문서와 실제 사용 흐름을 같이 놓고 보니 이런 차이가 보였습니다

컨테이너는 비활성 상태 기준 20분 후 자동 삭제됩니다. 만료된 컨테이너는 재활성화가 불가능하고, 내부 데이터도 복구할 수 없습니다. (출처: OpenAI Shell Tool 공식 문서, developers.openai.com) 멀티스텝 장시간 작업이라면 container_reference로 같은 컨테이너를 이어 써야 하는데, 20분 규칙을 모르면 중간에 컨텍스트가 통째로 날아갑니다.

▲ 목차로 돌아가기

500만 토큰 세션을 버틴 이유

서버 측 컴팩션이 에이전트를 살립니다

장시간 에이전트 실행의 최대 적은 컨텍스트 한계입니다. 도구를 많이 호출할수록 대화 이력이 불어나고, 토큰 한도에 부딪히면 에이전트가 멈추거나 이전 맥락을 잃어버립니다. Shell Tool은 서버 측 컴팩션을 내장합니다. 컨텍스트가 임계값에 가까워지면 모델이 과거 행동을 압축된 상태로 요약해 핵심 맥락을 유지하면서 노이즈를 지웁니다.

Triple Whale이 직접 검증한 수치

이커머스 플랫폼 Triple Whale의 에이전트 Moby는 서버 측 컴팩션 덕분에 5백만 토큰, 150번의 도구 호출이 포함된 세션을 정확도 손실 없이 완료했습니다. (출처: VentureBeat, 2026.02.10, Triple Whale X 공식 게시물 인용) 단순 계산으로, GPT-5.4의 1M 토큰 컨텍스트 창이 5번 채워지는 분량입니다. 컴팩션이 없었다면 4번째 사이클에서 에이전트는 초반 맥락을 잃었을 것입니다.

💡 컴팩션에 대해 많은 글이 놓치고 있는 부분이 있습니다

2025년 12월에 먼저 출시된 클라이언트 측 컴팩션(/responses/compact 엔드포인트)은 개발자가 직접 호출해야 합니다. 반면 2026년 2월 Shell Tool과 함께 추가된 서버 측 컴팩션은 자동으로 작동합니다. 둘이 다른 기능이고, Shell Tool 사용 시 별도 설정 없이도 서버 측 컴팩션이 붙습니다. (출처: OpenAI Changelog, developers.openai.com, 2026.02.10)

▲ 목차로 돌아가기

Skills와 묶으면 생기는 일

스킬을 추가했더니 정확도가 먼저 떨어졌습니다

Skills는 SKILL.md 매니페스트와 지원 파일을 묶은 재사용 가능한 워크플로 번들입니다. 에이전트가 특정 작업을 수행할 때 해당 스킬을 로드해 절차를 따르는 방식입니다. 그런데 Glean이 실제 프로덕션에서 확인한 것은 예상과 달랐습니다. 스킬 기반 라우팅을 도입하자 처음에는 트리거 정확도가 약 20% 감소했습니다. (출처: OpenAI 공식 블로그, developers.openai.com/blog/skills-shell-tips/, 2026.02.11) 스킬 설명에 “이걸 쓰면 안 되는 경우”를 명시적으로 추가한 이후에야 회복되었습니다.

회복 이후 수치는 꽤 납득이 됩니다

Glean은 Salesforce 관련 스킬을 완성한 뒤 eval 정확도가 73%에서 85%로 상승하고, 첫 토큰까지의 응답 시간(TTFT)이 18.1% 감소했습니다. (출처: OpenAI 공식 블로그, developers.openai.com/blog/skills-shell-tips/, 2026.02.11) 이 두 수치가 같이 개선된 것이 핵심입니다. 시스템 프롬프트에 절차를 몰아넣던 방식보다, 필요할 때만 스킬을 로드하는 방식이 토큰을 덜 쓰면서 정확도도 높습니다.

💡 OpenAI와 Anthropic의 Skills가 같은 표준을 쓰는 이유

OpenAI와 Anthropic 모두 agentskills.io의 오픈 표준을 채택했습니다. SKILL.md 형식으로 작성된 스킬은 이론적으로 양쪽 플랫폼에서 모두 작동합니다. 오픈소스 에이전트 OpenClaw는 이 호환성을 활용해 Claude용으로 설계된 스킬을 GPT-5.x 환경에서 그대로 실행했습니다. (출처: VentureBeat, 2026.02.10) 벤더 고정 없이 스킬을 자산으로 관리할 수 있다는 얘기입니다.

▲ 목차로 돌아가기

쓰면 안 되는 조건이 있습니다

ZDR 모드에서는 Hosted Shell 자체가 차단됩니다

기업 환경에서 Zero Data Retention(ZDR)을 활성화한 경우, 호스티드 컨테이너는 사용이 불가합니다. ZDR은 데이터를 OpenAI 서버에 저장하지 않는 모드인데, 호스티드 쉘은 OpenAI 인프라 위에서 실행되기 때문에 구조적으로 충돌합니다. (출처: OpenAI Shell Tool 공식 문서, developers.openai.com) 이 경우 로컬 쉘 모드로 전환해야 합니다.

sudo는 안 되고, TTY 세션도 지원하지 않습니다

호스티드 쉘은 sudo 명령이 막혀 있습니다. 인터랙티브 TTY 세션도 지원하지 않아서 vim, top, ssh 같은 대화형 명령은 실행되지 않습니다. 비대화형 명령 중심으로 워크플로를 설계해야 합니다. (출처: OpenAI Shell Tool 공식 문서, developers.openai.com)

⚠️ 컨테이너 데이터 복구는 불가합니다

비활성 20분 후 컨테이너가 만료되면 /mnt/data의 모든 파일이 삭제됩니다. 만료 전에 파일을 반드시 수동으로 다운로드하거나 외부 스토리지에 저장해야 합니다. 재활성화 방법은 없습니다.

▲ 목차로 돌아가기

보안 함정: 네트워크 허용이 위험한 이유

도메인 허용 자체가 공격 경로가 됩니다

네트워크를 허용하면 컨테이너 내 에이전트가 외부 서비스를 호출할 수 있습니다. 문제는 외부에서 가져온 콘텐츠(웹 페이지, API 응답 등)가 숨겨진 지시문을 포함할 수 있다는 점입니다. 이를 프롬프트 인젝션이라고 하는데, OpenAI 공식 문서는 “Allowlisting domains introduces security risks such as prompt injection-driven data exfiltration”이라고 명시합니다. (출처: OpenAI Shell Tool 공식 문서, developers.openai.com)

Domain Secrets로 자격 증명을 숨기는 구조

보호된 API를 호출할 때 raw 자격 증명을 컨텍스트에 넣으면 모델이 이를 노출할 위험이 있습니다. Shell Tool의 domain_secrets 기능은 이 문제를 해결합니다. 모델에게는 $API_KEY 같은 플레이스홀더만 보이고, 실제 값은 외부 사이드카가 허용된 도메인에 요청할 때만 주입합니다. (출처: OpenAI Shell Tool 공식 문서, developers.openai.com) 자격 증명이 모델 컨텍스트에 평문으로 저장되지 않습니다.

Skills + 네트워크 조합은 고위험 경로입니다

OpenAI 공식 블로그는 “Combining skills with open network access creates a high-risk path for data exfiltration”이라고 직접 명시합니다. (출처: developers.openai.com/blog/skills-shell-tips/, 2026.02.11) 스킬과 네트워크를 동시에 사용할 때는 조직 허용 목록을 좁게 유지하고, 소비자 대면 서비스에는 열린 인터넷 + 강력한 스킬 조합을 피하는 것이 권장 자세입니다.

▲ 목차로 돌아가기

자주 나오는 질문 5가지

Q1. Shell Tool은 무료인가요?
+
Shell Tool 자체는 Responses API를 통해 사용하는 기능이라, API 사용량 기반으로 비용이 발생합니다. 호스티드 컨테이너 실행 시간과 토큰 소비가 청구 기준이 됩니다. 별도 도구 요금이 따로 부과되는 구조가 아니라 Responses API 호출 비용 안에 포함됩니다. OpenAI 공식 가격 페이지에서 GPT-5.4 기준 요금을 확인하세요. (출처: developers.openai.com/api/docs/pricing)
Q2. 로컬 쉘 모드와 호스티드 쉘의 차이는 무엇인가요?
+
로컬 쉘 모드는 모델이 shell_call을 제안하면 개발자가 자신의 환경에서 직접 실행하고 결과를 shell_call_output으로 반환하는 방식입니다. 실행 환경을 직접 제어하고 내부 툴링과 연동할 때 적합합니다. 호스티드 쉘은 OpenAI가 컨테이너를 관리하므로 인프라 부담이 없는 대신, ZDR 모드에서는 사용할 수 없습니다.
Q3. 컨테이너 만료 후 파일을 되살릴 방법이 있나요?
+
없습니다. OpenAI 공식 문서에 “When the container expires, OpenAI discards the container data and you cant recover it”이라고 명시되어 있습니다. 워크플로 설계 단계에서 중요한 결과물은 컨테이너 활성 중에 외부 저장소로 내보내는 단계를 반드시 포함해야 합니다.
Q4. Anthropic Claude의 Skills와 호환되나요?
+
이론상 호환됩니다. 두 회사 모두 agentskills.io의 오픈 표준(SKILL.md + YAML 프론트매터)을 채택했기 때문에, 한쪽에서 만든 스킬을 다른 쪽 환경으로 이식할 수 있습니다. 오픈소스 에이전트 OpenClaw가 이를 실제로 검증했습니다. 다만 각 플랫폼의 실행 환경 차이로 인해 일부 조정이 필요할 수 있습니다.
Q5. 모델이 직접 shell 명령을 실행하나요?
+
아닙니다. 중요한 구조적 차이입니다. 모델은 실행할 명령을 ‘제안’하고, 실제 실행은 환경(호스티드 컨테이너 또는 로컬 런타임)이 맡습니다. “It is important to understand that the model can only propose using a tool, not run it itself”라고 InfoQ가 정리했습니다. (출처: InfoQ, 2026.03 기준) 모델이 직접 시스템을 제어하는 구조가 아닌, 제안-실행-피드백 루프입니다.

▲ 목차로 돌아가기

마치며 — 총평

OpenAI Shell Tool은 단순히 Code Interpreter의 업그레이드가 아닙니다. 실행 언어가 6개로 늘었다는 것보다, 에이전트가 자신만의 컴퓨터를 갖게 됐다는 것이 핵심입니다. 터미널 환경, 파일 시스템, 네트워크 접근, 컴팩션까지 하나의 API 호출 안에 묶였습니다.

다만 쓰기 전에 확인해야 할 것들이 있습니다. Chat Completions API에서는 작동하지 않고, 컨테이너는 20분 만에 사라집니다. ZDR 환경이면 호스티드 쉘 자체가 막힙니다. 네트워크를 열었을 때의 보안 위험도 가볍지 않습니다.

솔직히 말하면, 지금 당장 프로덕션에 쓰기 좋은 도구라기보다는 설계 단계에서 보안과 데이터 관리 정책을 꼼꼼히 잡고 들어가야 하는 도구입니다. Triple Whale과 Glean의 수치는 가능성을 보여주지만, 그 수치 뒤에 있는 설계 작업도 같이 보고 따라가야 합니다.

▲ 목차로 돌아가기

📚 본 포스팅 참고 자료

  1. OpenAI Shell Tool 공식 문서 — developers.openai.com/api/docs/guides/tools-shell
  2. OpenAI Changelog (2026.02.10 Hosted Shell 출시) — developers.openai.com/api/docs/changelog/
  3. OpenAI 공식 블로그: Skills, Shell, Compaction 팁 — developers.openai.com/blog/skills-shell-tips/
  4. OpenAI 공식 발표문: 컴퓨터 환경 제공 — openai.com/ko-KR/index/equip-responses-api-computer-environment/
  5. VentureBeat: OpenAI Responses API 업그레이드 분석 (2026.02.10) — venturebeat.com
  6. InfoQ: OpenAI Responses API 에이전트 확장 (2026.03) — infoq.com

본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다. OpenAI Responses API 및 Shell Tool은 지속적으로 업데이트되고 있으며, 최신 정보는 공식 changelog에서 확인하시기 바랍니다. 본 포스팅의 수치와 기능 설명은 2026.02.10 출시 기준 / GPT-5.4 기준으로 작성되었습니다.

댓글 남기기


최신 글


아이테크 어른경제에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기