426
에이전트 시대의 AI 시스템 설계
7.2.4
고려사항
코드 실행 패턴은 반드시
모래상자 환경
에서 수행해야 한다. 모래상자는
LLM
이 생성한 코드를
호스트 시스템에 해가 될 여지 없이 안전하게 실행할 수 있는 격리된 공간을 제공한다. 일반적
으로 모래상자 환경은
CPU
, 메모리, 네트워크 접근, 실행 시간 등에 제약이 있으며, 무한 루
프나 자원 고갈을 방지하기 위해 모니터링된다. 흔히 도커 같은 컨테이너 기술이나 가상머신
(
VM
), 또는 강력한 보안 경계
security
boundary
가 있는 특수 런타임 환경으로 구현된다.
더 나아가서, 모래상자 환경에서도
LLM
이 생성한 코드를 즉시 실행하는 대신 검증부터 하는
것이 유익할 수 있다. 이때 코드 검증 방식은 간단하게는 구문 오류
syntax
error
를 확인하는 것부터
정적 코드 분석이나 형식적 정확성 검사 같은 더 복잡한 절차를 적용하는 것까지 다양하다.
모래상자와 코드 검증이 있다고 해도 보안은 여전히 코드 실행 패턴의 난제이다. 악의적인 사
용자는 자원 제약을 초과하거나, 데이터를 유출하거나, 해로운 코드를 생성하는 프롬프트를 만
들려고 시도할 수 있다. 또한 모래상자
OS
나 격리 메커니즘의 취약점을 통해 악성 코드가 호
스트 시스템에 침투할 수 있으므로 모래상자 컨테이너를 최신 상태로 유지해야 한다.
컴파일러 오류나 기타 검증 및 실행 시점 검사 실패 결과를
LLM
에 다시 보내서
LLM
이 코드를
수정하고 재시도하는 접근법도 유용하다 (제
6
장의 §
6
.
2
“패턴
18
: 성찰” ...