에이전트 안전을 위한 런타임 계약
파일 변경, 코드 실행, 메시지 전송, 데이터베이스 수정처럼 외부 상태를 바꾸는 에이전트에 왜 모델 정렬만으로 부족한지 설명하고, 도구 허용 목록·권한 분리·실행 전 검증·인간 승인·감사 로그를 제품 출시 기준으로 삼는 방법을 제시한다.

에이전트를 제품에 넣는 팀이 지금 내려야 할 결정은 “어떤 모델이 더 안전한가”만이 아니다. 더 중요한 질문은 “어떤 행동을 모델 밖에서 허용하지 않을 것인가”다. 코드 실행, 파일 변경, 메시지 전송, 데이터베이스 수정처럼 외부 상태를 바꾸는 에이전트라면 RLHF, DPO, Constitutional AI 같은 학습 기반 정렬을 안전의 최종 방어선으로 두기 어렵다. 모델은 행동을 제안할 수 있다. 그러나 실행 여부는 하네스와 샌드박스가 계약으로 강제해야 한다.
이 주장은 모델 정렬이 쓸모없다는 뜻이 아니다. 정렬은 위험한 제안을 줄이고, 사용자 의도 해석을 개선하며, 운영 비용을 낮출 수 있다. 그러나 자율 에이전트의 위험은 “나쁜 답변”에서 끝나지 않는다. 에이전트는 파일을 덮어쓰고, 외부로 메시지를 보내고, 데이터베이스를 수정하고, 코드를 실행할 수 있다. 한 번 실행된 행동은 사후 설명만으로 되돌릴 수 없는 경우가 많다. 따라서 안전 속성을 모델 내부에 주입하는 접근만으로는 부족하다는 문제 제기가 가능하다.
런타임 계약은 안전 프롬프트가 아니다
런타임 계약은 “하지 말라”는 지시문이 아니다. 실행 계층의 강제 규칙이다. 관련 연구에서 제시된 Agent Behavioral Contracts는 계약을 네 가지 요소로 나눈다. 전제조건, 불변조건, 거버넌스 정책, 복구 메커니즘이다. 해당 연구는 이 계약이 AgentAssert라는 런타임 enforcement 라이브러리로 구현된다고 설명한다. 에이전트 행동의 위반을 실행 중 탐지하고, 하드 제약과 복구 절차를 통해 행동 드리프트를 통제하는 방식이다.
이 구성이 유용한 이유는 안전 판단을 자연어 의도 해석에서 분리하기 때문이다. 예를 들어 “고객에게 필요한 안내를 보내라”는 목표는 모델이 해석한다. 그러나 “승인 없는 외부 발송 금지”, “특정 테이블의 삭제 쿼리 차단”, “작업 디렉터리 밖 파일 쓰기 금지”, “허용 목록에 없는 도구 호출 금지”는 실행 하네스가 판단할 수 있다. 모델이 그럴듯한 이유를 만들어도 계약 위반이면 실행되지 않는다.
여기서 핵심은 예방과 복구가 함께 있어야 한다는 점이다. 예방 규칙은 위험 행동을 실행 전에 막는다. 복구 메커니즘은 이미 감지된 위반이나 실패 이후 상태를 되돌리거나, 중단하거나, 인간 검토로 넘긴다. 코드 실행과 데이터 수정이 포함된 워크플로에서는 둘 중 하나만으로 충분하지 않다. 차단 규칙이 너무 좁으면 사고가 날 수 있고, 너무 넓으면 에이전트의 활용 범위가 줄어든다. 복구 경로가 없으면 작은 예외도 전체 워크플로 중단으로 이어질 수 있다.
제품 결정 기준: “모델 신뢰도”가 아니라 “행동 반경”으로 나눠라
실무에서 적용할 수 있는 결정 규칙은 비교적 단순하다.
에이전트가 읽기 전용 검색, 초안 작성, 분류처럼 외부 상태를 바꾸지 않는다면 학습 기반 정렬, 시스템 프롬프트, 로깅, 사후 검토만으로 시작할 수 있다. 물론 이 경우에도 개인정보나 보안 정보 노출 같은 별도 위험은 남는다.
반대로 에이전트가 파일을 변경하거나, 코드를 실행하거나, 외부 메시지를 보내거나, 데이터베이스를 수정한다면 런타임 계약을 출시 조건으로 삼아야 한다. 이때 최소 요구사항은 도구 허용 목록, 권한 분리, 실행 전 검증, 고위험 행동의 인간 승인, 감사 로그다. Anthropic의 실무 지침은 에이전트의 자율성이 유용성을 만들 수 있지만, 사람의 감독이 줄어들수록 사용자 의도 오해와 의도치 않은 결과의 여지가 커진다고 설명한다. 이 위험은 더 친절한 모델 응답만으로 닫히지 않는다.
특히 데이터베이스 수정과 외부 메시지 전송은 별도 등급으로 봐야 한다. 데이터베이스 수정은 내부 상태를 망가뜨릴 수 있고, 메시지 전송은 조직 밖으로 영향을 확장한다. 이 두 행동은 모델이 “확신한다”고 말하는지 여부와 무관하게 승인, 검증, 롤백 가능성을 요구한다.
비용은 실제다. 그래서 계약을 작게 시작해야 한다
런타임 계약은 공짜가 아니다. 도구 허용 목록과 결정론적 검증은 에이전트의 행동 범위를 줄인다. 최소 권한과 인간 승인은 독립 실행 범위를 낮춘다. 고위험 워크플로의 인간 검토는 지연을 만든다. 계층형 제어, 감사, 관측성을 구현하려면 추가 엔지니어링과 운영 투자가 필요하다. 제공된 근거만으로는 이 비용이 특정 벤치마크 성능을 얼마나 낮추는지 말할 수 없다.
그래서 “모든 것을 계약화하라”가 아니라 “되돌리기 어려운 행동부터 계약화하라”가 더 적절하다. 첫 버전의 계약은 넓고 추상적인 윤리 원칙보다 실행 가능한 금지·승인 규칙이어야 한다. 예를 들면 다음과 같은 형태다.
- 허용된 도구만 호출할 수 있다.
- 지정된 경로 밖에는 파일을 쓸 수 없다.
- 삭제·대량 수정·외부 발송은 사전 승인이 필요하다.
- 실패 시 재시도 횟수와 중단 조건을 둔다.
- 위반은 로그로 남기고, 복구 또는 인간 검토로 전환한다.
이 규칙들은 모델의 능력을 낮추려는 장치가 아니다. 대신 모델이 그럴듯한 이유로 위험 행동을 정당화할 수 없게 만든다. 에이전트 제품의 안전 설계에서 이 차이는 중요하다.
이 주장이 아직 증명하지 않는 것
제공된 근거는 런타임 계약이 왜 필요한지와 어떤 구성 요소로 설계될 수 있는지를 뒷받침한다. 그러나 특정 방식의 계약이 모든 에이전트 작업에서 최적이라는 정량 결과까지 제공하지는 않는다. 성능 저하, 사용자 만족도 변화, 사고 감소율 같은 수치는 별도 실험이 필요하다.
따라서 지금의 합리적 결론은 보수적이다. 학습 기반 안전 정렬을 계속 쓰되, 외부 상태를 바꾸는 에이전트에서는 그것을 최종 통제 장치로 취급하지 말아야 한다. 출시 판단은 모델 평가 점수만으로 내리기 어렵다. 위험 행동이 실행 전에 차단되는지, 위반 시 복구 경로가 있는지, 승인과 감사가 남는지를 함께 봐야 한다.
다음으로 읽기
- AMIE 화상상담 평가 기준
- EEG 감정인식 다중시간 모델 기준
- AI 에이전트 평가는 운영 보안 문제다
- 산업 LLM 아키텍처 선택 기준
- 개인화 LLM, 개인별 모델보다 컨텍스트 조정
참고 자료
업데이트 받기
주간 요약과 중요한 업데이트만 모아서 보내드려요.
오류를 발견했나요? 정정/오류 제보로 알려주시면 검토 후 업데이트에 반영할게요.