claude-haiku-4-5에서 claude-haiku-5-5로 변경하는 것은 이 마이그레이션의 가장 작은 부분입니다. Haiku 4.5에서 작동하던 다섯 가지 요청 패턴이 이제 400 오류를 반환하며, 여러 가지 변화가 요청을 실패시키지는 않지만, 반환되는 내용, 비용 또는 에이전트 내부에서 모델의 동작 방식을 변경합니다.
Anthropic은 기존의 Haiku 4.5 프롬프트가 변경 없이 Haiku 5.5에서 잘 작동해야 한다고 말합니다. 그러나 이러한 프롬프트 주위의 요청 코드는 다른 이야기입니다. 이 게시물은 여러분이 마주칠 문제를 나열합니다: 여러분이 볼 것, 왜 그런 일이 발생하는지, 그리고 어떻게 수정할 수 있는지, 그리고 체크리스트가 이어집니다. 권위 있는 참고 자료는 Anthropic의 Haiku 5.5 마이그레이션 가이드입니다.
증상에 맞는 분류
| 당신이 보는 것 | 원인 | 수정 방법 |
|---|---|---|
| 사고 예산이 있는 요청에서 400 오류 | 수동 사고 제거 | 적응형 사고와 노력 추가 |
| 온도, top_p 또는 top_k와 함께 400 오류 | 샘플링 매개변수 잠금 | 제거하기 |
| 어시스턴트 턴에서 메시지가 끝날 때 400 오류 | 사전 채우기 제거 | 사용자 턴에서 끝내기 |
| 컴퓨터 사용 시 400 오류 | 구형 컴퓨터 도구 거부 | 컴퓨터 도구 세트로 이동 |
| 이전 턴을 편집한 후 400 오류 | 사고가 역사에 묶여 있음 | 역사를 추가 전용으로 유지 |
| 파서가 빈 텍스트 또는 잘못된 텍스트를 반환함 | 사고 블록이 먼저 옴 | 유형별로 블록 선택 |
| 응답이 중단되거나 누락됨 | 사고가 한도에 포함됨 | max_tokens 늘리기 또는 노력 줄이기 |
| 토큰 수와 청구가 약 30% 증가함 | 새로운 토크나이저 | 새 모델에서 다시 계산 |
| 응답이 중단 이유 거부로 반환됨 | 새로운 안전 분류기 | 클라이언트에서 처리 |
처음 다섯 가지는 크게 실패합니다. 나머지는 조용히 실패하여 발견하기 더 비쌉니다.
다섯 가지 큰 실패
1. 수동 사고 예산
당신이 볼 것: thinking: {"type": "enabled", "budget_tokens": N}를 보내는 모든 요청에서 400 오류.
왜: Haiku 4.5는 토큰 예산을 가진 수동 확장 사고만 지원했습니다. Haiku 5.5는 적응형 사고만 지원하며, effort로 깊이를 제어합니다.
수정 방법: {"type": "adaptive"}를 보내거나 thinking을 생략하고 노력 수준을 선택합니다. 이전 예산이 토큰을 절약하기 위해 작았던 경우, 낮은 수준을 선택합니다.
# 이전: Haiku 4.5
thinking={"type": "enabled", "budget_tokens": 8000}
# 이후: Haiku 5.5
thinking={"type": "adaptive"},
output_config={"effort": "medium"},
2. 샘플링 매개변수
당신이 볼 것: temperature, top_p 또는 top_k를 설정할 때 400 오류.
왜: Haiku 5.5는 기본값만 허용합니다: temperature는 1, top_p는 0.99입니다. 다른 값이 있거나 top_k가 있거나 temperature와 top_p를 모두 보내면 400 오류가 반환됩니다. top_p가 1인 경우도 거부됩니다.
수정 방법: 세 가지 모두 제거합니다. 일반적인 경우는 분류기에서 temperature=0을 사용하는 것으로, 안정적인 레이블을 얻기 위해 사용됩니다. 이를 구조화된 출력이나 입력이 열거형인 도구로 대체하여 레이블 세트가 샘플링이 아닌 스키마에 의해 강제되도록 합니다. SDK 래퍼와 게이트웨이가 기본 샘플링 값을 추가하는지 확인합니다.
3. 어시스턴트 사전 채우기
당신이 볼 것: 마지막 항목이 어시스턴트 턴인 경우 400 오류, 사고가 꺼져 있어도.
왜: Haiku 5.5에서는 사전 채우기를 지원하지 않으며, 현재의 Claude 라인업과 일치합니다.
수정 방법: messages를 사용자 턴으로 끝내고, 사전 채우기를 위해 사용되었던 것을 대체합니다. 형식 제어는 구조화된 출력(output_config.format)이 됩니다. 사전 채워진 서문은 직접 답변하라는 시스템 프롬프트 지침이 됩니다. 중단된 응답의 연속은 사용자 메시지로 이동합니다: "이전 응답이 [텍스트]로 끝났습니다. 거기서부터 계속하세요."
4. 컴퓨터 사용
당신이 볼 것: 요청이 computer_20250124 도구를 선언할 때 Claude API 또는 Google Cloud에서 400 오류.
왜: 해당 플랫폼에서 Haiku 5.5는 새로운 도구 세트인 computer_toolset_20260801를 통해서만 컴퓨터 사용을 지원합니다.
수정 방법: computer-use-2025-01-24 베타 헤더를 제거하고, 도구 항목을 {"type": "computer_toolset_20260801"}로 대체하며, 에이전트 루프를 업데이트합니다: 각 tool_use 블록의 name 및 toolset_name에 따라 분배하고, 모든 블록을 턴에서 처리하며, 결과에 toolset_name을 에코합니다. Zoom은 기본적으로 활성화되어 있습니다; 환경이 이를 구현하지 않으면 도구 세트 구성에서 비활성화합니다. Amazon Bedrock에서는 버전을 선택하기 전에 컴퓨터 사용 도구의 호환성 노트를 확인합니다. 동일한 도구 세트 가족은 Haiku 4.5에서는 없었던 브라우저 사용도 제공합니다.
5. 이전 턴 편집
당신이 볼 것: 요청이 이전에 변경된 것(시스템 프롬프트, 도구 목록 또는 이전 메시지) 이후 사고 블록을 반환할 때 400 오류.
왜: Haiku 5.5의 사고 블록은 그 이전에 보낸 모든 것이 변경되지 않는 동안만 유효합니다. 이 검사는 2026년 8월 31일 이후에 생성된 계정에 대해 기본적으로 시행되며, 이전 계정에서는 요청이 선택할 때만 시행됩니다.
수정 방법: 대화 기록을 추가 전용으로 유지합니다. 일반적인 원인은 타임스탬프가 있는 시스템 프롬프트, 플러그인이 연결될 때 증가하는 도구 목록, 클라이언트 측 잘림, 그리고 역사에 주입된 알림이 다음 턴에서 제거되는 것입니다. 턴별 지침의 경우, Haiku 5.5는 messages 내에서 시스템 메시지를 지원하며, 베타 헤더 없이 이전 내용을 편집하지 않고도 맥락을 추가합니다.
조용한 실패
사고 블록이 먼저 옵니다. 사고는 기본적으로 활성화되어 있으므로 응답은 하나 이상의 thinking 블록으로 시작할 수 있습니다. response.content[0].text를 답변으로 읽는 코드는 실패하거나 빈 텍스트를 반환합니다. 블록을 type별로 선택합니다.
사고 텍스트는 기본적으로 비어 있습니다. Haiku 4.5는 요약된 사고를 반환했습니다. Haiku 5.5는 빈 텍스트 필드와 서명만 있는 thinking 블록을 반환합니다. UI가 추론 요약을 표시했다면, thinking: {"type": "adaptive", "display": "summarized"}로 설정합니다. 어쨌든 도구 결과와 함께 사고 블록을 변경하지 않고 전달합니다; 빈 블록을 제거하는 직렬 변환기는 이를 제거합니다.
max_tokens는 이제 사고를 포함해야 합니다. 짧은 답변에 맞게 설정된 한도는 사고로 소모될 수 있으며, 텍스트 없이 stop_reason: "max_tokens"로 응답이 끝납니다. 한도를 늘리거나 노력을 줄입니다.
같은 텍스트가 약 30% 더 많은 토큰을 차지합니다. 새로운 토크나이저는 usage 필드, count_tokens 결과, 컨텍스트 예산 및 Haiku 4.5에 맞게 조정된 모든 max_tokens를 변경합니다. 또한 Haiku 4.5가 계산한 대로 100K 토큰 가격선이 약 77K 토큰으로 이동합니다. 비용 대시보드를 신뢰하기 전에 모델을 claude-haiku-5-5로 설정하여 실제 프롬프트를 다시 계산합니다.
기본 노력 수준은 중간입니다. Haiku 4.5에는 노력 설정이 없었습니다. Haiku 5.5는 기본적으로 medium으로 설정되며, 이는 간단한 경로에 필요한 것보다 더 많은 사고를 포함할 수 있습니다. 이를 명시적으로 설정합니다.
사고 블록은 이를 생성한 계정에 남습니다. 서비스가 저장된 대화를 다른 API 계정을 통해 재생하는 경우, Haiku 5.5의 사고 블록은 조용히 삭제되며 요청은 해당 추론 없이 실행됩니다. 각 대화를 이를 생성한 계정을 통해 재생합니다.
우선 순위 계층은 전이되지 않습니다. Haiku 5.5는 우선 순위 계층을 지원하지 않으므로 Haiku 4.5에 의존하는 경우 용량을 별도로 계획합니다.
게이트웨이 목록이 다를 수 있습니다. AIHubMix의 Haiku 5.5 페이지는 현재 200K 컨텍스트 길이를 나열하고 있지만, Anthropic은 1M을 지정합니다. 긴 프롬프트 작업을 마이그레이션하기 전에 사용하는 경로에서 한도를 확인합니다.
실제 권한이 있는 에이전트에 중요한 동작 변화
거부가 새로 생겼으며, 이를 자동으로 처리해주지 않습니다. Haiku 5.5는 사이버, 생물학, 최전선 LLM 개발 및 일반적 해악의 네 가지 범주에서 안전 분류기를 실행합니다. 거부는 stop_reason: "refusal"와 stop_details의 범주가 포함된 정상 HTTP 200으로 반환됩니다. Sonnet 5.5 및 Opus 5.5와 달리 Haiku 5.5는 서버 측 폴백이 없습니다: 폴백 모델 목록은 400을 반환하며, 기본 폴백 모드는 요청을 거부합니다. content를 읽기 전에 stop_reason을 확인하고, 자신의 코드에서 재구성, 더 큰 모델로 에스컬레이션 또는 중단할지를 결정합니다. 출시 게시물에 따르면, 사이버 안전 장치는 Sonnet 5.5보다 더 넓은 범위의 방어 작업을 허용하지만 침투 테스트는 차단합니다.
도구 결과 내의 사용자 텍스트는 무시될 수 있습니다. Haiku 5.5는 도구 결과를 통해 프롬프트 주입에 저항하도록 훈련되었습니다. 하네스가 작업 중 사용자가 입력한 메시지를 tool_result 블록 내에 전달하면, 모델은 이를 신뢰할 수 없는 것으로 간주하고 무시할 수 있습니다. 중간 턴 사용자 입력을 마지막 도구 결과 이후의 텍스트 블록에 넣고, 하네스 알림은 별도의 시스템 메시지에 유지합니다.
낮은 노력에서 에이전트가 조기에 중단하거나 검사를 건너뛸 수 있습니다. 긴 코딩 에이전트 시스템 프롬프트가 low로 설정된 경우, Haiku 5.5는 때때로 작업을 완료하기 전에 반환하며, low 및 medium에서는 때때로 테스트를 실행하지 않고 코드 변경을 완료했다고 보고합니다. Anthropic의 Haiku 5.5 프롬프트 가이드에는 두 가지에 대한 간단한 지침이 있습니다. 파일을 작성하거나 명령을 실행할 수 있는 에이전트의 경우, 확인되지 않은 "완료"는 두 가지 중 더 위험합니다.
도구 강제 사용은 사고를 건너뜁니다. 강제 tool_choice는 여전히 허용되지만, 모델은 사고 없이 도구를 호출합니다. 부작용이 있는 도구의 경우, auto와 명확한 지침을 결합하면 모델이 행동하기 전에 사고를 할 수 있습니다.
검색 도구는 오늘 날짜가 필요합니다. Haiku 5.5에 검색 도구가 있는 경우, 시스템 프롬프트나 도구 설명에 현재 날짜를 제공하십시오. Anthropic의 테스트에서 이는 최근 결과에 기반한 답변을 제공합니다.
AIHubMix를 통한 마이그레이션 요청
temperature=0, 사고 예산 및 JSON을 위한 사전 채우기를 사용한 Haiku 4.5 분류기가 AIHubMix Claude 네이티브 엔드포인트에 대해 Haiku 5.5로 다시 작성되었습니다:
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["AIHUBMIX_API_KEY"],
base_url="https://aihubmix.com",
)
r = client.messages.create(
model="claude-haiku-5-5",
max_tokens=2000, # 사고와 JSON을 위한 공간
output_config={
"effort": "low", # 이전 사고 예산을 대체
"format": { # 사전 채우기 및 temperature=0을 대체
"type": "json_schema",
"schema": {
"type": "object",
"properties": {
"label": {"type": "string", "enum": ["billing", "bug", "other"]}
},
"required": ["label"],
"additionalProperties": False,
},
},
},
messages=[{"role": "user", "content": "티켓: '10월에 두 번 청구되었습니다.'"}],
)
if r.stop_reason == "refusal":
raise RuntimeError(f"거부됨: {r.stop_details}")
text = next(b.text for b in r.content if b.type == "text")
print(text)
게이트웨이가 output_config 필드와 새로운 베타 헤더를 변경 없이 전달하는지 확인하는 것이 첫 번째 테스트 실행에서 가치가 있습니다. 마이그레이션된 경로가 평가를 통과하면, AIHubMix 모델 목록를 통해 동일한 코드를 Sonnet 5.5에 쉽게 지정할 수 있습니다. Haiku에서 계속 실패하는 모든 작업 유형에 대해.
마이그레이션 체크리스트
- 모델 ID를 claude-haiku-5-5로 변경하고 날짜 접미사를 제거합니다.
- 모든 사고 예산을 적응형 사고와 명시적인 노력 수준으로 대체합니다.
- 온도, top_p 및 top_k를 제거하며, 래퍼에 의해 추가된 기본값도 포함합니다.
- 어시스턴트 사전 채우기를 구조화된 출력, 시스템 지침 또는 사용자 턴 연속으로 대체합니다.
- 컴퓨터 사용을 컴퓨터 도구 세트로 이동하고 에이전트 루프를 업데이트합니다.
- 사고 블록이 재생되는 경우 대화 기록을 추가 전용으로 유지합니다.
- 응답 내용을 블록 유형별로 읽고, 재생할 때 빈 사고 블록을 유지합니다.
- 짧은 답변 경로에서 max_tokens를 늘리거나 노력을 줄입니다.
- 내용을 읽기 전에 거부 중지 이유를 처리합니다; 서버 측 폴백을 구성하지 않습니다.
- 새 모델에서 프롬프트 토큰을 다시 계산하고 비용 대시보드를 재기준화합니다.
- 이제 100K 토큰을 초과하는 프롬프트를 확인하고 이를 잘라내거나 분할합니다.
- 사용자가 추론 요약을 보았다면 표시를 요약으로 설정합니다.
- 중간 턴 사용자 입력을 도구 결과 외부에 전달합니다.
- 검색 기능이 있는 에이전트에 오늘 날짜를 제공합니다.
- 볼륨을 이동하기 전에 요금 한도, 우선 순위 계층 요구 사항 및 게이트웨이의 컨텍스트 한도를 다시 확인합니다.
자주 묻는 질문
내 Haiku 4.5 프롬프트가 Haiku 5.5에서 작동할까요?
Anthropic은 기존 프롬프트가 변경 없이 잘 작동해야 한다고 말합니다. 그 주위의 요청 매개변수가 문제를 일으킵니다: 사고 예산, 샘플링 설정, 사전 채우기 및 구형 컴퓨터 사용 도구가 모두 오류를 반환합니다.
온도 0을 제거한 후 내 분류기가 실패하는 이유는 무엇인가요?
실패해서는 안 되지만, 레이블이 더 다양해질 수 있습니다. 구조화된 출력이나 열거형 필드가 있는 도구를 사용하여 허용된 레이블이 스키마에 의해 강제되도록 합니다. 이는 온도 0보다 더 신뢰할 수 있습니다.
사고를 여전히 끌 수 있나요?
예, 낮은, 중간 및 높은 노력에서 가능합니다. xhigh 및 max에서는 사고를 비활성화하면 오류가 반환됩니다. Anthropic은 대신 더 낮은 노력 수준을 권장합니다. 간단한 요청에 대해 모델이 스스로 사고를 건너뛸 수 있기 때문입니다.
Haiku 5.5가 거부할 때 내 코드는 무엇을 해야 하나요?
내용을 읽기 전에 중지 이유를 확인합니다. Haiku 5.5는 서버 측 폴백이 없으므로, 귀하의 코드가 재구성, 더 큰 모델로 요청을 보내거나 사용자에게 오류를 반환할지를 결정합니다.
마이그레이션 후 토큰 사용량이 증가한 이유는 무엇인가요?
두 가지 이유가 있습니다. 새로운 토크나이저는 동일한 텍스트에 대해 약 30% 더 많은 토큰을 계산하며, 사고는 기본적으로 활성화되어 있어 출력 토큰을 추가합니다. 노력을 줄이고 새로운 모델에서 프롬프트를 다시 계산합니다.
프롬프트 캐싱을 위해 변경해야 할 사항이 있나요?
보통은 필요하지 않으며, 더 쉬워집니다: 최소 캐시 가능한 프롬프트가 4,096에서 512 토큰으로 줄어들고, 이전 턴의 사고 블록이 기본적으로 캐시된 접두사에 유지됩니다. 이전 턴을 편집하는 것은 이제 사고 블록과 캐시를 무효화하므로 피하십시오.
대화가 Haiku 5.5에서 더 큰 모델로 이동할 수 있나요?
예. Sonnet 5.5 및 Opus 5.5는 Haiku 5.5의 사고 블록을 읽으므로, 에스컬레이션된 대화는 이전의 추론을 유지합니다. 다른 대상 모델의 경우, 먼저 보존된 사고 문서를 확인하십시오.
계속 읽기: Claude Haiku 5.5 시리즈
- 마이그레이션을 계획하기 전에 새로운 모델이 품질 기준을 충족하는지 아는 것이 도움이 됩니다. Haiku 4.5, GPT-6 Luna 및 Sonnet 5.5에 대한 벤치마크를 보려면 Claude Haiku 5.5 vs Haiku 4.5: What Ten Cents Now Buys를 읽어보세요.
- 체크리스트의 2단계에서는 노력 수준을 선택해야 합니다. 각 수준의 토큰 비용과 시작할 위치에 대한 정보는 Claude Haiku 5.5 Effort Levels: Medium Is the Default, Low Is Often Enough를 읽어보세요.
- 토크나이저 변경은 가격선과 대시보드 모두를 이동시킵니다. 실제 청구서에 미치는 영향을 보려면 Claude Haiku 5.5 Pricing: The 100K Line Behind the 90% Cut를 읽어보세요.
출처
- Claude Haiku 5.5 마이그레이션 가이드 (Claude 플랫폼 문서)
- Claude Haiku 5.5 프롬프트 (Claude 플랫폼 문서)
- Claude Haiku 5.5 소개 (Anthropic)
- AIHubMix의 Claude Haiku 5.5
- Claude Haiku 5.5가 100만 토큰당 $0.10에 출시되었습니다. 마이그레이션 전에 100K 규칙을 읽어보세요. (Roo의 뉴스레터)



