Qwen Code 주간 업데이트: 서브 Agent 블랙박스 탈출, ToolSearch로 Token 절약, /branch로 여러 갈래 탐색
Claude Code가 /goal을 내놨습니다 — 목표를 정해 주고 Agent가 끝까지 달리게 하는 기능이죠. Cursor는 완전히 새 Agent 경험을 발표 했고, Karpathy는 대부분 사람이 불필요한 컨텍스트를 보내 Token을 낭비하고 있다고 말했습니다. 코딩 Agent 경쟁이 유난히 뜨거웠던 한 주였습니다.
Qwen Code는 이번 주에 4개 버전(v0.15.8 ~ v0.15.11)을 냈습니다. 두 갈래입니다. 상호작용 제어 — 서브 Agent 실행 과정을 전부 투명하게 드러내고, /branch로 여러 갈래를 동시에 탐색. Token 관리 — ToolSearch로 필요할 때만 로드하고, 넘치는 상황은 반응형 압축으로 대비.
✨ 새로운 기능
서브 Agent 시각화: LiveAgentPanel + 상태 Pill
Agent가 서브 Agent를 부릴 때, 이전에는 커서 깜빡임만 바라보고 있었습니다. 뭘 하고 있지? 얼마나 돌았지? Token은 얼마를 썼지? 전부 블랙박스였습니다.
이제 하단에 상태 패널이 상주하면서 서브 Agent의 실행 상태, 소요 시간, Token 소모를 실시간으로 보여 줍니다. 포그라운드 서브 Agent는 pill 형태로 뜨고, 펼치면 사고 과정과 도구 호출 내역이 전부 보입니다.
이렇게 쓸 수 있습니다:
- 서브 Agent가 얼마나 돌고 Token을 얼마 썼는지 한눈에
- pill을 펼쳐 추론 과정을 확인하고, 새는 걸 바로 잡아 중단
- 서브 Agent 여러 개가 병렬로 돌아도 각자 상태를 따로 표시

ToolSearch: 도구 필요할 때만 로드해 Token 절약
Karpathy가 지적했듯 , AI 프로그래밍 비용의 상당 부분은 불필요한 컨텍스트를 보내는 데 새 나갑니다 — 파일을 과도하게 로드하고, 모든 도구 정의를 기본으로 붙이는 식이죠.
ToolSearch는 저빈도 도구(ApplyDiff, NotebookEdit, CreateDirectory 등)를 초기 prompt에서 빼고, Agent가 필요할 때 검색해 로드합니다. prompt가 가벼워니 prefix caching 적중률이 오르고 첫 응답도 빨라집니다.
이렇게 쓸 수 있습니다:
- 기본 활성화, 설정 필요 없음. Agent가 도구를 필요로 하면 스스로 찾아 로드합니다
- prefix caching을 지원하는 Claude 같은 모델에서는 대화마다 수십 K Token을 덜 씁니다
tools.toolSearch.enabled로 끌 수 있습니다

/export HTML 라이트 테마
대화를 동료가 보라고 내보냈는데, 상대는 밝은 시스템 테마를 쓴다면 — 어두운 HTML은 밝은 환경에서 눈이 아픕니다.
/export html에 이제 테마 전환이 내장됩니다. 우측 상단 토글 하나면 밝고 어둡게 마음대로 전환되고, 선택은 localStorage에 저장됩니다.
이렇게 쓸 수 있습니다:
- 밝은 테마를 쓰는 동료에게 공유해도 읽는 경험이 정상
- 테마 선호가 저장돼 매번 전환할 필요 없음
/export가 HTML 형식 기본값 — 명령 한 번이면 끝
관련 PR #3908

/branch: 세션 갈라치기
대화가 중간쯤 갔을 때 다른 방안을 시험해 보고 싶어 집니다. 이전에는 새 세션을 열어 처음부터 하는 수밖에 없었습니다.
/branch는 현재 대화에서 새 세션을 갈라 내되, 컨텍스트는 그대로 유지합니다. 두 경로를 병렬로 탐색하면서 서로 간섭하지 않습니다. 원래 경로로 돌아가고 싶으면 /resume에서 원본 세션을 찾아 이어가면 됩니다.
이렇게 쓸 수 있습니다:
- 리팩터링 중간에 방안을 바꾸고 싶을 때 →
/branch로 갈라 양쪽 모두 시도 - 갈라낸 세션은 독립 저장 — 각자 별도의 기록을 가짐
/resume과 함께 쓰면 여러 갈래를 빠르게 오감
관련 PR #3539
/diff: 세션 변경 통계
긴 대화 하나를 끝내면 Agent가 파일을 잔뜩 고칩니다. 뭘 바꿨는지 빨리 알고 싶은데, 빠져나와 git diff --stat을 돌리기는 귀찮습니다.
/diff를 입력하면 현재 세션의 모든 파일 변경 통계가 터미널에 바로 표시됩니다. 어느 파일이 새로 생기고 어느 파일이 수정됐으며 몇 줄이 늘고 줄었는지, 한눈에 보입니다.
이렇게 쓸 수 있습니다:
- 대규모 리팩터링 후 영향 범위를 빠르게 확인
- Agent가 건드리면 안 될 파일을 고쳤을 때 즉시 포착
- 각 갈래에서
/diff를 돌려 두 방안의 변경량 비교
관련 PR #3491

