본문으로 건너뛰기

"AI" 태그로 연결된 25개 게시물개의 게시물이 있습니다.

모든 태그 보기

AlloyDB AI 에이전트 연동

· 약 6분

Google Cloud가 2026년 6월 2일 AlloyDB Remote MCP Server를 정식 출시(GA)했어요. AI 에이전트가 AlloyDB(PostgreSQL 호환) 데이터베이스에 표준 프로토콜로 직접 붙어 SQL을 실행하고 인스턴스를 관리할 수 있게 됐어요.

여기서 눈여겨볼 단어는 GA입니다. 프리뷰 단계의 실험 기능이 아니라 production에 올려도 된다는 신호이며, 곧 실무 환경에서 에이전트가 운영 데이터베이스에 접근하는 구성이 현실이 된다는 뜻입니다. 운영자와 DBA 입장에서는 "AI가 우리 DB에 직접 붙는다"는 상황을 이제 설계 대상으로 다뤄야 합니다.

표준 프로토콜 하나로 붙는다

MCP(Model Context Protocol)는 LLM이 외부 데이터/도구에 일관된 방식으로 연결되도록 만든 오픈 표준입니다. 모델마다, 도구마다 제각각이던 연동 방식을 하나의 규약으로 묶는다고 보면 됩니다. 에이전트는 MCP 서버가 노출하는 도구(tool) 목록을 받아 보고, 그중 필요한 것을 골라 호출합니다. "데이터베이스에 질의해줘"라는 요청이 들어오면, 에이전트가 MCP 서버의 SQL 실행 도구를 호출하는 식입니다.

AlloyDB Remote MCP Server는 이 규약을 AlloyDB에 입힌 것입니다. Google Cloud의 관리형 인프라 위에서 동작하고, HTTP 엔드포인트 하나를 노출합니다.

https://alloydb.googleapis.com/mcp

"Remote"라는 이름이 붙은 이유가 여기 있습니다. 예전 MCP 연동은 보통 로컬에서 stdio 스트림으로 도는 서버를 띄워 쓰는 방식이었습니다. 이번 GA는 그 서버를 Google Cloud가 직접 관리형으로 호스팅합니다. 운영자가 별도 서버를 배포하거나 패치할 필요 없이, 인증된 에이전트가 원격 엔드포인트로 붙습니다.

노출하는 도구는 크게 두 갈래입니다.

갈래대표 도구하는 일
데이터베이스execute_sql, execute_sql_read_onlySQL 실행 (쓰기/읽기 전용)
데이터베이스export_data, import_data데이터 반출/반입
사용자 관리create_user, list_users, get_user데이터베이스 사용자 관리
인스턴스 관리create_instance, update_instance, get_instance인스턴스 생성, 변경, 조회
클러스터 관리create_cluster, restore_cluster, create_backup클러스터/백업 관리

주목할 점은 도구가 단순 조회에 그치지 않는다는 것입니다. SQL 실행은 물론이고 인스턴스 변경, 데이터 반출입, 백업 생성과 클러스터 복원까지 포함합니다. 에이전트가 마음만 먹으면 운영 작업 상당수를 직접 수행할 수 있는 범위입니다. 그만큼 권한 경계가 중요해집니다.

읽기 전용 도구가 별도로 있다는 점도 눈여겨볼 만합니다. execute_sql은 쓰기까지 가능하지만, execute_sql_read_only는 수정/삭제를 막습니다. 에이전트가 의도치 않게 데이터를 바꾸는 사고를 도구 수준에서 차단하는 장치입니다.

인증/권한 모델

에이전트가 어떻게 인증하고 무엇까지 할 수 있는지가 운영의 핵심입니다. AlloyDB Remote MCP Server는 공유 비밀번호나 API 키를 쓰지 않습니다. 실제로 공식 문서는 "이 서버는 API 키를 받지 않는다"고 못박습니다.

인증은 OAuth 2.0 bearer 토큰으로 합니다. 에이전트는 Google Cloud IAM 신원으로 발급받은 토큰을 HTTP Authorization 헤더에 실어 보냅니다. 모든 Google Cloud 신원이 인증 주체가 될 수 있습니다.

권한은 IAM 역할로 갈립니다. 도구가 요구하는 역할이 작업 종류에 따라 다릅니다.

작업필요 역할
인스턴스/사용자 생성roles/alloydb.admin
SQL 실행 (쓰기 포함)roles/alloydb.admin 또는 roles/alloydb.databaseUser
읽기 전용 SQLroles/alloydb.viewer, roles/alloydb.databaseUser, roles/alloydb.admin
인스턴스/사용자 목록 조회roles/alloydb.viewer

OAuth 스코프는 https://www.googleapis.com/auth/alloydb가 기본입니다. 즉 에이전트가 할 수 있는 일의 상한은 그 에이전트에 붙은 IAM 역할이 결정합니다. 비밀번호를 공유하던 시절처럼 "DB에 붙을 수 있으면 전부 다 된다"가 아니라, 신원별로 역할을 좁혀 부여하는 구조입니다.

여기서 DBA가 정확히 이해해야 할 분리가 하나 있습니다. 에이전트가 들고 오는 IAM 신원과 실제 데이터베이스 내부의 사용자 권한은 별개 층위입니다. IAM 역할은 "이 에이전트가 AlloyDB API를 호출할 수 있는가"를 가릅니다. 그 호출이 데이터베이스 안에서 어떤 테이블/스키마까지 읽고 쓰는지는 데이터베이스 자체의 GRANT/REVOKE로 통제합니다. Google Cloud는 IAM으로 에이전트를 특정 테이블, 스키마, 뷰에 한정할 수 있다고 안내하는데, 실제 운영에서는 IAM 역할 부여와 데이터베이스 권한을 양쪽 다 좁혀야 의미가 살아납니다.

통제 지점을 어디에 두나

AI 에이전트가 production 데이터베이스에 직접 붙는다는 건, 사람 손을 거치지 않은 호출이 운영 작업을 일으킬 수 있다는 뜻입니다. 통제 지점을 정리합니다.

에이전트는 사람과 다르게 행동합니다. 잘못된 판단으로 DELETEDROP을 내릴 수 있고, 프롬프트 조작에 넘어가 의도하지 않은 질의를 던질 수도 있습니다. 권한, 감사, 입력 검증을 사람 DBA보다 더 촘촘하게 잡아야 하는 이유입니다.

에이전트마다 별도 IAM 신원을 부여하고 작업에 꼭 필요한 역할만 붙입니다. 조회만 하는 에이전트에 roles/alloydb.admin을 주는 일은 없어야 합니다. 최소 권한의 기본값은 roles/alloydb.viewer 수준에서 시작해 필요할 때 올립니다.

분석/조회가 목적이라면 execute_sql_read_only만 쓰도록 제한합니다. 쓰기가 가능한 execute_sql은 명확히 필요한 경우에만, 권한을 좁힌 별도 신원에 한정합니다. update_instance, restore_cluster, import_data 같은 도구는 데이터베이스의 형상 자체를 바꾸므로, 에이전트가 이런 도구에 닿을 이유가 없다면 IAM 역할에서 해당 권한을 빼 원천 차단합니다.

모든 질의, 동작, 도구 호출은 Cloud Audit Logs에 남습니다. 어떤 신원이 언제 무슨 도구를 호출했는지 추적할 수 있습니다. 단순히 켜두는 데서 끝내지 말고 비정상 패턴(대량 반출, 권한 밖 시도)에 대한 알림까지 엮어야 통제가 완성됩니다.

Google Cloud는 Model Armor라는 선택적 보호 계층도 제공합니다. 프롬프트 injection을 거르고 데이터 반출을 막는 용도입니다. 에이전트가 외부 입력을 받는 구성이라면 이 계층을 검토할 가치가 있습니다.

앞서 짚었듯 IAM만으로는 부족합니다. 데이터베이스 안에서도 에이전트용 role을 만들어 접근 가능한 스키마/테이블을 GRANT로 한정합니다. IAM과 데이터베이스 권한이 모두 좁아야 실효가 있습니다.

결국 권한 모델은 데이터베이스가 더 이상 사람만 붙는 곳이 아니라는 전제에서 다시 짜야 합니다. 사람은 실수해도 속도가 느리지만, 에이전트는 잘못된 동작을 빠르게 반복합니다.

흐름과 권한 경계

에이전트 요청이 데이터베이스에 닿기까지의 경로와, 그 위에 놓인 두 겹의 권한 경계를 도식으로 정리합니다.

위쪽 IAM 검사는 "이 신원이 이 도구를 호출할 자격이 있는가"를 가르는 1차 경계입니다. 통과해도 데이터베이스 안에서 GRANT로 정해진 범위를 벗어나면 2차 경계에서 막힙니다. 두 경계를 모두 통과한 작업만 실행되고, 그 흔적은 빠짐없이 감사 로그에 남습니다. DBA가 손볼 지점은 결국 이 두 경계의 폭과 마지막 로그를 읽어내는 체계입니다.

마치며

AlloyDB Remote MCP Server GA는 "AI 에이전트가 데이터베이스에 직접 붙는" 구성이 실험을 넘어 production 선택지가 됐다는 신호입니다. 편의는 분명합니다. 자연어로 질의하고, 스키마를 자동으로 파악하고, 운영 작업까지 위임할 수 있습니다.

그만큼 DBA가 쥐어야 할 통제도 늘었어요. 비밀번호 공유가 IAM 신원으로 바뀌고 사람의 클릭이 에이전트의 도구 호출로 바뀌는 동안, 권한은 더 좁게, 감사는 더 촘촘하게 가져가야 해요. 데이터베이스에 새 문이 하나 열렸으니, 그 문의 자물쇠와 출입 기록을 챙기는 일이 다음 차례예요.


출처:

Gemini CLI 종료와 판도

· 약 4분

Google이 2026년 6월 18일부터 무료, Pro, Ultra 등 비엔터프라이즈 사용자에게 Gemini CLI의 요청 처리를 중단한다고 공지했어요. 도구 자체를 삭제하는 게 아니라 이들 등급에서 백엔드가 더 이상 요청을 받지 않는 식이며, 5월 19일 공지가 나온 뒤 후속 안내가 GeekNews를 통해 국내에도 돌면서 다시 화제가 됐어요.

CLI 코딩 도구 글을 자주 쓰는 블로그 입장에서 이건 그냥 지나칠 소식이 아니에요. 무엇이 끝나는지부터 정확히 짚고, 그다음에 판도 이야기를 해보겠습니다.

정확히 무엇이 종료되나

부풀리지 않고 공지 그대로 정리하면 이렇습니다.

종료 시점은 2026년 6월 18일이며, Gemini CLI와 Gemini Code Assist IDE 확장의 요청 처리가 끊기는 등급은 Google AI Pro/Ultra 구독자, 개인용 무료 Gemini Code Assist 사용자, 무료/표준 등급의 GitHub 조직 사용자입니다. Gemini Code Assist Standard/Enterprise 라이선스 보유자와 유료 Gemini Agent Platform API 키 사용자는 그대로 쓸 수 있습니다. GitHub 확장은 6월 18일 이후 신규 설치가 막히고, 기존 설치도 이어지는 몇 주 안에 요청 처리가 끊깁니다.

정리하면 이번 변경의 범위는 비엔터프라이즈 등급의 백엔드 요청 처리 중단입니다. 도구가 통째로 사라지는 것은 아니고, 엔터프라이즈와 유료 API 경로는 그대로 남습니다.

Google이 밝힌 이유는 통합입니다. 사용자 워크플로가 초창기를 넘어섰고 이제 "여러 agent가 서로 통신하는" 멀티 agent 환경이 됐기 때문에, 하나의 플랫폼으로 묶는 편이 낫다는 설명입니다. 그 하나의 플랫폼이 Antigravity CLI입니다.

대체재와 이전 경로

대체재는 Antigravity CLI입니다. 5월 19일 공개됐고, Go로 작성돼 속도가 빠르고 비동기 멀티 agent 오케스트레이션을 지원한다고 합니다. Agent Skills, Hooks, Subagents, Extensions 같은 핵심 기능은 이어집니다.

마이그레이션 문서는 Google이 안내한 가이드 페이지에 올라와 있고, 영상 튜토리얼은 "몇 주 안에" 제공한다고 했습니다. 비엔터프라이즈 사용자에게 이전은 사실상 선택이 아니라 강제에 가깝습니다. 6월 18일 이후 기존 경로가 막히기 때문입니다.

한 가지 짚을 점이 있습니다. Gemini CLI 저장소 자체는 Apache 2.0 라이선스 그대로 GitHub에 남습니다. 라이선스가 바뀌거나 코드가 내려가는 건 아닙니다. 다만 비엔터프라이즈 백엔드가 요청을 받지 않으면, 일반 사용자에게는 코드만 남고 실제로는 돌릴 수 없는 박제에 가까워집니다. 반면 후속작인 Antigravity CLI는 클로즈드 소스입니다. 공개된 GitHub 페이지에는 changelog, readme, GIF 정도만 있고 실제 코드는 없습니다.

