언어 기반 에이전트 제어 (Language-Based Agent Control)
요약
본 논문은 에이전트 기반 애플리케이션을 위한 새로운 프로그래밍 모델인 언어 기반 에이전트 제어(LBAC)를 제시합니다. 이는 전통적인 소프트웨어 개발의 정적 타이핑 및 런타임 강제 기법을 활용하여, 에이전트가 생성하는 코드까지도 사용자가 정의한 보안 정책(접근 제어, 정보 흐름 등)을 준수하도록 보장하는 것이 핵심입니다. LBAC는 에이전트가 주변 스캐폴딩 코드의 맥락 내에서 잘 정의된 타입의 프로그램을 생성하게 함으로써, 애플리케이션 전체에 걸쳐 일관되고 강력한 보안 정책 적용 범위를 확장합니다.
핵심 포인트
- LBAC(Language-Based Agent Control)는 에이전트 기반 애플리케이션을 위한 새로운 프로그래밍 모델이다.
- 정적 타이핑과 런타임 강제를 활용하여, 에이전트가 생성하는 코드까지 보안 정책 준수를 보장한다.
- 에이전트는 주변 스캐폴딩 코드의 맥락 내에서 잘 정의된 타입의 프로그램을 생성하도록 요구받는다.
- LBAC는 파일 시스템 I/O 샌드박싱, 데이터 출처 추적, 정보 흐름 제어 등 다양한 보안 기능을 입증했다.
본 논문은 에이전트 기반 애플리케이션 (agentic applications)을 위한 새로운 프로그래밍 모델인 언어 기반 에이전트 제어 (Language-Based Agent Control, LBAC)를 소개합니다. 이는 프로그래밍 언어 (programming languages) 및 언어 기반 보안 (language-based security)의 기술들을 에이전트 제어 문제에 도입한 것입니다. 전통적인 프로그래밍에서는 정적 타이핑 (static typing)과 런타임 강제 (runtime enforcement)의 조합을 사용하여, 잘 정의된 타입의 프로그램 (well-typed programs)이 액세스 제어 (access control), 정보 흐름 (information flow), 데이터 출처 (data provenance) 등을 포함하여 사용자가 지정한 정책을 준수하도록 보장하는 방식이 오랫동안 사용되어 왔습니다. LBAC의 핵심 아이디어는 에이전트가 주변의 스캐폴딩 코드 (scaffolding code) 맥락 내에서 그 자체로 잘 정의된 타입 (well typed)을 갖는 프로그램을 생성하도록 요구함으로써, 이러한 보장 범위를 에이전트 기반 애플리케이션으로 확장하는 것입니다. 안전하지 않은 프로그램은 실행 전 타입 검사기 (type-checker)에 의해 거부되며, 이를 통해 에이전트가 생성한 동작과 개발자가 작성한 스캐폴딩 모두를 포함하여 애플리케이션 전체에 정책을 일관되게 적용할 수 있습니다. 동시에 LBAC는 상당한 표현력 (expressiveness)을 유지합니다. 에이전트는 임의의 부작용 없는 (side-effect-free) 계산을 수행할 수 있으며, 동일하거나 혹은 잠재적으로 더 제한적인 정책의 적용을 받는 상태에서 전체 도구 접근 권한을 유지하며 하위 에이전트 (subagents)를 재귀적으로 호출할 수 있습니다. 우리는 파일 시스템 기능 (filesystem capabilities)을 통한 I/O 샌드박싱 (sandboxing), 데이터 출처 (data provenance), 그리고 정보 흐름 제어 (information-flow control)라는 세 가지 사례 연구를 통해 LBAC를 입증합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기