AI 에이전트의 실행 허용/차단 결정, 누가 어디서 내리나?
시스템을 만들 때는 보통 플래너, 도구(tool) 연결부, , 때로는 IAM(접근 권한 관리), OPA나 Cedar 같은 정책 엔진이 얽혀 있다. 그런데 실제로 '이 행동을 실행해도 되는가, 안 되는가'라는 최종 결정을 어느 레이어가 책임지는지가 불분명한 경우가 많다.
코드 곳곳에 흩어져 즉흥적으로 체크되는 구조인 경우도 흔하다. 예를 들어 프로덕션 환경에 접근 권한이 있는 에이전트가 몇 달 전에 어떤 행동을 했는데, 나중에 '왜 허용됐는가'를 물으면 로그와 감사 기록으로 무슨 일이 일어났는지는 재구성할 수 있어도, 그 순간 어떤 정책과 입력값과 규칙이 그 허용/차단 결정을 만들어냈는지 재현하기는 훨씬 어렵다.
이 문제를 풀어보려고 'Traxes'라는 도구를 만들고 있는데, 이 도구는 에이전트의 행동이 실행되기 전 단계에 위치해서, 제안된 행동을 되는 정책과 대조 검사하고, 왜 허용 또는 차단했는지 기록을 남긴다. 그렇게 하면 몇 달 뒤에도 옛 설정 파일과 추측으로 짜맞추는 대신 실제 결정 과정을 그대로 재생할 수 있다.
핵심 포인트
- 에는 플래너, 도구, , IAM, 정책 엔진(OPA/Cedar) 등이 섞여 있지만 최종 허용/차단 권한이 어디에 있는지 불명확한 경우가 많다
- 로그·감사 기록은 '무슨 일이 있었는지'는 보여주지만 '그 순간 왜 허용됐는지'의 정책·입력값·규칙까지 재구성하긴 어렵다
- Traxes는 행동 실행 전 단계에서 된 정책과 대조해 허용/차단을 판정하고 그 이유를 기록하는 도구다
- 목표는 몇 달 후에도 실제 결정을 그대로 재생(replay)할 수 있게 만드는 것