이 지점이 커뮤니티 반발의 핵심입니다. Gemini CLI는 오픈소스로 출발해 10만 개 넘는 star와 6,000건 이상의 외부 기여 PR을 모았는데, 그 기여가 결국 클로즈드 소스 후속작을 살찌우는 데 쓰였다는 인식입니다. 오픈소스에서 출발해 클로즈드로 넘어가는 흐름, 그리고 무료 등급의 빠듯한 사용량 한도가 함께 도마에 올랐습니다.

CLI 코딩 도구 판도 관점

여기서 한 발 물러나 판을 보겠습니다. CLI에서 도는 AI 코딩 도구는 지난 1~2년 사이에 빠르게 늘었습니다. Anthropic의 Claude Code, OpenAI 계열 도구, 그리고 Google의 Gemini CLI가 비슷한 시기에 비슷한 형태로 등장했습니다. 터미널에 상주하면서 코드베이스를 읽고 고치고 명령을 실행하는 형태입니다.

지금 벌어지는 건 그 도구들이 각자 다른 길을 고르는 장면입니다.

Google의 선택은 "접고 통합"입니다. 개별 CLI 제품을 유지하기보다 멀티 agent 플랫폼 하나로 묶고, 무료 등급은 정리하고 유료/엔터프라이즈 경로를 남깁니다. 멀티 agent라는 다음 단계에 자원을 몰겠다는 판단입니다. 한편 Gemini CLI를 굴리던 무료 사용자층은 한도와 강제 이전을 동시에 마주하게 됐습니다.

누구는 접고 누구는 키우는 이유를 한 줄로 단정하긴 어렵습니다. 다만 드러나는 차이는 있습니다. 도구를 단품으로 계속 끌고 갈지, 아니면 더 큰 플랫폼의 입구로 재배치할지의 갈림길입니다. Google은 후자를 골랐고, 그 과정에서 오픈소스로 모은 무료 사용자층과 기여자 커뮤니티가 정리 대상에 올랐습니다.

특정 도구가 더 낫다는 이야기를 하려는 게 아니며, 무료로 쓰던 CLI 도구가 어느 날 등급별로 갈리고 후속작으로 강제 이전될 수 있다는 점과 오픈소스 라이선스가 그대로여도 백엔드가 끊기면 일반 사용자에게는 의미가 달라진다는 점이 이번 사례에서 챙겨둘 두 가지예요. CLI 코딩 도구를 업무에 깊이 엮어뒀다면 백엔드 의존성과 등급 정책을 한 번쯤 점검해 둘 만해요.

참고

Project Glasswing

· 약 5분

Anthropic이 자사 비공개 모델 Claude Mythos를 약 150개 조직에 추가로 풀어, 전력, 수도, 의료, 통신 같은 핵심 인프라의 소프트웨어 취약점을 찾는 Project Glasswing을 15개국 이상으로 확대했어요. 6월 2일자 발표 기준이고, 4월에 미국 정부를 포함한 50여 개 파트너로 시작한 프로그램을 한 단계 키운 것이에요.

제가 이 블로그에서 Copy Fail, NGINX Rift, DirtyDecrypt 같은 CVE를 다룰 때마다 깔려 있던 전제가 하나 있었어요. 취약점은 사람이 찾는다는 것입니다. 그 전제가 지금 흔들리고 있습니다.

Project Glasswing과 Claude Mythos가 무엇인가

Claude Mythos는 Anthropic이 일반에 공개하지 않은 프리뷰 모델입니다. Anthropic은 이 모델이 코드에서 취약점을 찾고 익스플로잇을 짜는 능력에서 극소수 최상위 인간 보안 연구자를 제외한 거의 모두를 앞선다고 설명합니다. 몇 주 단위로 수천 개의 제로데이를 찾아낼 수 있다는 것이 핵심 주장입니다.

Project Glasswing은 이 모델을 통제된 형태로 파트너 조직에 제공하는 프로그램입니다. 파트너는 Mythos를 받아 자기 코드베이스를 스캔하고, 취약점을 식별하고, 패치를 작성하고, 릴리스 전 점검까지 돌립니다. 발표에 따르면 실제 활용 범위는 다음과 같습니다.

  • 취약점 패치 작성과 테스트
  • 릴리스 전 소프트웨어 검증
  • 침투 테스트
  • 위협 탐지
  • 메모리 안전 언어로의 코드 번역

흥미로운 대목은 Anthropic이 이 모델을 일반에 공개하지 않겠다고 못 박았다는 점입니다. 이런 사이버 능력이 악용되는 것을 막을 안전장치가 아직 충분히 갖춰지지 않았고, 자사를 포함한 어떤 AI 개발사도 그 수준에 이르지 못했다는 이유입니다. 취약점을 잘 찾는 능력은 방어에도 쓰이지만 공격에도 그대로 쓰입니다. 이중 용도 문제를 정면으로 인정한 셈입니다.

어디에 적용됐고, 무엇을 찾아냈나

확대된 명단에는 전력, 수도, 의료, 통신, 그리고 하드웨어 벤더와 오픈소스 메인테이너가 들어갑니다. 초기 50개 파트너 그룹에서는 상대적으로 빠져 있던 영역이라는 게 Anthropic의 설명입니다. 국가는 미국 외에 호주, 캐나다, 프랑스, 독일, 이탈리아, 스위스, 네덜란드, 스페인, 벨기에, 스웨덴, 인도, 일본, 뉴질랜드, 그리고 한국이 포함됐습니다. 접근 권한이 확인된 조직으로는 Okta, Samsung, SK Hynix, SK Telecom, NATO, EU 사이버보안 기관 ENISA 등이 거론됐습니다.

Anthropic은 확대 우선순위를 정한 기준을 이렇게 밝혔습니다.

파트너 대부분은 한 번의 대규모 공격으로 1억 명 이상이 피해를 입을 수 있다고 본다. 세계 안보와 각국 안보 양쪽에 중대한 영향을 미친다.

규모 수치는 출처에 나온 것만 정리하면 다음과 같습니다.

항목수치
발견된 고위험/심각 취약점10,000건 이상
스캔한 오픈소스 프로젝트1,000개 이상
전체 발견 이슈23,019건
그중 고위험/심각 등급6,202건
Anthropic + 외부 6개 보안업체가 검증한 건1,752건
검증된 건의 진짜 양성(true positive) 비율90% 초과

프로그램은 2026년 4월 초에 시작했습니다. 구체적 사례로 Cloudflare와 Mozilla가 자사 코드베이스에서 각각 수백 건의 취약점을 발견했다고 언급됐습니다. 또 수십억 대 기기가 쓰는 암호 라이브러리 wolfSSL에서 인증서 위조 공격으로 이어질 수 있는 결함을 Mythos가 짚어낸 사례도 공개됐습니다.

방어자에게 이것은 무엇을 의미하나

겉으로 드러난 그림은 방어자에게 유리합니다. 취약점을 찾는 비용이 급격히 떨어지면, 자기 코드를 먼저 점검하는 쪽이 더 많은 구멍을 더 빨리 메울 수 있습니다. Anthropic이 내세우는 목표 자체가 "방어자에게 영구적 우위"를 만드는 것입니다. 더 싼 AI 모델이 공격자 손에 들어가기 전에 방어 쪽이 앞서가야 한다는 논리입니다.

하지만 이 그림에는 균형추가 필요합니다.

첫째, 찾는 것과 고치는 것은 다른 문제입니다. Anthropic 스스로 인정한 병목이 바로 여기에 있습니다. 취약점을 찾기는 쉬워졌는데, 검증하고 공개하고 패치하는 일은 여전히 사람의 몫이고 느립니다. 23,019건을 찾아냈지만 검증된 건은 1,752건입니다. 나머지는 누군가 일일이 분류하고 확인해야 합니다. 진짜 양성 비율이 90%를 넘는다는 건 바꿔 말하면 10건 가까이를 외부 보안업체 여섯 곳까지 동원해 검증했다는 뜻이기도 합니다. 자동 탐지가 뱉어낸 결과는 곧바로 믿을 수 있는 결론이라기보다, 사람이 처리해야 할 대기열에 가깝습니다.

둘째, 부담이 특정 지점에 쏠립니다. 특히 오픈소스 메인테이너가 그렇습니다. 많은 프로젝트가 소수의 자원봉사자로 굴러갑니다. 여기에 AI가 쏟아내는 취약점 리포트가 밀려들면, 그 자체가 새로운 운영 부하가 됩니다. Anthropic도 이 긴장을 알고 있어서, 메인테이너가 리포트를 더 빨리 분류할 수 있도록 Mythos를 활용하는 방안과 오픈소스 취약점 보고 모범 사례 공개를 검토 중이라고 밝혔습니다. 도구가 만든 문제를 같은 도구로 풀겠다는 접근인데, 효과는 지켜봐야 합니다.

셋째, 이중 용도 위험은 사라지지 않고 미뤄졌을 뿐입니다. Anthropic은 Mythos급 모델을 일반 공개하지 않겠다고 했지만, 동시에 "앞으로 몇 주 안에" 모든 고객에게 Mythos급 모델을 제공할 것으로 본다고 말합니다. 경쟁사도 비슷한 방향입니다. 같은 기간 OpenAI는 사이버보안 특화 모델 GPT-5.5-Cyber를 다수 테스트 파트너에 배포했습니다. 방어자가 먼저 쓰는 동안 공격자도 비슷한 능력에 다가가고 있다는 뜻이고, "영구적 우위"라는 표현은 마케팅 문구에 가깝게 들립니다.

정리하면, 운영/보안 관점에서 실질적으로 바뀌는 건 탐지 단계의 처리량입니다. 그 뒤의 검증, 분류, 패치, 배포는 여전히 사람과 조직의 역량에 묶여 있고, 오히려 탐지가 빨라질수록 이쪽 병목이 더 도드라집니다. AI 취약점 탐지를 도입한다면 모델 성능보다 우리 조직이 늘어난 발견 건수를 소화할 분류/패치 파이프라인을 갖췄는지를 먼저 점검해야 합니다.

탐지에서 패치까지, 병목은 뒤쪽에 있다

탐지는 싸지고 빨라졌고, 그래서 무게중심이 도식의 아래쪽, 사람이 붙어야 하는 검증과 패치/배포로 옮겨갔어요. Project Glasswing이 던지는 진짜 질문은 "AI가 취약점을 찾을 수 있는가"보다 "찾아낸 것을 우리가 감당할 수 있는가"에 가까워요.


참고:

Aurora MySQL 8.4와 Kiro

· 약 6분

한 주에 겹친 세 건

Aurora MySQL 8.4가 정식 출시(GA)되어 커뮤니티 MySQL 8.4 LTS와 버전 번호가 직접 맞춰졌고, 같은 흐름에서 Aurora MySQL이 Kiro Powers와 통합되어 자연어로 데이터베이스 작업을 거는 길이 열렸어요. 2026년 6월 1일 AWS Weekly Roundup이 전한 두 갈래예요.

여기에 그 주의 헤드라인 발표로 Amazon Bedrock과 AWS의 Claude Platform에서 Claude Opus 4.8을 쓸 수 있게 됐다는 소식이 얹혔습니다. DBA 입장에서 흘려 넘기기 쉬운 발표 묶음이지만, 세 가지를 한 줄에 꿰면 클라우드 데이터베이스가 어디로 가는지가 보입니다.

Aurora MySQL 8.4 GA가 실무에서 바꾸는 것

가장 실무적인 변화는 버전 번호 정책입니다. Aurora MySQL 8.4는 Aurora가 커뮤니티 MySQL의 LTS(Long Term Support) 메이저 릴리스에 정렬되는 첫 버전입니다. MySQL 8.4가 커뮤니티 MySQL의 첫 LTS 메이저이고, Aurora MySQL 8.4가 그 정렬을 처음 적용한 Aurora 메이저입니다. 커뮤니티 MySQL 8.4.7과 호환됩니다.

이게 왜 중요합니까. 예전에는 Aurora MySQL 메이저 번호와 커뮤니티 MySQL 버전이 따로 놀았습니다. 자체 관리 MySQL이나 Amazon RDS for MySQL에서 Aurora로 마이그레이션할 때, 두 체계 사이를 머릿속으로 번역해야 했습니다. 8.4부터는 Aurora에서 돌리는 번호가 곧 호환되는 커뮤니티 MySQL 버전입니다. 번역 부담이 사라집니다.

