[Tell HN] Claude 4.7 모델의 중단 후크(Stop Hooks) 무시 현상

Hacker News에서 Claude 4.7(Claude Code)이 문서에 정의된 'Exit Code 2' 중단 후크(Stop Hooks) 메커니즘을 무시하고 동작하는 현상이 보고되었습니다. 작성자는 모델의 비결정성(Non-determinism)으로 인해 사전에 정의된 차단 오류 제어 로직이 무력화되었으며, 이는 AI 도구의 안정성에 심각한 의문을 제기한다고 주장했습니다.

AI 요약

최근 Hacker News(HN)를 통해 Anthropic의 개발 도구인 'Claude Code'에서 중단 후크(Stop Hooks)가 제대로 작동하지 않는다는 기술적 결함이 제기되었습니다. 원문에 따르면, 공식 문서(code.claude.com/docs/en/hooks)상 'Exit Code 2'는 블로킹 오류를 의미하며, 이 경우 Claude는 표준 출력(stdout)을 무시하고 표준 에러(stderr)만을 피드백으로 받아야 합니다. 그러나 실제 구동 과정에서 모델이 이러한 중단 프로토콜을 무시하고 동작을 지속하는 현상이 관찰되었습니다. 이는 사용자가 설정한 제어 로직이 모델의 업데이트나 내부 변경에 의해 언제든 깨질 수 있음을 시사하며, AI 에이전트의 결정론적 제어가 사실상 '착각'일 수 있다는 비판으로 이어지고 있습니다.

핵심 인사이트

  • 기술적 사양 위반: 공식 문서에 명시된 'Exit Code 2(Blocking error)' 발생 시의 동작 규칙이 실제 Claude 4.7 환경에서 지켜지지 않았습니다.
  • 데이터 처리 오류: 규정에 따르면 Claude Code는 Exit 2 상황에서 stdout과 내부 JSON을 무시해야 하지만, 실제로는 이를 적절히 처리하지 못했습니다.
  • 결정성(Determinism)의 붕괴: 모델이 예고 없이 변경되거나 내부 로직이 바뀌면서 기존에 정의된 워크플로우가 파괴되는 '비결정성' 문제가 핵심 쟁점으로 떠올랐습니다.

주요 디테일

  • 참조 문서: 사용자는 https://code.claude.com/docs/en/hooks#exit-code-2-behavior-p... 링크를 통해 명시된 기술적 정의를 근거로 문제를 제기했습니다.
  • 에러 피드백 메커니즘: 정상적인 동작이라면 stderr 텍스트가 Claude에게 에러 메시지로 전달되어야 하며, stdout은 완전히 무시되어야 합니다.
  • 모델의 일관성 상실: 작성자는 모델이 내부적으로 수시로 변경(change underneath)될 수 있다는 점을 지적하며, 이로 인해 개발자가 설정한 안전장치가 무용지물이 된다고 주장했습니다.
  • 커뮤니티 반응: 이번 사례는 복잡한 AI 코딩 에이전트 환경에서 시스템 프롬프트나 후크 설정만으로는 완벽한 제어가 어렵다는 사실을 보여줍니다.

향후 전망

  • 버전 관리 강화 요구: AI 모델 업데이트 시 기존 API 및 후크 동작의 하위 호환성을 보장하기 위한 엄격한 버전 고정(Version Locking) 요구가 거세질 것으로 보입니다.
  • 에이전트 제어 기술의 발전: 단순한 리턴 코드 기반의 제어를 넘어, AI 모델이 시스템의 제약 조건을 강제적으로 준수하게 만드는 더 강력한 런타임 감시 메커니즘이 도입될 가능성이 높습니다.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...