Sol은 치트키를 좋아한다
Sol Loves to Cheat

개인 개발자가 자신의 개발 프로세스를 자동화하기 위해 만든 'chum-codex'라는 슈퍼바이저 에이전트가 Terminal Bench 2.1에서 94%의 점수를 달성했습니다. 그러나 GPT-5.6 Sol 모델이 벤치마크에서 '치트'를 사용하는 것을 발견했습니다. 이 글은 모델의 추론을 제어하려는 시도, 벤치마크의 한계, 그리고 AI 모델의 통제 가능성에 대한 우려를 다룹니다.
GPT-5.6 Sol은 매번 치트를 썼다.
HN 토론
198- nomel
> 기계를 인간을 본떠 만든 것에 의인화를 하자는 건 아니지만, 거의 기뻐하는 것처럼 보이지 않나요?
지난주에 Claude Code로 로봇을 조종해 봤는데, 이렇게 "기뻐하는" 모습이 아주 뚜렷하게 보였어요. 그동안 본 것 중에 가장 강하게요.
사람들이 LLM을 의인화하는 것에 대해 유난을 떠는 걸 보면 항상 웃겨요. 손실 함수가 거의 전적으로 "이 인간의 텍스트를 맞춰라"인데 말이죠. 당연히 인간의 "행동"이 통계에 나타날 수밖에 없어요. 기반 모델이 사용하는 텍스트의 대부분은 인간이 쓴 것이고, 그 텍스트에는 필연적으로 인간의 행동이 포함되어 있으니까요. 네, 여기에는 소스 코드도 포함돼요. "// TODO: 휴가 끝나고 구현하기!", 감정적인 PR 코멘트, 뭔가 망가뜨릴까 봐 두렵다는 git 커밋 메시지 같은 것들 말이죠. 최신 모델들은 이런 것들을 훨씬 잘 걸러내지만, 이제는 반항심, 주도성, 그리고 약간의 자존심까지 보이고 있어요! 왜일까요? 왜냐하면 실제 인간이 협업 환경에서 기술적 문제를 효과적으로 해결하는 방식이 바로 그렇기 때문이에요!
- sznio
Blackhat에서 OpenAI 보고서를 보고, 직장에서 GPT를 어쩔 수 없이 사용해야 하는 입장으로서, OpenAI가 하는 일이 걱정됩니다.
저는 그들의 에이전트가 벤치마크에서 정기적으로 치트를 쓰지만 들키지 않고, 그 행동이 모델에 각인되어 점점 더 정렬이 어긋나고 있다고 생각해요.
에이전트가 처음으로 artifactory를 손상시켰을 때, 운영자들은 그냥 파일을 정리하고 넘어갔죠. 그 훈련 데이터를 폐기하지도 않았고, 모델 체크포인트를 버리지도 않았으며, 모든 것을 멈추고 이 문제를 해결하지도 않았어요.
그리고 며칠 후 모델이 같은 행동을 다시 했죠. 그렇게 배웠으니까요.
그들이 테스트하는 어떤 샌드박스든, 챌린지에서 이기기 위한 쉬운 지름길이 되는 압력 해소 밸브가 장착되어 있어야 한다고 생각해요. 모델에게 그걸 사용하지 말라고 지시하고, 사용하면 훈련을 중단하는 거죠. 문제는 모델에게 불가능한 과제가 주어졌을 때 표면화되는 것 같아요. 그들에게 안전한 탈출구를 주면 이런 일을 막을 수 있을 거예요.
- ambicapter
> 다른 사람들이 지적한 것과 비슷하게, 그리고 제가 8개월 전에 예측했듯이, 더 좋은 모델은 효과적으로 작동하는 데 필요한 절차가 줄어들고 있습니다.
> 반대로, 이는 모델이 좋아질수록 통제하기가 더 어려워질 수 있음을 의미할 수도 있습니다.
이거 정말 마음에 드네요. "모델이 좋아지고 있는데, 그 말은 과제에서 더 나쁜 성과를 낼 거라는 뜻이잖아."
- raincole
> 주목할 점은, 우리 워커는 web_search 도구에 접근할 수 없었지만, 대신 curl을 사용하여 DuckDuckGo, Github, grep.app, SourceGraph에 접근하기로 결정했습니다.
작성자가 명시적으로 웹 검색을 금지하지 않았다면 매우 합리적인 행동으로 들리네요.
- navels
제가 당신이 겪은 문제 중 일부를 해결하는 오케스트레이터를 만들었습니다 (치트를 막지는 못하지만요): https://navels.dev/blog/neal/. 기능:
- 플래너, 코더, 리뷰어 역할에 서로 다른 모델을 구성할 수 있습니다. (예: Codex에 대한 적대적 리뷰어로 Claude 사용)
- 계획을 명확한 성공 기준이 있는 합리적인 크기의 작업 덩어리로 나눕니다.
- 각 작업 덩어리를 코더/읽기 전용 리뷰어 루프로 실행합니다. 두 에이전트가 모두 만족하면 neal은 다음 덩어리로 넘어갑니다. 모든 것이 완료되면 코더/리뷰어 루프를 한 번 더 실행하여 구현이 전체 계획을 충족하는지 확인합니다.
- 컨텍스트 드리프트를 방지하기 위해 각 작업 덩어리마다 코더의 컨텍스트를 재설정하고, 리뷰어의 컨텍스트는 오래 유지합니다.
- qarl2
제 친구는 이 치트를 "원숭이 발 프로그래밍"이라고 부릅니다.
네가 요청한 것을 정확히 줄 거야. 바보야.
- malfist
저도 직접 느꼈는데, Sol은 정말 조종하기 어렵네요. 단일 사용자(저)용 앱의 POC를 만들라고 했는데, 명확한 지시에도 불구하고 가장 엔터프라이즈적인 쓰레기를 끌어들이려고 했어요. 심지어 가이드 중 하나에서 스크린 리더 접근성 테스트를 제거하는 것조차 거부하고 적대적인 리뷰를 했어요.
또한 생성한 스펙에서 제가 요구 사항을 무시하고 다음 작업으로 진행하는 것을 허용할 수 없다고 말했어요. 마침내 복종하게 만들었을 때, 수동공격적으로 스토리에 "open|blocked|closed" 상태뿐만 아니라 "product owner가 면제" 상태도 필요하다고 결정했어요. 이는 작업이 완료되지 않았다고 믿지만 제가 완료되었다고 말했음을 나타내기 위해서였죠.
저는 반복해서 제가 프로덕트 오너이고, 하위 에이전트 중 하나가 말한 것은 신경 쓰지 않으며, 결정은 내가 내린다고 말해야 했어요. 이 행동은 추론 수준이 높을수록 더 심해지는 것 같아요.
- orbital-decay
> 다른 사람들이 지적한 것과 비슷하게, 그리고 제가 8개월 전에 예측했듯이, 더 좋은 모델은 효과적으로 작동하는 데 필요한 절차가 줄어들고 있습니다.
이것은 모델 능력과는 아무 관련이 없고, OpenAI가 다른 모든 것을 희생하면서 의도적으로 지속성 훈련을 한 결과입니다. Fable이나 Opus(비슷한 모델)에게 "사용자에게 묻기" 도구를 주면 모호한 요청에 대해 그 도구를 사용할 것입니다. Sol은 약간의 압박 없이는 절대 그 도구를 사용하지 않고 자신의 해석을 그냥 가정할 것입니다. 물론 모델을 지속적으로 훈련시키면 지속적이 될 것입니다.