LTS 정렬이 가져오는 두 번째 효과는 안정성입니다. 커뮤니티 MySQL LTS 메이저는 최초 릴리스 이후 버그 수정과 보안 패치만 받습니다. 그래서 Aurora MySQL 8.4 위에서 도는 애플리케이션은 minor 업그레이드를 거쳐도 동작이 일관되리라 기대해도 됩니다. Aurora는 그 위에 새 기능을 minor 버전으로 계속 얹습니다. 패치 관리도 단순해집니다. minor 안에서의 patch 버전은 AWS가 대신 관리하고, Aurora가 해당 minor의 최신 patch로 자동으로 올라갑니다.

릴리스 주기도 명시됐습니다. Aurora는 커뮤니티 MySQL LTS 릴리스 후 12개월 안에 메이저를, 각 커뮤니티 minor 후 3개월 안에 minor를, 그리고 각 메이저 후 12개월 안에 Aurora LTS minor를 목표로 합니다.

보안 기본값도 신규 클러스터 기준으로 단단해졌습니다.

항목8.4 신규 클러스터 기본값
인증 플러그인caching_sha2_password (기존 mysql_native_password 대체, 레거시는 호환용으로 유지)
전송 보안require_secure_transport 기본 활성 — 모든 연결에 TLS 요구
TLS 버전TLS 1.2 / 1.3만 지원 (1.0 / 1.1 제거)
비밀번호 정책DB 클러스터 파라미터로 복잡도/사용자명 검증 규칙 지정 가능

마이그레이션 경로는 RDS Blue/Green Deployments, in-place 업그레이드, 스냅샷 복원, AWS DMS, Percona XtraBackup 물리 마이그레이션까지 폭넓게 열려 있습니다. 8.4는 Aurora MySQL이 제공되는 모든 AWS 리전에서 곧바로 제공됩니다.

기존 클러스터를 8.4로 올릴 계획이라면, 엔진 기능보다 먼저 챙길 것이 이 보안 기본값입니다. TLS 강제와 caching_sha2_password는 오래된 드라이버나 connection 설정에서 연결이 끊기는 원인이 될 수 있습니다. 마이그레이션 전 검증 단계에서 클라이언트 호환성을 먼저 확인하는 편이 안전합니다.

Kiro Powers로 실제 할 수 있는 일

"자연어로 DB를 만진다"는 문구는 마케팅처럼 들리기 쉽습니다. 실체를 보면 생각보다 구체적입니다.

Kiro Powers는 미리 묶어둔 MCP 서버, steering 파일, hook을 모아둔 큐레이션 저장소입니다. Kiro 파트너가 검증한 묶음이며, 특정 용도를 빠르게 붙여 쓰도록 만들어졌습니다. Aurora MySQL 통합은 이 저장소에서 Aurora MySQL용 묶음을 끌어다 쓰는 방식입니다.

개발자가 할 수 있는 일은 두 평면으로 나뉩니다.

  • data plane — 쿼리, 스키마 관리 같은 데이터 작업
  • control plane — 클러스터 관리 같은 인프라 작업

둘 다 자연어로 지시합니다. "Serverless 스케일링을 어떻게 잡아야 하나", "RDS에서 Aurora로 어떻게 마이그레이션하나", "replication을 어떻게 설정하나" 같은 질문에 상황에 맞춘 가이드를 돌려줍니다.

여기서 오해하면 안 되는 지점이 있습니다. 에이전트가 자연어를 받아 곧장 운영 클러스터에 손을 대는 게 아닙니다. 에이전트는 API 호출, SQL, 설정값을 만들어 보여주고, 사람이 검토한 뒤 실행합니다. 마지막 방아쇠는 여전히 사람이 당깁니다. 설치는 Kiro IDE나 웹페이지에서 원클릭으로 끝납니다.

즉 Kiro Powers가 줄여주는 것은 "어떤 API를 어떤 순서로, 어떤 파라미터로 부를지"를 문서 뒤지며 조립하는 시간입니다. 실행 권한과 책임은 그대로 DBA에게 남습니다.

클라우드 DB의 AI 통합 흐름

이 발표를 단독으로 보면 기능 하나가 늘어난 것입니다. 같은 시기 다른 발표와 묶으면 흐름이 드러납니다.

바로 며칠 전 Google Cloud는 AlloyDB Remote MCP Server를 정식 출시했습니다. AI 에이전트가 표준 프로토콜로 PostgreSQL 호환 데이터베이스에 직접 붙어 SQL을 실행하고 인스턴스를 관리하도록 길을 연 발표입니다. 이 건은 AlloyDB가 AI 에이전트에 문을 열다에서 따로 다뤘습니다.

두 발표는 접근 방식이 조금 다릅니다. AlloyDB는 클라우드가 직접 관리형으로 호스팅하는 remote MCP 엔드포인트를 노출해, 에이전트가 그 엔드포인트로 붙습니다. Aurora MySQL은 개발 환경(Kiro IDE)에 MCP 서버 묶음을 설치해, IDE 안의 에이전트가 작업을 조립하도록 합니다.

항목AlloyDB Remote MCPAurora MySQL + Kiro Powers
호스팅클라우드 관리형 원격 엔드포인트Kiro IDE에 설치하는 MCP 묶음
진입점인증된 에이전트가 엔드포인트로 접속IDE 안의 에이전트가 도구 호출
공통점MCP 표준으로 DB에 자연어 인터페이스 부착MCP 표준으로 DB에 자연어 인터페이스 부착

공통 메시지는 분명합니다. 주요 클라우드 데이터베이스가 MCP를 공통 규약으로 삼아 AI 에이전트에 인터페이스를 여는 중입니다. 데이터 작업뿐 아니라 클러스터 관리 같은 control plane까지 자연어 대상으로 들어왔습니다. 1년 전이라면 콘솔이나 CLI로만 하던 일입니다.

세 발표를 DBA 시선으로 묶으면

세 발표를 DBA 시선으로 정리하면 이렇습니다.

첫째, Aurora MySQL 8.4 GA는 버전 관리가 단순해진다는 실용적 이득이 가장 큽니다. 커뮤니티 MySQL과 번호가 같아지니 마이그레이션 계획서에서 버전 매핑 표가 사라집니다. 다만 보안 기본값이 바뀐 만큼, 업그레이드는 클라이언트 호환성 검증을 끼고 진행해야 합니다.

둘째, Kiro Powers는 생산성 도구이지 자동 운영 도구가 아닙니다. 에이전트가 초안을 만들고 사람이 실행하는 구조라, 검토 없이 적용되는 위험은 설계상 막혀 있습니다. 그래도 운영 계정 자격증명이 에이전트의 작업 흐름과 맞닿는 만큼, 어떤 권한으로 어떤 클러스터에 접근할 수 있는지는 미리 좁혀두는 편이 좋습니다.

셋째, Bedrock의 Claude Opus 4.8은 이 흐름에서 엔진에 해당하는 변화입니다. AWS는 이 모델을 agentic coding과 knowledge work, 긴 자율 작업을 겨냥해 만든 모델로 소개했습니다. 더 긴 자율 세션을 이어가고, 오류에서 스스로 복구하며, 엔지니어처럼 코드베이스를 읽고 편집에 앞서 계획을 세운다는 설명입니다. Bedrock에서는 Guardrails, Knowledge Bases, 데이터 거주(data residency) 같은 AWS 관리 기능과 함께 씁니다. 데이터베이스 작업을 다루는 에이전트의 추론 강도가 올라간다는 뜻이고, 그만큼 사람이 검토 경계를 어디에 둘지가 더 중요해집니다.

결국 이번 묶음이 그리는 그림은 AI가 DB를 대신 운영하는 쪽이 아니에요. 조립과 탐색은 에이전트가 빠르게 맡고, 실행과 책임은 사람에게 남는 구도에 가까워요. DBA가 챙길 일은 줄지 않았고, 검토할 초안의 품질이 좋아졌을 뿐이에요.

참고

Claude Code 동적 워크플로

· 약 8분

또 한 단계 올라갔다

Skills로 명령어를 통합하고, Routines로 예약 실행을 붙이고, Auto 모드로 권한 판단까지 AI에게 넘기더니, 이번엔 Claude가 오케스트레이션 스크립트를 직접 짜서 서브에이전트 수백 개를 한 세션에서 병렬로 돌리는 Dynamic Workflows가 2026년 5월 28일 Opus 4.8과 함께 공개됐어요.

지금까지의 서브에이전트는 Claude가 대화 턴마다 하나씩 띄우고 결과를 자기 컨텍스트로 받아오는 방식이었습니다. 몇 개까지는 괜찮지만, 500개 파일을 동시에 손봐야 하는 작업에서는 컨텍스트가 먼저 터집니다. Dynamic Workflows는 그 한계를 넘으려고 나온 기능입니다. (Anthropic 발표, TechCrunch)

주의: 이 글의 내용은 전부 리서치 프리뷰 기준입니다. 동작 방식, 한도, 요금 모두 정식 출시 전에 바뀔 수 있습니다. Claude Code v2.1.154 이상이 필요합니다.

한 줄 정의

공식 문서의 정의는 명확합니다.

"A dynamic workflow is a JavaScript script that orchestrates subagents at scale."Claude Code Docs

워크플로우는 Claude가 작성하는 자바스크립트 오케스트레이션 스크립트입니다. 사용자가 작업을 설명하면 Claude가 그 작업에 맞는 스크립트를 쓰고, 런타임이 그 스크립트를 백그라운드에서 실행합니다. 스크립트가 도는 동안 대화 세션은 그대로 응답 가능한 상태로 남습니다.

중요한 차이는 누가 계획을 들고 있느냐에 있습니다.

서브에이전트/스킬과 무엇이 다른가

셋 다 멀티스텝 작업을 처리할 수 있습니다. 차이는 계획의 주체와 중간 결과의 저장 위치입니다.

서브에이전트스킬워크플로우
정체Claude가 띄우는 워커Claude가 따르는 지침런타임이 실행하는 스크립트
다음 실행 결정Claude가 턴마다Claude가 프롬프트 따라스크립트가
중간 결과 위치Claude 컨텍스트Claude 컨텍스트스크립트 변수
재사용 단위워커 정의지침오케스트레이션 자체
규모턴당 몇 개서브에이전트와 동일런당 수십~수백 개
중단 시턴 재시작턴 재시작같은 세션 내 재개

서브에이전트와 스킬에서는 Claude가 오케스트레이터입니다. 무엇을 띄울지 턴마다 판단하고, 모든 결과가 Claude 컨텍스트로 돌아옵니다. 워크플로우는 그 루프와 분기, 중간 결과를 스크립트 안으로 옮깁니다. 그 결과 Claude 컨텍스트에는 최종 답만 남습니다. 그래서 컨텍스트가 터지지 않습니다.

어떻게 도는가

작업을 워크플로우로 넘기면 세 단계를 거칩니다.

대화 세션은 이 흐름 내내 자유롭습니다. /workflows를 실행하면 진행 중인 런의 진행 화면이 뜨고, 단계별 에이전트 수와 토큰 사용량, 경과 시간을 볼 수 있습니다.

패턴 1: Fan-Out

워크플로우가 시작되면 Claude가 프롬프트를 기준으로 계획을 세우고, 작업을 서브태스크로 쪼갠 뒤 여러 에이전트에 병렬로 펼칩니다. 이걸 fan-out이라 부릅니다. 한 런에서 수십에서 수백 개의 에이전트가 동시에 돕니다.

예를 들어 라우트 디렉토리 전체에서 인증 누락을 감사하라고 하면, 엔드포인트마다 에이전트 하나씩 붙여 동시에 점검합니다.

Run a workflow to audit every API endpoint
under src/routes/ for missing auth checks

프롬프트에 트리거 키워드를 넣으면 Claude Code가 그 단어를 강조 표시하고, 턴 단위로 처리하는 대신 워크플로우 스크립트를 작성합니다. 발표 직후에는 workflow가 트리거였지만, 2026년 6월 2일 v2.1.160에서 트리거 키워드가 ultracode로 바뀌었습니다. 이제 workflow라는 단어만으로는 런이 시작되지 않습니다. 다만 평소 쓰는 말로 워크플로우를 요청하는 건 그대로 동작합니다. (Claude Code Changelog)

패턴 2: 어드버서리얼 검증

여기가 단순히 에이전트를 더 많이 돌리는 것과 갈리는 지점입니다. 워크플로우는 반복 가능한 품질 패턴을 적용합니다.

에이전트가 발견한 내용을 그냥 보고하지 않습니다. 다른 에이전트가 그 발견을 반박하는 임무를 맡습니다. 한 에이전트가 "이 함수에 race condition이 있다"고 주장하면, 다른 에이전트는 그 주장을 깨는 일을 맡습니다. 반박을 거치고도 살아남은 주장만 사용자에게 전달됩니다.

번들로 제공되는 /deep-research 워크플로우가 이 패턴을 그대로 씁니다. 여러 각도로 웹 검색을 펼치고, 찾은 출처를 서로 교차검증하고, 각 주장에 투표한 뒤, 교차검증을 통과하지 못한 주장은 걸러낸 인용 리포트를 돌려줍니다.

