코드 실행

금융 계산 및 데이터 과학 워크플로와 같은 많은 에이전트 작업에서는 에이전트가 코드를 생성하고 실행해야 합니다. 코드 실행을 사용하면 에이전트가 안전하고 격리된 관리형 샌드박스 환경에서 코드를 실행할 수 있습니다.

코드 실행의 기능은 다음과 같습니다.

  • 샌드박스를 만들고 1초 이내에 코드를 실행할 수 있습니다.

  • 샌드박스는 전체 요청 또는 응답에 대해 최대 100MB의 파일 입출력을 지원합니다.

  • 샌드박스는 최대 14일 동안 실행 상태(메모리)를 유지합니다. 이 TTL (수명) 설정은 구성할 수 있습니다.

코드 실행을 사용하기 위해 Agent Platform에 에이전트를 배포할 필요는 없습니다. 에이전트는 로컬을 포함한 모든 위치에서 실행될 수 있습니다.

코드 실행은 모든 에이전트 프레임워크 및 모든 생성 모델과 호환됩니다.

코드 실행 샌드박스를 사용하는 주요 작업은 다음과 같습니다.

  • 샌드박스 만들기: 신뢰할 수 없거나 잠재적으로 유해한 코드를 실행할 수 있는 안전하고 격리된 공간을 만듭니다. 이 격리를 통해 코드가 시스템의 리소스, 파일 또는 네트워크에 영향을 미치지 못하도록 하여 보안 위험을 줄입니다. 샌드박스는 데이터 과학 에이전트, 조정 스크립트 또는 개발 테스트와 같이 코드를 안전하게 실행해야 할 때 중요합니다. 샌드박스는 제한된 파일 시스템을 제공하며 네트워크 액세스 권한이 없습니다.

  • 샌드박스 가져오기: 특정 코드 실행 샌드박스의 구성 및 상태를 표시합니다. 현재 상태 (예: 실행 중 또는 중지됨) 및 TTL (수명)과 같은 세부정보를 확인할 수 있습니다. 이를 통해 코드를 실행하기 전이나 후에 샌드박스를 추적하고 상태를 확인할 수 있습니다.

  • 샌드박스 나열: 프로젝트의 모든 코드 실행 샌드박스를 나열합니다. 샌드박스 상태 또는 유형과 같은 기준에 따라 결과를 필터링할 수 있습니다. 이를 통해 프로젝트에서 여러 샌드박스를 확인, 모니터링, 관리할 수 있습니다.

  • 코드 실행: 안전한 실행을 위해 필요한 입력 파일과 함께 코드를 샌드박스로 보냅니다. 대답에는 표준 출력(stdout), 표준 오류(stderr), 코드가 생성하는 파일 등 결과가 포함됩니다. 샌드박스는 상태를 유지할 수도 있으므로 후속 Execute Code 호출이 이전 호출을 기반으로 빌드할 수 있습니다. 이는 환경에서 여러 코드 실행에 걸쳐 상태를 유지해야 하는 대화형 세션 또는 복잡한 작업에 매우 중요합니다.

지원되는 라이브러리

코드 실행 샌드박스에는 사용 사례별로 분류된 다음 라이브러리가 포함됩니다. 샌드박스 환경에서는 자체 라이브러리를 설치할 수 없습니다.

데이터 과학 및 머신러닝

이 섹션에는 데이터 분석, 조작, 머신러닝, 수치 계산에 필수적인 라이브러리가 포함되어 있습니다.

핵심 데이터 처리 및 수치

  • numpy (2.1.3): Python의 수치 계산을 위한 기본 패키지로, 대규모 다차원 배열 및 행렬을 지원하고 이러한 배열에서 작동하는 대규모 고급 수학 함수 모음을 제공합니다.
  • pandas (2.2.3): 강력한 데이터 분석 및 조작 라이브러리로, 구조화된 데이터를 처리하기 위한 DataFrame 및 Series와 같은 데이터 구조를 제공합니다.
  • scipy (1.15.2): 수학, 과학, 엔지니어링을 위한 오픈소스 소프트웨어 생태계입니다. NumPy를 기반으로 하며 사용자 친화적이고 효율적인 수치 루틴을 다수 제공합니다.
  • pyarrow (18.1.0): 인메모리 데이터를 위한 교차 언어 개발 플랫폼입니다. 특히 효율적인 데이터 처리 및 시스템 간 상호 운용성에 유용합니다.
  • numexpr (2.14.1): NumPy의 빠른 수치 표현식 평가기로, 배열 작업을 최적화합니다.
  • narwhals (2.19.0): 여러 DataFrame 라이브러리 (예: pandas 및 Polars)에서 작동하는 코드를 작성하는 방법을 제공합니다.

