마이크로소프트가 AI 에이전트의 동작을 일관되고 세밀하게
보안 팀이 설정한 가이드라인을 무시하고 AI 에이전트가 임의로 데이터를 삭제하거나 권한 밖의 도구를 호출하는 사고가 발생한다. 이런 통제 불능 상태를 막기 위해 마이크로소프트가 AI 에이전트의 동작을 일관되고 세밀하게 제어하는 오픈 소스 표준인 Agent Control Specification(ACS, 에이전트 제어 사양)을 발표했다. 개발자와 보안 팀, 그리고 컴플라이언스 담당자는 이 표준을 통해 에이전트가 반드시 준수해야 할 자체 정책을 직접 정의한다. 에이전트가 수행해도 좋은 허용 동작과 절대 해서는 안 될 금지 동작을 명확히 구분해 설정하는 방식이다. 특히 작업의 위험도에 따라 인간의 승인이 반드시 필요한 시점을 지정하거나, 사후 검증을 위한 로그 기록 대상을 세부적으로 설정해 제어권을 확보한다. 단순한 가이드라인 제시를 넘어 시스템 수준에서 에이전트의 행동 범위를 강제하는 표준을 구축한 것이다.
ACS는 특정 개발 환경에 갇히지 않도록 다양한 주요 AI 프레임워크 및 SDK(소프트웨어 개발 키트)를 지원하는 플러그인 형태로 제공된다. LangChain(랭체인), OpenAI Agents SDK, Anthropic Agents SDK, AutoGen(오토젠), CrewAI(크루AI), Semantic Kernel(시맨틱 커널), Microsoft.Extensions.AI, MCP tools 등이 모두 지원 대상에 포함된다. 개발자는 자신이 사용하는 도구의 종류와 상관없이 ACS SDK를 통해 동일한 제어 규칙을 일관되게 적용할 수 있다. 여러 프레임워크를 혼용하는 복잡한 시스템 환경에서도 단일한 정책 파일 하나로 에이전트의 모든 행동을 통합 관리한다. 플러그인 방식의 SDK 구조 덕분에 기존 프로젝트의 코드 수정량을 최소화하면서 보안 계층을 추가할 수 있다. 이는 각 도구마다 개별적으로 설정하고 검증해야 했던 보안 정책과 컴플라이언스 관리 비용을 낮추는 구체적인 장치가 된다.
ACS는 워크플로우 내 여러 '가로채기
에이전트가 한 번의 응답을 내놓기까지 거치는 검증 단계가 네 곳으로 쪼개진다. 마이크로소프트가 공개한 ACS(Agent Control Specification, 에이전트 제어 사양)는 입력 수신 전, 도구 호출 전, 도구 결과 반환 후, 최종 응답 전송 전이라는 네 가지 가로채기 지점(interception points)에서 에이전트가 가드레일을 준수하는지 확인한다. 사용자가 명령을 내리는 시점부터 에이전트가 외부 도구를 통해 데이터를 가져오고 이를 최종 답변으로 구성해 내보내기까지의 전 과정에 검증 절차를 심은 구조다.
각 가로채기 지점에서 설정된 정책에 따라 특정 동작을 허용하거나 즉시 차단하는 제어를 수행한다. 특히 노출되면 안 되는 민감 정보를 편집(redact)하여 가리거나, 중요한 결정이 필요한 상황에서는 사람의 승인을 직접 요청하는 방식으로 가드레일을 작동시킨다. 워크플로우의 주요 전환점마다 검증 필터를 배치함으로써 에이전트가 보안 정책을 우회하거나 잘못된 도구를 사용하는 연쇄 오류를 방지한다.
이러한 제어 정책은 단일 파일로 작성되어 에이전트와 함께 묶음(bundle)으로 제공된다. 정책이 파일 형태로 존재하기 때문에 보안 규칙이 서로 다른 프레임워크나 실행 환경으로 옮겨가더라도 에이전트를 따라다니며 일관되게 적용될 수 있다. 특정 플랫폼의 설정 방식에 얽매이지 않고 정책 파일 자체를 에이전트의 일부로 취급해 배포하는 방식이다. 결과적으로 개발자는 프레임워크에 종속되지 않는 단일 정책 파일만으로 에이전트의 보안 및 컴플라이언스 관리 비용을 낮출 수 있다.
ACS는 기존의 파편화된 AI 에이전트 제어 방식들을 공통
개발 환경을 바꿀 때마다 똑같은 보안 규칙을 다시 코딩해야 하는 번거로움이 있다. 기존에는 시스템 프롬프트에 지침을 적거나 애플리케이션 코드 내에 커스텀 체크 로직을 넣고, 분류기(classifier)를 개별적으로 운용해 문제가 될 만한 입출력을 걸러냈다. 하지만 이러한 방식은 제어 수단이 곳곳에 파편화되어 있어 전체적인 감사(audit)가 어렵고, 사용 중인 프레임워크나 인터페이스, 시스템이 달라지면 기존 설정을 그대로 재사용하기 힘들다는 단점이 있었다. ACS(Agent Control Specification, 에이전트 제어 사양)는 이렇게 흩어진 제어 방식들을 하나의 공통 거버넌스 계층으로 통합해 관리 효율을 높이는 것을 목표로 한다.
실질적인 제어는 분류기와 LLM(Large Language Models, 대규모 언어 모델) 기반의 판사 기능을 통해 고도화된다. 개발자는 입출력 정보를 분류해 응답 방식을 결정하거나 결과를 예측하는 분류기를 중간에 삽입할 수 있다. 또한 특정 프롬프트를 부여받은 LLM을 정책 판사로 활용해 에이전트의 행동이 정의된 정책에 부합하는지 검증한다. 도구 선택의 적절성부터 입력값의 정확도, 출력 결과의 사용법, 최종 응답에 이르는 전 과정에 세밀한 로직 체크를 적용하는 구조다. 결과적으로 개발자는 특정 프레임워크에 종속되지 않는 단일 정책 파일만으로 에이전트의 보안과 컴플라이언스 관리 비용을 낮출 수 있는지 판단하는 기준을 갖게 된다.
AI 에이전트가 도구를 잘못 사용해 예상치 못한 연쇄 오류를 일으키거나 보안 정책을 우회하는 사고는 실제적인 위협이다. 마이크로소프트는 에이전트의 행동 규칙을 정의해 여러 환경에 동일하게 적용하는 오픈소스 표준 ACS를 통해 이 지점을 공략했다. 입력 전부터 최종 응답 전까지 4가지 가로채기 지점에서 정책을 검증하는 구조를 설계했다. 이제 관건은 프레임워크에 종속되지 않는 단일 정책 파일이 에이전트의 보안 및 컴플라이언스 관리 비용을 얼마나 낮출 수 있느냐는 실효성 판단으로 옮겨간다.