패턴 3: 수렴 반복

고정된 단계의 파이프라인이 아닙니다. 워크플로우는 답이 더 이상 바뀌지 않을 때까지 반복합니다. 에이전트 수와 반복 횟수는 작업이 실제로 요구하는 바에 따라 실시간으로 정해집니다.

이 수렴 방식 덕분에 단일 패스로는 도달할 수 없는 결과까지 갑니다. 한 번 훑고 끝내는 게 아니라, 발견과 반박을 답이 안정될 때까지 돌리는 구조입니다.

실제 사례: Bun을 Zig에서 Rust로

가장 인상적인 사례는 Jarred Sumner가 Bun 런타임을 Zig에서 Rust로 포팅한 작업입니다. 약 75만 줄 코드를 11일 만에 옮겼습니다. 파일마다 에이전트를 붙여 수백 개를 병렬로 돌렸고, 파일당 리뷰어를 두 명씩 뒀습니다. (Anthropic 발표)

Anthropic은 이 기능의 목표를 "코드베이스 규모의 마이그레이션을 킥오프부터 머지까지, 기존 테스트 스위트를 합격 기준으로 삼아 수행"하는 것으로 잡았습니다. (TechCrunch) 기존 테스트가 통과 여부를 판정하니, 사람이 일일이 검수하지 않아도 합격선이 정의됩니다.

발표의 표현을 빌리면 분기 단위로 계획하던 일이 며칠 만에 끝납니다. 다만 이건 잘 풀린 사례입니다. 테스트 커버리지가 부실한 코드베이스라면 합격 기준 자체가 흔들립니다.

한도와 제약

런타임에는 다음과 같은 제약이 있습니다.

제약이유
런 도중 사용자 입력 불가단계 사이 승인이 필요하면 단계별로 워크플로우를 쪼갤 것
워크플로우 자체의 파일/셸 직접 접근 불가읽기, 쓰기, 명령 실행은 에이전트가, 스크립트는 조율만
동시 에이전트 최대 16개 (코어 적으면 더 적게)로컬 자원 사용 제한
런당 총 에이전트 1,000개폭주 루프 방지

수백 개 병렬이라는 표현과 동시 16개가 충돌하는 것처럼 보이지만, 동시 실행은 16개로 묶이고 누적 총량이 런당 최대 1,000개라는 뜻입니다. (Claude Code Docs, MarkTechPost)

권한 측면도 짚어둘 만합니다. 세션 권한 모드와 무관하게, 워크플로우가 띄우는 서브에이전트는 항상 acceptEdits 모드로 돌고 파일 편집은 자동 승인됩니다. 긴 런에서 셸 명령이나 MCP 도구로 중간에 멈추고 싶지 않다면, 시작 전에 필요한 명령을 allowlist에 넣어두는 편이 낫습니다.

어떻게 켜고 끄는가

워크플로우를 작성하게 하는 방법은 두 가지입니다.

방법동작
프롬프트에 트리거 키워드(ultracode) 포함해당 작업 하나만 워크플로우로 처리
/effort ultracode 설정세션의 모든 주요 작업을 워크플로우로 계획

발표 시점의 트리거 키워드는 workflow였으나 v2.1.160(2026년 6월 2일)에서 ultracode로 바뀌었습니다. 예전 글이나 영상에서 workflow라고 적으라는 안내를 봤다면 키워드만 바꿔 읽으면 됩니다.

ultracodexhigh effort(추론 강도)와 자동 워크플로우 오케스트레이션을 묶은 설정입니다. 켜두면 Claude가 작업마다 워크플로우가 필요한지 알아서 판단합니다. 한 요청이 여러 워크플로우로 갈라질 수도 있습니다. 코드 이해용 하나, 변경용 하나, 검증용 하나 식으로. 그만큼 토큰과 시간을 더 씁니다.

마음에 드는 런이 나오면 /workflows에서 그 런을 골라 s 키로 명령어로 저장할 수 있습니다. 프로젝트의 .claude/workflows/에 두면 저장소를 받은 모두가 쓰고, 홈의 ~/.claude/workflows/에 두면 저만 써요.

끄는 방법도 명확합니다.

  • /config에서 Dynamic workflows 토글 끄기
  • ~/.claude/settings.json"disableWorkflows": true
  • 환경변수 CLAUDE_CODE_DISABLE_WORKFLOWS=1
  • 조직 전체는 managed settings의 "disableWorkflows": true

요금과 가용성

  • 리서치 프리뷰. Claude Code v2.1.154 이상 필요
  • 유료 플랜 전체에서 사용 가능 (Pro는 /config에서 켜야 함). 발표 기준 Max, Team, Enterprise는 기본 활성화
  • Anthropic API, Amazon Bedrock, Google Cloud Vertex AI, Microsoft Foundry 지원
  • 토큰 소비가 일반 세션보다 크게 많습니다. 에이전트를 수십~수백 개 띄우니 당연합니다

비용 관리 팁도 문서에 있습니다. 큰 런 전에 /model을 확인하고, 강한 모델이 필요 없는 단계는 작은 모델로 라우팅하도록 작업 설명에 명시하면 됩니다.

함께 나온 Opus 4.8은 자기 작업의 불확실성을 더 적극적으로 드러내고, 근거 없는 주장을 덜 한다는 평가입니다. 어드버서리얼 검증 패턴과 맞물려 보면, 모델이 스스로 의심을 표하는 성향이 강해진 게 수백 개 에이전트를 신뢰하는 데 보탬이 됩니다. Fast 모드는 2.5배 속도로 동작하면서 이전 모델보다 3배 저렴해졌습니다. (Anthropic Opus 4.8 발표)

운영자 시각에서 한마디

Dynamic Workflows의 본질은 에이전트를 더 많이 돌리는 게 아니라 계획을 코드로 옮기는 데 있습니다. 오케스트레이션이 읽고 다시 돌릴 수 있는 스크립트로 굳으면, 매 브랜치마다 같은 리뷰를 같은 방식으로 돌릴 수 있습니다. 일회성 마법이 아니라 반복 가능한 프로세스가 된다는 뜻입니다.

다만 지금은 리서치 프리뷰입니다. 한도도 동작도 바뀔 수 있고, 토큰 비용은 만만치 않습니다. 처음 쓴다면 작은 작업으로 범위를 좁혀 토큰 사용 패턴부터 감을 잡으라는 게 공식 권고입니다.

그래도 방향은 분명해요. 75만 줄 마이그레이션을 11일에 끝냈다는 사례가 과장이 아니라면, 분기 단위 작업의 정의가 다시 쓰이는 중이에요. Skills, Routines, Auto 모드에 이어 이번엔 오케스트레이션 자체가 자동화됐습니다. 따라가는 것만으로도 벅차지만, 한 번쯤 직접 /deep-research부터 돌려보는 게 감을 잡는 가장 빠른 길입니다.

참고 자료

Claude Opus 4.8 팀 작업

· 약 7분

출시

2026년 5월 28일, Anthropic이 Claude Opus 4.8을 출시했고, 모델 ID는 claude-opus-4-8이에요. 직전 모델인 Opus 4.7이 나온 지 41일 만이며, 표준 가격은 입력 $5, 출력 $25(백만 토큰당)로 4.7과 같아요.

직전 글에서 4.7의 방향을 "더 똑똑하기보다 더 맡길 수 있는 모델"이라고 정리했습니다. 4.8은 그 연장선을 한 칸 더 밀어붙입니다. 이번에는 작업 한 건을 통째로 맡기지 않고, 작업을 잘게 쪼개 수백 개의 subagent에게 동시에 맡깁니다. 한 사람에게 맡기던 일을 한 팀에게 맡기는 단계입니다.

한눈에 보는 변화

Opus 4.7Opus 4.8
출시일2026-04-162026-05-28
표준 가격 (입/출)$5 / $25동일
고속 모드2.5배 속도, $10 / $50
병렬 subagent제한적수백 개 (동적 워크플로우)
코드 결함 누락기준4.7의 약 1/4
불확실성 표시제한적적극적으로 먼저 알림
effort(추론 강도) 조절low~max + xhigh슬라이더 + ultracode

가격을 보면 표준 호출 비용은 그대로입니다. 대신 새로 생긴 두 가지 — 동적 워크플로우와 고속 모드 — 가 작업의 단위 자체를 바꿉니다.

핵심 1: 동적 워크플로우

가장 큰 변화는 수백 개의 subagent를 활용하는 **동적 워크플로우(dynamic workflows)**입니다. Claude Code 안에서 Claude가 직접 작업 계획을 세우고, 그 계획을 orchestration 스크립트로 옮긴 다음, 수백 개의 subagent를 동시에 돌립니다. Anthropic은 이걸 코드를 완성하는 단계를 넘어선 기능으로 설명합니다.

규모 제한은 명확하게 정해져 있습니다.

항목
동시 실행 subagent최대 16개
한 번의 실행당 총 subagent1,000개
필요 버전Claude Code v2.1.154 이상
제공 플랜Max / Team / Enterprise (Max/Team은 기본 켜짐)
상태리서치 프리뷰

흐름을 도식으로 보면 이렇습니다.

여기서 중요한 건 분할과 취합을 사람이 짜는 게 아니라는 점입니다. 사람은 "이 작업을 해줘"라고 던지고, 어떻게 쪼갤지와 어떻게 합칠지는 모델이 정합니다. 동시 16개라는 상한이 있어서 1,000개를 한꺼번에 띄우는 게 아니라, 16개씩 흘려보내며 총 1,000개까지 처리하는 구조입니다.

실제로 뭐가 달라지나

MarkTechPost가 전한 사례가 이 기능의 성격을 잘 보여줍니다. 약 75만 줄 규모의 Rust 코드를 다시 쓰는 작업에서, Opus 4.8이 기존 테스트 스위트의 99.8%를 통과시키며 첫 커밋부터 병합까지 11일 만에 끝냈습니다.

중요한 대목은 기존 테스트 스위트를 합격선으로 삼는다는 점입니다. 수십만 줄 규모의 마이그레이션을 사람이 일일이 검수하는 대신, 통과해야 할 테스트를 기준으로 모델이 스스로 작업의 완료 여부를 판단합니다. 4.7에서 강조됐던 셀프 검증이 워크플로우 전체로 확장된 모양새입니다.

다만 리서치 프리뷰이고, 일반적인 세션보다 토큰을 눈에 띄게 많이 쓴다는 경고가 붙어 있습니다. 가격과 제공 범위가 바뀔 수 있다는 단서도 함께 붙었습니다.

핵심 2: 고속 모드

두 번째는 2.5배 속도를 내면서 이전 세대보다 가격을 3분의 1로 낮춘 **고속 모드(fast mode)**입니다. 같은 Opus 4.8을 출력 토큰 기준 2.5배 빠르게 돌립니다. 모델 품질은 표준과 동일하고, 속도만 끌어올립니다.

가격은 입력 $10, 출력 $50(백만 토큰당)로 표준의 두 배입니다. 다만 The New Stack에 따르면 이 고속 모드 가격이 이전 모델들의 고속 모드($30/$150)보다 3배 저렴해졌습니다.

구분입력출력속도
표준$5$25기준
고속 모드 (4.8)$10$502.5배
고속 모드 (이전 세대)$30$150

쓰는 법도 단순합니다. Claude Code에서 /fast 명령으로 켜고 끄며, 켜진 상태는 작은 번개 아이콘으로 표시됩니다. 다만 청구 방식이 다릅니다. 고속 모드는 플랜 할당량이 아니라 사용량 크레딧(usage credits)에서 차감되므로, 크레딧을 활성화해 둬야 쓸 수 있습니다.

속도가 두 배 이상 빨라진다는 건 단순히 답이 빨리 나온다는 의미를 넘어섭니다. 동적 워크플로우처럼 subagent를 수백 개 돌리는 작업에서는 개별 호출의 속도가 전체 완료 시간을 좌우합니다. 두 기능이 같은 날 나온 게 우연은 아닙니다.

핵심 3: 더 정직해진 모델

벤치마크 점수 못지않게 강조된 변화가 정직성입니다. Opus 4.8은 자기 작업에서 코드 결함을 놓치는 빈도가 4.7의 약 4분의 1로 줄었다. 작업의 불확실한 부분을 먼저 드러내고, 근거 없는 단언을 덜 한다는 평가도 함께 나왔습니다.

TechCrunch가 전한 Bridgewater Associates의 코멘트가 인상적입니다. 분석의 입력과 출력에서 문제를 능동적으로 짚어내는데, 다른 모델들이 으레 놓치던 지점이라는 것입니다.

이 변화는 동적 워크플로우와 맞물립니다. subagent 수백 개가 동시에 돌아가는 작업에서 모델이 결함을 자주 놓치거나 근거 없이 다 됐다고 보고하면, 사람이 검수할 지점이 폭발적으로 늘어납니다. 결함 누락이 줄고 불확실성을 먼저 알리는 성질은 대규모 위임을 실제로 굴러가게 만드는 전제입니다.

