[00:06]
안녕하세요, 저는 Alex입니다.
[00:07]
Anthropic에서 Claude Relations를 담당하고 있습니다.
[00:08]
오늘은 Claude Code의 디자인에 대해 이야기해보겠습니다.
[00:11]
제 동료 Meaghan과 함께하겠습니다.
[00:13]
안녕하세요, 저는 Meaghan입니다.
[00:14]
Claude Code의 디자인 리드를 맡고 있습니다.
[00:16]
Meaghan, Claude Code의 매우 독특한 형태부터 이야기해볼게요.
[00:19]
우리가 이 코딩 제품을 만들었는데
[00:21]
터미널 안에서 작동합니다.
[00:23]
어떻게 이런 방식을 선택하게 되었는지 설명해주세요.
[00:24]
네, 물론이죠.
[00:27]
이전 영상들을 보셨다면 아시겠지만,
[00:28]
Claude Code는 Anthropic의 몇몇 동료들이
[00:30]
Claude의 코딩 문제 해결 능력과
[00:33]
개발자 지원 역량에 대한
[00:35]
열정으로 만들어낸 결과물입니다.
[00:38]
CLI를 선택한 초기 결정의 일부는
[00:41]
정말 단순히 이 형태가 가진 편의성 때문이었습니다.
[00:44]
빠르게 구축할 수 있고
[00:46]
기능들을 반복적으로 개발할 수 있었거든요.
[00:48]
하지만 그 이후에는 정말로,
[00:50]
솔직히 제 기대와도
[00:52]
우리 모든 기대와도 달리
[00:54]
그 자체로 생명력을 갖게 되었습니다.
[00:58]
정말 다재다능하거든요.
[01:00]
터미널은 모든 개발자의 워크플로에 포함되어 있습니다.
[01:03]
IDE를 주로 사용하든
[01:05]
아니면 Vim 사용자든 상관없이
[01:07]
어떤 형태로든
[01:09]
워크플로의 일부로 터미널을 사용합니다.
[01:11]
따라서 새로운 도구를 도입할 필요 없이
[01:13]
개발자의 워크플로에
[01:15]
현재 작업하는 그 자리에서 바로
[01:16]
직접 통합할 수 있게 해줍니다.
[01:18]
정말 좋은 지적이네요.
[01:19]
터미널은 소프트웨어 개발의
[01:22]
기반이 되는 요소로서, 정말 오래 전부터,
[01:26]
우리가 이 일을 시작한 이래로 계속 그래왔죠.
[01:27]
그래서 차세대 코딩 제품을 그 안에 내장하는 것이
[01:30]
거의 자연스러운 일처럼 보입니다.
[01:32]
하지만 Claude Code는
[01:33]
터미널에서 가능하다는 것조차 몰랐던 일들을 해냅니다.
[01:36]
그럼 설명해주세요.
[01:38]
지금까지 터미널 제품들의
[01:39]
역사는 어떠했고,
[01:41]
Claude Code는 어떻게 그 다음 단계가 되는 건가요?
[01:43]
네, 이건 제가 개인적으로
[01:45]
정말 열정적으로 생각하는 부분입니다.
[01:46]
터미널은 최초의 사용자 인터페이스라고 생각해요.
[01:50]
사람들이 컴퓨터와
[01:52]
대화하는 첫 번째 방법이었죠.
[01:54]
텍스트만 있었고,
[01:55]
이런 장치들과 상호작용하기 위해서는
[01:56]
알아야 하는 매우 특정한 명령어들이 있었습니다.
[01:59]
그리고 그것은 정말 강력한 도구였어요.
[02:02]
그 이후에는
[02:04]
이런 정말 풍부한 웹 인터페이스로 진화했습니다.
[02:07]
아름다운 웹 UI들이 생겨났고,
[02:08]
Tailwind도 있고, CSS도 있고, JavaScript도 있어서
[02:11]
모든 것이 매우 애니메이션적이고 세련되어졌습니다.
[02:13]
하지만 LLM이 나왔을 때,
[02:15]
우리는 실제로 다시
[02:17]
컴퓨터와 대화하는 방식으로 돌아갔습니다.
[02:18]
실제로 그 모든 버튼들이 필요하지 않았어요.
[02:20]
그냥 채팅하면 됐거든요.
[02:21]
그래서 흥미롭게도 터미널이
[02:23]
실제로 LLM에게는 완벽한 형태라고 생각합니다.
[02:26]
텍스트를 입력하고, 텍스트를 받아내는 것이고,
[02:29]
그것이 명령줄 인터페이스를 사용하는
[02:32]
방식을 생각하는 것과 정말 자연스럽게 맞아떨어져서
[02:35]
기술이 할 수 있는 것과
[02:36]
제품이 할 수 있는 것의
[02:38]
아름다운 결합이라고 생각합니다.
[02:39]
그리고 공교롭게도
[02:41]
개발자들도 그곳에서 시간을 보내니까, 정말 좋죠.
[02:43]
- 아, 그렇군요.
[02:44]
그러면 우리는 어떤 의미에서는 원점으로 돌아가고 있는 셈이네요.
[02:48]
모델이 어떤 의미에서는 그것을 가능하게 해주고
[02:50]
이전에 개발해야 했던 UI 추상화의 필요성을
[02:53]
제거해주기 때문입니다.
[02:54]
다양한 애플리케이션을 위해서요.
- 네, 맞아요.
[02:56]
정확히 맞습니다. 바로 그거죠.
[02:57]
또한 제가 생각하기에 Claude Code가
[02:59]
성공적인 이유의 큰 부분은, 아시다시피
[03:02]
아무도 복사해서 붙여넣기하는 걸 좋아하지 않거든요.
[03:04]
웹 UI에서 로컬 파일로 말이죠.
[03:07]
저도 Claude AI를 사용할 때
[03:09]
정말 늘 하는 일이거든요.
[03:10]
그래서 모든 것이 있는 환경에서
[03:12]
네이티브하게 작업할 수 있다는 것은
[03:14]
경험의 정말 풍부한 부분이죠.
[03:17]
하지만 몇 가지 도전 과제도 있습니다.
[03:18]
CLI는 반드시
[03:19]
가장 풍부한 상호작용 인터페이스는 아니거든요.
[03:21]
- 음.
[03:21]
워크플로우 부분을 더 자세히 이야기해 봅시다.
[03:23]
제가 처음으로 Claude와
[03:25]
언어 모델을 프로그래밍에 사용했을 때를 생생히 기억하는데요.
[03:28]
claude.ai 웹사이트에서 프롬프트를 입력하고 파일을 붙여넣으면
[03:32]
갑자기 코드 출력을 받게 되고
[03:34]
그걸 복사해서 로컬 컴퓨터에서 파일을 찾아
[03:36]
붙여넣고, 수정 작업을 수동으로 해야 했죠.
[03:40]
그런데 이제 우리는 개발자 워크플로우의
[03:43]
그 부분을 제거하고 프롬프트에서
[03:45]
파일 직접 편집으로
[03:47]
바로 연결되도록 했습니다.
[03:50]
- 네.
[03:51]
- Claude Code 내에서의 개발 워크플로우와
[03:52]
개발 루프의 향후 반복에 대해
[03:55]
어떻게 생각하고 계신지 좀 더 자세히 말씀해 주시겠어요?
[03:57]
- 네, 맞습니다.
[03:58]
물론이죠.
[03:59]
제가 팀 내에서 생각해온 방식은
[04:01]
많은 동료들도 이야기하는 건데
[04:03]
개발자 워크플로우는 처음엔 코드 라인 작성부터 시작했죠.
[04:07]
단어 수준, 함수 수준에서
[04:08]
시간을 보내는 것이었습니다.
[04:11]
그리고 첫 번째 정말 큰 AI 개발 도구는
[04:12]
탭 자동 완성이었죠.
[04:14]
하지만 그것도 여전히 라인 수준의 코드는 아니었습니다.
[04:16]
Claude Code 1세대에 이르러서야
[04:19]
전체 파일 변경이나 전체 작업 변경 수준으로
[04:22]
거의 PR 수준으로 업그레이드되었습니다.
[04:24]
물론 Claude Code가 더 잘하는 것과 못하는 것이 있지만
[04:27]
우리는 그 방향으로 나아가려고 노력하고 있습니다.
[04:28]
시간이 지나고 모델이 더 지능적으로 되고
[04:30]
역량이 더 강화되면
[04:32]
특정 작업에서 벗어나
[04:35]
거의 프로젝트 수준으로 이동할 것 같습니다.
[04:37]
여러 Claude를 여러 곳에서
[04:40]
조율하여 무언가를
[04:42]
달성할 수 있게 될 거예요.
[04:44]
그리고 작업은 더 오래 진행되고
[04:46]
Claude는 훨씬 더 자율적이 될 것입니다.
[04:47]
결국에는 CLI를 넘어설 수도 있지만
[04:49]
개발자로서 이전보다 훨씬 높은 차원의
[04:52]
워크플로우에서 작업하게 될 거라고 믿습니다.
[04:54]
- 음, 알겠습니다.
[04:56]
에이전트 관련해서 말씀드리면
[04:58]
몇 주 전에 서브에이전트 제품을
[05:01]
출시했다는 걸 알고 있습니다.
[05:03]
- 네, 맞습니다.
[05:04]
에이전트 부분과 관련해서
[05:05]
최근 몇 주 전에
[05:08]
서브에이전트 제품을 출시했죠.
[05:09]
이에 대해 더 자세히 설명해 주실 수 있나요?
[05:11]
슬래시 커맨드의 패러다임과
[05:14]
서브에이전트 워크플로우 및 기타 기능들이
[05:18]
Claude Code에 내장되어 출시된
[05:19]
이 모든 것들이 어떻게 연결되는지요?
[05:21]
- 네, 맞습니다.
[05:22]
터미널이 훌륭한 이유 중 하나는
[05:25]
인터페이스를 제어하는 방법에 대한 내장된 아키텍처가 있기 때문입니다.
[05:28]
맞죠?
[05:30]
Claude를 실행할 때 입력하는 플래그가 있고,
[05:33]
그리고 커맨드가 있습니다
[05:34]
터미널 안에서 사용하는 커맨드들이요.
[05:37]
그리고 우리는 완전히 새로운 패러다임을 도입했습니다,
[05:39]
바로 터미널에서의 프롬프팅입니다.
[05:41]
정말 많은 논쟁이 있었어요.
[05:42]
보리스와 함께 작성한 문서도 있는데
[05:45]
작년 11월, 12월 정도였던 것 같아요
[05:47]
터미널에 아웃라인을 넣을 수 없다고 했었거든요
[05:50]
윈도우 크기를 조정하면
[05:52]
모든 것이 깨져버릴 거라고요.
[05:54]
CLI 디자인을 해본 모든 경험에서
[05:55]
아웃라인을 피하려고 했어요. 정말 싫어했거든요
[05:58]
모든 것을 망가뜨리기 때문에-
[05:59]
- 아웃라인이 뭔가요?
[06:01]
- 입력 상자 주변의 테두리 같은 거예요-
[06:03]
- 아, 그렇군요.
- 지금 보고 있는 바로 그것이요.
[06:04]
CLI 디자인에서는 보통 이런 것들을 피합니다
[06:06]
크기를 조정할 때 모든 것이 문자와
[06:09]
공백으로 되어 있어서요.
- 맞아요.
[06:10]
- 그래서 제대로 정렬이 안 돼요.
[06:12]
하지만 보리스가 비전이 있었고 제가 틀렸어요.
[06:14]
훌륭한 라이브러리와 훌륭한 인터페이스를 찾았거든요
[06:17]
그리고 팀이 정말 열심히 작업해서 사용 가능하게 만들었어요.
[06:20]
그래서 프롬프팅을 분리할 수 있는 조합이
[06:21]
- 이는 모델과 대화하는 방식이고,
[06:23]
그리고 사용 가능한 도구들,
[06:25]
바로 우리의 슬래시 커맨드와
[06:26]
설정 및 구성 방식,
[06:28]
이는 settings.json과
[06:30]
CLAUDE.md에 있습니다.
[06:33]
이것이 Claude Code를 구동하는
[06:35]
아키텍처라고 생각해요.
[06:37]
하지만 이는 또한
[06:39]
소프트웨어 개발의 일반적인 아키텍처의 일부이기도 합니다.
[06:40]
README 파일과 매우 유사해서
[06:42]
정말 아름답게 어울려요.
[06:44]
- 음.
[06:45]
실제로 아웃라인 박스나
[06:47]
시각적 미학 같은 새로운 것들을 어떻게 디자인하나요?
[06:50]
따르는 디자인 원칙이 있나요?
[06:52]
규칙이 있거나, 그 과정을 설명해 주세요.
[06:55]
- 네, 물론이죠.
[06:56]
Anthropic의 모든 사람들이 발명가라고 말하고 싶어요
[07:00]
Claude Code 팀에서도 마찬가지고요.
[07:01]
대부분의 경우, 1~2명의 엔지니어로 구성된 작은 팀이
[07:04]
아이디어를 내고 프로토타입을 만들고
[07:06]
그 다음 내부적으로
[07:07]
엄격한 테스트를 진행합니다.
[07:10]
대부분의 경우, Anthropic의
[07:12]
모든 사람들이 사용하고 있어요.
[07:14]
모든 사람이 Claude Code를 사용합니다.
[07:15]
그래서 많은 피드백을 받을 수 있어요.
[07:18]
그리고 보통 UX 개선 주기를 거칩니다
[07:21]
이 기술이 어떤 형태여야 하는지에 대한 올바른 방향을 잡았다고 느낄 때 말이에요.
[07:24]
서브에이전트는 정말 빨랐어요.
[07:26]
아이디어에서 출시까지 매우 빨랐고
[07:27]
서브에이전트를 어떻게 보여줄지에 대한
[07:29]
약간의 디자인 개선이 있었어요
[07:31]
서브에이전트와 Claude를
[07:33]
어떻게 구분할지, 어떻게 설정할지에 대한 부분이요.
[07:35]
MCP도 마찬가지였고요.
[07:36]
하지만 제가 가지고 있는 큰 원칙들은
[07:38]
다음과 같습니다
[07:41]
그리고 매우 소중히 여기고 추진하는 것은, 알다시피
[07:42]
CLI는 매우 제한적인 인터페이스라는 점입니다.
[07:44]
가능한 한 깔끔하게 유지해야 하고
[07:47]
너무 많은 정보로 화면을 가득 채우지 않도록
[07:49]
확실히 주의하면서 정말 집중된 상태로 유지하고 싶습니다
[07:52]
여러분이 하고 있는 작업에 말이죠.
[07:54]
두 번째는 정말로 모델이 빛을 발하길 원한다는 것입니다
[07:57]
왜냐하면 결국
[07:58]
CLI가 정말 좋은 이유 중 하나는
[08:00]
우리 모델을 감쌀 수 있는 가장 얇은 래퍼이기 때문입니다
[08:02]
우리 모델들 주위에서 말이죠.
[08:03]
그래서 Claude의 원시 능력에 바로 접근할 수 있고
[08:06]
솔직히 바로 그것이 Claude Code를 그렇게 강력하게 만드는 요소입니다.
[08:10]
- 음.
[08:10]
Claude Code에서 좋아하는 작은 디자인 요소나
[08:13]
특별한 터치들이 있나요?
[08:15]
- 확실히 있습니다.
[08:16]
ASCII로 표현되는 망상화와 사고 과정을 정말 좋아해요.
[08:19]
Claude의 개성을 보여주는
[08:21]
정말 훌륭한 포인트라고 생각합니다.
[08:23]
그리고 다양한 모드들도 정말, 정말 좋아해요.
[08:26]
사고 모드에 있는지, 계획 모드인지
[08:29]
아니면 자동 승인 모드인지 구분해서 표시하는 방식을
[08:32]
정말 풍부한 방식이라고 생각해요
[08:33]
복잡한 정보를 전달하는
[08:35]
사람들이 이해할 수 있는 방식으로 말이죠.
[08:36]
- 동감입니다.
[08:37]
저도 개성적인 터치들을 정말 좋아해요.
[08:39]
때로는 프로그래밍과 프로그래밍 과정이
[08:42]
로봇 같은 일처럼 느껴질 수 있잖아요.
[08:44]
코드 라인들을 다루고
[08:46]
수많은 문자들을 다루지만, Claude Code를 사용할 때는
[08:48]
거의 다른 경험 같은 느낌이고
[08:49]
IDE에서 그냥 코드 라인을
[08:52]
줄줄이 타이핑하는 것과는
[08:54]
다른 감정을 불러일으키는 것 같아요.
[08:56]
- 네, 확실히, 확실히 그렇습니다.
[08:57]
실제로 터미널에서
[08:57]
할 수 있는 정말 풍부한 것들이 많다고 생각해요.
[08:59]
때로는 우리를 되돌리는 것에 관한 것이기도 해요.
[09:01]
"아, 사실 이걸 과도하게 디자인할 필요가 없어.
[09:03]
모델이 알아서 처리하도록 둘 수 있어"라는 식으로 말이죠.
[09:04]
- 아, 알겠습니다.
[09:05]
- 솔직히 정말 잘하거든요.
[09:07]
- 그거 정말 좋네요.
[09:08]
Claude Code 사용에 대한 팁과
[09:10]
모범 사례들을 들어보고 싶어요.
[09:12]
특히 디자이너로서
[09:13]
전통적인 기술직이 아닌 사람으로서 말이죠.
[09:16]
일상에서 Claude Code를 어떻게 가장 잘 활용하시나요?
[09:19]
- 이 질문 정말 좋아해요.
[09:19]
개인적으로 매우 열정적으로 관심 갖고 있는 부분이거든요.
[09:23]
저는 제품 디자이너입니다.
[09:25]
가장 먼저 인정할 것은
[09:26]
제가 코드를 작성해서는 안 된다는 점이고
[09:27]
제가 작성하는 코드는 확실히 감각적으로 작성된 것이라
[09:29]
검토를 받아야 합니다.
[09:30]
하지만 Claude Code와 이런 모든 코딩 에이전트들은
[09:33]
제가 생각하기에 새로운 스킬셋을 열어줬어요.
[09:37]
비기술직 사람들을 위한 새로운 스킬 트리 같은 것을 말이죠.
[09:40]
전에는 소프트웨어 엔지니어의 시간을
[09:42]
요청해야 했거나, 우선순위 수준에
[09:46]
반드시 도달하지 못한다면
[09:47]
어떤 것들은 포기해야 했죠.
[09:49]
이제는 직접 할 수 있는 새로운 도구가 생겼습니다.
[09:53]
디자이너들이 많이 이야기하는 두 가지 큰 축이 있는데
[09:56]
들어보실 텐데요.
[09:57]
첫 번째는 아이디어의 비용이 제로라는 것입니다.
[10:00]
매우, 매우 빠르게 프로토타입을 만들 수 있어요.
[10:03]
그것도 흥미롭다고 생각하지만
[10:04]
사실 저에게는 가장 흥미진진한 혁신은 아니에요.
[10:06]
더 흥미진진한 혁신은
[10:07]
실제로 프로덕션에 코드를 배포할 수 있다는 것입니다.
[10:10]
내가 원하는 변경사항을 직접 만들 수 있어요.
[10:11]
실제 운영 중인 코드베이스에서 작업하고 있거든요.
[10:13]
그래서 제가 거의 매일 사용하는
[10:15]
가장 일반적인 사용 사례들은
[10:18]
새로운 기능을 디자인할 때
[10:20]
먼저 Claude Code와 함께 브레인스토밍을 해요.
[10:22]
"여기서 가장 일반적인 사용 사례는 뭐야?
[10:26]
내가 고려해야 할 예외 상황들은 뭐가 있을까?
[10:28]
이걸 어떻게 디자인하면 좋을까?" 이런 식으로요.
[10:30]
그리고 거기서부터 반복 작업을 해나가죠.
[10:33]
때로는 Claude Code에게
[10:35]
제가 제안한 디자인의 범위를 파악하는 데 도움을 요청해요.
[10:38]
이미지를 드래그 앤 드롭으로 올리고
[10:39]
"이걸
[10:40]
만드는 데 얼마나 걸릴 것 같아?"라고 물어봐요.
[10:42]
Claude가 예상 시간을 알려주면
[10:44]
엔지니어들과 친근한 논쟁을 벌이죠.
[10:46]
실제로 뭔가를 만드는 데 얼마나 걸릴지에 대해서요.
[10:48]
그래서 좋은 절충점을 찾게 돼요.
[10:50]
그리고 마지막으로는
[10:52]
새로운 제품을 출시할 때
[10:54]
항상 하고 싶었던 마지막 2%의
[10:59]
디자인 완성도를 높이는 작업을 못하는 경우가 많았어요.
[11:01]
하지만 이제는 그런 일이 없어요.
[11:04]
엔지니어들이 작업을 끝낸 후에 직접 들어가서
[11:06]
출시 전 마지막 날이나
[11:07]
출시 후 며칠 동안에도
[11:09]
가서 P2 우선순위로 분류된
[11:10]
그런 것들을 모두 정리해요.
[11:12]
제품에서 정말 구현하고 싶었던 것들을요.
[11:14]
와, 정말 놀라워요.
[11:15]
정말 좋네요.
[11:16]
정말 훌륭한 팁들이에요.
[11:17]
이런 이야기를 들으니 흥미롭네요.
[11:19]
디자이너와 엔지니어의 경계가
[11:22]
디자인 엔지니어로 융합되는 것 같아요.
[11:25]
어떤 의미에서는요.
[11:26]
Claude Code와 그것이 가능하게 해주는 것들 때문에요.
[11:28]
네, 정말 그래요.
[11:29]
그리고 한 가지 놀라운 점은
[11:31]
엔지니어들과의 파트너십이 훨씬 좋아졌다는 거예요.
[11:34]
솔직히 지금도 혼자서는 할 수 없는 일들이
[11:37]
많이 있어요.
[11:40]
하지만 일단 첫 번째 시도를 해보고
[11:42]
엔지니어와 대화를 나누면
[11:44]
우리의 협업이 훨씬 더 강해져요.
[11:47]
단순히 새로운 기술을 주는 것뿐만 아니라
[11:48]
파트너들과 더 잘 협업할 수 있게 도와주거든요.
[11:51]
이것이 우리가 지금 구축하고 있는
[11:53]
전체 사이클에서 정말 중요한 부분이라고 생각해요.
[11:55]
동감이에요.
[11:56]
정말 좋네요.
[11:57]
메간, 정말 훌륭했어요.
[11:58]
이런 대화를 나눌 수 있어서 정말 감사합니다.