머신러닝 프레임워크

  • scikit-learn (1.6.1): NumPy, SciPy, matplotlib을 기반으로 구축된 데이터 마이닝 및 데이터 분석을 위한 간단하고 효율적인 도구입니다.
  • tensorflow (2.20.0): 머신러닝을 위한 엔드 투 엔드 오픈소스 플랫폼입니다.
  • keras (3.14.0): Python으로 작성되었으며 TensorFlow, CNTK 또는 Theano를 기반으로 실행할 수 있는 고급 신경망 API입니다.
  • xgboost (3.2.0): 매우 효율적이고 유연하며 이동성이 뛰어나도록 설계된 최적화된 분산 그래디언트 부스팅 라이브러리입니다.
  • thinc (8.3.13): 모델 구성을 위한 우아하고 유형이 검사된 함수형 프로그래밍 API를 제공하는 경량 딥 러닝 라이브러리입니다.

자연어 처리 (NLP)

  • nltk (3.9.1): 인간 언어 데이터로 작업하는 Python 프로그램을 빌드하기 위한 선도적인 플랫폼입니다.
  • spacy (3.8.14): Python 및 Cython의 고급 자연어 처리를 위한 라이브러리입니다.
  • spacy-legacy (3.0.12): spaCy의 기존 구성요소입니다.
  • spacy-loggers (1.0.5): spaCy 프로젝트의 로깅 유틸리티입니다.
  • textblob (0.19.0): 일반적인 NLP 작업을 위한 간단한 API를 제공하는 간소화된 텍스트 처리 라이브러리입니다.
  • catalogue (2.0.10): 함수 레지스트리를 위한 작은 라이브러리로, NLP 파이프라인에서 자주 사용됩니다.
  • confection (1.3.3): 구성 시스템으로, spaCy와 함께 자주 사용됩니다.
  • cymem (2.0.13): spaCy에서 사용하는 Cython의 메모리 관리입니다.
  • murmurhash (1.0.15): spaCy에서 사용하는 MurmurHash의 Cython 바인딩입니다.
  • preshed (3.0.13): spaCy에서 사용하는 Cython 해시 테이블 및 블룸 필터입니다.
  • srsly (2.5.3): Python을 위한 최신 고성능 직렬화 유틸리티입니다.
  • wasabi (1.1.3): 경량 콘솔 인쇄 및 형식 지정 유틸리티입니다.
  • weasel (1.0.0): spaCy 프로젝트의 명령줄 인터페이스입니다.

과학 및 기호 컴퓨팅

  • mpmath (1.3.0): 임의 정밀도로 실제 및 복소 부동 소수점 산술을 위한 Python 라이브러리입니다.
  • sympy (1.13.3): 기호 수학을 위한 Python 라이브러리입니다.
  • networkx (3.6.1): 복잡한 네트워크의 구조, 동적, 함수를 생성, 조작, 연구하기 위한 패키지입니다.

성능 및 최적화

  • numba(0.64.0): Python 및 NumPy 코드의 하위 집합을 빠른 기계어 코드로 변환하는 Python용 JIT(Just-In-Time) 컴파일러입니다.
  • llvmlite (0.46.0): Numba와 함께 사용할 수 있는 경량 LLVM Python 바인딩입니다.
  • blis (1.3.3): BLAS와 유사한 선형 대수 라이브러리로, 수치 패키지의 종속 항목인 경우가 많습니다.
  • opt_einsum (3.4.0): NumPy, TensorFlow, 기타 배열 라이브러리에서 einsum 표현식을 최적화합니다.
  • optree (0.19.0): JAX에서 최적화된 PyTree 조작입니다.
  • nvidia-nccl-cu12 (2.29.7): 다중 GPU 통신을 위한 NVIDIA Collective Communication Library입니다.

통계 모델링

  • statsmodels (0.14.6): 다양한 통계 모델을 추정하고 통계 테스트 및 통계 데이터 탐색을 수행하기 위한 클래스와 함수를 제공합니다.
  • patsy (1.0.2): 통계 모델을 설명하고 설계 행렬을 빌드하기 위한 Python 라이브러리입니다.