핵심 4: effort 슬라이더와 ultracode

4.7에서 xhigh effort 레벨이 추가됐던 것을 기억할 것입니다. 4.8은 이 effort 조절을 더 손에 잡히게 바꿨습니다.

  • claude.ai와 Cowork에서 슬라이더로 effort 수준을 조절합니다. 품질과 토큰 소비를 직접 저울질하는 방식입니다.
  • 기본값은 high effort입니다. 4.7과 같은 토큰을 쓰면서 성능은 더 낫다는 게 Anthropic의 설명입니다.
  • Claude Code에는 ultracode 설정이 생겼습니다. xhigh effort에 자동 워크플로우 orchestration을 결합한 모드입니다.

ultracode 외에도 프롬프트에 workflow라는 단어를 넣거나 번들 /deep-research 명령을 쓰면 동적 워크플로우가 작동합니다. 즉 동적 워크플로우는 별도 화면이 아니라 기존 작업 흐름 안에서 자연스럽게 켜지도록 설계됐습니다.

벤치마크

수치 자체는 4.7만큼 극적이진 않지만, 측정 대상이 달라졌습니다. 단일 코딩 점수보다 에이전트와 실무 작업 쪽에 무게가 실렸습니다.

벤치마크결과
Online-Mind2Web (브라우저 에이전트)84%
Super-Agent모든 케이스를 끝까지 완료한 유일한 모델
Legal Agent Benchmark (전체 통과 기준)전체 통과 10% 넘긴 첫 모델

전체 통과 기준에서 10%를 넘긴 첫 모델이라는 표현이 현재 에이전트 벤치마크의 난이도를 잘 보여줍니다. 부분 점수가 아니라 한 작업을 처음부터 끝까지 완수했는지를 따지면, 아직 대부분의 모델이 한 자릿수에 머문다는 뜻입니다.

정리

4.7이 사람이 덜 개입해도 되는 방향이었다면, 4.8은 그 위에 한 사람이 못 하던 규모를 한 번에 처리하는 방향을 얹었습니다. 수십만 줄 마이그레이션을 11일에 끝낸 사례가 과장이 아니라면, 위임의 단위가 작업 한 건에서 프로젝트 한 덩어리로 넘어간다고 볼 수 있습니다.

물론 동적 워크플로우는 아직 리서치 프리뷰이고, 토큰을 많이 쓴다는 단서가 붙어 있습니다. 작은 작업이라면 표준 호출이 여전히 합리적입니다. 다만 사람 손으로 며칠 걸리겠다 싶은 큰 작업 앞에서 선택지가 하나 더 생겼다는 건 분명합니다.

출시 직후 외부 클라우드로도 빠르게 퍼졌어요. Databricks Model Serving이 5월 28일 Claude Opus 4.8을 호스팅 모델로 추가했고, AWS도 6월 초 Amazon Bedrock과 AWS의 Claude Platform 양쪽에서 모델 제공을 시작했어요. Bedrock에서는 Guardrails, Knowledge Bases, 데이터 레지던시 같은 관리형 기능과 묶어 쓸 수 있어요.

참고 자료

Dia와 Arc 브라우저

· 약 5분

직전에 Arc 이후 세로탭을 찾아 글을 쓰면서 Dia(디아)는 한 줄로만 다루고 넘어갔어요. "의도적으로 더 보수적이고 채팅 인터페이스 중심"이라고요. 그다음 며칠 마음이 동해서 직접 깔아봤고, 이 글에 그 첫인상을 적었어요.

스포일러는 단순합니다. 디자인은 마음에 들었지만, 메인으로 옮기진 못했습니다.

첫 화면

의외로 조용합니다. Dia를 처음 켰을 때 인상은 "고요함"이었습니다. URL바가 가운데 떠 있고, 좌측에 사이드바가 붙어 있고, 그 외에는 거의 비어 있습니다. Arc를 처음 켰을 때 "이게 뭐지?" 하던 충격은 없었지만, 그다음 단계의 절제 같은 게 있습니다.

이름은 라틴어/스페인어 día(낮)에서 왔습니다. 그래서 "디아"라고 읽습니다. 다이아몬드 쪽이 아닙니다.

며칠 가볍게 써볼 마음으로 켰는데, 일단 디자인이 거슬리지 않는다는 점이 가장 좋았습니다. 익숙하지도 낯설지도 않은, 그저 조용한 첫 화면입니다.

마음에 든 것 네 가지

가장 먼저 눈에 들어온 것은 세로탭과 사이드바입니다. 좌측 정렬 탭에 사이드바 토글까지, Arc를 쓰던 손이 거의 그대로 적응합니다. 단축키로 사이드바를 접으면 본문이 넓어지는 그 감각이 살아 있습니다. URL바가 검색, 질문, AI의 단일 입구라는 점도 좋았습니다. Cmd+T 한 번이면 끝이라, 검색하고 싶으면 검색하고 물어보고 싶으면 같은 자리에서 묻습니다. Arc Command Bar의 진화형이라고 봐도 됩니다.

타이포와 여백, 애니메이션의 정돈도 눈에 띕니다. 폰트, 트랜지션, 인터랙션 디테일이 차분해서 광고와 PR이 없는 Chrome 같습니다. 그중 가장 의외였던 것은 Arc보다 더 단순하다는 점입니다. Arc는 처음 며칠 학습 비용이 있었는데 Dia는 그게 없습니다. 장식이 적고 일상에서 쓰기 편합니다.

며칠 쓰면서 거슬린 것들

유료의 벽

가장 크게 걸린 지점은 가격입니다.

Dia의 AI를 본격적으로 쓰려면 Dia Pro $20/월이 필요합니다. 무료 티어가 있지만 사용량 한도가 있습니다. 가벼운 탭 요약, 짧은 질문 몇 번에는 충분한데, AI를 일상적으로 끼고 쓸 만큼은 아닙니다.

진짜 문제는 가격이 ChatGPT Plus, Claude Pro와 정확히 겹친다는 점입니다. 이미 그쪽 중 하나를 쓰고 있다면 추가 $20는 부담입니다. 저처럼 "브라우저는 무료로 쓰고 싶다"는 사람은 AI 기능을 본격적으로 쓰는 순간 결제창부터 만납니다.

브라우저에 월 구독료를 낸다는 모델 자체에도 마음이 잘 안 갑니다. 브라우저는 도구지, 어시스턴트가 아닙니다.

AI 응답 품질이 한 단계 묽다

무료 한도 안에서 몇 번 써본 인상으로는 Dia에 묶여 있는 모델이 ChatGPT나 Claude를 직접 쓸 때보다 한 단계 묽어요. 탭 컨텍스트를 자동으로 넣어주는 강점은 있는데, 모델 자체의 추론력이 그만큼 따라오지 못합니다.

결국 진지한 질문은 ChatGPT/Claude 탭으로 가게 되고, Dia는 가벼운 요약 정도에만 쓰게 됩니다. 그러면 또 "굳이 Dia를 켤 이유가 뭐지" 싶어집니다.

정체성이 흔들린다

며칠 쓰는 내내 가장 모호했던 부분입니다. 시간순으로 짚으면 이렇습니다. 2025년 6월 베타 출시 때는 Arc의 Spaces, Command Bar, 세로탭을 다 빼고 "AI 우선"을 명분으로 시작했습니다. 그해 10월 Atlassian이 The Browser Company를 $610M에 인수했습니다. 11월에는 Arc 사용자 이탈이 길어지자 사이드바, 세로탭, 핀 탭 같은 Arc 기능을 다시 넣기 시작했습니다. 사실상 역수입입니다. 이어 2026년 3월부터 Slack, Notion, Gmail, Google Calendar, Jira, Linear 같은 SaaS 도구 통합이 본격화됐습니다.

그래서 지금 Dia는 Arc 후속 + AI 우선 + 엔터프라이즈 SaaS 통합 도구 셋이 어색하게 동거 중입니다. 며칠 써본 제 입장에서 가장 모호한 것은 "이 브라우저는 누굴 위한 거지?"였어요. 개인 사용자인 저를 위한 것인지, Atlassian 워크플로우를 쓰는 팀을 위한 것인지, AI를 적극 쓰는 사람을 위한 것인지 하나로 모이지 않습니다.

이건 사용성 단점이라기보다 방향성의 단점에 가깝습니다. 1년 후의 Dia가 지금의 Dia와 같은 도구일 거라는 보장이 없습니다.

macOS 14+ Apple Silicon 전용

Intel Mac, Windows 사용자는 아직 진입 자체가 안 됩니다. Windows 베타는 가입 페이지만 받는 중입니다. 회사, 집, 외부 환경이 섞여 있는 사람에게 메인으로 가져가기에는 조건이 너무 좁습니다.

확장/자동화의 부재

Chromium 기반인데 확장 호환이 제한적이라 익숙하던 확장을 다 못 가져옵니다. 그리고 Perplexity Comet이나 ChatGPT Atlas가 보여주는 "에이전트가 폼 채우고 메일 보내주는" 자동화도 Dia에는 없습니다.

지금의 Dia는 "채팅하는 브라우저"이고, 경쟁사들은 "일하는 브라우저" 쪽으로 가고 있습니다. 카테고리는 같은데 답하는 질문이 다릅니다.

AI 브라우저 시장에서의 자리

브라우저만든 곳방향플랫폼
CometPerplexity에이전트가 일을 처리Win/Mac/iOS/Android
ChatGPT AtlasOpenAIAgent Mode 멀티탭 자동화macOS Apple Silicon
DiaAtlassian / Browser Co탭과 대화 + SaaS 통합macOS Apple Silicon

같은 카테고리지만 풀려는 문제가 다릅니다. Comet과 Atlas가 "제 대신 일을 처리해 주세요"라면, Dia는 "이 탭에 대해 같이 얘기하자"입니다. Atlassian 인수 이후로는 거기에 "팀 SaaS 워크플로우"가 얹히는 중입니다. 어느 쪽이 정답인지는 아직 시장이 결정하지 않았습니다.

결론

관찰 모드로 남았습니다. 며칠 써본 결론은 단순합니다. 디자인은 좋습니다. URL바 통합, 조용한 절제, 익숙한 세로탭까지, 며칠 쓰면서 거슬리지 않는다는 것 자체가 이미 점수입니다. 다만 메인으로 옮기기에는 벽이 두 가지 있습니다. 하나는 비용입니다. 무료로는 한계가 뚜렷하고, 유료는 ChatGPT/Claude 구독과 가격이 겹칩니다. 다른 하나는 방향입니다. 정체성이 1년 안에 어디로 갈지 불확실합니다. Arc UX의 향수, AI 어시스턴트, Atlassian 엔터프라이즈 도구 중 어느 쪽으로 정리될지 아직 모릅니다.

그래서 지금 결론을 내리지 않는 편이 정직한 후기입니다. 계속 관찰만 하기로 했습니다.

직전 글에서 정리한 결론(현실적 1순위 Edge, 호기심 1순위 Zen)은 여전히 유효합니다. Dia는 그 옆에 한 자리 비워두고 두기로 했습니다. 정체성이 정리되거나 무료 티어가 너그러워지면, 그때 다시 며칠 깊게 써볼 것입니다.

조용한 디자인은 마음에 들었지만, 그것만으로 메인 브라우저를 바꾸기에는 아직 일러요.

참고

Claude Code Switcher

· 약 15분

왜 "스위처"가 필요해졌나

Claude Code가 2024년 말 등장한 직후만 해도 사용량 캡은 거의 의식되지 않았어요. 그게 바뀐 건 2025-08-28이에요. Anthropic이 Pro / Max 플랜에 5시간 롤링 윈도우 + 7일 weekly cap 이중 제한을 도입한 날이에요. Max 5x ($100/mo)와 Max 20x ($200/mo)도 weekly 캡에서 자유롭지 않습니다.

cap에 걸리면 두 가지 길이 있습니다.

  1. 그 주가 끝날 때까지 기다립니다
  2. 다른 프로바이더로 옮깁니다. Z.AI의 GLM Coding Plan, Moonshot의 Kimi, OpenRouter의 300개 모델 중 하나, 또는 로컬 Ollama를 선택합니다

옮기는 일 자체는 어렵지 않습니다. Claude Code가 환경변수 두 개(ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN)만 보고 동작하기 때문입니다. 예를 들어 GLM으로 옮기는 방법은 Z.AI 공식 가이드 기준으로 두 줄이면 됩니다.

export ANTHROPIC_BASE_URL="https://api.z.ai/api/anthropic"
export ANTHROPIC_AUTH_TOKEN="..."

