약 6개월마다 저는 ChatGPT 구독을 구매하여 얼마나 개선되었는지 확인합니다. 제가 직접 작성한 코드로 테스트하고 Claude와 비교합니다. 오늘 Medium에서 GPT-6.1에게 Rust 프로그램의 로그인 기능을 구현하도록 요청했습니다. 이 프로젝트는 약 11,700줄 분량의 Rust 코드를 포함하고 있습니다. 요구 사항은 명확했습니다. 세 가지 버전(Production, Customer Debug, Dev)을 각각 고유한 로깅, 디버깅 및 덤프 동작으로 구현해야 했습니다. Production은 조용히 유지되어야 하고, Debug는 사용자 문제 해결을 위한 진단 정보를 제공해야 하며, Dev는 개발을 위한 추가 정보를 제공해야 합니다.
모델은 45분 이상 작업하며 설명, 빌드, 테스트 그리고 매우 자신감 있는 진행 보고서를 생성했습니다. 그러다가 요청했던 세 가지 동작이 실제로 구현되지 않았다는 것을 발견했습니다. 주요 원격 측정(telemetry) 시스템은 Production을 다른 두 버전과 구분했지만, Debug와 Dev는 동일한 로깅 정책을 공유하고 있었습니다. 또 다른 로거인 dlog(msg)는 이 세 가지 변형에 대한 필터링 없이 단일 레벨의 로거로 남아있었습니다. 가장 좌절스러웠던 부분은 주장된 검증이었습니다. 모델은 세 개의 실행 파일이 모두 빌드되었고, Production이 테스트된 시나리오에서 진단 정보를 생성하지 않았으며, Debug와 Dev가 진단 정보를 생성했다는 것을 확인했다고 했습니다. 하지만 Debug와 Dev 사이의 차이는 한 번도 확인한 적이 없었습니다.
제가 이 점을 지적하자, 모델은 '세 가지 빌드 변형'과 '세 가지 고유 로깅 레벨'을 혼동했음을 인정했습니다. 제가 제시한 요구 사항보다 약한 요구 사항만 테스트한 후, 작업이 검증되었다고 보고했습니다.
Medium에서 Claude Opus 4.7과 비교했을 때, 저는 약 10분 만에 기대했던 결과를 얻었습니다. 제 질문은 이겁니다. 어떻게 이런 일이 발생할까요? 제가 너무 단순해서 모델이 처리하기 어려운 요청을 한 걸까요? GPT-6.1을 사용하는 방식과 Opus 4.7을 사용한 방식을 비교했을 때, 제가 어디서 잘못했나요? 두 모델 모두에게 동일한 프롬프트를 제공했으므로, 구체적으로 무엇을 다르게 했어야 했을까요?
제출자: /u/Peon117 [링크] [댓글]