[00:00]
여러분, 오늘 제가 AI를 활용하는 전체 워크플로우를 설명해드리겠습니다.
[00:05]
차세대 소프트웨어 개발에서 AI를 어떻게 활용하고 어떤 도구를 사용하는지 말이죠.
[00:08]
우선 제가 사용하는 도구들부터 소개해드리겠습니다.
[00:12]
어떤 도구를 사용하고 있을까요?
[00:15]
저는 Claude Code를 사용하고 있습니다.
[00:19]
Elixir Mentor 채널에서 Andrew와 Jacob과 함께 한 라이브 스트림 이후로
[00:23]
제 인생이 바뀌었습니다.
[00:26]
이전에는 Windsurf를 사용했었고
[00:30]
Windsurf의 Gemini 커스텀 모델을 시도해보고 있었습니다.
[00:35]
그 워크플로우에도 어느 정도 만족하고 있었죠.
[00:39]
하지만 Claude Code를 시도해본 후
[00:42]
제 인생이 변했습니다.
[00:45]
처음으로 정말 에이전트와 함께 일하는 느낌이 들었습니다.
[00:48]
더 이상 끝없이 주고받을 필요가 없어졌죠.
[00:52]
Claude와 대화하는 것 같습니다.
[00:55]
계획을 세우고 나면 Claude에게 말하죠.
[00:58]
"이제 구현해줘"
[01:00]
그리고 10분 후, 5분 후에
[01:03]
결과를 확인하고 다음으로 넘어갑니다.
[01:06]
Claude가 작업하는 동안에는
[01:08]
중간에 멈추지 않습니다.
[01:11]
보통 올바른 방향으로 진행하기 때문이죠.
[01:14]
환각 현상도 거의 없습니다.
[01:16]
그래서 Claude Code로 완전히 전환했습니다.
[01:21]
그럼 IDE는 어떨까요?
[01:24]
저는 VS Code를 사용하고 있습니다.
[01:26]
VS Code는 AI 기능이 별로 아닌가요?
[01:30]
어떤 면에서는 그렇죠.
[01:33]
AI 기능 면에서 Copilot은
[01:36]
Cursor나 Windsurf에 비해 많이 부족합니다.
[01:39]
하지만 저는 Copilot을 사용하지 않아요.
[01:41]
Claude Code를 사용합니다. Claude Code가 제 모델이자
[01:45]
모델과 상호작용하는 도구입니다.
[01:48]
제가 VS Code를 사용하는 유일한 이유는
[01:51]
Claude가 변경한 파일들을 미리 보기 위해서입니다.
[01:54]
말 그대로 그게 전부예요.
[01:58]
만약 Anthropic이 더 나은 방법을 찾아서
[02:01]
커밋하기 전에 모든 파일 변경사항을 미리 볼 수 있다면
[02:04]
IDE를 완전히 사용하지 않아도 될 것 같습니다.
[02:07]
터미널 탭 5개만 열어두고
[02:09]
모든 작업을 거기서 할 수 있을 것 같아요.
[02:12]
제 IDE는 단순한 파일 시각화 도구이기 때문입니다.
[02:16]
래퍼를 사용하는 대신 VS Code 같은 무료 IDE를 사용하는 이유는 뭘까요?
[02:19]
그게 제 논리입니다.
[02:23]
비싼 래퍼에 돈을 쓰고 싶지 않아요.
[02:26]
거기서 AI 기능을 사용하지 않는다면요.
[02:29]
그래서 Windsurf를 버렸습니다.
[02:32]
Claude Code와 함께 베어본 VS Code를 사용하고 있습니다.
[02:35]
그럼 제 워크플로우는 어떨까요?
[02:39]
Claude Code로 어떻게 코딩하는지 말이죠.
[02:42]
이미 관련 영상을 몇 개 만들었습니다.
[02:44]
예를 들어
[02:46]
제가 생각하는 완벽한 Claude MD 파일을 만드는 방법에 대한 영상이 있습니다.
[02:48]
어딘가에 링크를 걸어두겠습니다.
[02:52]
하지만 워크플로우 관점에서
[02:54]
어떻게 시작하고 어떻게 끝내는지
[02:56]
저는 두 단계로 나누어 작업합니다.
[02:59]
첫 번째 단계는 계획이고
[03:02]
두 번째 단계는 그 계획의 기술적 구현입니다.
[03:04]
AI가 코드를 생성하는 속도가 너무 빠르다는 걸 깨달았습니다.
[03:07]
이제 코딩보다 기능 계획에 더 많은 시간을 투자하는 게 합리적이에요.
[03:11]
가끔 약간의 불안감이 들면
[03:16]
"이 기능을 구현해보자"라고 생각하죠.
[03:18]
그런데 30초 만에 끝나버리고
[03:20]
"와, 대단하네! 이것도 구현해보자"라고 하고
[03:22]
"다른 기능도 구현해보자"라고 하죠.
[03:25]
그리고 하루가 끝나면
[03:27]
처음 만든 기능이 두 번째 기능과 충돌하는 걸 발견합니다.
[03:29]
그래서 이 기능을 제거하고
[03:31]
저 기능도 제거하고
[03:33]
다시 처음부터 시작하는 상황이 벌어집니다.
[03:36]
그래서 저는 이제
[03:38]
기능을 제거하고 다시 만들고
[03:41]
계속 반복하게 됩니다.
[03:43]
그러면 원하는 것을 위해 앞뒤로
[03:45]
오가며 많은 시간을 소비하게 됩니다. 그러니
[03:50]
기능을 계획하는 시간을 가져보세요. 그럼
[03:53]
어떻게 기능을 계획할까요? 저는 Claude Code에서
[03:56]
커스텀 슬래시 명령을 만들었습니다. 만약
[03:59]
모르신다면, Claude Code에는 몇 가지
[04:02]
기본 명령들이 있습니다. 현재 세션을 지우는 /clear나
[04:06]
claude.md 파일을 생성하는 /init 같은 것들이요.
[04:09]
하지만 자신만의 슬래시 명령을 만들 수 있습니다.
[04:12]
그리고 이것이 작동하려면
[04:15]
프롬프트를 작성하고 그것을
[04:17]
cloud commands 폴더에 넣어야 합니다.
[04:19]
예를 들어, .cloud/commands 안에 두 개의
[04:24]
커스텀 명령이 있습니다. 첫 번째는 이슈를
[04:28]
계획하는 것입니다. 저는 'GitHub 이슈
[04:30]
계획 모드에 들어가 몇 가지 아이디어를
[04:33]
브레인스토밍해보자'라고 하고
[04:36]
좋은 지점에 도달했다고 느끼면
[04:40]
'이제 작업을 시작할 준비가 되었다'라고 하고
[04:43]
그럼 Claude에게 GH CLI를 사용해서
[04:46]
이슈를 만들어달라고 요청합니다.
[04:50]
맞습니다, GH입니다. 저는 GitHub 이슈를
[04:53]
사용하고 있습니다. Linear를 사용하지 않고
[04:57]
Jira, Trello 또는 다른 티켓 추적 소프트웨어도
[05:01]
사용하지 않습니다. 왜냐하면
[05:03]
솔직히 말하면, 저는 너무 게으르고
[05:06]
Linear MCP를 설치하고 싶지 않습니다. 저는
[05:09]
GH CLI를 사용할 수 있습니다. 어떤 프로젝트에서든
[05:11]
바로 사용할 수 있습니다. MCP가 필요하지 않습니다.
[05:14]
그래서 훌륭합니다. 그리고 선택적으로
[05:18]
이슈에 라벨과 마일스톤을 추가하는 것도
[05:22]
좋아합니다. 이 이슈를 예로 들어보겠습니다.
[05:24]
애플리케이션에 라이트 및 다크 모드 테마
[05:26]
전환기를 추가하는 것입니다.
[05:29]
enhancement, JavaScript 라벨을 사용하고
[05:31]
있는 것을 볼 수 있습니다. 그리고 우선순위에 대한
[05:33]
라벨도 만들었는데, 이것은 priority low입니다.
[05:36]
그리고 여기에 몇 가지 마일스톤도 있습니다.
[05:39]
기본값은 MVP launch이지만
[05:41]
post MVP도 있습니다. 이것이 라이트 및
[05:44]
다크 테마 전환기의 경우입니다.
[05:47]
이것은 MVP에서 필수가 아닙니다.
[05:49]
그리고 이슈가 완료되고 이미
[05:51]
많은 이슈들이 생성되면
[05:54]
두 번째 커스텀 명령인
[05:57]
implement issue를 만들었습니다.
[06:00]
이 명령을 실행하고 이슈의 URL을
[06:02]
붙여넣으면 'GitHub 이슈 구현 모드에
[06:06]
들어가서 이슈 구현을 도와드리겠습니다'라고
[06:09]
나옵니다. 그리고 완료된 후
[06:13]
커밋을 생성하고 이슈를 닫도록 요청합니다.
[06:16]
그래서 그것이 제 현재 워크플로우입니다.
[06:18]
티켓 추적을 위해 GitHub 프로젝트를
[06:22]
사용할 수도 있습니다. 예를 들어
[06:25]
tech school에서 저는 프로젝트를 사용하고
[06:29]
프로젝트에서 칸반 뷰를 사용해서
[06:32]
백로그에 있는 것들을 추적할 수 있습니다.
[06:35]
준비됨, 진행 중, 완료 상태로 나누어
[06:38]
이동시킬 수 있습니다. 하지만 솔직히
[06:41]
저는 생각했습니다. '정말 할 일, 진행 중,
[06:43]
완료 컬럼이 필요할까? 정말로
[06:45]
필요할까? 이슈를 만들고 해결됨으로
[06:48]
표시하면 안 될까? 이게 충분히
[06:52]
간단해 보이지 않을까?' 그래서
[06:55]
이 비디오를 녹화하는 시점에서
[06:58]
저는 프로젝트를 사용하지 않고 있습니다.
[07:02]
미래에 더 많은 기능을 추적해야 한다면
[07:04]
사용할 수도 있지만 지금은
[07:06]
GitHub 이슈만으로도 충분하다고 생각합니다.
[07:10]
저는 처음부터 일을 과도하게
[07:12]
복잡하게 만드는 것을 좋아하지 않습니다.
[07:16]
좋습니다. 그래서 이것이 제 워크플로우입니다.
[07:18]
저는 Windsurf 사용을 중단했습니다.
[07:20]
이제 Claude Code와 VS Code를 사용합니다.
[07:23]
보통 하루나 이틀 정도 오랜 시간을 기술적인
[07:26]
것은 없이 기능에 대해서만 이야기하는 데
[07:29]
소비합니다. 저는 Claude와 프로그래머가 아닌
[07:34]
공동 창업자로서 직접 이야기합니다.
[07:37]
그리고 둘째, 셋째 날에는
[07:40]
Claude와 기술 리더, 엔지니어링 매니저처럼
[07:43]
이야기하기 시작합니다. 그리고 지금부터
[07:46]
제 워크플로우는 꽤 간단하다고 생각합니다.
[07:49]
이 프로젝트가 더 복잡해지면
[07:51]
미래에 이 워크플로우를 어떻게
[07:53]
개선했는지 설명하는 다른 비디오를
[07:56]
녹화할 수도 있습니다. 하지만 그게 전부입니다.
[07:59]
그리고 아니요, 이 프로젝트는 아직
[08:02]
발표되지 않았습니다. 미래에
[08:05]
더 자세히 이야기하겠습니다. 스포일러 경고입니다.
[08:09]
여러분이 이 비디오를 즐겨보셨기를 바랍니다.
[08:12]
다음에 만나요.
[08:14]