Qwen3.6-Max-Preview 릴리스 노트 / 새로운 내용
Qwen3.6-Max-Preview는 Qwen이 제공하는 독점 프리뷰 모델로, Qwen3.6-Plus에 비해 에이전시 코딩, 세계 지식, 그리고 지시 수행 능력을 향상시켰습니다.
기술 개선 및 성능
Qwen3.6-Max-Preview는 여러 주요 벤치마크에서 Qwen3.6-Plus에 비해 측정 가능한 성능 향상을 보여줍니다. 모델은 더 강력한 세계 지식과 향상된 지시 수행 능력을 보이며, 특히 에이전시 코딩 작업에 최적화되었습니다.
에이전시 코딩
Qwen3.6-Max-Preview는 SWE-bench Pro, Terminal-Bench 2.0, SkillsBench, QwenClawBench, QwenWebBench, SciCode 등 여섯 주요 코딩 벤치마크에서 최고 점수를 기록했습니다. Qwen3.6-Plus와 비교했을 때 다음과 같은 개선이 있습니다:
- SkillsBench: +9.9
- SciCode: +6.3
- NL2Repo: +5.0
- Terminal-Bench 2.0: +3.8
세계 지식 및 지시 수행
모델은 다음 벤치마크에서 Qwen3.6-Plus 대비 증가한 수치를 통해 더 강력한 세계 지식과 향상된 지시 수행 능력을 보여줍니다:
- SuperGPQA: +2.3
- QwenChineseBench: +5.3
- ToolcallFormatIFBench: +2.8
API 및 통합
Qwen3.6-Max-Preview는 Alibaba Cloud Model Studio API를 통해 qwen3.6-max-preview 이름으로 제공됩니다. 또한 Qwen Studio에서 인터랙티브 채팅으로 사용할 수 있습니다.
Thinking Feature
API는 preserve_thinking 기능을 지원하며, 이를 통해 모델은 메시지의 이전 모든 턴에서 생각한 내용을 보존할 수 있습니다. 이 기능은 컨텍스트와 추론 흔적을 유지하기 위해 에이전시 작업에 권장됩니다.
Compatibility
Alibaba Cloud Model Studio는 OpenAI 사양과 호환되는 채팅 완성 및 응답 API를 포함한 산업 표준 프로토콜을 지원하며, Anthropic과 호환되는 API 인터페이스도 제공합니다.
구현 예시
Qwen3.6-Max-Preview를 사용하려면 OpenAI 호환 API와 OpenAI Python 클라이언트를 이용해 다음 환경 변수가 필요합니다:
DASHSCOPE_API_KEY: Alibaba Cloud Model Studio에서 발급받은 API 키.DASHSCOPE_BASE_URL: 호환 모드 API의 기본 URL (베이징, 싱가포르, 미국 버지니아 지역에서 사용 가능).DASHSCOPE_MODEL: 모델 이름, 다른 모델을 사용하려면 재정의합니다.
from openai import OpenAI
import os
api_key = os.environ.get("DASHSCOPE_API_KEY")
if not api_key:
raise ValueError("DASHSCOPE_API_KEY is required.")
client = OpenAI(
api_key=api_key,
base_url=os.environ.get("DASHSCOPE_BASE_URL", "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"),
)
messages = [{"role": "user", "content": "Introduce vibe coding."}]
model = os.environ.get("DASHSCOPE_MODEL", "qwen3.6-max-preview")
completion = client.chat.completions.create(
model=model,
messages=messages,
extra_body = {
"enable_thinking": True,
"preserve_thinking": True,
},
stream=True
)
reasoning_content = ""
answer_content = ""
is_answering = False
print("\n" + "=" * 20 + "Reasoning" + "=" * 20 + "\n")
for chunk in completion:
if not chunk.choices:
continue
delta = chunk.choices[0].delta
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
reasoning_content += delta.reasoning_content
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "Answer" + "* 20 + "\n")
is_answering = True
print(delta.content, end="", flush=True)
answer_content += delta.content