에이전트 런타임

Agent Runtime은 Azure Databricks가 호스팅하는 서버리스 컴퓨트에서 에이전트를 실행합니다. Databricks 앱에서 DurableAgentServer와 같은 에이전트 서버를 실행하므로, 서버를 프로비저닝하는 대신 코드를 배포할 수 있습니다. 에이전트 런타임이 프레임워크 및 에이전트 서버와 어떻게 통합되는지 알아보려면 Azure Databricks에 에이전트 배포를 참조하세요.

에이전트 런타임이 제공하는 것

  • 안정적이고 인증된 엔드포인트: 각 배포는 자체 URL을 가진 agent-bricks-<name> 앱입니다. 클라이언트는 Azure Databricks OAuth 토큰으로 인증합니다. Azure Databricks에 배포된 쿼리 에이전트를 참조하세요.
  • 에이전트 신원: 에이전트는 앱의 서비스 주체(Service Principal)로 운영됩니다. 에이전트 ID를 참조하십시오.
  • 지속 실행 기능: DurableAgentServer를 사용하는 에이전트의 경우, 배포는 런타임 스토어를 프로비저닝하여 워커 재시작과 중단된 런 실행 상황에서도 런 상태가 유지되도록 합니다.
  • 트레이싱: 배포는 프로젝트가 바인딩된 실험에 MLflow 추적을 설정합니다. 추적 개요를 참조하세요.
  • 스케일링: 에이전트를 1~5개 인스턴스에서 실행하세요. Databricks 앱의 수평 확장(Horizontal scaling)을 참조하세요.

에이전트 ID

에이전트의 신원은 에이전트가 배포된 앱의 서비스 주체입니다. 에이전트는 이 아이덴티티를 사용해 Azure Databricks API를 호출하고, --auth app로 추가하는 도구들을 실행합니다.

  • 배포하면 agentbricks deploy가 서비스 주체에 에이전트가 사용하는 메모리, 세션 및 실행 상태 저장소에 대한 접근 권한을 부여합니다.
  • 에이전트가 다른 데이터와 자원에 접근할 수 있도록 하려면, 모든 앱과 마찬가지로 앱의 서비스 주체에게 필요한 권한을 부여하세요. Databricks 앱에서 권한 부여 구성을 참조하세요.
  • auth = "user"를 사용하는 도구는 서비스 주체가 아닌 요청을 보낸 사용자의 권한으로 실행됩니다. 요청-사용자 권한 부여를 참조하세요.

에이전트를 배포하세요

Agent Bricks CLI를 사용하여 에이전트 프로젝트를 배포하세요:

agentbricks --profile <profile> deploy my-agent

agentbricks deploy 은 다음을 수행합니다.

  1. agent.toml에 선언된 메모리 및 세션 저장소를 생성하거나 재사용하며, 앱의 서비스 주체에 접근 권한을 부여합니다.
  2. DurableAgentServer를 사용하는 에이전트의 배포 런타임 스토어를 생성하거나 재사용합니다.
  3. 추적을 구성합니다.
  4. 앱을 배포합니다.

에이전트를 둘 이상의 인스턴스에서 실행하려면 --instances를 전달합니다:

agentbricks --profile <profile> deploy my-agent --instances 2

에이전트가 둘 이상의 인스턴스에서 실행될 경우, 클라이언트는 X-Routing-Key 헤더에 세션 ID를 보내 세션 내의 모든 요청이 동일한 인스턴스로 라우팅되도록 할 수 있습니다.

배포 관리

Command Description
agentbricks deployments list 에이전트 배치 내역을 나열하세요.
agentbricks deployments get <app-name> 배포의 URL, 상태, 설명을 표시하세요.
agentbricks deployments logs <app-name> 배포 로그를 보여주세요.
agentbricks deployments start <app-name> 및 agentbricks deployments stop <app-name> 배포를 시작하거나 중단하는 것.
agentbricks deployments delete <app-name> 배포를 삭제합니다.

각 배포가 앱이기 때문에 Databricks 앱에서도 이를 확인하고 모니터링할 수 있습니다. Databricks 앱에 대한 로깅 및 모니터링을 참조하세요.

Limitations

기존 배포의 에이전트 서버를 변경할 수 없습니다. 서버를 전환하려면 원하는 옵션이 있는 agentbricks init --server 새 프로젝트를 만들고 새 이름으로 배포하세요.

추가 리소스