UStackUStack
Cline SDK icon

Cline SDK

Cline SDK(@cline/sdk)는 오픈소스 에이전트 런타임 기반으로, IDE와 CLI 전반의 에이전틱 코딩 워크플로를 지원합니다. 플러그인·프로바이더 구성 제공

Cline SDK

Cline SDK란?

Cline SDK(@cline/sdk)는 Cline에서 추출한 TypeScript 기반 에이전트 런타임으로, IDE와 CLI 등 다양한 환경에서 에이전틱 코딩 워크플로를 지원합니다. 핵심 목적은 모듈식이고 재사용 가능한 “에이전트 하네스”와 아키텍처를 제공하여, 팀이 단일 앱의 UI 수명 주기에 얽매이지 않고 에이전트를 구축·확장할 수 있게 하는 것입니다.

에이전트 루프를 VS Code 확장 프로그램에 결합하는 대신, Cline은 런타임을 공유 서비스로 재설계했습니다. 이를 통해 UI 재시작과 무관하게 장시간 작업을 지속할 수 있으며, 세션을 여러 환경 간에 이동하면서도 하위 에이전트 루프를 재사용 가능하고 상태 비저장으로 유지할 수 있습니다.

주요 기능

  • 공유 에이전트 런타임 아키텍처: 런타임을 특정 IDE 구현에서 분리하여 작업이 UI 재시작에 덜 의존하게 합니다.
  • 재사용 가능한 에이전트 하네스(상태 비저장 루프): 하위 에이전트 루프를 상태 비저장·재사용 가능하게 유지하면서, 상위 런타임은 내구성과 이식성을 갖추도록 설계했습니다.
  • 계층형 TypeScript 스택: 각 계층이 단일 책임을 갖는 계층형 설계를 사용하며, 필요에 따라 전체 스택 또는 개별 패키지를 선택할 수 있습니다.
  • 런타임 계층 플러그인 시스템: 플러그인이 도구를 등록하고, 수명 주기 이벤트를 관찰하며, 규칙·명령을 추가하고, 모델이 보는 내용을 조정할 수 있습니다.
  • 유연한 플러그인 로딩 및 패키징: 플러그인을 구성된 경로나 워크스페이스 위치에서 로드할 수 있으며, 로컬 .ts/.js 모듈로 시작해 cline.plugins 매니페스트를 사용해 패키지 모듈로 발전시킬 수 있습니다.
  • 프로바이더 계층 LLM 지원(개방형 선택): 프로바이더 계층은 여러 프로바이더와 OpenAI 호환 엔드포인트를 지원하며, 프로바이더 전환은 구성 기반으로 이루어집니다.

Cline SDK 사용 방법

  1. SDK 설치: npm i -g @cline/sdk로 전체 스택을 설치합니다.
  2. 환경 선택: Cline SDK를 사용해 VS Code, JetBrains, CLI에서 에이전트를 구동합니다(Cline의 자체 환경도 SDK 기반으로 구축됨).
  3. 런타임 플러그인으로 동작 확장: 도구를 등록하고 수명 주기 이벤트에 반응할 수 있는 플러그인 모듈(또는 패키지)을 만듭니다.
  4. 모델/프로바이더 접근 구성: 프로바이더 계층을 사용해 에이전트가 호출할 모델/프로바이더를 구성으로 선택합니다.

사용 사례

  • 재시작 간 장시간 에이전트 작업: UI 재시작 시에도 작업이 중단되지 않도록, 런타임을 단일 UI 수명 주기에만 의존하지 않고 내구성 있게 설계했습니다.
  • 여러 환경 간 지속되는 에이전트 구축: IDE와 CLI 등 다른 인터페이스 간에 세션을 이동하면서도 에이전트 루프를 상태 비저장·재사용 가능하게 유지합니다.
  • 플러그인을 통한 팀별 에이전트 커스터마이징: 도메인별 동작(추가 도구, 규칙, 명령 등)을 플러그인 로드로 추가하여 런타임을 포크하지 않고 확장합니다.
  • 로컬 프로토타입 후 패키징: 로컬 .ts/.js 모듈로 플러그인을 구현한 뒤, 팀이 cline.plugins 매니페스트로 기능을 안정화하면 재사용 가능한 디렉터리로 패키징합니다.
  • 서버리스 또는 조합형 에이전트 런타임: 계층형 스택의 일부(예: 프로바이더 로직 또는 상태 비저장 루프)만 사용하여 다른 런타임 모델에 에이전트 동작을 임베드합니다.

FAQ

  • Cline SDK는 VS Code 확장 프로그램에만 연결되어 있나요? 아닙니다. SDK는 VS Code, JetBrains, CLI 전반에서 Cline을 구동하도록 설계되었으며, 팀이 IDE 전용 구현이 아닌 런타임 자체를 기반으로 구축할 수 있습니다.

  • 에이전트 루프에서 “상태 비저장”이란 무엇을 의미하나요? 하위 에이전트 루프를 상태 비저장·재사용 가능하게 유지하면서, 상위 런타임이 내구성과 이식성을 제공합니다.

  • 플러그인이 모델 동작에 어떤 영향을 주나요? 플러그인은 도구를 등록하고, 수명 주기 이벤트를 관찰하며, 실행 전후에 에이전트가 보는 내용(규칙·명령 포함)을 조정할 수 있습니다.

  • 에이전트를 다시 작성하지 않고 LLM 프로바이더를 전환할 수 있나요? 프로바이더 계층은 구성 기반으로 설계되었으며, 여러 프로바이더와 OpenAI 호환 엔드포인트를 지원합니다.

  • 시작할 때 전체 SDK 스택이 필요한가요? SDK는 계층형으로 구성되어 있어, 전체 스택을 설치하거나 프로바이더 계층·상태 비저장 루프 등 개별 패키지만 사용할 수 있습니다.

대안

  • 기존 에이전트 프레임워크에 커스텀 런타임 사용: 세션 지속성과 도구 오케스트레이션에 대한 완전한 제어가 필요한 경우, 이미 자체 런타임을 유지하고 있다면 기존 에이전트 프레임워크 접근 방식이 더 적합할 수 있습니다.
  • IDE 전용 에이전트 확장 모델 기반 구축: 일부 솔루션은 에이전트 루프를 IDE 플러그인 내부에 유지합니다. 시작하기는 더 간단할 수 있지만, 런타임 동작이 UI 수명 주기와 더 밀접하게 결합될 수 있습니다.
  • 일반 LLM 도구 오케스트레이션 계층 사용: 에이전트 하네스 + 런타임 아키텍처 대신, 도구 오케스트레이션 접근 방식은 모델과 도구 호출에 집중하며, 일반적으로 세션 지속성과 수명 주기 관리를 애플리케이션 코드에 위임합니다.