00:00:00시중에는 수많은 AI 코드 에디터가 있으며, 저마다의 독특한 도구와 기능으로 차별화를 꾀하고 있습니다.
00:00:04클로드 코드는 특히 Opus 모델을 사용할 때 단연 최고라 할 만하지만, 비용이 많이 든다는 단점이 있죠.
00:00:09반면 커서는 코드와 에이전트의 작업을 나란히 놓고 보는 것을 선호하는 개발자들에게 인기지만, 그 나름의 문제점들이 있습니다.
00:00:16구글도 제미나이 3와 함께 '안티 그래비티(Anti-Gravity)'를 출시했는데요, 뛰어난 모델 성능과 무료라는 점 덕분에 개발자들 사이에서 빠르게 확산되었습니다.
00:00:23클로드 코드나 커서보다 늦게 나왔지만, 커서보다 훨씬 더 잘 구현된 부분들이 많습니다.
00:00:28AI 코딩이 강력해진 이후로, 많은 사람이 이런 도구들을 활용한 자신만의 워크플로우를 선보이고 있습니다.
00:00:35하지만 훌륭한 워크플로우의 핵심은 결국 '컨텍스트'를 얼마나 효율적으로 관리하느냐에 달려 있습니다.
00:00:39앞서 앤스로픽이 장기 작업용 에이전트 하네스를 출시한 데 이어, 이번에는 커서가 자사 기능을 최대한 활용해 성능을 대폭 끌어올릴 수 있는 자체 하네스를 공개했습니다.
00:00:50해당 기사에서 언급된 원칙들은 대부분의 에이전트에 적용 가능하기에, 저는 이 원칙들을 구글의 안티 그래비티에 적용해 보려 합니다.
00:00:57아직 완벽하진 않을지 몰라도, 다른 툴들과 차별화되는 확실한 강점들이 있습니다.
00:01:01오늘은 할 이야기가 많습니다. 이 하네스가 추가되면서 안티 그래비티의 성능이 비약적으로 향상되었기 때문입니다.
00:01:28마지막으로, 사용자가 어떻게 상호작용하고 프롬프트를 작성하며 응답에 대응하는지도 중요합니다.
00:01:38하네스가 중요한 이유는 모델마다 학습 환경과 강점이 달라 동일한 프롬프트에도 서로 다르게 반응하기 때문입니다.
00:01:48예를 들어, 셸 환경에서 학습된 모델은 전용 검색 도구보다 자연스럽게 GREP을 사용하는 것을 선호할 수 있습니다.
00:01:54우리는 클로드 같은 모델이 XML 프롬프트에 강한 반면, 어떤 모델은 마크다운에서 더 나은 성능을 낸다는 것을 알고 있습니다.
00:02:00따라서 우리가 사용하는 하네스를 해당 모델에 맞게 최적화하는 것이 매우 중요합니다.
00:02:04구현에 앞서 계획을 세우는 것은 코드가 의도대로 나오게 하는 필수 과정입니다.
00:02:10숙련된 개발자일수록 코드 생성 전 설계를 먼저 합니다. 사고를 명확히 정리할 수 있고 에이전트에게 구체적인 목표를 제시할 수 있기 때문이죠.
00:02:18안티 그래비티의 기획 기능은 제가 가장 좋아하는 부분인데, 댓글 형식으로 계획을 아주 쉽게 수정할 수 있습니다.
00:02:24기획 모드를 실행하면 제 지시 사항과 기존 코드 베이스를 철저히 분석한 뒤 상세한 계획을 생성해 줍니다.
00:02:30계획을 읽는 과정이 다소 지루할 수 있지만, 구현 내용이 의도와 일치하는지 확인하려면 꼼꼼히 검토해야 합니다.
00:02:38수정이 필요한 경우 목표와 맞지 않는 줄에 댓글만 달면, 그 내용이 반영된 수정 계획안이 나옵니다.
00:02:46계획이 완벽해질 때까지 계속 다듬는 과정이 필수입니다.
00:02:49준비가 끝나면 에이전트가 모든 것을 자율적으로 구현할 수 있습니다.
00:02:52결과물이 마음에 들지 않더라도 후속 프롬프트를 쓰기보다는, 다시 기획 모드로 돌아가 계획 자체를 수정하는 것이 효율적입니다.
00:03:00그다음으로 에이전트에게 정확한 컨텍스트를 제공해야 합니다.
00:03:03그전에 잠시 스폰서 소식을 전해드리겠습니다.
00:03:05Luma AI의 새로운 도구인 드림 머신, 'Ray3 Modify'입니다.
00:03:08AI 영상을 제작해 보셨다면 아시겠지만, 멋진 장면을 만든 뒤 스타일이나 배경을 바꾸려 하면 캐릭터가 깨지거나 움직임이 어색해져서 처음부터 다시 만들어야 하는 경우가 많습니다.
00:03:18Ray3 Modify는 이 문제를 해결합니다.
00:03:20처음으로 AI 영상이 운에 맡기는 것이 아닌, 진짜 '디렉팅'이 가능해졌습니다.
00:03:23기존 클립이나 실제 촬영물에서 캐릭터의 정체성, 동작, 감정선은 유지하면서 배경, 조명, 시네마틱 스타일만 바꿀 수 있습니다.
00:03:33연기는 고정된 채 비주얼만 원하는 대로 진화시킬 수 있는 것이죠.
00:03:36캐릭터 참조 기능과 수정 가능한 키프레임을 통해 장면마다 일관성을 유지할 요소와 변화를 줄 요소를 직접 제어할 수 있습니다.
00:03:42하이브리드 워크플로우, 단편 영화, 뮤직비디오, 시네마틱 컨셉 작업에 최적입니다.
00:03:47소규모 제작 환경에서도 유용하죠.
00:03:48진정한 의미의 AI 포스트 프로덕션처럼 느껴집니다.
00:03:51이제 추측은 그만두고, 직접 디렉팅을 시작해 보세요.
00:03:53고정 댓글의 링크나 QR 코드를 통해 Ray3 Modify의 가능성을 확인해 보시기 바랍니다.
00:03:58기획을 완벽히 마쳤다면, 이제 에이전트가 작업을 수행하는 데 필요한 컨텍스트를 제공할 차례입니다.
00:04:04사람들이 자주 실수하는 것 중 하나가 모든 파일을 일일이 수동으로 태그하는 것입니다.
00:04:08에이전트에게는 필요할 때 컨텍스트를 가져올 수 있는 강력한 검색 도구가 있으므로 수동으로 할 필요가 없습니다.
00:04:13파일을 수동 태깅하면 불필요한 부분까지 전부 컨텍스트에 포함되어 버립니다.
00:04:18에이전트는 grep을 사용해 정확히 필요한 부분만 골라낼 수 있습니다.
00:04:21가령 회원가입 페이지를 수정할 때 파일을 태깅하면 200줄이 넘는 컴포넌트 전체가 로드되어 컨텍스트가 불필요하게 비대해집니다.
00:04:30실제로 필요한 건 50줄 정도의 함수 하나뿐인데, 나머지 쓸데없는 코드까지 다 포함되는 것이죠.
00:04:38수동 태깅 대신 에이전트의 검색 도구가 필요한 함수를 직접 찾아내게 하세요.
00:04:43모든 일을 대화창 하나에서 해결할 필요는 없습니다.
00:04:45새로운 작업을 시작하거나, 에이전트가 혼란스러워하며 같은 실수를 반복할 때는 새 대화를 시작하는 것이 좋습니다.
00:04:52기본적으로 하나의 논리적인 작업 단위가 끝나면 새 대화창을 여는 습관을 들이세요.
00:04:57저의 경우, 구현하려는 기능마다 새 대화를 시작하고 제가 원하는 방향으로 기획부터 다시 시작합니다.
00:05:04이렇게 하면 모든 작업이 독립적으로 관리되어 결과물이 깔끔해집니다.
00:05:07새 대화가 필요 없는 경우는 동일한 기능을 계속 작업 중이거나, 이전 대화 내용이 반드시 필요하거나, 방금 구현한 기능을 디버깅할 때뿐입니다.
00:05:16그 외의 상황에서는 새 대화를 시작해 노이즈를 줄이는 것이 훨씬 낫습니다.
00:05:21에이전트의 답변 효율이 떨어지기 시작한다면, 그것이 바로 새 대화창을 열어야 할 타이밍입니다.
00:05:26이전 대화 내용을 참고해야 할 때는 설명을 반복하는 대신, 해당 대화 내용을 직접 태깅하여 언급하면 됩니다.
00:05:35그러면 에이전트가 대화 맥락을 지능적으로 파악해 채팅 기록에서 딱 필요한 부분만 골라 읽습니다.
00:05:43에이전트의 능력은 '규칙(Rules)'과 '기술(Skills)' 설정을 통해 확장될 수 있습니다.
00:05:47프로젝트 전용 규칙을 정의하면 에이전트가 일관되게 따라야 할 가이드라인이나 모범 사례를 커스터마이징할 수 있습니다.
00:05:55안티 그래비티는 로컬 또는 글로벌 범위에 이런 설정을 추가하기가 매우 간편합니다.
00:06:00가이드라인을 추가하려면 프로젝트 범위에 해당 규칙을 포함하기만 하면 됩니다.
00:06:03이 규칙들은 .agent 폴더 내의 rules 폴더에 마크다운 파일 형태로 저장됩니다.
00:06:09예를 들어, 저는 이 프로젝트의 프론트엔드가 VCAG 접근성 표준을 준수하도록 규칙을 추가했습니다.
00:06:13규칙을 추가한 뒤 작업을 맡기면, 안티 그래비티가 해당 규칙을 반영해 입력 태그에 레이블을 다는 등 접근성을 고려한 계획을 생성합니다.
00:06:24워크스페이스에 필요한 만큼 규칙을 추가해 에이전트의 능력을 가이드하고 확장할 수 있습니다.
00:06:29마찬가지로 안티 그래비티에는 앤스로픽의 오픈 표준을 따른 '에이전트 기술(Skills)'이 추가되었는데, 여기에는 지침, 스크립트, 특정 분야의 지식이 포함됩니다.
00:06:38기술은 에이전트가 필요하다고 판단할 때만 동적으로 로드되어 컨텍스트를 효율적으로 관리합니다.
00:06:43모든 기술 데이터는 안티 그래비티의 .agent 폴더에 보관됩니다.
00:06:47각 기술은 이름, 컨텍스트에 포함될 내용, 상세 사용법이 적힌 .md 파일로 구성됩니다.
00:06:55기타 참조 자료와 스크립트들은 각자의 전용 폴더에 저장됩니다.
00:06:59사용법은 간단합니다. 어떤 기술을 써서 어떤 작업을 할지 안티 그래비티에게 말해주기만 하면 됩니다.
00:07:05테스트 전문가 기술을 사용해 테스트 케이스 작성을 요청했더니, 기술 가이드라인에 따라 완벽한 테스트 계획을 세우는 데 시간이 좀 걸리더군요.
00:07:14참조 자료에 언급한 라이브러리들과 스크립트, 기술 정의서의 가이드라인을 모두 활용해 작업을 완수했습니다.
00:07:21모델들의 이미지 분석 능력이 좋아지고 있으니, 이를 적극 활용해 프롬프트에 이미지를 포함함으로써 이해도를 높여야 합니다.
00:07:29원하는 디자인을 말로 설명하는 대신, 구현하려는 섹션의 스크린샷을 찍어보세요.
00:07:35안티 그래비티에 스크린샷을 붙여넣고 사진과 똑같이 구현해달라고 요청하면 됩니다.
00:07:41이미지 분석 기능을 통해 내용을 완벽히 파악하고 코드로 옮겨줄 것입니다.
00:07:45저는 오류 디버깅에도 이미지를 자주 씁니다. UI 문제는 글로 설명하는 것보다 스크린샷 한 장이 훨씬 직관적이기 때문이죠.
00:07:54UI 이슈가 생길 때마다 스크린샷을 찍어 안티 그래비티에게 주면 알아서 고쳐줍니다.
00:08:00무작정 코딩에 뛰어들기보다, AI 개발에서도 소프트웨어 개발의 모범 사례를 따라야 합니다.
00:08:06에이전트와 잘 맞는 워크플로우 중 첫 번째는 테스트 주도 개발(TDD)입니다. 테스트를 먼저 작성하고 이를 통과하는 코드를 짜는 방식이죠.
00:08:15TDD가 에이전트에게 효과적인 이유는 최적화해야 할 명확한 목표와 성공 기준이 생겨서 단계적으로 개선할 수 있기 때문입니다.
00:08:26백엔드 설정 시 아무 코드도 없는 상태에서, 인증 루트에 대한 테스트를 작성하고 입출력과 동작을 정의하되 '이 단계에서는 테스트 코드만 쓸 것'을 명시했습니다.
00:08:40에이전트가 작성한 테스트 케이스가 만족스러우면, 그때 테스트를 실행하라고 요청합니다.
00:08:45당연히 구현된 코드가 없으니 처음에는 테스트가 실패할 것입니다.
00:08:49테스트 작성이 끝나면 에이전트가 무단으로 테스트를 고치지 못하도록 Git에 커밋하여 기록을 남깁니다.
00:08:55그다음 에이전트에게 테스트는 건드리지 말고 엔드포인트 코드를 작성하라고 지시합니다.
00:09:01모든 테스트가 통과될 때까지 반복해서 검증하고 수정하는 과정을 거칩니다.
00:09:07이렇게 하면 에이전트가 도달해야 할 명확한 지향점이 생깁니다.
00:09:10새로운 코드 베이스에서 작업을 시작할 때는 팀 동료에게 물어볼 법한 질문들을 에이전트에게 던져보세요.
00:09:16질문에 답하는 과정에서 에이전트는 grep과 시맨틱 검색으로 코드를 훑으며 구조를 파악하게 됩니다.
00:09:24저는 코드의 상세 내용이나 루트에 대해 질문을 던져 에이전트가 프로젝트 구조와 기능을 파악하도록 유도합니다.
00:09:30그래야 나중에 새 기능을 구현하라고 했을 때 이미 구조를 알고 있어 작업이 훨씬 수월해집니다.
00:09:37Git은 버전 관리뿐만 아니라 코딩 에이전트를 위한 지식 창고로서도 중요합니다.
00:09:43이전 영상들에서도 Git의 중요성은 여러 번 강조한 바 있습니다.
00:09:47명확한 커밋 로그는 에이전트의 학습 데이터가 될 뿐만 아니라, 기능 관리, 안정화 버전 추적, 에이전트의 실수 되돌리기 등에 큰 도움이 됩니다.
00:09:58저는 Git 작업을 편하게 하려고 안티 그래비티에서 '워크플로우'라고 부르는 재사용 가능한 명령어 세트를 사용합니다.
00:10:04커밋할 때 정해진 형식을 선호하는데, 커밋 워크플로우에 구조와 예시를 포함해 에이전트가 이를 강제로 따르게 만듭니다.
00:10:13커밋 전에는 보안 및 코드 리뷰 체크를 수행해 깔끔하고 표준에 맞는 결과물만 남기도록 합니다.
00:10:20PR 관리, 워크트리, 브랜치 관리용 명령어도 만들어 전체 워크플로우의 일관성과 효율성을 높일 수 있습니다.
00:10:28워크플로우 이름을 입력하기만 하면 모든 단계가 자동으로 실행되어 매우 간편합니다.
00:10:34필요에 따라 이슈 해결, 리뷰, 의존성 업데이트 등의 명령어를 실행해 코드 베이스를 관리할 수 있습니다.
00:10:43기본적인 이야기 같지만, AI가 짠 코드는 완벽하지 않기에 반드시 리뷰가 필요합니다.
00:10:48중요한 습관 중 하나는 에이전트가 작업하는 과정을 지켜보는 것입니다.
00:10:51엉뚱한 방향으로 가고 있다면 즉시 중단시키고 올바른 방향으로 잡아주어야 합니다.
00:10:56작업이 끝나면 에이전트 스스로 자신의 코드를 리뷰하게 하세요.
00:11:00저는 프로젝트에서 Git 모범 사례가 적용된 커스텀 코드 리뷰 워크플로우를 사용합니다.
00:11:06심각도에 따른 이슈 분류, 필수 체크 리스트 확인은 물론, 리뷰 후 린터나 테스트 실행까지 포함할 수 있습니다.
00:11:15이렇게 하면 코드의 품질과 신뢰성을 확보할 수 있습니다.
00:11:18대부분의 프로젝트가 GitHub으로 관리되므로, 모든 PR에서 고급 AI 분석을 통해 문제를 잡고 개선안을 제안하는 BugBots를 활용합니다.
00:11:28코드래빗(CodeRabbit), 센트리(Sentry) 등 코드 리뷰를 돕는 AI 기반 도구는 아주 많습니다.
00:11:33심지어 GitHub 자체에도 팀 워크플로우를 돕는 내장 코드 리뷰 기능이 있죠.
00:11:38아키텍처 문제를 파악하고 싶을 때는 에이전트에게 머메이드(Mermaid) 다이어그램을 그려달라고 하세요.
00:11:43다이어그램을 통해 시각적으로 분석하면 핵심적인 문제점을 쉽게 찾아낼 수 있습니다.
00:11:47시각 자료는 이해하기 쉬울 뿐만 아니라 프로젝트 아키텍처를 위한 훌륭한 문서가 됩니다.
00:11:54에이전트를 병렬로 실행하는 것도 매우 중요합니다. 모델 성능을 높일 뿐 아니라 한 명이 끝날 때까지 기다리는 시간을 획기적으로 줄여주기 때문입니다.
00:12:05이런 접근 방식은 결과물의 수준을 상당히 높여줄 수 있습니다.
00:12:07저는 여러 에이전트에게 각기 다른 작업을 맡겨 동시에 돌리고, 모델별 강점에 따라 여러 모델을 섞어서 사용합니다.
00:12:16에이전트들은 독립적으로 작동하며 입력이 필요할 때만 알림을 주기 때문에 동시 작업이 가능합니다.
00:12:22안티 그래비티 에이전트들은 워크스페이스를 공유하므로, 격리를 위해 각기 다른 브랜치에서 작업하게 합니다.
00:12:28작업을 마치고 정의된 체크 리스트를 통과하면 그때 메인 브랜치로 병합합니다.
00:12:34가끔 도저히 해결 방법을 알 수 없는 버그와 마주치기도 합니다.
00:12:38이럴 때는 '디버그 모드'가 최선의 해결책입니다.
00:12:40단순 추측 대신 무엇이 잘못되었는지 분석하고 로깅 문을 생성하여, 체계적으로 버그를 줄여나가는 방식입니다.
00:12:50안티 그래비티에는 네이티브 디버그 모드가 없지만, '디버그 모드 기술'을 직접 구현해 쓸 수 있습니다.
00:12:56이 기술에는 코드의 예기치 않은 동작을 디버깅하기 위한 모든 지침이 들어 있습니다.
00:13:00증거 기반 접근 방식을 따르며, 가설을 세우고 문제 해결을 위한 다단계 계획을 상세히 제시합니다.
00:13:08특정 스크립트와 참조 자료를 통해 효율을 극대화하므로 디버깅 과정이 훨씬 신뢰할 만해집니다.
00:13:14버그가 생기면 디버그 모드를 켜고 가이드에 따라 에이전트가 원인을 찾게 하세요. 오류 수정 과정이 한결 수월해질 것입니다.
00:13:25오늘 준비한 영상은 여기까지입니다.
00:13:27채널을 후원하고 싶으시다면 아래 'Super Thanks' 버튼을 이용해 주세요.
00:13:33시청해 주셔서 감사하며, 다음 영상에서 뵙겠습니다.