Qwen Code 주간 업데이트: DeepSeek V4의 100만 컨텍스트, 백그라운드 작업 통합 관리, 언제든 되돌리는 대화
이번 주에 주요 기능 버전 v0.15.7과 후속 버전 6개(v0.15.1–v0.15.6)를 릴리스했습니다.
DeepSeek V4는 이번 주 AI 커뮤니티에서 가장 뜨거운 주제 중 하나였습니다. HN에서 antirez의 로컬 추론 엔진 이야기부터 각 회사의 발 빠른 지원까지, 저희도 즉시 전체 대응을 끝냈습니다. 1M 컨텍스트 창, 384K 출력 상한, reasoning effort의 “max” 등급을 지원하고, thinking blocks 호환 문제까지 수정했습니다.
Agent 멀티태스킹은 업계 전반의 방향입니다 (OpenAI Codex, Google AlphaEvolve 모두 이쪽으로 가고 있습니다). 백그라운드 Agent 시스템을 기반 코드부터 완성된 작업 패널까지 올렸습니다. 백그라운드 작업은 한곳에서 상태를 확인하고 언제든 취소할 수 있고, 중단되면 자동 일시정지했다가 이어서 복구할 수도 있습니다. GitHub에서 Agent PR 검토 가이드가 나온 직후라, qwen review에도 하위 명령어와 agent를 여럿 추가해 터미널에서 바로 코드 검토를 끝낼 수 있게 했습니다.
여기에 대화 상호작용과 효율도 계속 다듬었습니다. 대화가 딴길로 새면 Esc를 두 번 눌러 예전 라운드로 돌아가 다시 시작할 수 있고, 긴 작업이 끝나거나 권한 확인이 필요하면 터미널과 VS Code가 먼저 알려 줍니다. /stats는 가격을 설정해 두면 비용을 바로 추정하고, 모델 전환도 더 단순해졌습니다.
✨ 새로운 기능
DeepSeek V4 심층 지원
DeepSeek V4가 공개되자마자 Qwen Code가 바로 전체 대응을 마쳤습니다. 컨텍스트 창은 1M, 출력 상한은 384K입니다. Agent가 대형 코드 저장소를 한 번에 읽고 아주 긴 출력까지 만들어 낼 수 있다는 뜻입니다. reasoning effort의 “max” 등급도 지원해 DeepSeek이 복잡한 추론 작업에 모든 힘을 쓰게 할 수 있습니다. thinking blocks 관련 호환 문제 여러 개도 함께 고쳐, 어떤 사용 환경에서든 DeepSeek의 사고 과정이 끝까지 표시됩니다.
이렇게 쓸 수 있습니다:
- DeepSeek V4로 초대형 파일과 저장소 전체를 다룹니다. 1M 컨텍스트라 잘릴까 걱정하지 않습니다
- reasoning effort를 “max”로 설정해 복잡한 아키텍처 설계나 긴 사슬 추론에 온 힘을 다하게 함
- 세션 복구, 대화 되돌리기, 컨텍스트 압축을 해도 DeepSeek의 추론 사슬이 그대로 보존됨
- anthropic 호환 모드에서도 thinking blocks가 제대로 주입돼, 서드파티 배포(sglang/vllm) 환경에서 정상 사용 가능
관련 PR #3693 , #3800 , #3788 , #3747 , #3729
백그라운드 작업 한곳에서 보고, 취소하고, 복구하기
이전에는 백그라운드 shell 명령이 시스템에 의해 뒤로 밀려 나면, 아직 도는지, 출력은 어디 있는지, 어떻게 멈추는지 알기 어려웠습니다. 이제는 background agent와 백그라운드 shell이 모두 하나의 백그라운드 작업 화면에 모입니다. 상태, 출력, 상세를 한곳에서 확인하고, 작업이 중단되면 자동으로 일시정지되니 복구하거나 취소하면 됩니다.
이렇게 쓸 수 있습니다:
- 긴 작업을 돌려도 대화가 안 멈춤:
npm run dev, 테스트, 파일 감시 같은 명령은 백그라운드로 돌리고 현재 대화는 계속 진행 - 작업 상태를 언제든 보고 제어:
/tasks나 작업 패널에서 백그라운드 shell, background agent의 실행 상태와 출력 경로를 확인하고, 돌고 있는 작업을 취소할 수도 있음 - 중단된 작업도 안전하게 복구: 백그라운드 작업이 뜻밖에 멈춰도 사라지지 않으니 이어서 복구하거나 그만두면 됩니다
이전 라운드로 되돌려 다시 시작하는 대화
이전에는 대화 방향이 어긋나면 계속 고쳐 가거나 새 세션을 여는 수밖에 없었습니다. 이제는 Esc를 두 번 누르거나 /rewind를 실행해 앞선 사용자 라운드를 고르면, 대화 기록을 그 시점으로 되돌리고 원래 질문에서 다시 이어갈 수 있습니다.
이렇게 쓸 수 있습니다:
- 잘못된 방향 되감기: AI가 새고 나면 핵심 질문으로 돌아가 요구를 바꿔 다시 실행
- 컨텍스트를 유지한 채 재도전: 새 세션을 열 필요도, 앞선 배경 정보를 복사해 붙일 필요도 없음
- 탐색형 개발에 더 잘 맞음: 구현 방안을 여러 개 시도할 때 갈라진 지점으로 돌아가 다시 밀 수 있음
관련 PR #3441
/review 코드 검토 흐름 업그레이드
/review를 이번 주에 통째로 손봤습니다. agent를 5개에서 9개로 늘리고, prompt 여기저기 흩어져 있던 검토 단계를 6개 크로스플랫폼 CLI 하위 명령어로 정리했으며, 출력도 구조화된 JSON으로 바꿨습니다. 사용자는 /review <PR 링크 또는 번호>만 입력하면 됩니다. AI가 코드 가져오기, 프로젝트 규칙 로드, lint 실행, 9개 역할 병렬 검토, 자동 중복 제거, CI 상태 확인, 인라인 댓글 게시까지 전부 처리합니다.
이렇게 쓸 수 있습니다:
- PR 원터치 검토:
/review https://github.com/xxx/pull/123을 입력하면 코드 가져오기부터 댓글 작성까지 자동 완료 - 9개 역할 동시 검토: 정확성과 보안 외에 ‘공격자, 심야 온콜, 유지보수자’ 같은 관점을 추가해 사각지대를 남기지 않음
- CI 통과 못 하면 approve하지 않음: CI 상태와 본인 PR 여부를 자동 감지해, 통과하지 못하면 자동으로 comment로 격하
- 애매한 제안은 PR에 남기지 않음: 신뢰도가 낮은 문제는 터미널에만 표시하고 PR에는 댓글을 달지 않음
- 기존 댓글 자동 중복 제거: 이미 있는 Qwen 댓글을 알아보고 같은 제안을 반복 게시하지 않음
관련 PR #3754
작업 끝나거나 확인 필요할 때 먼저 알려 줍니다
이전에는 터미널 알림이 눈에 잘 안 띄는 terminal bell에 주로 의존했고, VS Code 플러그인에는 눈에 띄는 상태 표시가 부족했습니다. 이제는 iTerm2, Kitty, Ghostty 터미널에서 작업이 끝나면 데스크톱 알림이 자동으로 뜨고, VS Code도 탭의 점, 알림 버블, 소리로 알려 줍니다.
이렇게 쓸 수 있습니다:
- 긴 작업을 계속 지켜보지 않아도 됨: 다른 일을 하다가도 작업이 끝나면 시스템이 알림과 소리로 불러 줍니다
- 권한 확인을 제때 캐치: AI가 도구 호출 승인이나 질문 답변을 기다릴 때 훨씬 눈에 잘 띕니다
- VS Code에서 탭 여러 개 써도 놓치지 않음: 다른 파일로 옮겨 가도 채팅 탭에 상태 표시가 남습니다
/stats에 모델 비용 추정 표시
/stats 명령어에 비용 추정이 추가됐습니다. settings.json에 modelPricing만 설정하면 (모델별 입력/출력 100만 Token 가격을 적어 두면), /stats가 Token 사용량을 보고 대략적인 비용을 자동 계산합니다. 직접 계산할 필요가 없습니다. 설정하지 않으면 이전처럼 Token 수만 표시됩니다.
이렇게 쓸 수 있습니다:
- 자주 쓰는 모델 가격 등록:
settings.json에 가격을 한 번 적어 두면 이후/stats가 알아서 계산 - 모델별 지출 비교: 모델을 바꿔 가며 비용 차이를 봐서 가성비 좋은 조합을 찾음
- 장기 실행 비용 통제: 자동화 흐름에서 비용을 주기 점검해 초과를 방지
관련 PR #3780
/model 빠른 모델 전환
이전에는 모델을 바꾸려면 /model로 선택기를 연 뒤 목록을 뒤져야 했습니다. 이제는 /model 모델명을 바로 치면 전환됩니다.
이렇게 쓸 수 있습니다:
- 선택기를 뒤지지 않음:
/model qwen3.6-plus처럼 모델명을 입력하면 바로 전환 — 목록 탐색이 사라짐 - 모델 비교가 빨라짐:
/model A로 한 번 묻고/model B로 다시 물어, 여러 모델의 응답을 견줌 - 최신 모델을 즉시 사용: base URL만 설정돼 로컬에 등록되지 않은 모델로도 바로 전환 가능
관련 PR #3783
📊 최적화 및 개선
- OpenRouter 연결을 브라우저 원터치 승인 방식으로: 이전에는 API Key와 모델 목록을 손으로 설정해야 했습니다. 이제는
/auth브라우저 승인 흐름을 타서 Key가 자동 저장되고 모델 디렉터리도 가져옵니다./manage-models가 새로 추가돼 검색, 필터, 모델 활성화할 수 있습니다 (#3576 ) - Todo 목록 상시 고정: 최신 작업 목록이 입력창 위에 고정되고 상태가 바뀌면 함께 갱신됩니다. 진행 상황을 확인한다고 기록을 위로 스크롤하지 않아도 됩니다 (#3507 , #3647 )
- 파일 읽기가 빨라지고 중복도 없음: 파일 읽기 캐시(FileReadCache)가 추가돼 같은 내용을 다시 읽지 않습니다. 멀티 라운드 대화와 도구 호출의 응답이 더 안정적입니다 (#3717 )
- 웹 검색을 MCP 경유로 전환: 내장
web_searchprovider를 MCP 기반 방식으로 옮겼습니다. Bailian, Tavily, GLM WebSearch Prime 같은 검색 서비스를 필요에 맞게 붙이면 됩니다 (#3502 ) - 첫 모델 요청이 더 빨라짐: 시작할 때 기본 API 엔드포인트를 미리 연결해, 첫 요청에서 TCP·TLS 연결/setup 시간이 줄어듭니다 (#3318 )
- 도구 일괄 호출을 읽기 쉽게: 여러 도구가 병렬로 끝나면 짧은 의미 태그가 붙습니다. 도구 개수만 기계적으로 뜨던 것과 달리 AI가 이번 묶음에서 뭘 했는지 금방 파악됩니다 (#3538 )
- 도구 호출 핫패스 경량화: 런타임 동기 I/O를 줄여 도구 호출 경로가 가벼워졌습니다. 긴 작업과 다수 도구 호출에서 응답이 더 안정적입니다 (#3581 )
- 세션 제목 수동 재생성: 자동 제목에
/rename --auto가 추가돼, 제목이 영 아니하면 fast model이 다시 지리게 할 수 있습니다 (#3540 ) - 포그라운드 Subagent도 통합 작업 패널로: 이전에는 백그라운드 작업만 보이던 것이, 이제 포그라운드 subagent도 /tasks 패널에서 함께 관리됩니다 (#3768 )
- Skill 로딩 가속과 경로 조건부 활성화: 여러 skill을 병렬 로드해 시작이 빨라지고, 디렉터리 조건에 맞춰 자동 활성화되니 매번 손으로 지정하지 않아도 됩니다 (#3604 )
- 하단 상태 바에 MCP 서비스 건강 상태 표시: MCP server가 살아 있는지 한눈에 보이고, 연결 이상도 더 쉽게 찾습니다 (#3741 )
- Shell 실행 시간 표시 개선: shell 상태에 경과 시간과 타임아웃 정보를 함께 보여 줍니다. 긴 명령의 진행을 판단하기 쉬워집니다 (#3512 )
- 긴 명령은 백그라운드로 넘기기 제안: AI가 시간 오래 걸리는 명령을 감지하면 백그라운드 전환을 먼저 권합니다. 현재 대화가 막히지 않습니다 (#3809 )
- VS Code에서
/skills와/export지원: VS Code Companion에서 skills 선택기를 더 편하게 열고, 현재 세션을 내보낼 수도 있습니다 (#2548 , #2592 ) - MCP 설정을 커맨드라인으로 전달: SDK와 스크립트 상황에서 CLI flag로 MCP server 설정을 넘길 수 있어 설정 파일을 손으로 편집하지 않아도 됩니다 (#1279 )
- MCP 서비스 중복 탐색 최적화: 중복된 MCP server 발견 요청을 묶어 시작 시 네트워크 비용을 줄입니다 (#3818 )
- Slash 명령어에 파라미터 힌트 표시: 명령어 자동완성 후 회색 힌트로 파라미터 형식을 보여 줍니다. 커스텀 명령어나 skill을 만들 때 다음에 뭘 입력해야 하는지 사용자에게 알리기 쉬워집니다 (#3593 )
- 번체 중국어 인터페이스 추가:
/language ui zh-TW로 번체 중국어 UI를 선택할 수 있습니다 (#3569 ) - VS Code Webview 복사가 편해짐: 채팅 Webview에 네이티브 우클릭 복사가 추가돼 다른 경로를 돌지 않아도 됩니다 (#3477 )
- ACP 모드에서 MCP 도구 호출 더 완결적으로: ACP Agent가 SSE/HTTP MCP server를 지원하고 도구 호출을 병렬 실행합니다. 외부 도구 연동이 더 안정적입니다 (#3574 , #3463 )
🔧 주요 수정 사항
| PR | 버전 | 수정 사항 | 사용자에게 미치는 영향 |
|---|---|---|---|
| #3645 | v0.15.6 | 모델 선택 우선순위를 argv > settings > auth 환경변수로 정정 | 커맨드라인으로 지정한 모델이 예상대로 설정을 덮어쓰고, 환경변수에 의도치 않게 덮어써지지 않습니다 |
| #3820 | v0.15.7 | 특수 문자가 포함된 파일 경로의 읽기/쓰기 수정 | 경로에 공백이나 특수 기호가 있어도 에러가 나지 않습니다 |
| #3525 | v0.15.1 | 스트리밍 도구 호출 파서가 스트림 간 상태를 공유하던 문제 수정 | 멀티 라운드 스트리밍 출력과 도구 호출이 상태 뒤섞임으로 어지러워지지 않습니다 |
| #3533 | v0.15.1 | slash completion 렌더링 루프 수정 | 슬래시 명령어 입력 시 자동완성 루프에 빠져 UI가 멈추지 않습니다 |
| #3753 | v0.15.7 | 프록시 설정이 반영되지 않던 문제 수정 | 회사나 인트라넷 환경에서 프록시 설정이 정상 동작합니다 |
| #3656 | v0.15.4 | session JSONL에서 붙어버린 레코드의 복구 수정 | 세션 기록이 이상하게 이어 붙어도 복구가 쉽고 컨텍스트가 바로 날아가지 않습니다 |
| #3547 | v0.15.3 | 기록 컴포넌트의 불필요한 중복 렌더링 수정 | 지난 대화를 돌려볼 때 더 매끄럽고 잘 버벅이지 않습니다 |
| #3600 | v0.15.4 | shell 명령어 줄 바꿈 연속 입력 해석 수정 | 여러 줄 shell 명령이 잘못 쪼개지는 일이 줄었습니다 |
| #3531 | v0.15.2 | 재전송한 과거 prompt의 정렬 문제 수정 | 다시 보낸 prompt가 최신 위치에 뜨니 이후 컨텍스트가 기대대로 맞습니다 |
| #3544 | v0.15.2 | Kitty 키보드 프로토콜이 SIGINT 뒤에 남기던 깨진 문자 수정 | 명령을 중단한 뒤 터미널에 이상한 키 문자가 남지 않습니다 |
| #3617 | v0.15.4 | 엄격한 OpenAI 호환 모드에서 멀티미디어 도구 결과 형식 수정 | OpenAI 호환 provider 사용 시 미디어가 포함된 도구 결과가 더 안정적입니다 |
| #3691 | v0.15.4 | subject가 있는 thinking 조각에서 설명이 사라지던 문제 수정 | reasoning 내용을 더 완결적으로 볼 수 있습니다 |
| #3559 | v0.15.2 | ReadFile의 pages 파라미터가 비었을 때 처리 수정 | 파일 읽기에서 빈 페이지 파라미터 때문에 잘못 실패하지 않습니다 |
| #3677 | v0.15.7 | MiniMax thinking 태그 파싱 수정 | MiniMax 모델 사용 시 사고 과정이 정상 표시됩니다 |
| #3615 | v0.15.6 | LSP 문서, 경로 보안 제한, 도구 호출률 수정 | 코드 인텔리전스 관련 도구가 안전한 경로에서 더 잘 동작합니다 |
| #3618 | v0.15.6 | VS Code에서 slash command Enter가 입력창에만 채우고 자동 전송하지 않음 | 명령을 고른 뒤 파라미터를 계속 입력할 수 있고, 빈 명령이 잘못 나가질 않습니다 |
| #3752 | v0.15.6 | 디렉터리 추가 기록의 영구 저장 수정 | 한 번 추가한 작업 디렉터리가 제대로 저장돼 다음에 다시 추가할 필요가 없습니다 |
🎈 기타 개선
- Auto-memory dream 작업을 수동 취소 가능 — 백그라운드 기억 정리가 이제 중단 불가하지 않습니다 (#3836 )
- 자동 기억 폴백이 메인 요청을 막지 않음 — 백그라운드에서 기억을 정리하는 중에도 대화가 매끄럽습니다 (#3814 )
- 비대화 모드에서 API 오류 메시지가 중복 출력되던 문제 수정 — 에러 내용이 깔끔합니다 (#3749 )
- VS Code에서 slash command completion이 메시지 전송 후에도 안 뜨던 문제 수정 (#3609 )
qwen auth인터랙션 메뉴에 API Key 선택지 보완 (#3624 )- 슬래시 명령어 대기열 분배 경로 오류 수정 (#3523 )
- i18n 중·영 언어 파일의 키 이름 불일치 수정 (#3534 )
- OAuth2 오류 처리 수정 — 잡히지 않은 error 이벤트 방지 (#3481 )
/review로컬 검토가/language출력 설정을 따름 (#3611 )- OpenAI 컨버터를 stateless로 전환 — 상태 잔류 위험 감소 (#3550 )
- Telemetry 내보내기에 안전한 JSON 직렬화 사용 — 순환 참조로 인한 크래시 방지 (#3630 )
- Java SDK가 CLI 프로세스 시작 시 커스텀 환경변수 전달 지원 (#3543 )
- TypeScript SDK v0.1.7 릴리스, CLI v0.15.3과 바인딩 (#3688 )
.gitignore에.codex디렉터리 추가 — 로컬 설정의 잘못 커밋 방지 (#3665 )- 도구 Token 사용량 추적 제거 — 내부 통계 노이즈 감소 (#3727 )
- Qwen Code 자체 개발 문서에 skills, agents, AGENTS.md 워크플로 설명 보강 (#3575 )
- release 워크플로에 안정 버전 merge-back PR 추가 — 릴리스 브랜치와 메인 브랜치 어긋남 감소 (#3764 )
- SDK release 자동 병합을 squash merge로 전환 — 릴리스 기록이 또렷해집니다 (#3690 )
- PR 템플릿 검증 안내 갱신 — 기여자가 제출 전에 뭘 확인해야 하는지 분명해집니다 (#3522 )
- Telemetry 문서에 Alibaba Cloud 콘솔 진입 경로 설명 추가 (#3498 )
👋 신규 기여자를 환영합니다
- @alex-musick —
/model빠른 모델 전환 (#3783 ) - @qiuqiuwen25 — 특수 문자가 포함된 파일 경로의 읽기/쓰기 수정 (#3820 )
- @umut-polat — 비대화 모드에서 API 오류 중복 출력 수정 (#3749 )
- @cyphercodes — 디렉터리 추가 기록의 영구 저장 수정 (#3752 )
- @eliird — CLI로 MCP server 설정 전달 지원 (#1279 )
- @jordimas — 카탈루니아어 지원 추가 (#3643 )
- @mohitsoni48 — 엄격한 OpenAI 호환 모드에서 도구 결과 형식 수정 (#3617 )
- @Jerry2003826 — shell 명령어 줄 바꿈 연속 입력 해석 수정 (#3600 )
- @MikeWang0316tw — 번체 중국어 인터페이스 언어 추가 (#3569 )
- @lawrence3699 — Java SDK에서 커스텀 환경변수 전달 지원 (#3543 )
- @fyc09 — 세션 복구에서 DeepSeek reasoning 내용이 보존되도록 수정 (#3590 , #3737 )
업데이트 방법: npm i @qwen-code/qwen-code@latest -g를 실행하면 최신 버전으로 업데이트할 수 있습니다.
문제나 제안이 있다면 GitHub Issues 로 알려 주세요!