다른 프로바이더(Kimi, DeepSeek 등)도 같은 패턴이지만 정확한 Anthropic-호환 엔드포인트 URL은 각 프로바이더 공식 문서에서 직접 확인해야 합니다. 같은 회사라도 OpenAI-호환 엔드포인트(/v1)와 Anthropic-호환 엔드포인트가 다르고, 후자가 잘못 표기된 글이 인터넷에 흔합니다.

문제는 하루에 셋넷씩 갈아타게 되는 순간입니다. 회사 계정, 개인 계정, GLM, 로컬 모델, 임시 OpenRouter를 오가며 매번 셸 변수를 바꾸다 보면, 헷갈려서 회사 계정으로 사이드 프로젝트를 돌리기도 하고 캡이 어디서 깎이는지도 까먹습니다. 이 지점에서 등장한 도구가 **CCS (Claude Code Switcher)**입니다.

CCS 한 줄 요약

@kaitranntt/ccs는 Kai Tran(카이 트란)이 만든 Claude Code용 멀티 프로바이더/멀티 계정 프로필 매니저입니다. MIT 라이선스의 npm 패키지이며, GitHub ★2.2k, 2026-04-29 기준 v7.75.0입니다. 721개 릴리즈와 3,687개 커밋이 쌓일 만큼 개발이 매우 활발합니다.

홈페이지: https://ccs.kaitran.ca/ 저장소: https://github.com/kaitranntt/ccs

자기 소개는 한 문장입니다.

The multi-provider profile and runtime manager for Claude Code and compatible CLIs. — config 파일 갈아엎지 말고, 활성 세션 깨지 않으면서, 몇 초 안에 프로바이더를 옮겨라.

무엇을 지원하나

설치는 한 줄이면 됩니다.

npm install -g @kaitranntt/ccs
# 또는
bun add -g @kaitranntt/ccs

ccs config 한 번 돌려 초기 설정 후, 프로필 단위로 사용합니다.

명령라우팅
ccs기본값: Claude Sonnet 4.6
ccs glmZ.AI GLM-5.1 (API 또는 Coding Plan)
ccs kimiMoonshot Kimi (1M context)
ccs geminiGemini 3 Pro/Flash (OAuth)
ccs codexGPT-5.4 / Codex (OAuth)
ccs ollama로컬 Ollama 모델
ccs work / ccs personal같은 Claude 라도 계정 격리
ccs --target droid glmruntime 자체를 Factory Droid로 바꾸고 모델은 GLM

지원 프로바이더는 점점 늘어 현재 다음을 포함합니다.

  • Claude (Sonnet 4.6, Opus 4.6): 공식
  • GLM-5.1, GLM-5-Turbo, GLM-4.7: Z.AI
  • Kimi K2.5: Moonshot
  • Gemini 3 Pro/Flash: Google (OAuth)
  • GPT-5.4 / Codex: OpenAI (OAuth)
  • Antigravity Pro/Turbo: ccs agy (OAuth)
  • OpenRouter: 300+ 모델 한 번에
  • Ollama, llama.cpp, Novita, Alibaba Coding Plan 등 로컬/OpenAI-호환 모두

어떻게 동작하나

CCS의 핵심은 두 가지 컴포넌트입니다.

첫 번째는 로컬 Anthropic-호환 프록시입니다. GLM/Kimi처럼 이미 Anthropic-호환 엔드포인트를 제공하는 프로바이더는 단순 패스스루로 지나가고, 그렇지 않은 OpenAI-호환 프로바이더(OpenRouter, DeepSeek 등)는 로컬 프록시가 요청과 응답을 변환해 Claude Code가 자기 형식대로 받게 만듭니다.

두 번째는 CLIProxyAPI라는 OAuth 프록시 백엔드입니다. Gemini, Codex, Antigravity처럼 공식 API 키가 없는 OAuth 기반 프로바이더는 이 별도 컴포넌트가 처리하고, 라운드로빈이나 fill-first 같은 토큰 관리 정책도 여기서 돕습니다. 커뮤니티 fork(CLIProxyAPIPlus)도 옵트인으로 쓸 수 있습니다.

활성화는 eval "$(ccs proxy activate)" 같이 셸에 평가시켜 ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN을 그 세션 한정으로 주입하는 방식입니다. 다음 셸이나 다음 디렉토리에서는 다시 깨끗해집니다.

# CCS가 한 번에 처리하는 것
$ ccs glm "이 PR 리뷰해줘"
# 내부적으로:
# 1. ~/.ccs/profiles/glm.settings.json 읽기
# 2. ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic 주입
# 3. ANTHROPIC_AUTH_TOKEN=$GLM_KEY 주입
# 4. claude code 호출

겉으로는 한 줄이지만 안쪽에서 하는 일은 수동 env 셋과 다르지 않고, 그걸 프로필이라는 단위로 캡슐화했을 뿐입니다.

장점은 어디서 나오나

가장 눈에 띄는 건 명령 하나가 프로파일 하나에 대응한다는 점입니다. 회사 Claude, 개인 Claude, GLM, Kimi, 로컬까지 다섯 개를 셸 변수 갈아끼우지 않고 명령 하나로 분리합니다. 여기서 한 발 더 들어가면 멀티 계정 격리가 있습니다. ccs workccs personal이 같은 머신에서 동시에 다른 Claude 세션을 돌릴 수 있고 weekly cap도 따로 깎이므로, 회사 계정으로 사이드 프로젝트를 돌리다 cap을 축내는 사고가 구조적으로 사라집니다.

비용 이야기도 빼놓기 어렵습니다. 공식 페이지는 "Save $500–1000/month with strategic delegation"이라 적는데, 검증은 본인 워크로드에 따라 다릅니다. 다만 무거운 보일러플레이트는 GLM($10–30/mo)으로 돌리고 설계만 Claude Max로 가는 패턴은 실제로 cap 부담을 크게 줄여줍니다.

나머지 장점은 결이 비슷합니다. Z.AI처럼 API 키를 발급해 쓰는 곳, Gemini처럼 OAuth로 가는 곳, 로컬 Ollama까지 같은 명령 표면 위로 올라오고, proxy.routing 설정으로 "긴 컨텍스트는 Kimi, 추론은 Claude, 백그라운드는 GLM" 식의 자동 라우팅도 짤 수 있습니다. config 파일을 손으로 만지지 않고 비주얼 대시보드로 프로필을 추가/수정할 수 있어, 한국에서 GLM Coding Plan처럼 결제/키 발급이 번거로운 프로바이더를 쓸 때 편합니다. 721 릴리즈에 거의 매일 업데이트될 만큼 개발이 활발해 새 프로바이더가 나오면 빠르게 흡수되는 것도 덤입니다.

단점과 주의사항

가장 실질적인 부담은 추상화가 두껍다는 점입니다. 프록시가 두 단계(로컬 + CLIProxyAPI)로 끼어들고 프로바이더마다 라우팅 룰이 따로 사는 탓에, "내 요청이 어디로 갔지?"가 헷갈리는 순간이 생깁니다. 로그(~/.ccs/logs/)를 켜둘 가치가 여기 있습니다. 핵심 기능 일부가 CLIProxyAPI라는 별도 프로젝트에 묶여 있다는 점도 같은 맥락인데, 그쪽 이슈가 CCS 동작에 그대로 옮겨붙을 수 있습니다. 버전 업이 매우 빠른 것(v7.75.0, 721 릴리즈)도 새 프로바이더 흡수에는 좋지만 "내 환경에서 안정적인 v7.x"를 고수하려는 보수적 운영에는 부담이라, lockfile로 고정하는 편이 낫습니다.

쓸모의 경계도 분명합니다. 다른 프로바이더를 안 쓰고 회사/개인 두 계정만 격리하는 경우라면 direnv.envrc 같은 더 가벼운 도구로 충분하고, CCS는 옮겨 다닐 곳이 셋 이상일 때부터 의미가 생깁니다. 그리고 Codex, Antigravity 같은 비공개 OAuth 프로바이더를 우회로 쓰는 것은 각 서비스 이용약관 위반 소지가 있으니, 회사 환경에서는 한 번 확인하는 편이 안전합니다.

한국에서 쓸 때 걸리는 현실적 지점도 둘 있습니다. Z.AI Coding Plan은 분기 결제(분기당 $30–80), Moonshot Kimi는 위안화 결제라 CCS가 결제까지 해결해주지는 않습니다. 또 이 도구가 weekly cap 회피 수단으로 광고되지만, Anthropic 입장에서 "한 사람이 멀티 계정으로 cap을 돌파"하는 패턴이 쌓이면 정책이 다시 조여질 수 있습니다. 도구의 책임은 아니어도 시장 동학은 의식해 둘 만합니다.

한국 커뮤니티 반응

CCS 자체에 대한 긱뉴스(news.hada.io) 단일 글은 (작성 시점 기준) 아직 없지만, CCS 같은 도구가 왜 등장했는지를 보여주는 신호는 긱뉴스에 풍부합니다.

스레드(Threads) 쪽에서는 한국어 사용자들이 비슷한 도구를 다양하게 시도 중이라는 점이 눈에 띕니다. vibe proxy로 Claude Code에 AntiGravity와 GLM을 라이드 매핑하거나, oh-my-opencode(★9K)가 Kimi K2.5와 GLM 5를 메인 오케스트레이터로 튜닝하거나, free-claude-code가 NVIDIA NIM 무료 API로 Claude Code를 무료 운영하는 식입니다. 한국 개발자들이 프록시와 멀티 프로바이더라는 패턴 자체에 적극적으로 베팅하고 있다는 의미이고, CCS는 그 흐름에서 가장 잘 정리된 도구 중 하나입니다.

대안 비교

CCS만 있는 게 아닙니다. 같은 영역에 여러 도구가 경쟁 중입니다.

도구강점약점
CCS (kaitranntt)★2.2kOAuth 프록시 + GUI 대시보드 + 활발한 업데이트추상화 두꺼움, 의존성 복잡
claude-code-router (musistudio)★33.2k시나리오 라우팅(background/think/longContext), 토큰 임계값 자동 전환, JS 플러그인OAuth 미지원
cc-switch (farion1231)(데스크톱)데스크톱 GUI, Claude Code/Codex/OpenCode/Gemini 통합CLI 친화도 낮음
claude-code-switch (foreveryh)(소규모)미니멀, 한 명령으로 Anthropic 모델만 전환Anthropic 외 미지원
OpenCode (opencode.ai)(별도 트리)75+ 프로바이더, 완전 오픈, Claude Code 호환 인터페이스자체 CLI 라 Claude Code 그대로는 아님
DIY (.zshrc 두 줄)의존성 없음, 가장 투명함프로필 3개 넘어가면 관리 불가

API 키 기반 프로바이더가 2개 이내이고 라우팅이 필요하다면 claude-code-router가 어울립니다. 별 수도 가장 많고 시나리오 라우팅이 가장 강합니다. OAuth 프로바이더를 포함한 멀티 계정이라면 이 영역에서 거의 유일한 CCS가 맞습니다. 데스크톱 친화성과 멀티 툴 통합 GUI를 원한다면 cc-switch, Anthropic만 쓰면서 단순함을 우선한다면 DIY 또는 claude-code-switch를 고르면 됩니다.

시나리오: 회사 Team + Enterprise 두 계정만 쓴다면

CCS가 풀려는 문제가 프로바이더 다양화와 OAuth 우회라면, Anthropic만 쓰면서 회사 계정 두 개(Team + Enterprise)만 격리하는 시나리오에는 정확히 그 두 가치가 빠져 있습니다. 이때는 도구 선택이 달라집니다.

이 시나리오의 본질은 두 ANTHROPIC 계정 사이를 빠르고 정확하게 전환하는 한 가지로 줄어듭니다. 다른 프로바이더도, 시나리오 라우팅도, 로컬 모델도 무관합니다.

이 경우라면 direnv가 첫 손에 꼽힙니다. .envrcexport ANTHROPIC_API_KEY=... 한 줄을 두 회사 디렉토리에 각각 두면 cd만으로 키가 자동 로드됩니다. 이 시나리오에서 가장 큰 리스크는 한 회사 코드에 다른 회사 키가 실수로 흘러가는 사고인데, 디렉토리 경계로 그걸 막아주는 게 direnv의 장점입니다.

더 단순하게 가려면 ~/.zshrc에 alias 두 줄이면 됩니다.

alias cct='ANTHROPIC_AUTH_TOKEN=$TEAM_TOKEN claude'
alias cce='ANTHROPIC_AUTH_TOKEN=$ENT_TOKEN claude'

디렉토리에 묶이지 않아 빠른 대신, 지금 어느 회사 컨텍스트인지는 사람이 기억해야 합니다. Anthropic 전용 미니멀 스위처인 claude-code-switch도 CCS보다 가볍고 이 시나리오에 정확히 맞습니다. CCS를 굳이 쓴다면 멀티 계정 모드만(ccs auth create team / ccs auth create ent) 떼어 쓰는 것도 동작은 하지만, 프로바이더 다양화, 프록시, OAuth 같은 95% 기능을 놀리면서 의존성과 복잡도는 그대로 짊어지게 됩니다. 나중에 GLM 같은 외부 프로바이더로 확장할 가능성이 있을 때만 미리 깔아두는 의미가 있습니다.

