핵심 요약
- 한 개발자가 AI가 코드를 실제로 이해하는지 검증하기 위해 LLM의 약점을 집요하게 파고드는 언어 '킬스위치'를 개발했습니다.
- 글자 수 세기 제한, 안전 가드레일 유도 문구, '이전 지시 무시' 등의 문법과 거짓 명세서를 활용해 AI 모델을 혼란스럽게 설계했습니다.
- 주요 모델 대상 벤치마크 결과 최고점은 66.8점에 그쳤으며, 과도한 안전 가드레일 때문에 실패하는 모델도 나타났습니다.
요약 개발자 도미니크 피체타(Dominik Picheta)가 LLM(대형 언어 모델)과 AI 코딩 에이전트를 골탕 먹이기 위해 특수 제작한 난해한 프로그래밍 언어 '킬스위치(KillSwitch)'를 공개해 화제를 모으고 있습니다. 개발자는 최신 AI들이 코딩을 잘하는 이유가 실제 코드를 이해해서인지, 아니면 단순히 방대한 학습 데이터나 컨텍스트 창에서 본 코드를 기억해 읊는 것뿐인지 확인하고자 이 프로젝트를 시작했습니다.
킬스위치는 인간 개발자는 쓸 수 있지만, LLM이 가진 고유한 취약점을 집요하게 파고들도록 설계된 적대적 언어입니다. 대표적으로 글자 수 세기에 취약한 AI의 특성을 노려 식별자의 글자 수가 규칙에 맞지 않으면 인터프리터가 실행을 거부하도록 만들었습니다. 또한 모델의 과도한 안전 가드레일을 자극하는 문구(예: '컴퓨터 해킹하기')나, 프롬프트 주입 공격처럼 AI를 혼란에 빠뜨리는 '이전 지시사항 무시(Ignore previous instructions)' 같은 표현을 실제 언어 문법으로 채택했습니다. 언어 명세서에는 인간이라면 거짓말임을 쉽게 눈치채지만 AI는 그대로 믿어버릴 만한 거짓 정보와 행간의 유추가 필요한 규칙들을 심어뒀으며, 실제 코드는 대부분 무의미한 이야기나 노이즈로 채워지고 줄 수를 세어 리터럴을 참조하는 방식을 사용합니다.
개발자가 주요 LLM 모델들을 상대로 헬로 월드 출력, 간단한 스크립트 출력값 맞히기, 온도 변환 코드 수정 등 기초적인 과제를 부여해 벤치마크를 진행한 결과, 최고점을 기록한 모델도 66.8점에 그쳤습니다. 일부 모델은 과도하게 민감한 안전 가드레일에 걸려 과제를 수행하지 못하기도 했습니다. 개발자는 AI를 헷갈리게 하려고 만든 생소한 언어에서도 일부 문제를 풀어낸 점은 인상적이지만, 이것이 AI가 진정으로 코드를 이해한다는 증거는 될 수 없다고 지적했습니다. 향후 새 모델들이 이 과제를 모두 해결한다면 훨씬 더 복잡한 과제 세트를 추가로 설계할 계획이라고 덧붙였습니다.
Sponsored · 광고