여러 AI 에이전트를 한곳에서 보고 권한·정책·승인·감사 기록으로 통제하는 관리 계층으로, 에이전트가 하는 일을 밖에서 지켜보고 허용할지 말지 정한다. 코딩 에이전트를 여러 개 동시에 돌리거나 팀 전체가 쓰기 시작할 때 필요하다.
| 구성 요소 | 하는 일 |
|---|---|
| 하네스 | LLM 위에서 도는 에이전트 루프 |
| 오케스트레이터 | 에이전트가 실행되는 환경 |
| 컨트롤 플레인 | 여러 에이전트를 한꺼번에 관찰·통제 |
| 에이전트 프레임워크 | 에이전트 내부 로직을 만드는 개발 도구 |
OpenHands가 정리한 소프트웨어 에이전트 스택 기준
이름은 네트워크 용어에서 왔다. 코딩 에이전트에서는 코드 수정·명령 실행처럼 실제 일을 하는 쪽이 데이터 플레인이고, 누가 무엇에 접근하고 어떤 행동에 승인이 필요한지 정하는 쪽이 컨트롤 플레인이다.
컨트롤 플레인이 없으면 권한·예산·감사 규칙을 에이전트마다 프롬프트와 코드에 따로 넣어야 한다. 그러면 규칙을 검사하거나 버전 관리하거나 강제할 방법이 없다. 컨트롤 플레인은 '이 행동을 해도 되는가'라는 판단을 실행과 떼어 놓는다. 예를 들어 허용된 모델 목록을 정해 두면 에이전트가 더 비싼 모델이나 허가되지 않은 엔드포인트를 몰래 호출하지 못한다. 이 제한은 실행 중에 걸린다.
| 기능 | 내용 |
|---|---|
| 목록(레지스트리) | 어떤 에이전트가 있고 주인이 누군지, 어떤 도구를 쓰는지 |
| 신원·권한 | 에이전트마다 따로 신원을 주고 꼭 필요한 권한만 |
| 인라인 정책 | 요청이 네트워크 밖으로 나가기 전에 검사·차단 |
| 사람 승인 | 위험한 명령이나 MCP 행동은 승인 후 실행 |
| 감사 기록 | 에이전트가 한 모든 행동을 추적 |
터미널에서 여러 CLI 에이전트를 한 저장소에 돌리면 로그만으로는 누가 무엇을 하는지 알기 어렵다. 이때는 각 세션 상태를 한 화면에 모아 주는 '관제실' 형태가 필요하다. 팀에 이미 LLM·MCP 게이트웨이가 있다면 게이트웨이에 정책 층을 붙이는 방식이 있다. SDK를 넣거나 에이전트를 고칠 필요가 없고, PR당 비용까지 집계할 수 있다. 사람 없이 오래 도는 에이전트는 Kubernetes 위의 스케줄러로 돌리고, 중요한 작업 전에 사람에게 비동기로 피드백을 요청하게 만든다.
도입은 처음부터 막지 말고 감사 모드로 시작하는 편이 낫다. 기록만 남기면서 어떤 행동이 위험한지 먼저 보고, 그다음 차단 정책으로 넘어가면 개발 속도를 덜 해친다.
같은 이름이라도 게이트웨이에 붙는 정책 층, 에이전트 스케줄러, 신원 보안 플랫폼처럼 실제 모습이 제각각이다. 프롬프트 인젝션 방어, 운영 환경 삭제 같은 사고 예방, 비용 추적 가운데 무엇이 가장 급한지 먼저 정하고 도구를 고르는 게 좋다.
가장 흔한 건 여러 코딩 에이전트를 돌리는 팀이 위험한 행동에 승인 단계를 걸고 누가 무엇을 했는지 기록을 남기는 방식이다. 처음엔 감사 모드로 지켜보다가 문제가 되는 행동만 차단 정책으로 옮긴다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 터미널 병렬 에이전트 | 한 저장소에서 도는 여러 CLI 세션 상태를 한 화면에서 보고, 꼬인 세션은 멈추거나 넘겨받는다 |
| 사내 LLM·MCP 게이트웨이 | 허용 모델 목록과 도구 접근 정책을 걸고, PR당 비용을 집계한다 |
| 무인 백그라운드 에이전트 | 운영 환경 삭제·배포 같은 명령 전에 사람 승인을 비동기로 받는다 |
| 보안·감사 검토 | 감사 기록으로 에이전트가 어떤 도구와 데이터에 접근했는지 추적한다 |