Kastor: AI 에이전트를 위한 Terraform 스타일의 선언적 레이어
Kastor: AI 에이전트를 위한 Terraform 스타일의 선언적 레이어
Kastor는 AI 에이전트를 위한 선언적 단일 진실 공급원(source-of-truth) 레이어를 제공하여, 개발자가 에이전트, 도구, 프롬프트 및 모델을 HashiCorp Configuration Language (HCL)로 정의하고 이를 실행 가능한 프레임워크 코드나 관리형 플랫폼 리소스로 컴파일할 수 있도록 합니다. 이 접근 방식은 에이전트 설정을 프레임워크 코드, 프롬프트 파일, 플랫폼 UI에 흩어져 있는 파편화된 설정이 아닌, 버전 관리가 가능하고 검토 가능한 계약(contract)으로 취급합니다.
선언적 에이전트 사양
Kastor는 AI 에이전트의 전체 계약을 정의하기 위해 일련의 선언적 파일을 사용합니다. 런타임 코드 내에 설정을 임베딩하는 대신, Kastor는 정의와 실행을 분리합니다.
파일 유형 및 구조
Kastor 모듈은 다음과 같은 파일 유형을 포함하는 디렉토리 트리를 구성합니다:
- .agent: 에이전트의 모델, 프롬프트, 도구, 입력 및 출력을 정의하며, 다른 에이전트에 대한 의존성을 정의합니다.
- .tool: 도구 인터페이스와 그 구현 소스를 지정합니다.
- .prompt: 프롬프트 템플릿을 포함하고 필요한 변수를 식별합니다.
- *kastor.hcl / .kastor: 모델, 타겟 및 글로벌 기본값을 정의하는 데 사용되는 프로젝트 파일입니다.
이 파일들 내의 참조는 파일 경로 대신 주소(예: model.fast 또는 tool.web_search)를 통해 블록을 연결하며, 이를 통해 Kastor는 컴파일 시점에 의존성 그래프를 구축하고 검증할 수 있습니다.
워크플로우: Build, Plan, and Apply
Kastor는 에이전트의 의도된 상태가 실제 배포된 상태와 일치하도록 보장하기 위해 Terraform 워크플로우를 모방한 툴체인을 구현합니다.
Codegen Path (kastor build)
Kastor는 모듈을 실행 가능한 프레임워크 코드로 컴파일할 수 있습니다. 예를 들어, Kastor 사양을 통해 전체 LangGraph 프로젝트를 생성할 수 있습니다. 생성된 코드는 출력 아티팩트이며 단일 진실 공급원의 소스가 될 의도가 없습니다. 모든 변경 사항은 HCL 사양에서 수행하고 다시 빌드해야 합니다.
Reconciliation Path (kastor plan / apply)
호스팅된 에이전트를 위해 Kastor는 조정(reconciliation) 도구를 제공합니다:
kastor plan: 현재 사양과 상태 파일 및 원격 리소스를 비교하여 드리프트(drift)나 필요한 변경 사항을 식별하는 읽기 전용 작업입니다.kastor apply: 호스팅된 에이전트를 사양과 일치하도록 조정합니다.kastor destroy: 관리되는 에이전트를 제거합니다.
LangGraph 및 MCP와의 통합
Kastor는 현재 LangGraph 프로젝트 생성 및 Model Context Protocol (MCP)과의 통합을 지원합니다.
LangGraph 생성
LangGraph 타겟에 대해 kastor build를 실행하면, 생성된 프로젝트를 지정된 출력 디렉토리에 작성합니다. 이 프로젝트에는 에이전트의 입력/출력 계약 및 도구 바인딩을 상세히 설명하는 README.md가 포함됩니다.
MCP 도구화
Kastor의 도구는 사양 URI(예: mcp://search-server/tavily_search)를 통해 MCP 서버 및 도구에 고정될 수 있습니다. URL 및 API 키와 같은 실제 연결 세부 정보는 사양 자체가 아닌 배포 설정(예: mcp_servers.json)을 통해 처리되므로, 비밀 정보를 버전 관리되는 HCL 파일에서 분격리할 수 있습니다.
아키텍처 및 포지셔닝
Kastor는 에이전트 런타임이 아닙니다. 런타임 레이어 위에 위치하여 표준화된 구성 인터페이스를를 제공합니다.
프레임워크 및 Terraform과의 비교
- Vs. LangGraph: LangGraph는 에이전트를 실행하는 런타임 프레임워크인 반면, Kastor는 계약을 정의하고 프로젝트를 생성합니다. Kastor는 LangGraph의 대체재가 아니라 그 위에 위치하는 레이어입니다.
- Vs. Terraform: Terraform은 원격 인프라 리소스를 관리하도록 설계된 반면, Kastor는 에이전트 사양 자체에 집중합니다. 이를 통해 Kastor는 로컬 프레임워크 코드 생성과 호스팅된 플랫폼 에이전트의 조정 기능을 모두 지원할 수 있습니다.
현재 상태 및 기능
Kastor는 현재 초기 개념 증명(proof of concept) 단계입니다. 현재 작동하는 기능은 다음과 같습니다:
.agent,.tool,.prompt, 및kastor.hcl파일 파싱.- 참조 및 프롬프트 변수 검증.
- 인메모리 플랫폼 지원: API 키가 필요하지 않은 내장 인메모리 플랫폼 타겟을 대상으로
plan및apply워크플로우를 테스트할 수 있습니다. - 상태 관리: 로컬 상태 파일, 3방향 diff, 드리프트 탐지.
- 예제 구현: 날씨 에이전트 및 콘텐츠 스케줄러를 포함합니다.