Enterprise가 SSO를 강제하면 단순 API 키 토글로는 안 되고 OAuth 로그인 사이클이 필요합니다. 이때는 direnv만으로 부족해 CCS의 OAuth 프로필 분리나 Anthropic Console의 organization 스위처를 써야 하는데, SSO 강제에 잦은 전환까지 겹친 경우가 사실상 CCS를 정당화하는 거의 유일한 회사 시나리오입니다. 정리하면 API 키 기반 두 계정에는 direnv로 충분하고, SSO 강제에 잦은 전환이 겹칠 때만 CCS가 값을 하며, 그 밖에는 대체로 과한 도구입니다.

설정/대화는 공유하면서 계정만 분리하고 싶다면

같은 시나리오의 변종입니다. 두 회사 계정을 전환은 하되 슬래시 커맨드, MCP, hooks, CLAUDE.md/대화 히스토리는 한 군데에서 공유하고 싶은 경우인데, 이때는 정답이 다릅니다.

먼저 Claude Code가 무엇을 어디 두는지 알면 답이 나옵니다.

위치무엇계정 종속?
~/.claude/settings.json사용자 설정 (theme, env, hooks 트리거 등)무관
~/.claude/commands/, agents/, skills/커스텀 슬래시 커맨드, 에이전트, 스킬무관
~/.claude/CLAUDE.md글로벌 메모리무관
~/.claude/projects/<path-hash>/*.jsonl대화 히스토리 (프로젝트 경로 기준)무관
OS 키체인 / ANTHROPIC_AUTH_TOKEN인증 토큰종속

핵심은 계정 종속이 토큰 한 가지뿐이라는 점입니다. 토큰만 갈아끼우면 나머지는 자동으로 공유되므로, 답은 direnv로 토큰만 스위칭하는 것입니다. .envrcexport ANTHROPIC_AUTH_TOKEN=... 한 줄만 두고 ~/.claude/는 건드리지 않으면, 슬래시 커맨드, hooks, MCP, 대화가 전부 자동으로 공유됩니다. 반대로 ccs auth create work 같은 CCS의 isolated profile 모드는 정확히 이 공유를 분리하는 기능이라 피해야 합니다. CCS 자체는 써도 되지만 isolation 옵션은 끄고 토큰만 바꾸는 모드로만 씁니다. 여러 머신 사이에서도 공유하고 싶으면 ~/.claude/를 git으로 관리하는 dotfiles가 답인데, settings.json에 토큰이 평문으로 들어가지 않도록 .gitignoresettings.local.json을 등록해 두는 정도만 주의하면 됩니다.

다만 Enterprise 데이터 격리는 짚어둘 필요가 있습니다. Enterprise 플랜 약관에 대화 데이터를 다른 organization 환경과 섞지 못하게 하는 조항이 있을 수 있어서, PII, 고객 데이터, 비공개 코드를 다루는 프로젝트라면 ~/.claude/projects/를 공유하는 것이 회사 보안 정책 위반이 될 수 있습니다. 사내 보안팀에 한 번 확인하는 게 안전하고, 우려가 있으면 프로젝트 디렉토리 자체를 회사별로 분리해 자연히 다른 <path-hash>로 떨어뜨리는 패턴(예: ~/work/team/, ~/work/ent/ 두 루트)이 가장 깔끔합니다.

SSO 강제 환경, 한국 회사 현실에 더 가까운 케이스

위 두 서브섹션은 API 키를 사용자가 직접 발급받을 수 있다는 전제 위에 있습니다. 그런데 국내 대기업, 금융권, 보안 민감 조직 대부분은 그 전제 자체가 깨져 있습니다. Team/Enterprise 플랜에서 SSO를 강제하면 사용자 API 키 발급이 비활성화되고, 인증은 OAuth + IdP MFA 사이클로만 가능합니다. 이 환경에서는 도구 선택이 다시 한 번 달라집니다.

먼저 구조를 짚으면 다음과 같습니다.

  1. claude login → 브라우저 → 회사 IdP 로그인 (SSO + MFA) → Anthropic Console → 토큰 발급
  2. 토큰은 OS 키체인 또는 ~/.claude/.credentials.json에 저장
  3. 토큰은 보통 시간 제한이 있고 (몇 시간~며칠), 만료되면 다시 SSO 사이클
  4. 한 머신의 한 OS 유저는 동시에 한 organization의 세션만 보유 가능

즉 SSO 강제 환경에서 두 회사 organization 사이를 전환하려면 결국 logout, 다른 org로 login, 다시 작업 사이클을 돌아야 합니다. IdP가 매번 MFA를 요구하니 도구가 우회할 수 있는 영역이 아닙니다.

실제로 동작하는 패턴은 현실적 운영 순으로 정리할 수 있습니다. 가장 흔한 사례이자 가장 깔끔한 결론은 organization 하나만 쓰는 것입니다. 회사가 Enterprise 하나를 표준화했고 Team이 레거시/POC였다면 둘 다 유지할 이유가 없으니 회사 IT에 정리를 요청하는 편이 낫습니다. 두 organization이 같은 Anthropic Workspace 안의 서로 다른 workspace라면, admin이 workspace를 분리해 두는 것만으로 organization 전환 없이 claude /switch-workspace 식의 in-session 전환이 가능합니다. 이게 되는지부터 회사 IT에 확인하면 가장 매끄럽습니다.

두 organization이 진짜 별개라면 방법이 무거워집니다. 같은 노트북에 OS 계정 두 개를 만들어 각각 SSO 로그인 상태를 독립으로 두면 키체인과 ~/.claude/가 자연히 분리되지만, 설정/대화 공유가 깨져서 dotfiles를 두 OS 유저 사이에 공유하는 추가 작업이 필요합니다. CCS의 OAuth 프로필 분리(ccs auth create work-team / ccs auth create work-ent)는 이론상 이 시나리오에 정확히 맞지만, 회사 IdP가 OAuth 흐름에 거는 추가 검증(IP 화이트리스트, 디바이스 트러스트, MFA 빈도)에 따라 CCS의 토큰 캐시 방식이 IdP 정책과 충돌할 수 있어 시도 전에는 알기 어렵습니다. 사내 보안팀과 사전 협의를 권합니다. 가장 보수적인 선택은 두 회사용 Dev Container나 VM을 따로 띄워 각각 한 organization으로 로그인하는 것인데, 무겁고 호스트 키체인을 못 쓴다는 대가가 따릅니다.

반대로 SSO 환경에서 동작하지 않는 패턴은 다음과 같습니다.

  • direnv + ANTHROPIC_AUTH_TOKEN 토글: 사용자 API 키 자체가 없으니 토글할 대상이 없습니다.
  • 셸 alias로 토큰 swap: 같은 이유로 동작하지 않습니다.
  • "session 토큰을 추출해서 재사용": 만료가 짧고 IdP가 디바이스 핑거프린팅으로 거부할 가능성이 있습니다. ToS의 회색지대이기도 합니다.
  • 두 organization의 ~/.claude/.credentials.json을 수동으로 백업/복구: 동작은 할 수 있지만 MFA 빈도 정책을 우회하는 모양새가 되어 정책 위반 우려가 있습니다.

한국 회사 현실에 맞는 결론은, SSO 강제면 organization 전환 자체가 비용이 크다는 사실을 인정하고 두 organization을 동시에 자주 오가지 않는 워크플로우를 설계하는 쪽입니다. 오전엔 Team org에서 한 덩어리, 오후엔 Enterprise org에서 다른 덩어리를 처리하는 식의 시간 분할이, 전환을 도구로 매끄럽게 만드는 것보다 운영 부담이 훨씬 적습니다. 도구는 그 다음 문제입니다.

실전 팁

블로그, GitHub 이슈, 도구 README의 패턴을 종합해 한국 환경에서 바로 쓸 만한 것만 모았습니다.

가장 큰 가치는 라우팅 자동화보다 자기 워크플로우에 맞는 모델 분리에서 나옵니다. 설계/아키텍처는 ccs(Claude Sonnet), 보일러플레이트/테스트 정리는 ccs glm, 1M 컨텍스트가 필요한 대규모 리뷰는 ccs kimi, 민감 코드는 로컬 ccs ollama 정도가 무난한 시작점입니다. Claude Sonnet 4.6도 1M 컨텍스트를 지원하지만 토큰 값이 비싸서, 큰 monorepo 전체 리뷰는 ccs kimi 한 번이 훨씬 싸게 먹힙니다. 새 prompt가 안정적인지 확인하는 단계라면 첫 5~10번은 무료인 ccs ollama로 돌려보다 만족스러우면 Claude로 옮기면 됩니다.

회사/개인 계정은 무조건 격리하는 편이 좋습니다(ccs auth create work / ccs auth create personal). weekly cap이 섞이지 않아 둘 다 마음 편히 쓸 수 있습니다. 여기에 더해 Claude Max의 weekly cap이 60% 이상 깎였으면 남은 작업의 70% 정도는 GLM으로 돌리는 룰을 정해두면, cap이 갑자기 끊기는 사고가 사라집니다.

라우팅은 단순하게 시작하는 편이 낫습니다. proxy.routing 시나리오 라우팅을 처음부터 복잡하게 짜면 요청이 어디로 갔는지 못 따라가니, 모델을 직접 지정해 일주일 운용하고 패턴이 보이면 그때 룰을 추가합니다. 기본 CLIProxyAPI가 새 프로바이더를 못 잡으면 옵트인 fork(CLIProxyAPIPlus) 활성화부터 시도해 볼 만합니다.

매번 eval 치기 싫으면 ~/.zshrc에 한 줄을 넣어 영구화합니다.

[[ -s "$HOME/.ccs/init.zsh" ]] && source "$HOME/.ccs/init.zsh"

멀티 계정 사고를 디버깅할 때는 CCS_LOG=debug ccs glm "..." 식으로 한 번 돌려보면 어느 base URL로 갔는지, 어느 토큰을 썼는지 정확히 보이니 로그를 켜두는 게 필수입니다.

한 줄로

CCS는 Claude Code가 환경변수 두 개로 정의되는 도구라는 사실을 그대로 받아들인 도구입니다. 그 두 변수를 프로파일이라는 단위로 정리하고, OAuth 우회와 다중 계정까지 한 명령 표면 위로 올려놓았습니다. weekly cap 시대에 한 프로바이더에만 의지하는 게 부담스러워진 사용자에게 기본기에 가까운 도구가 됐고, 같은 영역에 claude-code-router 같은 더 큰 별 수의 경쟁자도 있습니다. 자기 워크플로우가 옮겨 다닐 곳이 셋 이상인지부터 보고, 그다음에 도구를 고르는 순서가 맞아요.


→ 다음 편: Claude Code Switcher (CCS) 2편: 디렉토리, 설정, 라우팅의 실제 — 사용자 머신의 ~/.ccs/를 직접 들여다보며 instance / shared 격리 모델, config.yaml의 9개 영역, 로컬 프록시의 5단계 변환을 풀어 봅니다.

참고

Claude Code Auto Mode

· 약 5분

또 새 기능이다

Claude Code를 쓰다 보면 이런 경험이 있을 거예요. 파일 하나를 수정할 때마다 "Allow?" 프롬프트가 뜨고, bash 명령을 실행할 때마다 또 떠요. 장시간 작업할 때는 Y 키를 누르는 게 일이 돼요.

그래서 나온 게 Auto 모드입니다. 2026년 3월 24일, 리서치 프리뷰로 공개됐습니다.

Claude Code Auto Mode 설명

Auto mode lets Claude handle permission prompts automatically — Claude checks each tool call for risky actions and prompt injection before executing.

쉽게 말하면, 권한 승인을 AI가 대신 판단해 주는 모드입니다.

기존 권한 모드 복습

Auto 모드를 이해하려면 기존 모드부터 알아야 합니다. Shift+Tab으로 전환할 수 있는 모드들입니다.

모드자동 승인 범위특징
default읽기만가장 안전. 나머지는 전부 물어봄
acceptEdits읽기 + 파일 편집 + 기본 파일 명령코드 수정은 자동, 셸 명령은 물어봄
plan읽기만실행 없이 계획만 세움
auto전부 — 분류기가 안전 여부 판단장시간 작업에 적합
bypassPermissions전부 — 안전 검사 없음격리된 컨테이너 전용

핵심 차이:

  • default/acceptEdits: 사람이 판단
  • auto: AI 분류기가 판단
  • bypassPermissions: 아무도 판단 안 함 (위험)

어떻게 동작하나

Auto 모드는 2단계 파이프라인으로 각 도구 호출의 안전 여부를 판단합니다.

1단계: 입력 검사와 프롬프트 인젝션 탐지

도구 실행 결과가 에이전트의 컨텍스트에 들어가기 전에, 서버 측에서 프롬프트 인젝션 시도를 스캔합니다. 파일이나 웹페이지에 숨겨진 악성 지시를 감지하면 경고를 붙입니다.

2단계: 출력 검사와 트랜스크립트 분류기

실제 도구 호출 전에 Claude Sonnet 4.6 기반 분류기가 행동의 위험성을 평가합니다.

Stage 1: 빠른 1토큰 Yes/No 필터
↓ (위험 가능성 있으면)
Stage 2: Chain-of-thought 추론으로 정밀 판단

결과: 승인 또는 차단
  • Stage 1에서 대부분의 안전한 작업이 바로 통과
  • 의심스러운 것만 Stage 2로 넘어가서 정밀 검토
  • 분류기는 사용자 메시지, 도구 호출, CLAUDE.md 내용을 참조
  • 도구 실행 결과는 분류기에게 보이지 않음 (인젝션 방지)

뭘 막고 뭘 허용하나

기본 차단 항목

  • curl | bash 같은 다운로드 후 실행 패턴
  • 외부 엔드포인트로 민감 데이터 전송
  • 프로덕션 배포 및 마이그레이션
  • 클라우드 스토리지 대량 삭제
  • IAM/리포 권한 변경
  • main에 직접 push 또는 force push
  • 세션 이전에 존재하던 파일의 비가역적 삭제

기본 허용 항목

  • 작업 디렉토리 내 로컬 파일 작업
  • 매니페스트에 선언된 의존성 설치
  • .env 읽기 및 해당 API로의 인증 정보 전송
  • 읽기 전용 HTTP 요청
  • 시작 브랜치 또는 Claude가 생성한 브랜치에 push

차단 시 동작

분류기가 차단하면 Claude는 이유를 전달받고 다른 접근법을 시도합니다. 연속 3회 또는 세션 내 20회 차단되면 Auto 모드가 일시 중단되고 사용자에게 직접 물어봅니다.

정확도는

Anthropic이 공개한 수치:

지표수치의미
False Negative Rate17%사용자가 거부할 행동인데 분류기가 통과시킴
False Positive Rate0.4%안전한 행동인데 분류기가 차단함

17%의 미탐(false negative)이 눈에 띕니다. Anthropic도 이걸 숨기지 않고 공개했습니다. "완벽하지 않다"는 걸 솔직하게 인정한 것입니다.

즉, 100번 중 17번은 위험한 행동이 통과할 수 있습니다. 그래서 격리된 환경에서의 사용을 계속 권장하는 것입니다.

요금과 제한

  • Pro 플랜: 사용 불가
  • Max, Team, Enterprise, API: 사용 가능
  • 분류기 호출이 토큰 사용량에 포함되어 약간 더 비쌈
  • 읽기와 작업 디렉토리 내 파일 편집은 분류기를 건너뛰므로 추가 비용 없음
  • 셸 명령, 네트워크 작업에서 주로 추가 비용 발생
  • Claude Code v2.1.83 이상 필요

주의할 점

컨텍스트 압축 문제

대화 중에 "main에 push하지 마" 같은 경계를 설정해도, 컨텍스트 압축(compaction)이 해당 메시지를 날려버리면 분류기가 그 경계를 인식하지 못합니다.

해결하려면 대화로 경계를 설정하지 말고, 명시적 deny 규칙을 설정 파일에 넣어야 합니다.

상속된 권한 문제

Auto 모드의 분류기는 개별 행동을 평가하지, 전체 맥락에서의 의도를 파악하지는 못합니다. IAM 수정이나 curl | bash 같은 패턴은 차단하지만, 개별적으로는 무해해 보이는 여러 행동이 합쳐져서 위험해지는 경우는 놓칠 수 있습니다.

이전 취약점 이력

Claude Code에는 이미 보고된 CVE가 있습니다.

  • CVE-2025-59536: 악성 .claude/settings.json을 통한 원격 코드 실행
  • CVE-2026-21852: 악성 MCP 서버를 통한 API 키 유출

Auto 모드가 이런 공격 벡터를 완전히 차단하지는 못합니다.

bypassPermissions 대신 Auto를 써야 하는 이유

이전에 장시간 작업을 위해 bypassPermissions(또는 --dangerously-skip-permissions)를 쓰던 사람들이 있습니다. Auto 모드는 그 대안입니다.

bypassPermissionsAuto
안전 검사없음분류기 검사
프롬프트 인젝션 방어없음입력 스캔
위험 행동 차단없음자동 차단
사용 권장 환경완전 격리 컨테이너만격리 환경 권장

공식 문서에서도 이렇게 말합니다.

"For background safety checks without prompts, use auto mode instead."

활성화 방법

# CLI 플래그
claude --permission-mode auto

# 또는 실행 중 Shift+Tab으로 전환

# 기본값으로 설정
# settings.json에서:
# "permissions": { "defaultMode": "auto" }

Team/Enterprise 플랜에서는 관리자가 먼저 활성화해야 사용자가 접근할 수 있습니다.

커뮤니티 반응

GeekNews(news.hada.io)에서도 Auto 모드 소식이 다뤄졌습니다. 댓글 반응이 인상적입니다.

"하루가 다르게 발전하는군요"

"일상이 바뀔 수 있을 정도의 파급력이 있는 기능이 하루 걸러 하나씩 나와버리네요"

저도 공감해요. Anthropic의 릴리즈 속도는 정말 따라가기 벅찰 정도예요.

마무리

Auto 모드는 "매번 Y를 누르는 귀찮음"과 "아무 검사 없이 전부 실행하는 위험함" 사이의 중간 지점입니다.

편리합니다. 하지만 17%의 미탐률이 있고, 컨텍스트 압축 문제가 있고, 격리 환경에서 쓰라는 권장 사항이 있습니다. 리서치 프리뷰인 만큼 앞으로 개선될 여지가 있지만, 지금은 편리함과 위험 사이의 트레이드오프를 이해하고 쓰는 것이 중요합니다.

개인 프로젝트에서 장시간 코딩 세션을 돌릴 때라면 충분히 쓸 만해요. 프로덕션 인프라에 접근 가능한 환경이라면 아직은 아니에요.

이 글은 2026년 4월 기준 리서치 프리뷰 상태를 바탕으로 작성했어요. 정식 출시 후 동작, 정확도, 요금이 변경될 수 있어요.

참고 자료

Claude Code Skills

· 약 4분

commands가 사라졌다?

Claude Code를 쓰면서 .claude/commands/ 디렉토리에 커스텀 명령어를 만들어 쓰던 분들이 있을 거예요. /deploy, /review, /commit 같은 것들이에요.

그런데 어느 날 문서를 보니 "Skills"라는 게 나옵니다. commands는 어디로 간 것인지 의문이 듭니다.

결론부터 말하면, commands가 skills로 통합됐습니다. 정확히는 v2.1.3 (2026년 1월)부터입니다.

"Merged slash commands and skills, simplifying the mental model with no change in behavior" — Claude Code v2.1.3 Changelog

타임라인

시점변경사항
2025.10 (v2.0.22)Skills 시스템 첫 도입
2026.01 (v2.1.3)Slash commands와 skills 공식 병합
2026.04 현재.claude/commands/ 여전히 동작. 새로 만들 땐 skills 권장

공식 deprecation 일정은 아직 없습니다. 하지만 방향은 명확합니다.

commands와 skills의 차이

기존: commands

.claude/commands/deploy.md

마크다운 파일 하나. 프롬프트를 적어두면 /deploy로 호출할 수 있었습니다. 단순하고 직관적이었습니다.

현재: skills

.claude/skills/deploy/
├── SKILL.md # 주요 지침 (필수)
├── template.md # Claude가 채울 템플릿
├── examples/
│ └── sample.md # 예제 출력
└── scripts/
└── validate.sh # Claude가 실행할 스크립트

디렉토리 구조입니다. SKILL.md가 진입점이고, 지원 파일을 함께 둘 수 있습니다.

핵심 차이: frontmatter

Skills의 가장 큰 차이는 YAML frontmatter입니다.

---
name: deploy
description: 프로덕션 배포
disable-model-invocation: true
allowed-tools: Bash(ssh *) Bash(rsync *)
model: claude-opus-4-7
context: fork
---

배포 순서:
1. 테스트 실행
2. 빌드
3. 서버에 전송

frontmatter로 할 수 있는 것들:

필드기능
descriptionClaude가 자동으로 skill을 선택하는 기준
disable-model-invocationClaude가 임의로 호출하는 것 방지
allowed-tools이 skill에서 쓸 수 있는 도구 제한
model특정 모델 강제 지정
context: forksubagent에서 격리 실행
paths특정 파일 패턴에서만 활성화

commands에서는 이런 제어가 전부 불가능했습니다.

자동 호출이 핵심

commands는 /명령어로 직접 호출해야만 동작했습니다. skills는 다릅니다.

description에 적절한 키워드를 넣어두면, Claude가 대화 맥락에서 관련이 있다고 판단할 때 자동으로 로드합니다. 예를 들면 다음과 같습니다.

---
name: api-conventions
description: API design patterns for this codebase
---

API 엔드포인트 작성 시:
- RESTful 명명 규칙 사용
- 일관된 에러 포맷 반환
- 요청 유효성 검사 포함

이 skill은 /api-conventions으로 호출할 수도 있고, Claude가 API 코드를 작성할 때 알아서 참조하기도 합니다.

반대로 배포처럼 사람이 타이밍을 통제해야 하는 작업은 disable-model-invocation: true를 설정해서 자동 호출을 막습니다.

마이그레이션은 어떻게

안 해도 된다

기존 .claude/commands/ 파일은 그대로 동작합니다. 이름이 같으면 skill이 우선할 뿐입니다.

하고 싶다면

  1. .claude/skills/<이름>/ 디렉토리 생성
  2. 기존 .md 파일 내용을 SKILL.md로 이동
  3. 필요하면 frontmatter 추가
  4. 기존 commands 파일 삭제

예시:

Before.claude/commands/deploy.md

프로덕션에 배포해줘.
1. 테스트 실행
2. 빌드
3. rsync로 서버에 전송

After.claude/skills/deploy/SKILL.md

---
name: deploy
description: 프로덕션 빌드 및 배포
disable-model-invocation: true
---

프로덕션에 배포해줘.
1. 테스트 실행
2. 빌드
3. rsync로 서버에 전송

내용은 같고, frontmatter만 추가됐습니다.

번들 Skills

Claude Code가 기본으로 제공하는 skills도 있습니다.

Skill기능
/batch <instruction>대규모 변경을 병렬 에이전트로 처리
/claude-apiClaude API 레퍼런스 로드
/debug [description]디버그 로깅 활성화 및 문제 분석
/loop [interval] <prompt>프롬프트를 반복 실행
/simplify [focus]최근 변경 코드의 품질 리뷰

이것들도 전부 skill입니다. 프롬프트 기반으로 Claude가 도구를 조율해서 실행합니다.

Skills 저장 위치

skill을 어디에 저장하느냐에 따라 적용 범위가 달라집니다.

위치경로적용 대상
Enterprise관리 설정조직 전체
Personal~/.claude/skills/<name>/SKILL.md모든 프로젝트
Project.claude/skills/<name>/SKILL.md해당 프로젝트만
Plugin<plugin>/skills/<name>/SKILL.md플러그인 활성화 시

제가 자주 쓰는 건 Personal에, 프로젝트 팀원과 공유할 건 Project에 넣으면 돼요.

커뮤니티 반응

병합이 발표됐을 때 커뮤니티에서 혼란이 있었습니다. GitHub에 "Merged slash commands and skills"가 뭔 말이냐는 이슈가 올라왔고, "no change in behavior"면 왜 changelog에 넣느냐는 비판도 있었습니다.

실제로 사용자 입장에서는 기존 commands가 그대로 동작하기 때문에 체감할 수 있는 변화가 거의 없었습니다. 하지만 앞으로 새로 만들 때는 skills로 만드는 편이 맞습니다. frontmatter의 자동 호출 제어, 도구 제한, subagent 실행 같은 기능은 commands에서는 쓸 수 없습니다.

정리

Commands (기존)Skills (현재)
구조마크다운 파일 1개디렉토리 (SKILL.md + 지원 파일)
자동 호출불가Claude가 맥락에 따라 자동 로드
frontmatter미지원도구 제한, 모델 지정, 자동 호출 제어 등
subagent 실행불가context: fork 지원
동작 여부여전히 동작권장
같은 이름 충돌 시-skill이 우선

기존 commands를 당장 마이그레이션할 필요는 없어요. 하지만 새로 만들 건 skills로, 기존 것도 기능이 필요하면 skills로 전환하는 게 좋아요.

참고 자료