[00:00]
- 이런 개발자들은 여러 개의 Claude 세션을 동시에 실행하는 경향이 있어요.
[00:01]
그들은 이걸 '멀티-클로딩'이라고 부르기 시작했습니다.
[00:04]
그래서 6개의 Claude를 동시에 켜놓고 작업하는 모습을 볼 수 있어요.
[00:07]
컴퓨터에서 한 번에 말이죠.
[00:08]
- 안녕하세요, 저는 Alex입니다.
[00:16]
Anthropic에서 Claude Relations을 이끌고 있습니다.
[00:17]
오늘은 Claude Code에 대해 이야기할 예정이고,
[00:19]
제 동료 Cat과 함께 했습니다.
[00:21]
- 안녕하세요, 저는 Cat입니다.
[00:22]
Claude Code의 프로덕트 매니저를 맡고 있어요.
[00:24]
- Cat, Claude Code의 놀라운 출시 속도에 대해 먼저 이야기해보고 싶어요.
[00:26]
터미널에서 열 때마다 새로운 제품이나 기능이 있는 것 같아요.
[00:30]
정말 말 그대로 매번 말이죠.
[00:31]
사용할 수 있는 새로운 것들이요.
[00:33]
팀이 아이디어에서 실제 최종 사용자에게 출시하는 과정이 어떤지 설명해 주실 수 있나요?
[00:37]
- 네, Claude Code 팀은 제품 지향적인 엔지니어들로 가득해요.
[00:39]
이런 기능들 대부분이 상향식으로 만들어집니다.
[00:41]
개발자로서 정말 이런 게 있었으면 좋겠다 싶으면, 직접 만드는 거죠.
[00:44]
저희 프로세스의 작동 방식은
[00:45]
문서를 작성하는 대신,
[00:47]
Claude Code를 사용해서 기능을 프로토타입하는 게 너무 빨라서
[00:50]
대부분의 경우 그냥 기능을 프로토타입하고
[00:52]
사내 '개미들'에게 출시합니다.
[00:54]
그리고 반응이 정말 긍정적이면,
[00:56]
외부에서도 좋아할 거라는 강한 신호죠.
[00:57]
그게 바로 외부 출시 기준입니다.
[01:01]
물론 완전히 맞지 않아서
[01:03]
약간의 조정이 필요한 기능들도 항상 있어요.
[01:06]
'개미들'이 별로 사용하지 않는다면
[01:08]
다시 처음부터 돌아가서
[01:10]
뭘 더 바꿀 수 있을지 생각해봅니다.
[01:12]
- '개미들'이라고 하면 Anthropic 직원들을 말하는 건가요?
[01:13]
- 네, 맞습니다.
[01:17]
- 정말 흥미롭네요.
[01:19]
Claude Code만큼 강한 '도그푸딩' 루프를 가진 제품을 본 적이 없어요.
[01:21]
이게 의도적으로 한 건지,
[01:22]
아니면 제품 자체에서 자연스럽게 발생한 건지 어떻게 생각하세요?
[01:25]
- 꽤 의도적이고, Claude Code가 이렇게 잘 작동하는 중요한 이유이기도 해요.
[01:28]
Claude Code에서 기능을 프로토타입하는 게 너무 쉬워서
[01:29]
가능한 한 많이 프로토타입하도록 사람들을 독려하죠.
[01:31]
하지만 개발자가 도구를 정확히 어떻게 사용할지 추론하기는 어려워요.
[01:33]
개발자들의 워크플로우가 너무 다양하거든요.
[01:34]
그래서 이론적으로 무언가를 하고 싶다는 걸 알더라도,
[01:36]
IDE 통합을 구축하고 싶다는 걸 이론적으로 알더라도
[01:39]
여전히 다양한 잠재적 방법들이 있어요.
[01:41]
그리고 종종 프로토타이핑이
[01:44]
제품이 실제 워크플로우에서 어떨지 느낄 수 있는 유일한 방법이에요.
[01:46]
그래서 '도그푸딩' 과정을 통해
[01:48]
어떤 버전의 기능을 출시할지 결정합니다.
[01:49]
- 알겠습니다. 터미널의 유연성이면서도 제약사항에 대한 뭔가가 있는 것 같아요.
[01:52]
- 맞아요, 그게 정말 중요한 이유예요.
[01:55]
Claude Code에서 기능을 프로토타입하는 게 너무 쉬워서
[01:59]
가능한 한 많이 프로토타입하도록 독려하지만
[02:03]
개발자가 도구를 정확히 어떻게 사용할지 추론하기는 어렵습니다.
[02:05]
개발자들의 워크플로우가 너무 이질적이거든요.
[02:09]
그래서 이론적으로 뭔가를 하고 싶다는 걸 알더라도,
[02:11]
IDE 통합을 구축하고 싶다는 걸 이론적으로 알더라도
[02:12]
여전히 다양한 잠재적 접근법들이 있어요.
[02:15]
그리고 종종 프로토타이핑이
[02:16]
제품이 실제 워크플로우에서 어떻게 느껴질지
[02:18]
정말 느낄 수 있는 유일한 방법입니다.
[02:20]
그래서 '도그푸딩' 과정을 통해 어떤 버전의 기능을 출시할지 결정하죠.
[02:24]
- 알겠습니다. 터미널의 유연성과 동시에 제약사항에 대한
[02:25]
뭔가가 있는 것 같네요.
[02:28]
- 정확히 맞습니다.
[02:41]
새로운 기능을 쉽게 추가할 수 있게 해주죠.
[02:45]
제가 확인한 바로는,
[02:47]
우리가 기본 구조를 구축해놨기 때문에
[02:49]
슬래시 명령어 같은 것들 말이죠,
[02:50]
그 위에 다른 기능을 추가하기가 쉬워요.
[02:53]
- 맞아요, 완전히 커스터마이징이 가능하도록 설계되었어요.
[02:56]
그리고 많은 개발자들이
[02:58]
터미널에 익숙하기 때문에,
[03:00]
새로운 기능 학습이 정말 간단해지죠.
[03:06]
예를 들어, 훅(hooks) 기능의 경우
[03:10]
Claude Code 이벤트에 약간의 결정론적 요소를
[03:12]
추가할 수 있게 해주는데,
[03:14]
모든 개발자가 스크립트 작성법을 알고 있고,
[03:19]
정말 결국엔
[03:21]
훅도 그냥 스크립트에 불과하거든요.
[03:23]
그래서 Claude Code를 커스터마이징하기 위해
[03:25]
새로운 기술을 배울 필요가 없어요.
[03:27]
이미 알고 있는 방법으로 스크립트를 작성하고
[03:30]
Claude Code 이벤트 중 하나에 추가하면
[03:33]
결정론적 요소를 얻을 수 있어요.
[03:35]
- 우리는 정말로 고객이나
[03:37]
개발자들이 있는 곳에서
[03:39]
이 도구로 만나려고 노력하고 있어요.
- 분명히요.
[03:41]
- 주제를 조금 바꿔서,
[03:43]
이렇게 미친 속도의 출시와 함께
[03:45]
전 세계 개발자들 사이에서 Claude Code의
[03:48]
미친 성장률도 있어요.
[03:51]
이런 로켓처럼 급성장하는 상황이
[03:53]
어떤 느낌인지
[03:54]
그리고 스타트업이든 개인이든
[03:57]
아니면 대기업이든
[03:59]
다양한 개발자들이 Claude를 어떻게 사용하는지
[04:01]
설명해주실 수 있나요?
[04:03]
- Claude Code의 마법적인 점 중 하나는
[04:07]
온보딩이 정말 매끄럽다는 거예요.
[04:09]
NPM 설치를 완료하면
[04:12]
Claude Code가 별다른 설정 없이
[04:13]
바로 작동해요.
[04:17]
이는 개인 개발자든 Fortune 500 기업의 엔지니어든
[04:21]
모두에게 동일하게 적용되죠.
[04:23]
이게 Claude Code의 마법이라고 생각해요.
[04:27]
로컬 도구들과
[04:28]
파일들에 모두 접근할 수 있기 때문에
[04:31]
Claude Code가 무엇을 할 수 있는지에 대한
[04:33]
매우 명확한 멘탈 모델을 가질 수 있어요.
[04:36]
다만 소규모 회사와 대규모 회사 사이에서는
[04:39]
서로 다른 사용 사례 패턴을 보이긴 해요.
[04:41]
소규모 회사의 엔지니어들은
[04:43]
Claude를 더 자율적으로 실행하는 경향이 있어요.
[04:46]
"자동 승인 모드" 같은 기능을 사용해서
[04:48]
Claude가 각각의 승인 없이
[04:50]
자체적으로 편집할 수 있게 하죠.
[04:52]
또한 이런 개발자들은
[04:55]
여러 Claude 세션을 동시에 실행하는 걸 좋아하는데
[04:58]
이걸 "멀티 클라우딩"이라고 부르기 시작했어요.
[05:00]
사람들이 여섯 개의 Claude를
[05:02]
동시에 컴퓨터에서 열어놓은 세션을 볼 수 있어요.
[05:04]
각각이 서로 다른 Git 워크스페이스나
[05:07]
Git 저장소의 다른 복사본에서 작업하면서
[05:09]
각각을 관리하는 거죠.
[05:13]
어떤 것이 멈춰서 피드백을 요청하면
[05:16]
그곳으로 점프해서 다시 보내고
[05:18]
계속 실행되도록 놔두는 거예요.
[05:20]
스펙트럼의 반대편에서는
[05:22]
대기업의 경우
[05:23]
엔지니어들이 "플랜 모드"를 정말 좋아해요.
[05:26]
"플랜 모드"는 개발자들이
[05:29]
Claude Code에게 잠시 시간을 갖고
[05:32]
코드베이스를 탐색하고
[05:34]
아키텍처를 이해한 다음
[05:35]
실제 코드 작업에 들어가기 전에
[05:38]
엔지니어링 계획을 세우라고 말하는 방법이에요.
[05:40]
그래서 이것이 더 어려운 작업과 복잡한 변경 사항에 정말 유용하다는 걸 발견했습니다.
[05:43]
더 어려운 작업과 더 복잡한 변경 사항에 말이죠.
[05:47]
다시 멀티-클로딩 얘기로 돌아가서
[05:48]
정말 흥미로운 개념이라고 생각하거든요.
[05:52]
사람들이 그런 일을 하고 싶어할 거라고
[05:54]
어느 정도 상상은 했지만
[05:56]
다소 놀라운 일이었습니다.
[05:59]
그런 영역에서 다른 것들도 있나요?
[06:02]
'와, 이건 우리가 정말 예상하지 못했던
[06:04]
사용 패턴이네'
[06:06]
하면서 자연스럽게 나타나서
[06:07]
로드맵을 조금 바꾸게 된 것들이요?
[06:10]
네, 멀티-클로딩이 가장 큰 것 같아요.
[06:13]
이건 우리가 생각하기에
[06:14]
단순히 파워 유저 기능이었거든요.
[06:17]
몇몇 사람들이 원할 만한 기능 말이에요.
[06:19]
하지만 실제로는 사람들이 Claude를
[06:21]
사용하는 정말 일반적인 방식이었어요.
[06:23]
예를 들어
[06:25]
하나의 Claude 인스턴스에서는
[06:26]
질문만 하고
[06:29]
이건 코드를 편집하지 않습니다.
[06:31]
그렇게 하면 같은 저장소에
[06:32]
코드를 편집하는 다른 Claude 인스턴스를
[06:35]
둘 수 있고 이 둘은 서로 간섭하지 않아요.
[06:37]
또 우리가 본 다른 것들은
[06:38]
사람들이 Claude Code를 맞춤화해서
[06:41]
특화된 작업을 처리하는 걸 정말 좋아한다는 거예요.
[06:44]
Claude Code로 SRE 에이전트를 만드는 사람들을 봤고
[06:49]
보안 에이전트, 인시던트 대응 에이전트도 있어요.
[06:53]
그리고 이를 통해 깨달은 것은
[06:55]
Claude Code가 잘 작동하려면
[06:57]
통합이 정말 중요하다는 점이었어요.
[06:59]
그래서 우리는 사람들에게
[07:00]
Claude Code에 더 많은 시간을 투자해서
[07:04]
'우리가 일반적으로 사용하는 CLI 도구들이에요'
[07:07]
라고 알려주거나 원격 MCP 서버를 설정해서
[07:09]
로그와 티켓 관리 소프트웨어에 접근하도록
[07:12]
권장하고 있습니다.
[07:14]
이런 엔지니어들이 Claude Code를 맞춤화할 때
[07:17]
서브 에이전트를 만드는 건가요?
[07:20]
아니면 CLAUDE.md 파일 같은
[07:22]
마크다운 파일을 만드는 건가요?
[07:23]
정확히 어떻게 이런 다양한
[07:25]
유형의 에이전트를 만드는 거죠?
[07:27]
네, 사람들이 맞춤화하는
[07:28]
가장 일반적인 방법은
[07:32]
CLAUDE.md 파일에 많은 투자를 하는 것입니다.
[07:35]
CLAUDE.md 파일은 우리의 메모리 개념이고
[07:37]
Claude Code에게 팀의 목표가 무엇인지
[07:41]
코드가 어떻게 구성되어 있는지
[07:43]
코드베이스의 주의사항들
[07:47]
모범 사례들을 알려주는
[07:48]
최고의 장소입니다.
[07:51]
CLAUDE.md에 투자하면
[07:53]
결과물의 품질이 극적으로
[07:55]
향상된다고 들었어요.
[07:57]
사람들이 Claude Code를 맞춤화하는 다른 방법은
[08:00]
사용자 정의 슬래시 명령을 추가하는 것입니다.
[08:03]
항상 입력하는 프롬프트가 있다면
[08:05]
그걸 사용자 정의 슬래시 명령에 추가하고
[08:07]
체크인해서 팀의 나머지 사람들과
[08:09]
공유할 수도 있어요.
[08:12]
그리고 사용자 정의 훅도 추가할 수 있습니다.
[08:14]
예를 들어 Claude Code가 커밋하기 전에
[08:17]
린트를 실행하길 원한다면
[08:19]
이는 훅에 완벽한 사용 사례입니다.
[08:21]
Claude Code가 작업을 완료할 때마다
[08:24]
Slack 알림을 보내길 원한다면
[08:25]
이것이 실제로 훅을 만든
[08:27]
원래 영감이었어요.
[08:29]
이런 것들이 모두 사람들이 오늘날
[08:31]
구축하고 있는 맞춤화들입니다.
[08:32]
Claude Code SDK에 대해
[08:34]
더 자세히 알려주세요.
[08:35]
- Claude Code SDK는 범용 에이전트를 만들 수 있는 훌륭한 방법입니다.
[08:37]
일반적인 에이전트를 구축하는 데 사용할 수 있어요.
[08:38]
Claude Code SDK를 사용하면
[08:42]
에이전트의 모든 핵심 구성 요소에 액세스할 수 있습니다.
[08:44]
여러분만의 시스템 프롬프트를 가져올 수 있고,
[08:47]
사용자 정의 도구도 가져올 수 있습니다.
[08:49]
SDK에서 제공받는 것은 핵심 에이전트 루프입니다.
[08:54]
저희가 사용자 턴을 처리하고
[08:57]
도구 호출 실행도 대신 처리해드립니다.
[09:00]
기존의 권한 시스템을 사용할 수 있어서
[09:02]
처음부터 새로 구축할 필요가 없습니다.
[09:05]
그리고 기본 API와의 상호작용도 처리해드립니다.
[09:08]
백오프 기능을 제공해서
[09:11]
API 에러가 발생하면 대응합니다.
[09:13]
적극적으로 프롬프트 캐싱을 사용해서
[09:16]
요청이 토큰 효율적이 되도록 합니다.
[09:19]
에이전트를 처음부터 프로토타이핑한다면,
[09:22]
Claude Code SDK를 사용하면
[09:24]
30분 정도면
[09:26]
꽤 강력한 기능을 구현할 수 있습니다.
[09:29]
사람들이 정말 멋진 것들을 만들고 있어요.
[09:33]
저희는 GitHub 통합 Claude Code를 오픈소스로 공개했는데,
[09:36]
이것은 완전히 SDK 위에 구축되었습니다.
[09:39]
사람들이 보안 에이전트를 만드는 것도 봤고,
[09:42]
SRE 에이전트, 인시던트 대응 에이전트도 만들었습니다.
[09:46]
이들은 코딩 영역에 국한된 것들이고,
[09:48]
코딩 외에도
[09:49]
법무 에이전트, 컴플라이언스 에이전트도 프로토타입하는 걸 봤습니다.
[09:53]
이것은 정말 범용 SDK로 만들어진 것입니다.
[09:56]
모든 에이전트 요구사항을 위한 것이죠.
[09:57]
- SDK가 정말 놀라워요.
[09:59]
우리는 단일 요청 API 세계에서 너무 오래 살아왔는데
[10:04]
말이죠.
[10:05]
이제 다음 레벨의 추상화로 이동하고 있어요.
[10:08]
거의 우리가 처리할
[10:10]
말씀하신 모든 세세한 부분들을요.
[10:13]
SDK는 어디로 향하고 있나요?
[10:15]
다음 단계는 무엇인가요?
[10:17]
- SDK에 대해 정말 기대하고 있어요.
[10:19]
새로운 세대의 에이전트를 열어줄 다음 방법으로서 말이죠.
[10:24]
저희는 매우 집중적으로 투자하고 있습니다.
[10:26]
SDK가 에이전트 구축에서
[10:28]
최고가 되도록 하기 위해서요.
[10:30]
Claude Code에 있는
[10:32]
모든 좋은 기능들이
[10:33]
SDK에서 기본적으로 사용 가능하게 될 것이고,
[10:36]
원하는 것들을 골라서 사용할 수 있습니다.
[10:39]
예를 들어, 에이전트가
[10:41]
할 일 목록을 갖고 싶다면, 좋아요.
[10:43]
기본으로 할 일 목록 도구를 제공받습니다.
[10:46]
원하지 않는다면,
[10:47]
그 도구를 삭제하기가 정말 쉽습니다.
[10:50]
예를 들어, 에이전트가 파일을 편집해야 한다면,
[10:53]
메모리를 업데이트하기 위해서, 기본으로 제공받습니다.
[10:55]
그리고 제 것은 파일을 편집하지 않거나
[11:00]
다른 방식으로 편집하겠다고 결정하면,
[11:03]
여러분만의 구현을 가져올 수 있습니다.
[11:05]
- 알겠어요, 매우 커스터마이징 가능하네요.
[11:08]
기본적으로 범용적인 의미에서
[11:09]
시스템 프롬프트를 바꿀 수도 있고
[11:11]
도구들을 여러분만의 구현으로 바꿀 수도 있겠네요.
[11:13]
그리고 깔끔하게 슬롯에 맞춰서
[11:15]
어떤 것을 만들든 들어맞고,
[11:16]
코드와 완전히 다른 영역이어도 말이죠.
[11:19]
맞죠?
- 네, 완전히요.
[11:20]
사람들이 이 위에서 해킹하는 걸 보는 게 정말 기대돼요.
[11:22]
특히 사람들에게는
[11:25]
단지 에이전트를 프로토타입하려는 분들에게는
[11:28]
이것이 지금까지 가장 빠른 방법이라고 생각합니다.
[11:30]
시작하기에 말이죠.
[11:31]
저희는 정말 거의 1년을 보냈어요.
[11:35]
이 하네스를 완성하는데요.
[11:36]
그리고 이것이 바로 Claude Code가 실행되는 동일한 하네스입니다.
[11:39]
만약 여러분이 바로
[11:41]
에이전트에 필요한 특정 통합 기능으로 바로 뛰어들고 싶고
[11:46]
바로 시작하고 싶다면
[11:48]
시스템 프롬프트 작업을 바로 하거나
[11:50]
에이전트가 직면한 문제에 대한 컨텍스트를 공유하고
[11:54]
에이전트 루프를 다룰 필요가 없다면
[11:57]
이것은 범용 하네스를 우회하고
[12:00]
모든 범용 하네스를 건너뛰고
[12:02]
바로 여러분만의 특별한 기능을 추가하는 최고의 방법입니다.
[12:05]
- 음, 알겠습니다.
[12:07]
여기서 들으셨네요.
[12:08]
SDK를 활용해서 개발해야 합니다.
[12:09]
마무리하기 전에
[12:10]
여러분이 Claude Code를 사용하는 방법에 대한
[12:12]
개인적인 팁을 듣고 싶습니다.
[12:14]
그리고 개발자들과 공유할 수 있는
[12:16]
모범 사례는 무엇인가요?
[12:17]
- Claude Code나 다른 에이전트 도구를 사용할 때
[12:22]
가장 중요한 것은
[12:24]
도구에게 여러분의 목표가 무엇인지 명확하게 소통하는 것입니다.
[12:28]
많은 사람들이 프롬프팅을
[12:31]
마법 같은 것이라고 생각하는데, 실제로는 그렇지 않습니다.
[12:35]
핵심은 바로
[12:37]
내 목적을 명확하게 설명했는가 입니다.
[12:41]
이 작업에 대한 나의 목적이 무엇인지,
[12:44]
작업의 결과물을 어떻게 평가할 것인지,
[12:47]
디자인 시스템의 제약사항들이 무엇인지 말이죠.
[12:51]
보통
[12:53]
이런 것들을 명확하게 소통할 수 있다면
[12:56]
Claude Code는 그것들을 수행하거나
[12:58]
아니면 "이런 것은
[13:01]
A, B, C 때문에 할 수 없으니
[13:03]
대신 D, E, F를 시도해보시겠어요?"라고 말해줄 것입니다.
[13:06]
- 결국 소통이 핵심이군요
[13:07]
다른 엔지니어와 함께 일할 때처럼요.
[13:10]
- 네, 맞습니다.
[13:11]
그리고 또 다른 점은 Claude Code가
[13:14]
이상한 행동을 했다고 느끼면
[13:16]
왜 그렇게 하려고 했는지 직접 물어볼 수 있습니다.
[13:20]
그러면 이런 식으로 말해줄 수도 있어요.
[13:21]
아, CLAUDE.md에 이런 내용이 있었다거나
[13:24]
이 파일에서 뭔가를 읽었는데
[13:26]
그것이 이런 인상을 주었다는 식으로요.
[13:28]
그러면 실제로
[13:30]
Claude와의 대화를 디버깅 방법으로 활용할 수 있습니다.
[13:33]
항상 작동하는 건 아니지만
[13:35]
시도해볼 가치는 분명히 있다고 생각합니다.
[13:37]
그리고 이것은 저희가 사용하는 일반적인 기법입니다.
[13:39]
- Claude Code를 사용해서 Claude Code를 디버깅하는군요.
[13:42]
정말 좋네요.
- 네, 맞습니다.
[13:43]
사람과 함께 일할 때와 같은 방식으로
[13:45]
예상하지 못한 말을 하면
[13:47]
"오, 흥미롭네요.
[13:48]
무엇이 그런 인상을 주었나요?
[13:50]
아니면 왜 그렇게 생각했나요?"라고
[13:52]
물어볼 수 있는 것처럼 에이전트에게도 똑같이 할 수 있습니다.
[13:54]
- 정말 흥미롭네요.
[13:55]
Cat, 정말 좋은 시간이었습니다.
[13:56]
시간 내주셔서 정말 감사합니다.
[13:57]
고맙습니다.
- 불러주셔서 감사합니다.