메인 콘텐츠로 건너뛰기
AIHubMix OpenAI 호환 인터페이스가 Claude Thinking, Caching 및 Beta 기능을 심층 지원
OpenAI 호환 인터페이스를 Claude 시리즈 모델에 특화된 더 깊은 최적화로 업그레이드했습니다. 이제 thinking과 caching을 더 정확하고 편리하게 제어할 수 있습니다. 특히 다중 턴 대화의 interleaved thinking은 추가 파라미터 없이 원활한 통합을 가능하게 하여, 더 사용자 친화적으로 만들었습니다. 또한 Anthropic이 제공하는 beta 기능 활성화도 지원합니다.

1. 모델 Thinking (Extended Thinking)

1.1 Interleaved Thinking의 장점

Interleaved thinking이 활성화되지 않은 경우, 모델은 assistant 턴 시작 시 한 번만 thinking을 수행합니다. 도구 결과를 받은 후 후속 응답은 새 thinking 블록을 생성하지 않고 직접 생성됩니다:
Interleaved thinking이 활성화되면, 모델은 도구 결과를 받을 때마다 새 thinking 블록을 삽입하여 추론 체인을 형성합니다:
이를 통해 모델은 다음을 수행할 수 있습니다:
  • 도구 결과를 기반으로 2차 추론 수행, 단순히 출력을 연결하는 것이 아님.
  • 여러 도구 호출 사이의 체인 추론, 각 결정은 이전 단계의 분석에 기반합니다.
참조: Anthropic Interleaved Thinking

1.2 Thinking 활성화

다음 네 가지 방법 중 하나를 선택하여 thinking을 활성화할 수 있습니다:
우선순위 (여러 방법이 사용되는 경우): reasoning_effort > reasoning.max_tokens > reasoning.effort > -think 접미사
effort의 가능한 값: minimal / low / medium / high / xhigh

1.3 Thinking 반환

응답 메시지에는 두 개의 새 필드가 포함됩니다:
  • reasoning_content: Thinking 콘텐츠 (문자열), 표시용.
  • reasoning_details: Thinking에 대한 완전한 구조화된 정보, 다중 턴 대화에서 그대로 반환되어야 하며, 내부 구조는 공급자마다 다를 수 있습니다.
비스트리밍 예시 (관련 없는 필드 생략):
스트리밍 응답에서 thinking 콘텐츠는 delta.reasoning_contentdelta.reasoning_details를 통해 청크 단위로 전송됩니다. 완전한 스트리밍 연결 로직은 아래의 전체 예시를 참조하세요.

1.4 다중 턴 대화에서 Thinking 유지 (Interleaved Thinking은 내장되어 있으며 추가 파라미터가 필요하지 않음)

다중 턴 대화에서 모델이 추론 기능을 계속 유지할 수 있도록 하려면, 이전에 반환된 reasoning_details를 다음 라운드의 assistant 메시지에 그대로 배치하기만 하면 됩니다:
AihubMix는 요청에서 과거 thinking 정보를 감지하면 자동으로 interleaved thinking을 활성화하여, 모델이 도구 호출 결과를 받은 후 추가 파라미터 없이 심층 추론을 계속할 수 있도록 합니다.

1.5 완전한 예시

다음 두 예시는 완전한 다중 턴 Tool Call + interleaved thinking 프로세스를 보여줍니다: 사용자 문의 → 모델이 생각하고 도구를 호출 → 도구 결과 주입 (reasoning_details 유지) → 모델의 interleaved thinking이 최종 응답 제공. 비스트리밍 · Interleaved Thinking
스트리밍 · Interleaved Thinking

1.6 Thinking 강도 매핑 규칙

Effort 모드:
  • Opus 4.6 / Sonnet 4.6 이상: Anthropic의 네이티브 Adaptive Thinking effort 수준에 매핑됩니다.
  • 기타 모델: budget_tokens의 공식을 사용하여 계산됩니다:
Adaptive Thinking Effort 매핑: max_tokens 모드: Anthropic의 budget_tokens로 직접 할당됩니다. -think 접미사: Opus/Sonnet 4.6+는 adaptive thinking (effort=medium)을 사용하고, 기타 모델은 budget_tokens = min(10240, max_tokens - 1)로 설정되며, 기본 max_tokens는 4096입니다.

2. Prompt Caching

Chat 인터페이스를 통해 Claude 모델에 요청할 때 Prompt Caching을 사용할 수 있습니다. 메시지에 cache_control 중단점을 설정함으로써, 대형 텍스트 블록(역할 카드, RAG 데이터, 책 챕터 등)을 캐시하여 재사용할 수 있으며, 후속 요청은 캐시를 직접 명중하여 비용을 크게 절감할 수 있습니다.
Claude 공식 문서: Prompt Caching

2.1 캐싱 비용

2.2 지원되는 모델 및 최소 캐시 길이

중단점 수 제한: 요청당 최대 4개의 cache_control 중단점.

2.3 캐시 TTL

1시간 TTL의 쓰기 비용은 더 높지만, 긴 세션에서 반복 쓰기를 줄여 총 비용을 절약할 수 있습니다. Claude 4.5 이상의 모든 공급자(Anthropic, Amazon Bedrock, Google Vertex AI 포함)의 모든 모델은 1시간 TTL을 지원합니다.

2.4 사용법

system, user (이미지 포함), tools에서 cache_control 필드를 사용하여 캐시 중단점을 설정할 수 있습니다. 다음 예시는 주요 구조만 표시하며, 대형 텍스트 블록은 생략합니다. System 메시지 캐싱 (기본 5분 TTL):
User 메시지 캐싱 (1시간 TTL):
이미지 메시지 캐싱:
Tool 정의 캐싱: cache_control은 tool 객체의 최상위 수준(typefunction과 동일한 수준)에 배치됩니다:

2.5 캐시 상태 보기

응답의 usage는 자세한 캐시 정보를 기록하는 claude_cache_tokens_details를 반환합니다: 첫 번째 요청 (캐시 생성):
후속 요청 (캐시 적중):

3. anthropic-beta 요청 헤더

HTTP 헤더 anthropic-beta를 통해 Claude 모델의 beta 기능을 활성화할 수 있으며, AihubMix가 이를 Anthropic API에 그대로 전달합니다.

사용법

요청 헤더에 anthropic-beta를 추가하고, 값은 해당 beta 기능 식별자입니다:
사용 가능한 특정 beta 식별자에 대해서는 Anthropic API 문서를 참조하세요.

마지막 업데이트: 2026-06-01