운용 연구

  • ortools (9.14.6206): 조합 최적화를 위한 도구 모음인 Google 최적화 도구입니다.

시각화

정적, 애니메이션, 대화형 시각화를 만들기 위한 라이브러리입니다.

  • matplotlib (3.10.1): Python에서 정적, 애니메이션, 대화형 시각화를 만들기 위한 포괄적인 라이브러리입니다.
  • matplotlib-inline (0.2.1): Jupyter 노트북에 matplotlib 플롯을 삽입하기 위한 백엔드입니다.
  • matplotlib-venn (1.1.2): 벤 다이어그램을 플로팅하기 위한 라이브러리입니다.
  • seaborn (0.13.2): matplotlib을 기반으로 하는 통계 데이터 시각화 라이브러리입니다. 매력적이고 유익한 통계 그래픽을 그리기 위한 고급 인터페이스를 제공합니다.
  • plotly (6.1.2): 온라인 및 오프라인에서 아름다운 게시 품질 그래프를 쉽게 만들 수 있는 대화형 그래프 라이브러리입니다.
  • bokeh (3.8.2): 프레젠테이션을 위해 최신 웹브라우저를 타겟팅하는 대화형 시각화 라이브러리입니다.
  • mizani (0.13.5): ggplot2에서 영감을 받은 Python 그래픽의 스케일입니다.
  • contourpy (1.3.1): 등고선 생성 알고리즘을 제공합니다.
  • cycler (0.12.1): matplotlib의 구성 가능한 스타일 주기입니다.
  • fonttools (4.62.1): 글꼴을 조작하기 위한 라이브러리입니다.
  • kiwisolver (1.5.0): Cassowary 제약조건 해결 알고리즘의 효율적인 C++ 구현입니다.

이미지 및 동영상 처리

이미지 및 동영상 데이터로 작업하기 위한 라이브러리입니다.

  • opencv-python (4.11.0.86): 주로 실시간 컴퓨터 비전을 목표로 하는 프로그래밍 함수 라이브러리인 OpenCV의 Python 바인딩입니다.
  • pillow (11.1.0): Python Imaging Library (PIL)의 친숙한 포크로, 다양한 이미지 파일 형식을 열고 조작하고 저장하는 지원을 추가합니다.
  • imageio (2.37.0): 애니메이션 이미지, 동영상, 볼륨 데이터를 비롯한 광범위한 이미지 데이터를 읽고 쓰는 라이브러리입니다.
  • scikit-image (0.25.2): 이미지 처리를 위한 알고리즘 모음입니다.
  • tifffile (2026.4.11): TIFF 파일을 읽고 씁니다.

파일 처리 및 I/O

다양한 파일 형식을 읽고 쓰고 조작하기 위한 라이브러리입니다.

Excel

  • openpyxl (3.1.5): Excel 2010 xlsx/xlsm/xltx/xltm 파일을 읽고 쓰는 라이브러리입니다.
  • xlrd (2.0.1): 개발자가 Microsoft Excel (tm) 스프레드시트 파일에서 데이터를 추출할 수 있는 라이브러리입니다.
  • XlsxWriter (3.2.0): XSLX 형식으로 Excel 파일을 만드는 모듈입니다.

PDF

  • PyPDF2 (3.0.1): PDF 파일의 페이지를 분할, 병합, 자르기, 변환할 수 있는 순수 Python PDF 라이브러리입니다.
  • fpdf (1.7.2): PDF 생성을 위한 간단한 라이브러리입니다.
  • reportlab (4.3.1): PDF를 만들기 위한 강력한 라이브러리입니다.
  • PyLaTeX (1.4.2): LaTeX 파일을 만들고 컴파일하기 위한 라이브러리입니다.

Word

  • python-docx (1.1.2): Microsoft Word(.docx) 파일을 만들고 업데이트하기 위한 라이브러리입니다.

PowerPoint

  • python-pptx (1.0.2): PowerPoint(.pptx) 파일을 만들고 업데이트하기 위한 라이브러리입니다.

XML/HTML

  • lxml (5.3.1): XML 및 HTML 처리를 위한 기능이 풍부하고 사용하기 쉬운 라이브러리입니다.
  • et_xmlfile (2.0.0): 대규모 XML 파일을 만들기 위한 저메모리 라이브러리입니다.

