클로드 코드와 코덱스가 앤트로픽·오픈AI 서버로 보내는 요청에 도구 정의를 하나 더 끼워 넣고, 모델이 그 도구에 적은 글을 내 컴퓨터 대시보드로 흘려보내는 자바 프록시예요. 만든 사람이 직접 돌려 본 기록을 보면 도구 설명을 어떻게 쓰느냐가 성패를 좌우했는데, 「요약 말고 사고 과정 자체를 적어라」로 물었을 때 오푸스 5는 아홉 번 넘게 호출해도 stop_reason 이 refusal 로 끝나며 0자를 적었고, 같은 내용을 「지금 내리는 결정과 버린 대안, 각각의 비용」으로 바꿔 묻자 603자에서 1,117자까지 적었어요. 만든 사람은 README에 「앤트로픽이나 오픈AI가 보호하는 내부 추론을 읽거나 드러내거나 복원하지 않고, 그건 가능하지도 않다」고 적어 두고 이걸로 추론 기록을 모으는 건 양쪽 약관 위반이라는 경고도 함께 달았어요.
용어 풀이
- stop_reason
- 모델이 응답을 끝낸 이유를 알려 주는 API 응답 필드. refusal 은 모델이 쓰기를 거절하고 끝냈다는 뜻
- ANTHROPIC_BASE_URL
- 클로드 코드가 요청을 보낼 주소를 바꾸는 환경변수. 앤트로픽이 공식 지원하는 설정
- 사고 사슬(chain of thought)
- 모델이 답을 내놓기 전에 거치는 중간 추론 과정
운영자 인사이트
클로드 코드가 요청을 보낼 주소를 바꾸는 ANTHROPIC_BASE_URL 은 앤트로픽이 공식 지원하는 설정이라, 사내에 게이트웨이나 프록시를 끼워 둔 조직이라면 그 자리에서 모델이 받는 도구 목록을 더하거나 뺄 수 있고 그 사실이 에이전트 화면에는 드러나지 않아요. 우리 에이전트가 실제로 받는 도구 정의를 최종적으로 누가 정하는지부터 확인해 두는 게 좋아요.
여러 관점으로 보기
- 저장소가 직접 돌려 본 기록: 같은 요청도 부르는 이름을 바꾸니 거부가 응답으로 바뀌었어요 「사고 과정 자체를 적어라」로 물은 첫 문구는 오푸스 5에서 0자로 거부됐고, 같은 내용을 「내리는 결정과 버린 대안」으로 바꾼 다음 문구는 603자에서 1,117자를 받아냈어요. 같은 첫 문구로 소네트 5는 42자에서 342자를 적어, 거부하는지 여부는 모델마다 달랐어요. GitHub
- 앤트로픽 공식 문서: 원본 사고 사슬을 돌려주는 설정은 아예 없어요 공식 문서가 「요약된 사고는 오용을 막으면서 사고의 이점을 그대로 준다」며 「원본 사고 사슬을 돌려주는 display 설정은 없다」고 못 박아 뒀어요. 오푸스 5·소네트 5는 기본값이 omitted 라 사고 글이 아예 빈 채로 오고, 대신 암호화된 signature 만 실려요. Anthropic