00:15안녕하세요, 여러분, 저는 보리스입니다
00:20저는 앤트로픽의 기술 스태프 중 한 명으로, Claude Code를 만들었습니다
00:22Claude Code, 로드 코드 사용에 대한 몇 가지 실용적인 팁과 요령에 대해 이야기하고자 이 자리에 섰습니다
00:30매우 실용적인 내용이 될 것입니다
00:31역사나 이론 같은 것은 너무 많이 다루지 않겠습니다
00:36네, 시작하기 전에 실제로 Claude Code를 사용해 본 사람 손 들어 보시겠어요? 네, 좋아요, 그렇게 하죠
00:46손을 들지 않으신 분들은 사람들이 이야기할 때는 이렇게 하면 안 된다는 것을 알고 있지만, 노트북을 열고 이걸 입력해 주세요
00:57그리고 이것은 나머지 강연을 따라갈 수 있도록 Claude Code를 설치하는 데 도움이 될 것입니다
01:07Node.js만 있으면 됩니다
01:08가지고 계신다면 이걸로 충분합니다
01:13우리 모두 Claude Code를 사용하길 원하시나요? 네, 그렇다면..
01:15꼭 따라할 필요는 없지만, 아직 설치하지 않으셨다면 지금이 바로 설치해서 따라할 수 있는 기회입니다
01:25Claude Code란 무엇인가요? Claude Code는 새로운 종류의 AI 어시스턴트로, 그동안 여러 세대의 코딩용 AI 어시스턴트가 있었습니다
01:34대부분은 한 번에 한 줄씩, 한 번에 몇 줄의 코드를 완성하는 식이었습니다
01:40Claude Code는 그렇지 않습니다
01:41완전한 에이전트 방식이므로 기능을 구축하고, 전체 함수와 전체 파일을 작성하고, 전체 버그를 동시에 수정하는 데 적합합니다
01:52그리고 Claude Code의 멋진 점은 모든 도구와 함께 작동한다는 것입니다
01:56그리고 워크플로를 변경할 필요가 없습니다
01:58사용을 시작하기 위해 모든 것을 바꿀 필요가 없습니다
01:59따라서 어떤 IDE를 사용하든, VSCode를 사용하든, Xcode를 사용하든, JetBrains IDE를 사용하든, Anthropic의 일부 직원들은 절대 포기하지 않겠다고 할 정도지만 Claude Code를 사용하기 때문에 모든 단일 IDE, 모든 터미널에서 작동하기 때문에 Claude 코드를 사용합니다
02:17로컬에서, 원격 SSH를 통해, TMUX를 통해 작동합니다
02:21어떤 환경에서든 실행할 수 있습니다
02:26과거에 이런 종류의 자유형 코딩 도우미를 사용해 본 적이 없다면, 이 도구를 열면 프롬프트 바가 표시되고 "이걸로 뭘 해야 하지?"라고 생각할 수 있기 때문에 시작하는 방법을 파악하기가 다소 어려울 수 있습니다
02:39"뭘 입력해야 하지?" 파워 툴이기 때문에 다양한 용도로 사용할 수 있습니다
02:44하지만 워낙 다양한 작업을 할 수 있기 때문에 엔지니어가 원하는 대로 사용할 수 있어야 하므로 특정 워크플로우로 안내하지 않습니다
02:56Claude 코드를 처음 열 때 환경을 설정하기 위해 권장하는 몇 가지 작업이 있습니다
03:02이 작업은 매우 간단합니다
03:04터미널 설정을 실행하면 새 줄을 입력하기 위해 백슬래시 키를 누를 필요가 없도록 새 줄을 입력할 수 있는 시프트 엔터키가 제공됩니다
03:09이것은, 아시다시피, 사용하기 조금 더 편해졌어요
03:13밝은 모드, 어두운 모드 또는 달톤화된 테마를 설정하려면 `/theme`을 입력하세요
03:18음, `/install-githubapp`을 할 수 있습니다
03:20그래서 오늘 저희는 GitHub 이슈나 풀 리퀘스트에 `@Claude`할 수 있는 GitHub 앱을 발표했습니다
03:29설치하려면 터미널에서 이 명령을 실행하면 됩니다
03:33매번 메시지를 표시하지 않도록 사용할 수 있는 허용 도구 집합을 사용자 지정할 수 있습니다
03:37매우 편리합니다
03:38자주 묻는 메시지가 표시되는 항목의 경우 매번 수락할 필요가 없도록 이런 식으로 사용자 지정할 것입니다
03:44그리고 실제로 제가 하는 일은 많은 프롬프트에 대해 Claude Code에 직접 입력하지 않는 것입니다
03:49MacOS를 사용하는 경우 시스템 설정의 받아쓰기 접근성에서 이 기능을 활성화할 수 있습니다
03:55그러면 받아쓰기 키를 두 번만 누르면 프롬프트가 나타나면 바로 말할 수 있습니다
04:01그리고 구체적인 프롬프트가 있으면 많은 도움이 됩니다
04:03정말 멋진 기능입니다
04:04다른 엔지니어처럼 Claude Code와 대화할 수 있고 코드를 많이 입력할 필요가 없으니까요
04:14따라서 Claude Code로 처음 시작할 때는 매우 자유롭고 모든 것을 할 수 있습니다
04:18무엇으로 시작하나요? 무엇보다도 코드베이스 Q&A로 시작하는 것을 추천합니다
04:23코드베이스에 궁금한 점을 질문하는 것부터 시작하세요
04:26앤트로픽에서는 신입 사원에게 이 점을 가르칩니다
04:29그래서 첫날 기술 온보딩에서 Claude Code에 대해 배우고, 다운로드하고 설정한 다음 바로 코드베이스에 대해 질문하기 시작하죠
04:38과거에는 기술 온보딩을 할 때 팀에 많은 부담을 주는 일이었죠
04:42팀의 다른 엔지니어에게 질문해야 하죠
04:45코드를 살펴봐야 하는데 시간이 오래 걸리죠
04:47도구를 사용하는 방법도 알아내야 하죠
04:49시간이 오래 걸리죠
04:51하지만 Claude Code를, Claude Code로, 코드에 질문하기만 하면 코드베이스를 탐색하고 이러한 종류의 질문에 대한 답을 얻을 수 있습니다
04:56그래서 앤트로픽에서는 기술직 채용 시 온보딩에 2~3주 정도 걸리곤 했습니다
05:00이제는 2~3일 정도면 충분합니다
05:05Q&A의 또 다른 장점은 인덱싱을 하지 않기 때문에 코드가 담긴 원격 데이터베이스가 없다는 점입니다
05:10어디에도 업로드하지 않습니다
05:12코드는 로컬에 유지됩니다
05:13코드에 대해 생성 모델을 학습시키지 않습니다
05:16따라서 인덱스나 이와 유사한 어떤 것도 없이 사용자가 제어할 수 있습니다
05:18이는 곧 설정이 없다는 뜻이기도
05:20합니다
05:22따라서 Claude를 다운로드하고 시작하기만 하면 인덱싱이 필요하지 않습니다
05:25기다릴 필요 없이 바로 사용할 수 있습니다
05:30이 강연은 기술 강연이므로, Claude Code 사용 환경을 개선하고 수준을 높일 수 있는 매우 구체적인 프롬프트와 매우 구체적인 코드 샘플을 보여드리겠습니다
05:39이 특정 코드가 어떻게 사용되는지, 이 코드를 어떻게 인스턴스화할 수 있는지 등의 질문을 할 수 있습니다
05:45Claude Code는 텍스트 검색과 같은 방식으로 이에 대한 답변을 제공하지 않습니다
05:49한 단계 더 깊이 들어가서 이 클래스가 어떻게 인스턴스화되는지에 대한 예를 찾으려고 노력할 것입니다
05:53어떻게 사용되나요? 그리고 훨씬 더 깊은 답변을 얻을 수 있으므로 명령어 F 대신 위키나 문서에서 얻을 수 있는 것, 제가 많이 하는 것 중 하나는 Git 기록에 대해 물어보는 것입니다
06:06예를 들어, 왜 이 함수에 인수가 15개나 되는지, 인수의 이름이 왜 이렇게 이상하게 지어졌는지 등입니다
06:13모든 코드 베이스에 이런 함수나 이런 클래스가 있을 겁니다
06:18Claude Code는 Git 기록을 살펴보고 이러한 인수가 어떻게 도입되었는지, 누가 도입했는지, 어떤 상황이었는지, 해당 커밋이 어떤 이슈와 연결되어 있는지 파악할 수 있습니다
06:27그리고 이 모든 것을 살펴보고 요약합니다
06:29그리고 이 모든 것을 자세히 설명할 필요는 없습니다
06:32그냥 물어보기만 하면 됩니다
06:34"Git 히스토리 살펴봐"라고 말하기만 하면 이 작업을 수행하는 방법을 알 수 있습니다
06:37그런데 이렇게 알아서 하는 이유는 우리가 지시했기 때문이 아닙니다
06:40시스템 프롬프트에는 Git 히스토리를 살펴보라는 메시지가 없습니다
06:43이 모델이 훌륭하기 때문에 알고 있는 것입니다
06:45그리고 Git을 사용하라고 하면 Git을 사용하는 방법을 알 수 있습니다
06:48이렇게 좋은 모델을 기반으로 구축하는 것은 행운입니다
06:52웹 가져오기를 사용할 수 있고, 이슈를 가져올 수 있으며, 이슈에 대한 컨텍스트도 조회할 수 있기 때문에 GitHub 이슈에 대해 자주 물어보는데, 정말 멋진 기능입니다
07:00매주 월요일 주간 스탠드업에서 제가 하는 일은 "이번 주에 무엇을 출시했나요?"라고 묻는 것입니다
07:04그러면 Claude 코드가 로그를 보고 제 사용자 이름을 알기 때문에 제가 발송한 모든 항목에 대한 정보를 알려줍니다
07:14그리고 저는 그걸 복사해서 어딘가에 문서에 붙여넣기만 하면 되죠
07:20네, 이것이 첫 번째 팁입니다
07:21Claude Code를 사용해 본 적이 없거나 누군가에게 처음 보여 주거나 팀을 온보딩하는 경우라면 코드베이스 Q&A부터 시작하는 것이 좋습니다
07:29멋진 도구를 사용하여 시작하지 마세요
07:31코드를 편집하는 것으로 시작하지 마세요
07:33코드베이스에 대해 질문하는 것부터
07:34시작하면 사람들에게 프롬프트하는 방법을 가르칠 수 있습니다
07:36그리고 Claude Code가 무엇을 할 수 있는지, 무엇을 할 수 없는지, 무엇을 조금 더 손을 대야 하는지 등의 경계를 가르치기 시작할 것입니다
07:43한 번에 끝낼 수 있는 것은 무엇이고, 두 번에 끝낼 수 있는 것은 무엇이고, 세 번에 끝낼 수 있는 것은 무엇일까요? REPL에서 대화형 모드를 사용하려면 어떤 경우에 사용해야 하나요? Q&A에 익숙해지면 코드 편집에 뛰어들 수 있습니다
07:55다음은 코드 편집입니다
07:57에이전트 방식에서 LLM을 사용하는 것의 멋진 점은 도구를 제공하면 마치 마법처럼 작동한다는 것입니다
08:05도구를 사용하는 방법을 알아내죠
08:07그리고 Claude Code에서는 아주 작은 도구 세트를 제공합니다
08:09많지는 않죠
08:11그래서 파일을 편집할 수 있는 도구가 있습니다
08:13bash 명령을 실행하는 도구가 있습니다
08:15파일 검색 도구도 있습니다
08:17그리고 이 도구들을 서로 연결하여 코드를 탐색하고 브레인스토밍한 다음 최종적으로 편집할 수 있습니다
08:23그리고 이 도구, 이 도구, 이 도구를 사용하라고 특별히 지시할 필요가 없습니다
08:26그냥 "이걸 해봐"라고 말하면 어떻게 하는지 알아서, 알아서 합니다
08:29Claude Code에 적합한 방식으로 모든 것을 연결해 줍니다
08:36이 기능을 사용하는 방법은 다양합니다
08:37제가 가끔 즐겨 사용하는 방법은 Claude에게 코드 작성에 들어가기 전에 브레인스토밍을 하거나 계획을 세우도록 요청하는 것입니다
08:46이것은 저희가 적극 권장하는 방법이며, 가끔 사람들이 Claude 코드를 가지고 "이봐요, 3,000줄 정도 되는 엄청난 기능을 구현해 주세요."라고 요청하는 것을 볼 수 있습니다
08:53때로는 첫 번째 촬영에서 바로 구현되는 경우도 있습니다
08:58하지만 때로는 원하는 것과 전혀 다른 기능이 구현되는 경우도 있습니다
09:03원하는 결과를 얻는 가장 쉬운 방법은 먼저 생각하도록 요청하는 것입니다
09:07따라서 아이디어를 브레인스토밍하고, 계획을 세우고, 저에게 실행해 보고, 코드를 작성하기 전에 승인을 요청하세요
09:13이를 위해 계획 모드를 사용할 필요도 없고 특별한 도구를 사용할 필요도 없습니다
09:16Claude에게 물어보기만 하면 이 작업을 수행하는 방법을 알 수 있습니다
09:19따라서 "코드를 작성하기 전에 계획을 세우세요."라고 말하기만 하면 됩니다
09:20그게 다입니다
09:24이 커밋 푸시 PR도 제가 자주 사용하는 주문이라고 생각하시면 됩니다
09:29특별한 것은 없지만 Claude는 이것을 해석할 수 있을 만큼 똑똑합니다
09:32그래서 커밋을 만들고, 브랜치에 푸시하고 브랜치를 만든 다음, GitHub에서 저에게 풀 리퀘스트를 합니다
09:36설명할 필요가 없습니다
09:38코드를 살펴보고, 히스토리를 살펴보고, Git 로그를 살펴보고, 커밋 형식과 모든 것을 스스로 파악하여 올바른 방식으로 커밋하고 푸시할 것입니다
09:48다시 한 번 말씀드리지만, 시스템이 이 작업을 수행하도록 유도하는 것은 아닙니다
09:50이 작업을 수행하는 방법을 알고 있을 뿐입니다
09:51이 모델은 훌륭합니다
09:55조금 더 고급이 되면 팀의 도구를 연결하고 싶을 것입니다
10:00이때부터 Claude Code의 진가가 빛을 발하기 시작합니다
10:02일반적으로 두 가지 종류의 도구가 있습니다
10:04하나는 배시 도구이고, 그 예로 제가 방금 만든 Barley CLI가 있습니다
10:08이것은 실제가 아닙니다
10:10하지만 "이 CLI를 사용하여 어떤 작업을 수행하세요."라고 말하면 Claude Code에게 이에 대해 알려줄 수 있습니다
10:14그리고 예를 들어 사용 방법을 알아내는 데 도움을 달라고 말할 수 있습니다
10:18이것은 효율적입니다
10:20이 기능을 자주 사용한다면 Claude MD에 덤프할 수도 있는데, 이 방법은 잠시 후에 설명할 것이므로 Claude가 여러 세션에서 이 기능을 기억할 수 있습니다
10:26하지만 이것은 Anthropic에서 일반적으로 사용하는 패턴이며 외부 고객도 사용하는 것을 볼 수 있습니다
10:32MCP도 마찬가지입니다
10:34Claude Code는 bash 도구도 사용할 수 있고 MCP 도구도 사용할 수 있습니다
10:37따라서 도구에 대해 알려주고 MCP 도구를 추가하고 사용 방법을 알려주면 바로 사용하기 시작할 수 있습니다
10:44새 코드 기반에서 코드를 사용하기 시작할 때 팀에서 이미 이 코드 기반에 사용하고 있는 모든 도구를 제공하면 Claude Code가 사용자를 대신하여 사용할 수 있기 때문에 매우 강력합니다
11:01몇 가지 일반적인 워크플로우가 있는데, 제가 이미 말씀드린 것이 바로 이 워크플로우입니다
11:06따라서 코드를 작성하기 전에 약간의 탐색을 하고, 약간의 계획을 세우고 저에게 확인을 요청하세요
11:13오른쪽의 다른 두 개는 매우 강력합니다
11:16예를 들어 단위 테스트를 작성하거나, Puppeteer에서 스크린샷을 찍거나, iOS 시뮬레이터에서 스크린샷을 찍는 등 작업을 확인할 수 있는 방법이 있으면 Claude는 반복 작업을 할 수 있습니다
11:27예를 들어 모형을 주고 "이 웹 UI를 빌드하세요"라고 말하면 꽤 괜찮은 결과를 얻을 수 있기 때문에 놀라운 기능입니다
11:33하지만 두세 번 반복하면 거의 완벽하게 만들어지는 경우가 많습니다
11:37따라서 비결은 피드백에 사용할 수 있는 일종의 도구를 제공하여 작업을 점검한 다음, 이를 기반으로 스스로 반복하면 훨씬 더 나은 결과를 얻을 수 있습니다
11:46단위 테스트, 통합 테스트, 앱이나 웹에 대한 스크린샷 등 어떤 도메인이든 결과를 확인할 수 있는 방법을 제공하면 반복을 통해 더 나은 결과를 얻을 수 있습니다
12:00이것이 다음 단계입니다
12:01Claude에게 도구 사용법을 가르치고 올바른 워크플로를 파악하세요
12:04Claude가 코딩에 뛰어들기를 원한다면, 약간의 브레인스토밍을 하기를 원한다면, 계획을 세우고, 반복 작업을 하기를 원한다면 어느 정도 감을 잡을 수 있도록 하세요
12:17도구를 넘어 더 깊이 들어가면 Claude에게 더 많은 컨텍스트를 제공하기 시작할 수 있습니다
12:21코드 기반에서 작업하는 엔지니어는 시스템과 모든 기록, 그리고 그 밖의 모든 것에 대한 수많은 컨텍스트를 머릿속에 가지고 있기 때문에 컨텍스트가 많을수록 더 현명한 결정을 내릴 수 있습니다
12:30그래서 여러분은 이 정보를 Claude에게 제공하는 방법에는 여러 가지가 있습니다
12:33Claude에게 더 많은 컨텍스트를 제공하면 더 잘할 수 있습니다
12:36여러 가지 방법이 있습니다
12:38가장 간단한 방법은 Claude MD라고 부르는 것입니다
12:41claude.md는 특별한 파일 이름입니다
12:44가장 간단한 위치는 프로젝트 루트에 넣는 것입니다
12:47따라서 Claude를 시작할 때와 동일한 디렉터리에 Claude MD를 넣으면 모든 세션이 시작될 때 자동으로 컨텍스트를 읽게 됩니다
12:54그리고 기본적으로 첫 번째 사용자 차례에는 Claude MD가 포함됩니다
12:59로컬 Claude MD를 만들 수도 있는데, 보통은 소스 제어에서 확인하지 않습니다
13:05따라서 Claude MD는 소스 제어에 체크인하고 팀과 공유하여 한 번 작성한 다음 팀과 공유해야 합니다
13:11이것은 체크인하지 않습니다
13:13여러분만을 위한 것입니다
13:15일반적인 bash 명령어, 일반적인 MCP 도구, 아키텍처 결정, 중요한 파일 등 이 코드 베이스에서 작업하기 위해 일반적으로 알아야 할 모든 것을 Claude MD에 넣을 수 있습니다
13:26너무 길어지면 컨텍스트가 많이 소모되고 일반적으로 유용하지 않으므로 짧게 작성하세요
13:32따라서 가능한 한 짧게 작성하세요
13:34예를 들어 저희 코드 베이스에는 일반적인 bash 명령어, 스타일 가이드, 몇 가지 핵심 파일 등이 있습니다
13:43다른 모든 Claude MD는 다른 중첩된 하위 디렉터리에 넣으면 필요할 때 Claude가 가져옵니다
13:50따라서 이 파일들은 자동으로 가져오는 Claude MD입니다
13:53하지만 중첩된 디렉터리에 Claude MD를 넣을 수도 있습니다
13:54그러면 Claude가 해당 디렉터리에서 작업할 때 자동으로 가져올 것입니다
14:02물론 회사에서 모든 다른 코드 베이스에서 공유되는 Claude MD를 사용자를 대신하여 관리하고 싶다면 엔터프라이즈 루트에 넣으면 자동으로 가져올 수 있습니다
14:17컨텍스트를 가져오는 방법에는 여러 가지가 있습니다
14:18실제로 이 슬라이드를 작성하면서 다양한 방법을 설명하는 데 많은 어려움을 겪었습니다
14:24하지만 Claude MD는 자동으로 가져옵니다
14:26슬래시 명령을 사용할 수도 있습니다
14:28이 파일은 .claude/commands이며 홈 디렉토리에 있거나 프로젝트에 포함시킬 수도 있습니다
14:33그리고 이것은 슬래시 명령을 위한 것입니다
14:35여기에는 Claude Code 자체에 있는 슬래시 명령의 몇 가지 예가 있습니다
14:43예를 들어 Claude Code 리포지토리에 있는 이슈에 레이블이 붙는다면 실제로는 여기에서 이 워크플로우가 실행되고 있는 것입니다
14:49GitHub 이슈에 레이블을 지정하는 것입니다
14:51그리고 오늘 아침에 설명한 것과 같은 GitHub 작업이 실행되고 있는데, Claude Code가 이 명령은 슬래시 명령으로 동작합니다
14:59이 명령이 실행되면 사람이 직접 할 필요가 없도록 이슈에 레이블을 지정합니다
15:01시간을 엄청나게 절약할 수 있습니다
15:04물론 @멘션으로 파일을 컨텍스트로 가져올 수도 있고, 앞서 말했듯이 중첩된 디렉터리에 있는 Claude MD는 Claude가 해당 디렉터리에서 작업할 때 가져올 수 있습니다
15:18따라서 Claude에게 더 많은 컨텍스트를 제공하세요
15:20그리고 컨텍스트를 조정하는 데 시간을 할애할 가치가 있습니다
15:22프롬프트 개선 프로그램을 통해 실행할 수 있습니다
15:24누구를 위한 컨텍스트인지, 매번 가져올 것인지, 필요에 따라 가져올 것인지, 팀과 공유하고 싶은지 개인적인 취향인지
15:30등을 고려하세요
15:32반드시 시간을 내서 튜닝하세요
15:34제대로만 하면 성능이 크게 향상됩니다
15:41고급 단계로 갈수록 모든 것을 가져오는 다양한 방법의 계층 구조에 대해 조금 더 생각해보고 싶을 것입니다
15:48예를 들어, Claude MD뿐만 아니라 구성 및 Claude에 대한 모든 것을 이러한 계층적 방식으로 가져올 수 있습니다
15:56따라서 프로젝트는 Git 리포지토리에만 해당되며, 체크인하거나 직접 만들 수 있습니다
16:02또한 모든 프로젝트에 적용되는 전역 구성을 만들거나 엔터프라이즈 정책을 만들 수도 있습니다
16:07그리고 이것은 기본적으로 모든 직원과 팀원 모두에게 자동으로 배포하는 글로벌 설정입니다
16:14이 슬라이드는 꽤 많은 정보를 담고 있지만 요점은 많은 항목에 적용된다는 것입니다
16:18따라서 슬래시 명령에 대해 이 작업을 수행할 수 있고 권한에 대해 이 작업을 수행할 수 있습니다
16:21예를 들어 모든 직원이 사용하는 bash 명령, 예를 들어 테스트 명령과 같이 모든 직원이 사용하는 명령이 있다면 실제로 이 엔터프라이즈 정책 파일에 체크인하면 모든 직원이 이 명령을 실행할 때 자동 승인되므로 매우 편리합니다
16:37또한 이를 사용하여 명령을 차단할 수도 있습니다
16:39예를 들어 절대로 가져와서는 안 되는 URL이 있다고 가정해 보겠습니다
16:42이 설정에 추가하면 직원이 해당 URL을 덮어쓸 수 없도록 설정되어 해당 URL을 절대 가져올 수 없게 됩니다
16:49사람들을 차단 해제하고 코드베이스를 안전하게 유지하는 데 매우 편리합니다
16:54MCP 서버도 마찬가지입니다
16:56MCP JSON 파일을 코드 베이스에 저장하면 됩니다
16:58이렇게 하면 누군가 코드 베이스에서 Claude Code를 실행할 때마다 MCP 서버를 설치하고 팀과 공유하라는 메시지가 표시됩니다
17:09어떤 것을 사용해야 할지 잘 모르겠다면 이것은 일종의 미친 매트릭스와 같습니다
17:10왜냐하면 우리는 많은 것을 지원하고 엔지니어 워크플로가 매우 유연하고 회사마다 다르기 때문에 모든 것을 지원하고 싶기 때문입니다
17:18따라서 어떻게 시작해야 할지 잘 모르겠다면 프로젝트 컨텍스트 공유부터 시작하는 것이 좋습니다
17:24한 번 작성하고 팀원 모두와 공유하면 누군가가 약간의 작업을 수행하면 팀원 모두가 혜택을 받는 일종의 네트워크 효과를 얻을 수 있습니다
17:34Claude에는 이를 관리할 수 있는 많은 도구가 내장되어 있습니다
17:37예를 들어 /memory를 실행하면 가져오는 다양한 메모리 파일을 모두 볼 수 있습니다
17:43예를 들어 기업 정책이 있고, 사용자 메모리가 있고 프로젝트 Claude MD가 있고, 특정 디렉터리에 대해서만 가져오는 중첩된 Claude MD가 있을 수 있습니다
17:53그리고 마찬가지로 /memory를 사용하면 특정 메모리 파일을 편집할 수 있습니다
17:57파운드 기호를 사용하여 무언가를 기억할 때 원하는 메모리를 선택할 수 있습니다
18:05이것이 다음 단계입니다
18:07시간을 내서 Claude MD, MCP 서버 등 팀에서 사용하는 모든 것을 한 번 설정하고 구성한 다음, 모든 사람과 공유할 수 있도록 구성하세요
18:14예를 들어 Anthropic의 앱 리포가 있습니다
18:23모든 웹 및 앱 코드가 저장되어 있는 리포지토리입니다
18:27Puppeteer MCP 서버가 있고, 팀과 이 서버를 공유합니다
18:30그리고 mcp.json이 체크인되어 있으므로 해당 리포에서 작업하는 모든 엔지니어는 Puppeteer를 사용하여 엔드투엔드 테스트를 파일럿하고 자동으로 스크린샷을 찍고 반복할 수 있으므로 모든 엔지니어가 직접 설치하지 않아도 됩니다
18:45이 강연은 전문가 팁에 대한 강연이므로 사람들이 모를 수 있는 몇 가지 일반적인 주요 바인딩에 대해 잠깐 이야기하고 싶습니다
18:51터미널을 구축하는 것은 매우 어렵습니다
18:53또한 매우 재미있기도 합니다
18:54새로운 디자인 언어를 재발견하는 기분입니다
18:57하지만 터미널은 매우 미니멀하기 때문에 이러한 핵심 바인딩을 발견하기 어려울 때가 있습니다
19:03여기 간단한 참조 시트가 있습니다
19:05언제든지 Shift 탭을 눌러 편집을 수락할 수 있습니다
19:09그러면 편집 자동 수락 모드로 전환됩니다
19:10따라서 bash 명령은 여전히 승인이 필요하지만 편집은 자동으로 수락됩니다
19:14그리고 나중에 언제든지 Claude에게 실행 취소를 요청할 수 있습니다
19:17예를 들어, 저는 Claude가 올바른 방향으로 가고 있다고 생각하거나, 단위 테스트를 작성하고 테스트를 반복하는 경우 이 작업을 수행합니다
19:22저는 보통 자동 승인 모드로 전환하기 때문에 모든 편집 내용을 일일이 승인할 필요가 없습니다
19:27예를 들어, 어떤 도구를 제대로 사용하지 않아서 앞으로는 제대로 사용하도록 하려면 파운드 기호를 입력한 다음, 무엇을 기억해야 하는지 알려주기만 하면 Claude가 기억합니다
19:37그러면 Claude MD에 자동으로 통합됩니다
19:41배치 모드로 전환하여 배치 명령을 실행하려면 느낌표를 누르고 명령을 입력하면 됩니다
19:46로컬에서 실행되지만 컨텍스트 창으로 이동하므로 다음 차례에 Claude가 이를 볼 수 있습니다
19:53원하는 작업을 정확히 알고 있는 경우나 컨텍스트에 따라 실행하려는 명령이 있을 때 이 방법을 사용하면 매우 유용합니다
19:58그리고 Claude는 명령과 출력을 볼 수 있습니다
20:02파일과 폴더를 언급할 수도 있습니다
20:04언제든지 이스케이프를 눌러 Claude가 하는 작업을 중지할 수 있습니다
20:07Claude가 무엇을 하든 언제든지 안전하게 이스케이프를 누를 수 있습니다
20:10세션이 손상되지 않습니다
20:11아무것도 망치지 않죠
20:13따라서 Claude가 파일 편집을 하고 있을 때 제가 바로 가기 키를 누르고 다른 작업을 지시할 수 있습니다
20:17아니면 20줄 편집을 제안했는데 "사실 이 중 19줄은 완벽해 보이는데 한 줄만 바꿔야겠어"라고 말할 수도 있죠
20:20이스케이프를 누르고 그렇게 말한 다음 편집을 다시 하라고 말할 것입니다
20:28이스케이프를 두 번 누르면 히스토리로 되돌아갈 수 있습니다
20:30그리고 세션이 끝나면 원한다면 이력서를 다시 시작하여 해당 세션을 다시 시작할 수 있습니다
20:36아니면 계속해도 됩니다
20:39더 많은 출력을 보고 싶을 때는 언제든지 컨트롤 R을 누르면 전체 출력이 표시되며, Claude의 컨텍스트 창에 표시되는 것과 동일한 내용이 표시됩니다
20:52다음으로 말씀드리고 싶은 것은 Claude Code SDK입니다
20:55이 부분은 맨 위에 설명했습니다
20:57이 세션이 끝나면 바로 건너편에서 Sid가 세션을 진행할 텐데요, SDK에 대해 자세히 설명할 예정입니다
21:03Claude에서 -p 플래그를 사용했다면 이것이 바로 SDK입니다
21:09그리고 지난 몇 주 동안 더 나은 기능을 제공하기 위해 여러 가지 기능을 추가했습니다
21:14네, 맞아요
21:14여러분은 이 위에 구축할 수 있습니다
21:16멋진 일을 할 수 있습니다
21:16이것이 바로 Claude Code가 사용하는 것입니다
21:19완전히 동일한 SDK입니다
21:21예를 들어 claude -p로 할 수 있는 것은 CLI SDK입니다
21:26프롬프트를 전달할 수 있습니다
21:29특정 배치 명령을 포함할 수 있는 허용된 도구를 전달할 수 있으며 원하는 형식을 지정할 수 있습니다
21:34따라서 어떤 식으로든 처리하고 싶다면 JSON을 원할 수도 있고 스트리밍 JSON을 원할 수도 있습니다
21:40따라서 이것은 구축에 매우 유용합니다
21:42저희는 CI에서 항상 이 기능을 사용합니다
21:44인시던트 대응에도 사용합니다
21:45모든 종류의 파이프라인에서 이 기능을 사용합니다
21:47정말 편리하죠
21:48유닉스 유틸리티와 비슷하다고 생각하면 됩니다
21:50프롬프트를 입력하면 JSON을 제공하죠
21:52어떤 방식으로든 사용할 수 있습니다
21:53입력으로 파이프 처리하거나 출력으로 파이프 처리하는 것도 가능합니다
21:58파이핑도 꽤 멋집니다
22:00예를 들어 git status와 같은 것을 사용하여 이걸 파이프하고 jq를 사용하여 결과를 선택할 수 있습니다
22:06조합은 무궁무진하며 일종의 새로운 아이디어입니다
22:10매우 지능적인 유닉스 유틸리티와 같습니다
22:13그리고 이 기능을 사용하는 방법은 이제 겨우 표면만 긁어낸 것 같아요
22:15이제 막 알아가고 있는 중입니다
22:18GCP 버킷 같은 곳에서 거대한 로그를 읽어와서 파이프에 연결하고 Claude에게 이 로그에서 흥미로운 점이 무엇인지 알아내라고 할 수 있습니다
22:25Sentry와 같은 CLI에서 데이터를 가져올 수도 있습니다
22:29데이터를 파이프해서 Claude에게 뭔가를 하도록 할 수도 있습니다
22:35마지막으로, 이것은 아마도 가장 고급 사용 사례일 텐데, 저는 일종의 Claude를 자주 사용하는 편이라서 보통 한 번에 하나 Claude를 실행하고, 한 번에 몇 개의 다른 리포지토리에 대한 터미널 탭을 몇 개씩 실행할 수도 있습니다
22:48고급 사용자들이 Anthropic을 드나드는 모습을 보면 거의 항상 SSA 세션을 사용합니다
22:54그들은 Claude 세션에 tmux 터널 같은 것을 가지고 있을 것입니다
22:58동일한 리포지토리를 여러 번 체크 아웃하여 해당 리포지토리에서 여러 Claude를 병렬로 실행할 수 있습니다
23:03또는 이 작업을 수행할 때 일종의 격리를 위해 git 워크트리를 사용하기도 합니다
23:07저희는 이 기능을 더 쉽게 사용할 수 있도록 적극적으로 노력하고 있지만, 현재로서는 Claude로 더 많은 작업을 병렬로 수행하는 방법에 대한 몇 가지 아이디어가 있습니다
23:16원하는 만큼 많은 세션을 실행할 수 있으며, 동시에 수행할 수 있는 작업도 많습니다
23:23네, 그게 다예요
23:25Q&A 시간도 남겨두고 싶었습니다
23:28이것이 제가 가진 마지막 슬라이드인 것 같습니다
23:30질문이 있으신 분들은 양쪽에 마이크가 있으니 언제든지 질문해 주세요
23:35어떤 질문이든 답변해드리겠습니다
23:39바인딩 명령을 건너뛰셨군요
23:53그랬죠, 그거 망쳤어요
23:59보리스, Claude Code를 만들어줘서 고마워요
24:02이 코드를 구축하는 과정에서 가장 어려웠던 부분이 무엇인지 궁금합니다
24:09까다로운 부분이 많았던 것 같아요
24:13특히 까다로운 부분은 배치 명령을 안전하게 만들기 위해 수행하는 작업이라고 생각합니다
24:20Bash는 본질적으로 매우 위험하고 예기치 않은 방식으로 시스템 상태를 변경할 수 있지만, 동시에 모든 배치 명령을 수동으로 승인해야 하는 경우도 있습니다
24:31엔지니어 입장에서는 매우 성가신 일이며, 모든 명령을 계속 승인해야 하므로 생산성이 떨어질 수밖에 없습니다
24:36그리고 모든 사람이 Docker 컨테이너에서 코드를 실행하는 것은 아니기 때문에 다양한 종류의 코드 기반에 걸쳐 확장 가능한 방식으로 이 작업을 안전하게 수행하는 방법을 찾는 것은 매우 까다로웠습니다
24:47그리고 기본적으로 우리가 찾은 것은 읽기 전용인 명령이 몇 가지 있다는 것입니다
24:50어떤 명령을 안전한 방식으로 결합할 수 있는지 파악하기 위해 몇 가지 정적 분석을 수행한 다음, 다양한 수준에서 목록 및 차단 목록 명령을 허용할 수 있도록 매우 복잡한 계층형 권한 시스템을 갖추고 있습니다
25:02안녕하세요, Boris Claude 코드에 이미지를 제공한다고 말씀하셨는데, 제가 알지 못하는 일종의 복합 기능이 있는지 궁금합니다
25:12파일 시스템의 이미지를 가리키고 있는 건가요? 네, Claude Code는 처음부터 완전한 멀티모달 기능을 갖추고 있습니다
25:20터미널에 있기 때문에 발견하기가 조금
25:20어렵습니다
25:23하지만 이미지를 가져와서 드래그 앤 드롭하면 됩니다
25:25작동할 겁니다
25:26파일 경로를 지정할 수도 있습니다
25:28그렇게 하면 됩니다
25:29이미지를 복사하여 붙여넣을 수도 있고, 그것도 작동합니다
25:34그래서 저는 이 기능을 자주 사용하는데, 무언가의 모형을 가지고 있을 때 드래그 앤 드롭으로 모형을 끌어다 놓고 구현하라고 지시한 다음, 퍼펫티어 서버를 제공하여 반복할 수 있도록 하죠
25:42네, 완전히 자동화되어 있습니다
25:46IDE 대신 CLI 툴을 만든 이유는 무엇인가요? 네, 좋은 질문이네요
25:55두 가지 이유가 있을 것 같습니다
25:56하나는 Anthropic에서 이 작업을 시작했고, Anthropic에서는 다양한 IDE를 사용하기 때문입니다
26:02어떤 사람은 VSCode를 사용하고, 어떤 사람은 Zed나 XCode, Vim Emacs를 사용하며, 모든 사람에게 적합한 무언가를 구축하기가 어려웠기 때문에 터미널이 공통분모가 된 것입니다
26:14두 번째는 앤트로픽에서는 모델이 얼마나 빠르게 발전하고 있는지 가까이에서 보고 있기 때문에 올해 말에는 사람들이 더 이상 IDE를 사용하지 않을 가능성이 높다고 생각하기 때문에 이러한 미래에 대비하고 싶고, 모델이 발전하는 방식을 고려할 때 UI 및 기타 레이어에 과도하게 투자하는 것을 피하고 싶어요
26:37흥미롭군요
26:41네, 마이크가 켜져 있나요? 머신러닝 모델링, 다시 말해, AutoML에 가까운 활용 측면에서 Claude Code를 얼마나 사용하셨나요? 지금까지 어떤 경험이 있었는지 궁금합니다
26:54머신러닝과 모델링에 Claude Code를 얼마나 사용하고 있는지 궁금한 것 같습니다
27:01저희는 실제로 이 작업에 많이 사용하고 있기 때문에 앤트로픽의 엔지니어와 연구원 모두 매일 Claude Code를 사용합니다
27:07앤트로픽의 기술직 직원 중 약 80%가 매일 Claude 코드를 사용하고 있으며, 저희가 제품에 얼마나 많은 애정과 노력을 기울였는지 제품에서 확인할 수 있을 것입니다
27:17하지만 여기에는 노트북, 노트북 도구와 같은 도구를 사용하여 노트북을 편집하고 실행하는 연구원도 포함됩니다
27:22네, 아주 멋지네요
27:23고마워요
27:24네, 여기까지입니다
27:28고마워요.