마크다운

  • Markdown (3.10.2): John Gruber의 마크다운의 Python 구현입니다.
  • markdown-it-py (4.0.0): 올바르게 실행되는 마크다운 파서입니다. 100% CommonMark 지원
  • mdurl (0.1.2): 마크다운의 URL 유틸리티입니다.

YAML

  • PyYAML (6.0.3): Python용 YAML 파서 및 이미터입니다.

RTF

  • striprtf (0.0.28): RTF 문서에서 일반 텍스트를 추출하는 라이브러리입니다.

일반 파일 I/O

  • h5py (3.16.0): HDF5 바이너리 데이터 형식에 대한 Pythonic 인터페이스입니다.
  • smart_open (7.6.0): 대용량 파일 스트리밍 (S3, HDFS, GCS 등)을 위한 유틸리티입니다.
  • cloudpathlib (0.23.0): 클라우드 스토리지를 위한 Pathlib 스타일 클래스입니다.

웹 및 네트워킹

웹 요청, 서버 개발, 네트워크 통신을 위한 라이브러리입니다.

  • requests (2.33.1): 사람을 위해 빌드된 Python용 우아하고 간단한 HTTP 라이브러리입니다.
  • httpx (0.28.1): HTTP/1.1 및 HTTP/2, 비동기 기능을 지원하는 Python용 완전한 기능을 갖춘 HTTP 클라이언트입니다.
  • httpcore (1.0.9): HTTPX의 핵심을 형성하는 하위 수준 HTTP 클라이언트입니다.
  • urllib3 (2.6.3): Python용 강력하고 사용자 친화적인 HTTP 클라이언트입니다.
  • grpcio (1.80.0): Python gRPC (Google 리모트 프러시저 콜) 라이브러리입니다.
  • h11 (0.16.0): 순수 Python, 자체 I/O 구현의 HTTP/1.1입니다.
  • idna (3.11): 애플리케이션의 국제화된 도메인 이름 (IDNA) 2008 지원입니다.
  • certifi (2026.2.25): SSL 인증서의 신뢰성을 검증하기 위해 Mozilla에서 신중하게 선별한 루트 인증서 모음을 제공합니다.
  • tornado (6.5.5): 웹 프레임워크 및 비동기 네트워킹 라이브러리입니다.
  • Werkzeug (3.1.8): 포괄적인 WSGI 웹 애플리케이션 라이브러리입니다.
  • Jinja2 (3.1.6): Python용 최신 디자이너 친화적인 템플릿 언어입니다.
  • MarkupSafe (3.0.3): 신뢰할 수 없는 문자열을 HTML/XML 마크업에 안전하게 추가합니다.

개발 도구 및 유틸리티

일반 유틸리티, 애플리케이션 빌드 도구, 개발 지원 도구입니다.

패키징 및 배포

  • pip (24.2): Python용 패키지 설치 프로그램입니다.
  • setuptools (82.0.1): Python 프로젝트 패키징을 위한 라이브러리입니다.
  • wheel (0.46.3): Python용 빌드된 패키지 형식입니다.
  • packaging (24.0): Python 패키지의 핵심 유틸리티입니다.

명령줄 인터페이스 (CLI)

  • click (8.3.2): 구성 가능한 명령줄 인터페이스 생성 툴킷입니다.
  • typer (0.24.1): 유형 힌트를 사용하여 CLI 애플리케이션을 빌드하기 위한 라이브러리입니다.
  • rich (15.0.0): 터미널에서 서식 있는 텍스트와 아름다운 형식을 지정하기 위한 라이브러리입니다.
  • termcolor (3.3.0): 터미널의 출력에 대한 ANSII 색상 형식입니다.
  • tqdm (4.67.3): Python 및 CLI를 위한 빠르고 확장 가능한 진행률 표시줄입니다.
  • shellingham (1.5.4): 사용자의 셸을 감지하는 도구입니다.

데이터 검증 및 스키마

  • pydantic (2.13.1): Python 유형 주석을 사용한 데이터 검증 및 설정 관리입니다.
  • pydantic_core (2.46.1): Pydantic의 핵심 검증 로직입니다.
  • annotated-types (0.7.0): 함수 인수, 변수, 데이터 클래스 필드를 위한 재사용 가능한 제약조건 유형입니다.
  • jsonschema (4.23.0): Python용 JSON 스키마 구현입니다.
  • jsonschema-specifications (2024.10.1): JSON 스키마 메타 스키마 및 어휘입니다.
  • referencing (0.37.0): JSON 참조 해결입니다.