검색되는 /resume
세션이 쌓이면 /resume 목록이 벽이 됩니다. 특히 /branch를 함께 쓰면 갈래가 늘수록 목록도 길어지죠.
이제 /resume에 실시간 검색 필터가 지원됩니다. 키워드를 입력하면 목록에 일치하는 세션만 남습니다. 검색과 브랜치 필터는 겹쳐 쓸 수 있습니다.
이렇게 쓸 수 있습니다:
- 수십 개 과거 세션에서 키워드를 치면 금방 찾아냄
/branch와 조합 — 여러 갈래를 이름으로 빠르게 전환- 검색 + 브랜치 필터를 겹쳐 되살릴 컨텍스트를 정확하게 지정
관련 PR #3880

/branch, /diff, /resume은 각각 써도 쓸모가 있지만, 진짜 힘은 조합에 있습니다:
Agent와 큰 리팩터링을 하다가, 다른 방안이 더 나을 것 같은 지점에 이르렀다고 해 봅시다.
1./branch로 새 갈래를 나눠 양쪽을 각자 진행시킵니다. 각 갈래가 끝나면
2./diff로 변경 통계를 봅니다 — 어느 방안이 덜 고치고 영향 범위가 작은지 한눈에 보입니다. 갈래가 많아 어느 것이 무엇인지 모를 때
3./resume에서 키워드를 쳐 검색해 곧바로 찾습니다. 검색과 브랜치 필터를 겹칠 수도 있고요.
전체 과정에서 터미널을 새로 열 필요도, 손으로 git stash할 필요도 없습니다. 대화 컨텍스트는 처음부터 끝까지 유지됩니다. AI 프로그래밍 세션에 Git 브랜치 능력을 붙여 준 셈입니다.
반응형 컨텍스트 압축
대화가 context window를 넘으면 이전에는 그대로 에러가 나고 멈췄습니다. 이제는 자동으로 압축합니다 — 최근 작업과 핵심 컨텍스트는 남기고 초기 중복을 정리해 대화가 계속됩니다. 서브 Agent도 같은 혜택을 받아, 긴 대화에서 넘쳐서 크래시하지 않습니다.
이렇게 쓸 수 있습니다:
- 긴 대화가 token 초과로 끊기지 않으니
/compact를 손으로 돌릴 필요 없음 - 압축 과정을 느끼지 못한 채 대화가 자연히 이어짐
- 복잡한 다단계 작업 (대규모 리팩터링) 완료율이 올라감
그 외 새로운 기능
| 기능 | PR | 사용자에게 미치는 영향 |
|---|---|---|
| codegraph skill: PR review 위험 분석 스킬 내장 | #3910 | PR review에서 고위험 변경과 잠재 충돌을 자동 식별 |
| autoSkill: 프로젝트 기술 스택과 규약을 백그라운드에서 뽑아 skill으로 저장 | #3673 | 새 프로젝트에서 컨텍스트를 반복 설명하지 않아도 됩니다. Agent가 기술 스택과 코드 스타일을 저절로 파악 |
| Idealab Provider: Idealab 모델 provider 추가 | #3955 | 모델 선택지가 하나 더 늘고, 단일 벤더에 묶이지 않습니다 |
| Skills 변경 자동 갱신: skill 파일이 바뀌면 명령어 자동 재로드 | #3923 | skill을 고치고 재시작하지 않아도 바로 반영됩니다 |
Auto-memory dream 작업 관리: /tasks에 백그라운드 memory 작업 표시 | #3836 | 백그라운드가 뭘 하는지 분명하고, 원치 않는 작업은 언제든 취소 가능 |
| i18n 핵심 커버리지 확대: CLI 국제화로 더 많은 화면 텍스트 커버 | #3871 | 한국어 사용자도 모국어 화면을 더 많이 봅니다 |
| —json-schema 구조화 출력: headless 모드에서 출력 형식 강제 | #3598 | CI/CD 파이프라인에서 Agent 출력을 신뢰성 있게 파싱 |
| git ls-files로 fdir 대체: 파일 탐색 속도 향상 | #3214 | 대용량 저장소에서 파일 목록이 더 빨르고, .gitignore를 자동 반영 |
| Anthropic prompt cache 전역 스코프 | #4020 | 프록시를 경유해 Claude를 써도 prompt cache가 정상 동작 |
| DashScope 프록시 prompt cache | #3991 | 사내 게이트웨이 환경에서도 prompt cache 가속을 누림 |
| ask_user_question 상시 노출 | #4041 | Agent가 애매하면 짐작하지 않고 물어봅니다 |
| 슬래시 명령어 발견 개선: 더 똑똑한 자동완성과 매칭 | #3736 | /를 치면 명령어를 더 빨리 찾습니다 |
qwen serve daemon (실험적): HTTP daemon 모드 | #3889 | HTTP + SSE로 Qwen Code를 원격 제어 — Web UI / IDE 플러그인 / IM bot 연결 가능 |
| OSC 8 터미널 하이퍼링크: 긴 URL도 줄바꿈 뒤 클릭 가능 | #4037 | Agent가 출력한 링크가 터미널 줄바꿈에 끊기지 않고, 클릭하면 바로 열림 |
📊 최적화 및 개선
| PR | 버전 | 개선 사항 | 사용자에게 미치는 영향 |
|---|---|---|---|
| #3903 | v0.15.8 | tmux-safe dots spinner로 재생 부하 감소 | tmux 환경에서 UI가 더 매끄럽습니다 |
| #3897 | v0.15.11 | session-list 메타데이터 64KB 제한 + 버퍼 풀링 | 세션 목록 로딩이 빨라집니다. 특히 세션이 수십 개일 때 체감이 큽니다 |
| #3902 | v0.15.10 | Shell 도구의 실시간 텍스트 업데이트 스로틀링 | 출력이 많아도 터미널이 버벅이지 않습니다 |
| #3967 | v0.15.10 | resize 때 clearTerminal 대신 targeted repaint | 터미널 크기를 조절할 때 화면 전체가 깜빡이지 않습니다 |
| #4022 | v0.15.11 | 저빈도 내장 도구 지연로드로 초기 prompt 축소 | 첫 요청이 더 빨라지고 prompt cache가 더 안정적입니다 |
| #3775 | v0.15.11 | side-query LLM 호출을 runSideQuery 노드로 일원화 | 곁조회가 더 제어 가능해지고 메인 요청 자원을 빼앗지 않습니다 |
| #3968 | v0.15.11 | 좁은 터미널 렌더링 개선 | 소형 화면/분할 화면에서 레이아웃이 어지러워지지 않습니다 |
| #3994 | v0.15.11 | Progressive MCP: MCP 발견을 백그라운드 비동기로 전환, 첫 입력을 막지 않음 | MCP를 설정한 사용자의 시작 속도가 최대 95% 향상 (TTI 10.5s → 490ms) |
🔧 주요 수정 사항
| PR | 버전 | 수정 사항 | 사용자에게 미치는 영향 |
|---|---|---|---|
| #3921 | v0.15.8 | 포그라운드 Agent 완료 후 상태 바 항목 잔류 | 작업이 끝나면 UI가 깔끔해집니다 |
| #3922 | v0.15.8 | 백그라운드 작업 dialog에서 ESC가 실행 중 요청까지 잘못 취소 | 팝업을 닫아도 작업이 죽지 않습니다 |
| #3932 | v0.15.9 | prior-read enforcement가 부분 읽기를 허용 | 큰 파일을 일부만 읽어도 정상적으로 편집할 수 있습니다 |
| #3882 | v0.15.10 | Mistral의 reasoning content가 요청 경계에서 누수 | Mistral 모델 사용 때 불필요한 추론 내용이 뜨지 않습니다 |
| #3861 | v0.15.10 | settings.json 이전 시 주석과 형식 유실 | 업그레이드 후에도 설정 파일의 주석과 줄 맞춤이 그대로입니다 |
| #3916 | v0.15.10 | 비활성화한 MCP server가 건강 상태에 여전히 표시 | 건강 패널 정보가 더 정확해집니다 |
| #3905 | v0.15.10 | 긴 대화에서 Ctrl+O compact-mode 전환 먹통 | 긴 대화에서도 컴팩트 모드 전환이 정상입니다 |
| #4002 | v0.15.10 | Edit/WriteFile의 prior-read를 Claude Code와 정렬 | 파일 편집 전 읽기 검사가 엄격해져 잘못 덮어쓰는 일이 줄어듭니다 |
| #3963 | v0.15.10 | /model 명령어 파라미터 검증 | 모델명을 잘못 입력했을 때 안내가 또렷합니다 |
| #4083 | v0.15.11 | ink 7로 Static-remount TUI가 후퇴 | 화면 렌더링 안정성이 복구됐습니다 |
| #4050 | v0.15.11 | 표의 ANSI 색이 줄바꿈에서 유실 | 터미널 표가 줄을 넘어도 색이 유지됩니다 |
| #4045 | v0.15.11 | channel cwd 설정에서 ~ 경로가 펴지지 않음 | 설정에서 ~ 경로를 써도 정상 동작합니다 |
👋 신규 기여자를 환영합니다
- @BingqingLyu — codegraph skill의 PR 심사 위험 분석 (#3910 )
- @scrollDynasty — 파일 탐색을 fdir 대신 git ls-files로 교체 (#3214 )
- @HeZiGang — DashScope 프록시의 prompt cache 지원 (#3991 )
- @salmanmkc — GitHub Actions의 Node 24 호환 업그레이드 (#1876 )
업데이트 방법: npm i @qwen-code/qwen-code@latest -g를 실행하면 최신 버전으로 업데이트할 수 있습니다.
문제나 제안이 있다면 GitHub Issues 로 알려 주세요!