프로덕션에서 에이전트를 실행하려면, 그 코드를 사용자와 애플리케이션의 요청을 처리하는 관리형 컴퓨팅에 배포합니다. 배포된 에이전트는 세 가지 계층으로 구성됩니다: 프레임워크 또는 하네스, 에이전트 서버, 그리고 에이전트 런타임입니다. Agent Bricks는 DurableAgentServer부터 Databricks Apps의 Agent Runtime까지 각 계층에서 옵션을 제공합니다.
에이전트 컴퓨트 스택
배포된 에이전트는 세 가지 계층으로 구성됩니다. 각 층은 그 아래의 층을 감쌉니다.
| 레이어 | 용도 | Azure Databricks의 옵션 |
|---|---|---|
| 프레임워크 또는 하네스 | 에이전트 루프를 실행합니다: 모델과 도구를 호출하고 다음에 무엇을 할지 결정합니다. | LangGraph나 OpenAI Agents SDK 같은 프레임워크나 하네스, 또는 Omnigent 같은 메타 하네스. |
| 에이전트 서버 | 에이전트 루프를 HTTP 서버로 감싸는 방식입니다. 에이전트 서버는 호출 API를 노출하고, 클라이언트 연결을 관리하며, 지속성을 처리합니다. |
DurableAgentServer (추천), 레거시 에이전트 서버 또는 본인 서버. |
| 에이전트 런타임 | 에이전트 서버를 관리형 컴퓨트에서 실행하며 호스팅, 아이덴티티, 확장성을 처리합니다. | Databricks 앱의 에이전트 런타임. |
다음 용어들은 층들이 어떻게 함께 작용하는지 설명합니다:
| 용어 | 의미 |
|---|---|
| 호출 API | 클라이언트가 에이전트를 실행하기 위해 호출하는 HTTP API 말입니다. Azure Databricks에 배포된 쿼리 에이전트를 참조하세요. |
| 제공 | 에이전트 런타임은 에이전트 서버를 실행하며, 이 서버는 호출 API를 통해 에이전트를 제공합니다. |
| Deploy | 에이전트 코드를 에이전트 런타임에 올리세요. |
Note
Databricks Sandbox 는 컴퓨트 스택의 한 층이 아닙니다. 이는 에이전트가 호출해 에이전트 런타임과는 별개의 격리 환경에서, 거버넌스가 적용된 데이터에 대한 범위가 지정된 액세스 권한으로 코드를 실행하는 도구입니다. 에이전트가 데이터 분석 스크립트와 같은 코드를 작성하고 실행할 때는 샌드박스를 활용하세요. CLI 프로젝트에 샌드박스 도구를 부여하려면 agentbricks tools add sandbox를 실행하세요.
프레임워크 또는 하네스
프레임워크나 하네스가 에이전트 코드입니다. 모델과 함께 추론하고, 도구를 호출하며, 언제 대응할지 결정하는 루프를 실행합니다. Agent Bricks는 특정 프레임워크를 요구하지 않습니다.
| 프레임워크 또는 하네스 | 사용 시기 |
|---|---|
| Templates | 새 에이전트를 시작한다. Agent Bricks CLI는 LangGraph와 OpenAI Agents SDK를 위한 프로젝트 골격을 생성합니다. 템플릿은 프레임워크 코드와 프레임워크를 에이전트 서버에 연결하는 코드를 분리해 줍니다. |
| 기존 에이전트 | 이미 LangGraph나 OpenAI Agents SDK로 만든 에이전트를 가져오는 것.
agentbricks init --existing를 그 디렉토리에서 실행하세요 기존 에이전트 가져오기를 참조하세요. |
| 메타-하네스 | Omnigent와 함께 코딩 에이전트와 같은 여러 프레임워크를 하나의 에이전트로 조합하는 것. |
에이전트 서버
에이전트 서버는 에이전트 루프를 감싸 서비스로 전환하는 라이브러리입니다. 클라이언트가 호출하는 API를 정의하고, 각 실행을 추적하며, 실행이 중단될 때 어떤 일이 일어나는지 결정합니다.
| 에이전트 서버 | 사용 시기 |
|---|---|
DurableAgentServer (권장) |
Agent Bricks CLI로 빌드된 새 에이전트 |
| 레거시 에이전트 서버 | 앱 템플릿에서 만든 에이전트를 유지보수하는 것.
DurableAgentServer를 기존 에이전트 서버와 비교하려면 Databricks의 에이전트 서버를 참조하세요. |
| 당신만의 서버 | 맞춤형 엔드포인트, 요청 형식 또는 프로토콜이 필요한 에이전트들.
agentbricks init --server custom를 실행하거나 기존 서버를 유지하세요. |
에이전트 런타임
에이전트 런타임은 에이전트 서버를 실행하는 관리형 컴퓨트입니다. 서버를 직접 프로비저닝하는 대신 해당 서비스에 코드를 배포하는 방식입니다.
| 에이전트 런타임 | 사용 시기 |
|---|---|
| 에이전트 실행 시간 | 새로운 에이전트. Databricks 앱에서 에이전트를 실행합니다.
agentbricks deploy는 에이전트가 필요로 하는 자원을 프로비저닝하고, 에이전트에게 이에 대한 접근 권한을 부여하며, 이를 안정적이고 인증된 엔드포인트에 배포합니다. |
| 모델 서빙 (레거시) | 이전 버전의 에이전트들은 모델 서빙 엔드포인트에 배포되었습니다. AI 애플리케이션용 에이전트 배포(모델 서비스)를 참조하세요. Databricks 앱으로 이동하려면 ' 모델 서빙에서 Databricks 앱으로 에이전트 마이그레이션'을 참조하세요. |
Agent Bricks CLI로 배포하기
Agent Bricks CLI는 세 계층을 연결합니다. 이 기능은 프레임워크 코드를 스캐폴딩하고, 로컬에서 DurableAgentServer 실행하며, 에이전트 런타임에 배포합니다:
agentbricks init my-agent --framework langgraph
cd my-agent
agentbricks dev
agentbricks deploy my-agent
첫 번째 에이전트를 구축하고 배포하려면 Agent Bricks Quickstart를 참조하세요.
에이전트 배포 권한
agentbricks deploy를 실행하는 사용자 또는 서비스 주체는 다음과 같은 작업을 수행할 권한이 필요합니다:
- Databricks 앱을 생성하거나 재배포를 위해 기존 앱을 관리하세요. Databricks 앱에 대한 권한 구성을 참조하세요.
-
agent.toml에 선언된 메모리 및 세션 저장소를 생성하거나 기존 저장소를 관리하여 에이전트 브릭스가 앱의 서비스 주체에 접근 권한을 부여할 수 있도록 하세요. - 프로젝트에서 트레이싱에 사용하는 MLflow 실험을 만들거나, 이미 존재한다면 편집하세요.
- 앱의 서비스 주체에게 도구가
CAN RUN로 선언하는 자원(예: Unity 카탈로그 함수의SELECT, Genie 에이전트의--auth app, 샌드박스 범위 내 테이블의EXECUTE)에 대한 접근 권한을 부여합니다.
에이전트 브릭스는 agent.toml가 직접 선언한 자원에만 접근 권한을 부여합니다. 도구가 Genie 에이전트 뒤의 테이블이나 Unity 카탈로그 함수가 호출하는 객체 등 다른 자원을 사용한다면, 앱의 서비스 주체에게 직접 접근 권한을 부여하세요. deploy가 필요한 그랜트를 적용하지 못하면 코드를 업로드하기 전에 중단하고 현재 배포는 계속 실행된 상태로 유지됩니다.