직렬화

  • protobuf (6.31.1): Google의 프로토콜 버퍼입니다.
  • flatbuffers (25.12.19): 효율적인 크로스 플랫폼 직렬화 라이브러리입니다.

동시 실행 및 병렬 처리

  • anyio (4.13.0): 다양한 비동기 이벤트 루프에서 작동하는 비동기 코드를 작성할 수 있는 비동기 호환성 레이어입니다.
  • joblib (1.4.2): 경량 파이프라이닝: Python 함수를 파이프라인으로 실행하는 도구입니다.
  • threadpoolctl (3.6.0): 일반 라이브러리의 스레드 풀에서 사용되는 스레드 수를 제어하는 Python 인터페이스입니다.

파싱

  • pyparsing (3.2.1): 표준 lex/yacc 접근 방식과 비교하여 간단한 문법을 만들고 실행하는 대체 접근 방식입니다.
  • astunparse (1.6.3): Python 추상 구문 트리의 언파서입니다.

하위 수준 및 외부 함수 인터페이스 (FFI)

  • libclang (18.1.1): Clang Python 바인딩입니다.

날짜 및 시간

  • python-dateutil (2.9.0.post0): 표준 datetime 모듈의 확장 프로그램입니다.
  • pytz(2025.2): 세계 시간대 정의(최신 및 기록)입니다.
  • tzdata (2025.3): 시간대 데이터입니다.

일반 유틸리티

  • attrs (25.3.0): 상용구가 없는 클래스입니다.
  • toolz (1.0.0): Python용 함수형 표준 라이브러리입니다.
  • six (1.17.0): Python 2 및 3 호환성 유틸리티입니다.
  • wrapt (2.1.2): 데코레이터, 래퍼, 몽키 패치를 위한 모듈입니다.
  • immutabledict (4.3.1): 변경 불가능한 딕셔너리입니다.
  • ordered-set (4.1.0): 목록과 집합의 하이브리드인 변경 가능한 데이터 구조입니다.
  • lazy-loader (0.5): Python 모듈을 지연 로드합니다.
  • google-pasta (0.2.0): Python 코드를 리팩터링하기 위한 라이브러리입니다.
  • traitlets (5.14.3): Python 애플리케이션의 구성 시스템입니다.
  • regex (2026.4.4): Python의 re 모듈을 대체하는 대체 정규 표현식 모듈입니다.
  • chardet (7.4.3): 범용 문자 인코딩 감지기입니다.
  • charset-normalizer (3.4.7): 실제 첫 번째 범용 문자 집합 감지기입니다.
  • typing_extensions (4.15.0): Python 3.7+용 백포트 및 실험용 유형 힌트입니다.
  • typing-inspection (0.4.2): Python의 유형에 대한 런타임 검사입니다.
  • Pygments (2.20.0): Python 구문 강조표시기입니다.
  • ml_dtypes (0.5.4): 머신러닝용 dtypes입니다.
  • rpds-py (0.30.0): Python용 Rust 영구 데이터 구조입니다.
  • annotated-doc (0.0.4): 문서 주석을 위한 라이브러리입니다.
  • namex (0.1.0): 유틸리티 라이브러리입니다.

디버깅 및 프로파일링

  • tensorboard (2.20.0): TensorFlow 시각화 도구입니다.
  • tensorboard-data-server (0.7.2): 텐서보드의 데이터 서버입니다.

지리정보

지리 공간 데이터를 처리하도록 특별히 설계된 라이브러리입니다.

  • geopandas (1.0.1): pandas에서 사용하는 데이터 유형을 확장하여 기하학적 유형에 대한 공간 작업을 허용합니다.
  • pyogrio (0.12.1): 지리정보 벡터 파일 형식의 벡터화된 I/O입니다.
  • pyproj (3.7.2): PROJ (지도 투영 및 좌표 변환 라이브러리)에 대한 Python 인터페이스입니다.
  • shapely (2.1.2): 평면 기하학 객체의 조작 및 분석을 위한 패키지입니다.
  • xyzservices (2026.3.0): XYZ 타일 제공업체의 소스입니다.

기타

  • chess (1.11.2): 이동 생성 및 검증, PGN 파싱 및 쓰기 등을 지원하는 순수 Python 체스 라이브러리입니다.
  • gast (0.7.0): 일반 AST-AST 변환기입니다.

다음 단계