Cursor가 Claude와 함께 AI 코딩의 미래를 만드는 방법

채널 아이콘
Anthropic 구독자 70,600명

요약

이 영상에서는 Anthropic의 Alex와 Cursor 팀이 모여 Claude 모델을 활용해 Cursor가 어떻게 개발자 워크플로를 혁신하는지 이야기합니다. 초기 탭 완성과 단일 파일 편집에서부터 Sonnet 3.5를 통한 멀티 파일 편집, 에이전트 기능, 백그라운드 에이전트까지 주요 기능의 발전 과정을 다룹니다. Cursor 팀이 제품을 자체적으로 개선하는 재귀적 피드백 루프, 검증(verification)과 코드 맛(taste)의 중요성, AI 코드의 민주화 및 미래 개발자 역할 변화도 폭넓게 논의합니다.

주요 키워드

AI coding multi-file edits agentic systems background agent verification tab completion retrieval models taste in code software democratization recursive feedback loop

하이라이트

  • 🔑 Sonnet 3.5 도입으로 탭 완성을 넘어 멀티 파일 편집이 가능해지며 Cursor 채택이 폭발적으로 늘어났다.
  • ⚡️ 에이전트(agent) 기능과 백그라운드 에이전트를 통해 비동기 작업을 병렬로 처리해 개발 생산성을 크게 끌어올린다.
  • 🚀 Cursor팀은 스스로를 최고의 고객으로 삼아 AI 도구를 직접 사용하고 피드백을 반영하는 재귀적 개선 루프를 운영한다.
  • 📌 다음 과제는 검증(verification): 테스트 자동화와 검토 속도 개선으로 소프트웨어 엔지니어링 효율을 극대화해야 한다.
  • 🌟 코드 맛(taste) 강조: 반복 없는 설계, 일관된 스타일, 기존 코드베이스와의 조화 등 클린 코드 원칙이 AI 시대에도 핵심이다.
  • 📌 개발 상황에 따라 Tab 완성, Command K 편집, 에이전트, 백그라운드 에이전트까지 기능 스펙트럼을 자유롭게 활용한다.
  • 🔥 가까운 미래에는 작성되는 코드의 90% 이상이 AI로 생성될 전망이지만, 개발자는 여전히 요구사항 정의와 품질 보증 역할을 수행한다.
  • 🚀 비개발자도 자신만의 대시보드나 툴을 AI로 즉시 생성하면서 소프트웨어 민주화가 가속화된다.

용어 설명

Claude

Anthropic이 개발한 대형 언어 모델로, 프로그래밍과 에이전트 기반 작업에 최적화되어 있다.

Tab completion(탭 완성)

코드 입력 중 다음 코드를 예측·제안해 개발 속도를 높이는 기능이다.

Retrieval models(검색 모델)

대규모 코드베이스에서 관련 문맥을 찾아 AI에게 제공해 멀티 파일 편집을 지원한다.

Agentic systems(에이전트 시스템)

AI가 개발 환경 내에서 스스로 의사결정을 하고 작업을 수행하는 기능이다.

Background agent(백그라운드 에이전트)

비동기식으로 실행되며 PR을 생성하거나 수정안을 제안해 주는 AI 에이전트다.

Verification(검증)

AI가 생성한 코드가 요구사항을 충족하는지 테스트와 검토 과정을 통해 확인하는 단계다.

[00:00:00] 도입 및 화자 소개

Anthropic의 Alex와 Cursor 창업자 Aman, Lukas, Jacob가 모여 AI 코딩 도구에 대해 대화를 시작한다. 각자 맡은 역할과 Cursor에서 담당하는 ML·에이전트 업무를 간단히 소개한다.

Cursor팀이 소프트웨어 개발에서 AI 활용의 미래에 대해 논의하며, Anthropic의 Alex가 Cursor의 급성장과 변화에 대해 질문을 시작합니다.
[00:00:38] Cursor의 성장과 주요 성과

런칭 1년 만에 3억 달러 매출을 돌파하고 수백만 개발자가 Cursor를 사용하게 된 배경을 살펴본다. 이 기간 동안 제품이 어떻게 진화했는지를 논의한다.

Cursor의 창립자들이 지난 1년간의 주요 변화를 설명합니다. 언어 모델의 잠재력과 3.5 Sonnet의 등장으로 인한 프로그래밍 능력의 단계적 도약에 대해 언급합니다.
[00:00:57] 모델 향상과 초기 기능

탭 완성과 단일 파일 편집 중심이던 Cursor가 Sonnet 3.5 도입 후 검색 모델과 결합해 멀티 파일 편집 기능까지 확장한 과정을 설명한다. 그 결과 사용자 경험이 크게 개선되었다.

초기 Cursor는 탭 완성과 단일 파일 편집에 유용했지만, 3.5 Sonnet과 커스텀 검색 모델의 결합으로 다중 파일 편집이 가능해지면서 대중 채택의 전환점이 되었다고 설명합니다.
Alex가 이러한 발전이 자연스러운 진행이었는지, 아니면 3.5 Sonnet 출시 시 갑작스러운 깨달음이었는지 질문하고, Cursor팀은 점진적이었다고 답하며 모델 테스트의 어려움에 대해 토로합니다.
[00:02:12] 자체 피드백 루프

Cursor팀이 Cursor를 써서 Cursor를 개발하는 재귀적 피드백 루프를 운영하며 문제를 직접 발견·해결하는 방식을 소개한다. 기능별 사용 사례와 임팩트를 공유한다.

AI 모델들의 점진적 발전으로 코딩 능력이 향상되고, 특히 Sonnet 모델에서 멀티파일 상호작용과 도구 사용 기능이 크게 개선되어 실제 에이전트처럼 작동할 수 있게 되었다는 설명
새로운 모델의 기능이 더 많은 실험과 탐구를 가능하게 하고, 이것이 다시 제품 개발로 피드백되어 새로운 기능 구축의 선순환 구조를 만든다는 대화
Cursor 팀이 자신들의 도구를 사용해서 Cursor 자체를 개발하는 자기 개선 피드백 루프에 대한 질문과 일상적인 개발 과정에 대한 궁금증 표현
[00:03:23] 기능 스펙트럼

가장 가벼운 Tab 완성부터 Command K 단위 편집, 에이전트, 백그라운드 에이전트까지 상황에 맞춘 네 단계 워크플로우 스펙트럼을 제시한다. 각 기능의 장단점을 논의한다.

개발 과정에서 개별 사용 사례와 작업 단계에 따라 다른 접근법을 사용한다는 설명. 초기 코드베이스 구성시 Agent 기능, 정확한 편집시 탭 기능, 새로운 코드베이스 탐구시 QA와 검색 기능을 활용
Claude 3.7과 3.5 모델이 코드베이스 연구와 컴포넌트 간 상호작용 파악에 뛰어난 성능을 보인다는 언급
이런 기능들을 통해 코드베이스 탐구가 쉬워지고, 사용 과정에서 부족한 영역을 발견하여 개선 작업으로 이어지는 순환 구조에 대한 확인
Cursor가 자신들의 문제 해결을 통해 주도되며, 어려움을 겪는 부분을 파악하여 제품을 개선하고, 누구나 새로운 기능을 실험해볼 수 있는 철학을 가지고 있다는 설명
메타적 차원에서의 장점에 대한 질문으로 대화가 전환되는 시점
팀이 자신들의 제품을 직접 사용하는 고객이 되는 것의 장점에 대해 논의하며, 이를 통해 빠른 기능 개발과 효과적인 반복 작업이 가능하다고 설명합니다.
AI를 프로그래밍에 활용하는 방식이 개발자마다 다르며, 코드베이스에 대한 친숙함에 따라 다른 도구를 사용한다고 설명합니다. 익숙한 영역에서는 Tab 기능이, 덜 익숙한 영역에서는 모델에 더 많이 의존한다고 합니다.
Cursor의 기능들이 스펙트럼을 이루고 있다고 설명하며, Tab(완전 제어), Command K(단일 영역 편집), Agent(다중 파일 편집), 백그라운드 에이전트(전체 PR 처리) 순으로 나열합니다.
백그라운드 에이전트의 개념을 소개하며, 모델들이 엔드투엔드 작업에서 향상되고 있지만 아직 100% 완벽하지 않기 때문에, 90% 완성된 작업에서 개발자가 제어권을 가져가 나머지를 처리할 수 있는 방식을 제안합니다.
[00:06:47] 백그라운드 에이전트 개념

백그라운드 에이전트는 가상 개발 환경에서 비동기로 PR을 생성하고 AI가 수정안을 반복 실험하도록 지원한다. 개발자가 성공 사례에만 집중하도록 UX를 설계한 방식도 설명한다.

Cursor의 백그라운드와 포그라운드 기능 사이의 빠른 전환의 중요성을 설명하며, 현재 초기 단계지만 3-4개의 변경사항을 동시에 처리할 수 있는 흥미로운 방식들이 있을 것이라고 언급합니다.
백그라운드 에이전트를 새로운 기본 요소로 보고 있으며, 현재는 프롬프트를 백그라운드로 보내 독립적으로 작업을 반복하는 직관적인 방식이지만, 더 많은 통합과 제품적 가치를 만들 수 있다고 설명합니다.
백그라운드 에이전트의 기술적 구현에 대해 설명하며, 작은 독립적인 환경에서 모든 개발 유틸리티와 VS Code 확장 프로그램이 설치되어 있어 에이전트가 이를 활용할 수 있다고 답변합니다.
비동기 작업과 백그라운드 작업의 발전 트렌드에 대해 질문하며, 수천 개의 에이전트가 팀을 이루어 백그라운드에서 문제를 해결하는 미래의 모습에 대해 묻습니다.
[00:08:45] 비동기 에이전트와 검증의 미래

수천 개의 에이전트가 병렬로 작업할 때 다음 병목은 코드 검증이라고 지목한다. 테스트 자동화와 검토 효율화로 전체 엔지니어링 속도를 높여야 한다고 강조한다.

소프트웨어 검증과 코드 검증이 다음 병목 지점이 될 것이라고 예측하며, 개발자의 시간 배분을 예시로 들어 코드 작성만 해결해도 소프트웨어 엔지니어링을 3배 이상 빠르게 만들지 못한다고 설명합니다.
코드 리뷰를 더 쉽게 만드는 방법과 에이전트의 변경사항이 단순히 정확한 것이 아니라 개발자의 의도와 일치하는지 확신할 수 있는 방법의 중요성을 강조하며, 명세 부족으로 인한 문제점을 지적합니다.
마이클 CEO가 제안한 의사코드 형태의 코드베이스 표현 방식에 대해 논의합니다. 변경사항을 간결하게 표현하면서도 실제 소프트웨어 변경사항으로 깔끔하게 매핑되는 보장이 있다면 검증 시간을 대폭 단축할 수 있다고 설명합니다.
[00:09:42] 대규모 코드베이스의 검증 과제

거대한 코드베이스에서 의존성 설정, DSL 대응, 조직 내부 노하우 반영 등 검증 환경 구성의 어려움을 짚는다. 향상된 검색·문맥 통합으로 이해도를 높이는 전략도 논의한다.

바이브 코딩이 잘 통하는 이유는 검증 과정이 간단하기 때문이라고 분석합니다. 변경사항을 적용한 후 실제로 소프트웨어를 사용해보면서 확인할 수 있지만, 실제 프로덕션 코드베이스에서는 이런 방식이 어렵다고 지적합니다.
독립적인 프로젝트와 수백만 줄의 프로덕션 코드베이스 간의 차이점과 현재 모델들의 대응 수준에 대한 질문이 제기됩니다.
백그라운드 에이전트 개발을 통해 고민한 문제들을 설명합니다. 간단한 저장소에서는 쉽지만, 대규모 엔터프라이즈 코드베이스에서는 의존성 설정이 복잡해서 모델이 테스트를 실행하기 어렵다고 합니다.
개발자가 에이전트를 위한 환경을 쉽게 구성할 수 있도록 하는 방법을 연구하고 있다고 설명합니다. 스냅샷 기능과 빠른 업데이트가 가능한 반복 가능한 환경을 만들어 백그라운드에서 VM을 실행하고 모델이 실험할 수 있게 하는 시스템을 구상하고 있습니다.
[00:12:07] 코드 맛(taste)과 클린 코드

반복 금지, 일관성 있는 스타일, 조직 가이드라인 준수 등 깨끗한 설계 원칙이 AI 코딩 시대에도 필수라고 강조한다. AI가 더 많은 코드를 쓰기에 맛과 구조가 중요해진다.

테스트 통과를 통한 정확성 보장 방법에 대해 언급하며, 대규모 코드베이스에서의 추가적인 근본적 문제들이 있다고 시사합니다.
대규모 코드베이스에서는 거의 독립적인 언어처럼 보이는 DSL들을 다루게 되며, 이는 수백만 개의 파일에 걸쳐 수억 개의 토큰으로 구성되어 있습니다.
이 문제를 해결하기 위해 검색 모델 훈련과 다양한 컨텍스트 소스 통합을 포함한 여러 작업을 수행했습니다. 최근 변경사항과 팀원들의 수정 내용을 힌트로 활용하는 것도 포함됩니다.
그러나 단순히 좋은 검색 기능을 제공하는 것만으로는 모델이 코드베이스를 진정으로 이해하기에 불충분합니다. 메모리와 긴 컨텍스트의 조합을 통해 해결하고자 하는 근본적인 문제입니다.
메모리는 모델이 사용 패턴으로부터 학습하도록 하는 흥미로운 접근법이지만, 대규모 코드베이스에서 뛰어난 성능을 내기 위해서는 여전히 원시적인 수준입니다.
대규모 코드베이스에서는 단순히 테스트를 통과시키는 것이 아니라 올바른 방식으로 수행하는 것이 중요합니다. 기존 코드와 일치하도록 만들고 올바른 구조와 가이드라인을 따라야 합니다.
예를 들어, 코드베이스에 여러 디바운스 함수가 있을 때 어떤 것을 사용해야 할지 아는 것은 종종 Slack 메시지 같은 조직적 지식에 의존합니다. 이는 극도로 큰 코드베이스에서 문제 해결을 매우 어렵게 만듭니다.
코드베이스 외부에 존재하는 조직적 지식도 대규모 코드베이스 작업에서 중요한 요인입니다. 현재로서는 주요 병목점은 아니지만, 모델이 코드베이스를 완벽하게 이해하게 된다면 더 중요해질 것입니다.
모델이 완벽해진다면 5배에서 10배 정도의 개선을 얻을 수 있지만, 그 이상은 어렵다. 왜냐하면 PR이나 코드 상태에서 명시적으로 드러나지 않는 정보들과 비즈니스나 영업 같은 외부 요소들이 병목 지점이 되기 때문이다.
미래의 Cursor는 더 많은 시스템과 연결되어야 하지만, 그것이 중요해지기까지는 아직 시간이 필요하다. 현재는 사용자 상호작용과 코드베이스 세부사항, 커밋 내역을 활용해 개선할 여지가 더 많다.
웹페이지가 LLM을 위해 최적화되는 것처럼, 코드도 모델을 위해 변화할 가능성에 대해 논의한다. API 디자인이 이미 LLM이 더 편하게 사용할 수 있도록 조정되고 있으며, 코드 구조도 복잡한 상호작용 대신 간단한 단계로 구성하는 방향으로 변화하고 있다.
[00:16:05] 미래 개발자의 역할 변화

2027년까지 AI가 90% 이상의 코드를 생성할 것이라는 전망을 공유한다. 개발자는 요구사항 정의, 품질 보증, UX·도메인 지식 등 고부가가치 업무에 집중하게 된다.

깨끗한 소프트웨어의 원칙은 사람이나 모델이 읽는 것과 관계없이 동일하다. 반복을 피하고 필요 이상으로 복잡하지 않게 만드는 것이 중요하며, 코드에 대한 취향과 깔끔한 솔루션에 대한 감각은 모델이 발전할수록 더욱 중요해질 것이다.
취향에 대한 논의로, 어떤 사람들은 다른 사람들보다 더 많은 취향을 가지고 태어나는 것 같다는 관찰을 제시한다.
AI 시대에 프로그래머의 취향과 경험은 여전히 중요하며, 이는 실패와 성공을 통해 개발되는 것입니다.
AI가 더 많은 코드를 작성하게 되면서 프로그래머가 게을러지거나 주니어 개발자들이 학습 기회를 잃을 것이란 우려가 제기되고 있습니다.
AI 도구들은 교육적으로 매우 유용하며, Command L로 Claude에게 질문해서 개념을 설명받을 수 있어 프로그래머 성장에 도움이 됩니다.
품질은 빠른 반복을 통해 실수하고 실패 원인을 파악하는 과정에서 나오며, AI 모델이 이 반복 과정을 가속화해 더 빠른 학습을 가능하게 합니다.
미래에는 세부사항을 모르지만 효과적으로 작업할 수 있는 엔지니어들이 등장할 것이며, 이들은 UX 취향과 고수준 상호작용 설계에 집중하게 될 것입니다.
[00:19:43] 소프트웨어 민주화와 커리어 조언

비개발자도 AI를 이용해 맞춤형 툴·대시보드를 즉시 생성하는 시대가 온다. 스타트업에서는 높은 인재 밀집도와 빠른 피드백 루프로 혁신을 주도할 수 있다는 커리어 제안을 전한다.

프로그래밍의 본질적 개념에 대해 설명하며, 시스템이 작동하는 방식을 설명하는 것 자체도 프로그래밍의 한 형태라고 언급합니다.
Claude 4 모델들(Opus 4, Sonnet 4)의 출시에 대해 논의하며, 새로운 모델들을 Cursor에 통합하는 방법에 대한 생각을 묻습니다.
새로운 모델들, 특히 Sonnet 4에 대한 긍정적인 평가를 제시합니다. 3.5 모델의 장점과 단점을 인정하며, 특히 과도한 적극성과 테스트 수정 문제를 지적합니다.
Sonnet 4가 이전 모델의 문제점들을 효과적으로 해결했으며, 지능도 크게 향상되었다고 평가합니다. 비용 대비 성능이 뛰어나며, Opus 4에 대한 기대감을 표현합니다.
Anthropic 측에서 테스트 작성과 과도한 적극성 문제를 해결하기 위해 집중적으로 노력했다고 설명합니다. 강화학습에서의 보상 해킹 개념을 언급하며, 이를 80%까지 줄였다고 밝힙니다.
3.5 Sonnet의 개발 배경에 대해 질문합니다. Anthropic에서 코딩 모델의 중요성을 인식하고 집중적으로 개발했다고 설명하며, 단순한 코딩이 아닌 장기적 관점의 복합적 코딩 작업을 수행할 수 있는 첫 번째 모델이었다고 평가합니다.
Claude 모델의 발전이 성공적이었고, 이것이 향후 모델 개발의 기반이 되었다고 평가함. 코드 분야에서의 뛰어난 성능이 다른 영역으로의 전이 효과를 가져오며, 에이전트 방식의 추론과 작업 수행 능력 향상으로 이어진다고 설명함.
Anthropic의 모델 개발 철학을 설명하며, 안전성을 고려하면서도 모델의 한계를 지속적으로 확장하는 것이 목표라고 강조함. 컴퓨터 사용 기능 같은 새로운 방향으로 발전하여 인간 인터페이스를 직접 조작할 수 있는 능력을 개발하고 있음.
Claude의 성격 개발에 많은 노력을 기울이고 있으며, 단순한 코딩 도구가 아닌 사용자의 신뢰할 수 있는 동반자 역할을 할 수 있도록 설계하고 있다고 설명함. Amanda Askell이 이끄는 연구팀이 Claude의 캐릭터 개발을 담당하고 있음.
AI 모델이 소프트웨어 엔지니어링과 연구 분야에서 인간을 완전히 대체하기보다는, 기존 작업을 보강하고 확장하는 역할을 할 것이라는 개인적 견해를 표명함. 모델이 코드 작성 같은 기계적인 작업을 담당하면서 더 많은 가능성을 열어준다고 봄.
화자는 컴퓨터공학 전공자로서 현재 AI 모델이 자신보다 더 나은 코드를 생성한다고 인정하면서도, AI 덕분에 오히려 더 많은 일을 할 수 있게 되었다고 설명합니다. 프로토타입과 데모를 빠르게 만들 수 있어 역량이 강화되었다고 느낀다고 말합니다.
2027년 1월 1일 예측에 대한 질문에서, 화자는 1995년 변호사에게 워드프로세서 사용률을 묻는 것과 같다며 AI가 거의 모든 코드 작성에 관여할 것이라고 답합니다. 하지만 개발자의 역할은 코드 이해와 소프트웨어 가이드에서 더욱 중요해질 것이라고 강조합니다.
Cursor에서 이미 90% 이상이 AI 생성이며, Agent나 Command K 같은 고수준 기능뿐만 아니라 Tab 기능도 타이핑의 70%를 담당한다고 설명합니다. 소프트웨어 개발의 모든 측면이 AI를 활용하도록 변화할 것이라고 예측합니다.
소프트웨어 온디맨드 가능성에 대한 질문에 대해, 이전에는 소프트웨어를 만들지 않았던 조직의 다양한 기능 담당자들, 특히 영업팀 같은 사람들이 자신만의 도구를 만들게 될 것이라고 전망합니다.
AI 도구를 통해 비개발자들도 자신만의 대시보드와 소프트웨어를 구축할 수 있게 되었지만, 여전히 무엇을 만들지에 대한 취향과 판단이 중요하다는 점을 강조합니다.
커뮤니케이션 팀 직원이 Claude를 활용해 직접 Claude.ai의 버그를 수정하는 놀라운 사례를 소개하며, 좋은 직관과 취향을 가진 사람이라면 누구든 많은 것을 할 수 있는 시대가 되었다고 설명합니다.
미래의 소프트웨어는 사용자의 상호작용을 기반으로 실시간으로 변화하는 개인 맞춤형 형태로 발전할 가능성을 제시하며, 자신만의 소프트웨어를 구축하려는 사람보다는 개인 맞춤형 소프트웨어의 혜택을 받을 사람이 더 많을 것이라고 전망합니다.
소프트웨어를 만드는 모든 면에서
AI를 어떤 식으로든
활용하게 될 것 같아요.
오늘 여러분을 모시게 되어 정말 기뻐요.
이 대화를 오랫동안 기대해왔습니다.
아시다시피 저는 Alex이고,
Anthropic에서 Claude Relations을 이끌고 있습니다.
저는 Lukas이고, Cursor에서 에이전트 시스템을 담당하고 있어요.
저는 Aman입니다.
창립자 중 한 명이고 Cursor에서
ML과 검색을 담당하고 있어요.
제 이름은 Jacob Jackson이고,
Cursor에서 ML을 담당하고 있습니다.
이 대화가 정말 기대되고
Cursor에 대해,
여러분이 구축하고 있는 것과
Claude를 어떻게 활용하고 있는지
이야기해보고 싶어요.
Cursor에게는 정말 큰 한 해였어요.
AI 업계를 따라가고 있는
누구에게나 명백한 일이죠.
여러분은 이제 연 매출 3억 달러 이상으로
단 1년 만에 성장했어요.
정말 놀라운 수백만 명의 개발자들이
이제 Cursor를 사용하고 있어요.
여러분 생각에 무엇이 바뀌었고
오늘의 Cursor 버전이
1년 전과 어떻게 다른가요?
몇 가지 큰 변화가 있었다고 생각해요.
현재 언어 모델의 수준을 고려했을 때
항상 엄청난 잠재력이 있었거든요.
그것들로 얼마나 많은 일을 할 수 있는지에 대한
그리고 Cursor는 아마도
적어도 코딩 분야에서 최초로
그 격차를 조금이나마 줄일 수 있었던
회사 중 하나였어요.
그리고 동시에
이 모델들이 코딩에서 훨씬
훨씬 더 나아지는 것도 봤어요.
3.5 Sonnet이
이런 명확한 첫 번째 사례였다고 생각해요.
프로그래밍에서 이런 단계적 도약을 보여준
그래서 그 전까지는
Cursor는 탭 완성 같은 것들에
정말 유용했어요. 다음 편집을 예측하는 거죠.
그것만으로도
꽤 빠르게 성장하고 있었고
단일 파일 내에서의 편집도 가능했어요.
하지만 우리가 발견한 것은
3.5 Sonnet 같은 모델의 지능을
검색용으로 사용하는 몇 가지 다른
커스텀 모델들과 결합하고
이 큰 모델이 만든 편집을 적용하면
이제 다중 파일 편집을
할 수 있는 능력이 생긴다는 거였어요.
그것이 Cursor의 대중 채택으로 이어진
단계적 도약이었다고 생각하고
그 이후로는 모델들이 더 나아지고
우리가 내부적으로
이 모델들을 얼마나 더 밀어붙일 수 있는지에 대해
점점 더 나아지려고 노력하는 조합이었어요.
그것이 자연스러운 진행이었나요?
저절로 나타난 것인지,
아니면 3.5 Sonnet이
처음 나왔을 때
와, 이제 갑자기
이전에는 불가능했던 모든 다른 일들을
할 수 있게 되었다고 느꼈나요?
그게 어떤 느낌이었나요?
다소 점진적이었다고 느꼈어요.
모델 품질에는 이런 단계들이 있지만
이전의 최고 수준 모델에서도
그런 힌트들을 볼 수 있었어요.
사실 우리는 이런 모델들을
맛보기 테스트하는 데
악명 높게 서툴렀어요.
우리가 사용하는 방식이
실제 세상에 내놓고
다른 사람들이 어떻게 사용하는지 보는 것과
매우 다르기 때문이죠. 하지만 힌트들은 있었어요.
시간이 지나면서 새로운 모델들이 나올 때마다
점점 더 나아졌습니다
추론 능력이 더 좋아지고
더 에이전트적인 코딩을 할 수 있게 되었죠
그리고 많은 실험과 시도를 하면서
여러 가지를 시도해보고, 무엇이 효과적인지
무엇이 실패하는지 확인합니다
Sonnet이 아마 처음으로
멀티파일 상호작용을
정말 잘 작동하게 만들 수 있었던 모델이었습니다
그리고 그 이후로
도구 사용과 같은 여러 단계적 발전이 있었죠
그러면 실제로
이런 모델들이
에디터 안에서 진짜 에이전트처럼 작동할 수 있게 됩니다
흠, 알겠습니다
그러면 새로운 모델들의 발전과
시간이 지나면서 새로운 기능들이
더 많은 실험과 탐구를 가능하게 하고
그것이 다시 어느 정도
제품으로 피드백되어 새로운 기능을 구축할 수 있게 하는군요
맞습니다
흥미롭네요
그리고 이것이 제가 다음에 하고 싶은
질문으로 이어지는데, 저는 여러 이야기를 들었습니다
여러분 팀이 Cursor로 Cursor를 개발하고 있다는
마치 자기 개선하는
재귀적 피드백 루프 안에서 말이죠
우선, 이것이 어떻게
보이는지
일상적으로 어떤 모습인지
Cursor에서 여러분들이
작업하면서
새로운 기능을 개발할 때는 어떤 모습인지 설명해주실 수 있나요?
네, 이것은 개별 직원들의
사용 사례에 따라
많이 달라진다고 생각합니다
그리고 또한 제품의 어떤 부분을
작업하고 있는지에 따라서도
그리고 그 부분이 어떤 단계에 있는지에 따라 많이 달라집니다
처음에 코드베이스나
새로운 기능을 구성할 때는
Agent 기능을 사용해서
시작하는 것이 매우 유용하고
그다음에 씽킹 모델들을 사용해서
개별적인 문제들을
직면할 수 있는 상황들을 살펴보죠
그리고 매우 정확한 편집을 할 때는
그것은
많은 탭 기능도 사용하고
처음에 잘 모르는 코드베이스를
시작할 때는
QA 기능들을 많이 사용하고
검색을 많이 사용합니다. 그리고 이것도
Claude 3.7과
3.5가 정말 뛰어난 부분인데
코드베이스에서 연구하고
특정한 것들이
서로 어떻게 상호작용하는지 파악하는 것입니다
아, 이런 기능들을 사용해서
코드베이스를 탐구하면 과정이 더 쉬워지고
그러면 이런 기능들을 사용하면서
배우게 되는 것이 이 영역에 부족함이 있다
우리가 그 부분을 작업해야겠다는 것이군요
네, 더 쉬워집니다. 저는 Cursor가
우리 자신의 문제를 해결하는 것에
의해 주도되고
우리가 문제 해결에서
어려움을 겪는 부분을
파악하고 Cursor를 더 좋게 만드는 것
그리고 거기서 우리가
무엇을 할 수 있는지 파악하고
많은 실험을 하는 것이라고 생각합니다
우리는 누구나
시도해볼 수 있다는 철학을 가지고 있습니다
제품에 새로운 기능을 추가해보고
내부적으로 어떻게 사용되는지 확인하고
어떤 종류의 피드백을 받는지 확인합니다
좀 더 메타적인 차원에서
장점이 있다고 생각하시나요?
내부적으로 자신들이 최고의 고객이 되는 것에 장점이 있다고 생각하시나요?
100% 그렇다고 생각합니다.
그래서 우리가 새로운 기능을 구축할 때
정말 빠르게 움직일 수 있고
명백히 작동하지 않는 것들을 바로 버릴 수 있어요
왜냐하면 우리 자신에게 정말 솔직할 수 있거든요
그것이 유용한지에 대해서 말이죠
그리고 사용자들에게 배포하지 않고도, 사람들이 어떻게 사용하는지 추적하지 않고도
기능을 계속 진행할지
결정할 수 있어요
그리고 이것이 기능 구축의 반복 주기를
가속화한다고 생각합니다.
네, 전반적으로 우리가 AI를 프로그래밍에 사용하는 방식으로 돌아가서 보면,
회사 내에서 많은 다양성이 있다고 느껴져요
사람마다 사용하는 방식이 다르거든요.
먼저 하고 있는 작업의 종류에 따라
다르다고 생각해요.
예를 들어, 많은 사람들이
정말 익숙한 코드베이스의 부분에서
작업하고 있을 때가 있잖아요.
그 시점에서 모든 것이 머릿속에 있을 때는
직접 코드를 타이핑해서
의도를 전달하는 것이
종종 더 빠를 때가 있어요
그럴 때 Tab 기능이 정말 유용한데
속도를 높여주거든요.
하지만 덜 익숙한 곳에서
작업하거나
많은 코드를 작성해야 할 때는
그 많은 부분을 모델에게
위임할 수 있고, 종종 추론의 일부도
이 모델들에게 맡길 수 있어요
그리고 루카스가 설명한 것처럼
정말 익숙하지 않은 곳에 가게 되면
새로운 코드베이스에
처음 들어갈 때
이 모델들을 사용함으로써
얻을 수 있는 엄청난 단계적 향상이 있어요
그리고 시간이 지나면서
모델이 더 좋아지고
Cursor가
이 모델들을 더 잘 사용하게 되면서
더 많은 지식을 가지고 있을 때
더 흐름에 있을 때
코드베이스에 대한
더 많은 지식을 갖게 될 때 더 나은 작업을 할 수 있게 돼요.
그래서 기능이 언제
사용 사례에 가장
적용 가능한지에 대한 변화가 있고
어떤 면에서는 스펙트럼 같은 것이죠.
네, 스펙트럼의 한쪽 끝에는
완전히 통제하고 있을 때를 위한 Tab이 있고
무엇을 하고 있는지 알 때
그 다음에는 Command K가 있어서
단일 영역을 편집할 때,
전체 파일을 편집할 때 사용하고
다른 쪽 끝에는 Agent가 있어서
여러 파일을 편집하는 데
정말 좋고,
그리고 맨 끝에는
우리가 작업 중인
백그라운드 에이전트가 있는데
이것은 기본적으로
전체 PR을 처리하는 데 유용할 수 있어요.
여러분이 방금
백그라운드 에이전트의 프리뷰를 출시했는데요.
백그라운드 에이전트가 무엇인가요?
모델들이
엔드투엔드 작업을 수행하는 데
점점 더 나아지고 있다는 것은 분명하지만
아직 100%는 아니고
100%에 도달하는 데는
시간이 걸릴 것 같아요.
그래서 개발자의 속도를 높이는 방법은
병렬로 작업할 수 있게 하는 것인데,
그냥 백그라운드에서 돌아가게 하는 것과는 달리
GitHub에서 확인하는 PR을 생성할 때
90%만 완성되어 있다면
직접 들어가서 제어권을 가져가고 싶어할 거예요
그리고 나머지를 처리하고 싶어하겠죠
그때 Cursor의 기능들을 사용하고 싶어할 테니까요.
나머지 작업을 완료하고 나서 Cursor의 기능들을 활용해서 작업을 하고 싶어 할 겁니다.
그렇게 하기 위해서 말이죠.
그래서 정말로 빠르게
백그라운드와
포그라운드 사이를 이동할 수 있는 능력이 정말 중요합니다.
그리고 생각해보면,
우리는 이 기능의 초기 단계에 있고
정말 흥미로운 방식들이 많이 있을 것 같습니다.
예를 들어 3개나 4개의 변경 사항을
동시에 작업하고
그것들을 빠르게 백그라운드로 보내고
다시 포그라운드로 가져오는 방식으로 말이죠.
이것이 사람들이 Cursor를 사용하는 방식과
전반적인 소프트웨어 개발 방식을
어떻게 바꿀지 지켜보는 것이 흥미로울 것 같습니다.
저희는 백그라운드 에이전트를
정말 다양한 곳에서 사용할 수 있는
새로운 기본 요소로 보고 있습니다. 현재
노출 방식은 꽤 직관적입니다.
프롬프트를 받아서
백그라운드로 보내면
독립적으로 해당 작업을 반복 개선합니다.
하지만 더 많은 통합 방식이 있을 수 있고
이러한 것들이 어떻게 생성될 수 있는지
그리고 그것으로부터 만들 수 있는
많은 제품적 가치가 있다고 생각합니다.
그러면 이것은 코드베이스를 가져다가
가상 머신에 넣는 건가요?
정확히 어떤 전환이 일어나는 건가요?
정확히 맞습니다.
저희는 충분히 작은 독립적인 환경들을 가지고 있어서
모든 개발 환경 유틸리티들이
이미 설치되어 있고
에이전트가 그것들을 사용할 수 있습니다.
그리고 모든 VS Code 확장 프로그램들도
사용 가능하고
그것을 통해 기타 등등을 할 수 있습니다.
우리가 지금 목격하고 있는 트렌드가
비동기 작업,
코딩부터 연구까지 다양한 분야에서의 백그라운드 작업인데,
당신의 관점에서 보면
이것이 어떻게 발전해서
수천 개의 에이전트들이
잠재적으로 작업을 수행하고
전체적인 에이전트 팀이
모든 백그라운드에서 문제를 해결하는 모습이 될까요?
그런 미래는 어떤 모습일까요?
다음 병목 지점은
소프트웨어 검증,
코드 검증이 될 것 같습니다.
모델들이 정말,
정말 많은 코드를 생성하고 작성하는 데
매우 뛰어나져 가고 있지만, 개발자들이
대략적인 수치를 말해보자면,
시간의 30%를 코드 작성에,
30%를 코드 리뷰에,
70%를 코드 작성에 사용한다고 합시다.
코드 작성을 완전히 해결한다고 해도
소프트웨어 엔지니어링을
3배 이상 빠르게 만들지는
못한 것이죠. 그래서
사람들이 코드를 리뷰하는 것을
더 쉽게 만드는 방법과
에이전트가 만드는 변경사항이
단순히 정확한 것이 아니라
- 정확함이라는 것이 모호할 수 있거든요 -
당신이 명시한 것일 수도 있지만,
명세가 충분하지 않아서
실제로는 최고의 인간 프로그래머가
할 수 있는 최선을 다한 것일 수도 있지만
실제로
당신이 마음속으로 생각했던 것과는
다를 수 있습니다.
그래서 그 과정을 훨씬,
훨씬 더 좋게 만드는 것이 정말, 정말 중요할 것 같습니다.
그리고 이것은 저희가
우리도 정말 관심 있는 분야예요.
- 그런 방향으로 어떤 초기 아이디어가 있나요?
- 회사 내 여러 사람들로부터
몇 가지 아이디어가 떠돌고 있어요.
우리 CEO인 마이클이 정말
좋아하는 아이디어 중 하나는
다른 표현 방식으로
코드베이스를 다루는 것이에요.
의사코드처럼 보일 수도 있고
만약 변경사항을
이렇게 간결한 방식으로 표현할 수 있고
그리고 깔끔하게
매핑되는 보장이 있다면
실제 소프트웨어에서 이루어지는
실제 변경사항으로 말이죠.
그렇게 하면 검증 시간을 엄청나게 단축할 수 있을 거예요.
하지만 그것도 하나의 가능한 방법이죠.
음, 소위 말하는
'바이브 코딩'이 잘 통하는 이유는
검증 과정이
정말 쉽기 때문이에요.
그냥
소프트웨어를 가지고 놀아보는 것뿐이잖아요, 맞죠?
변경을 하고 나서 실제로
만든 소프트웨어를 가지고 놀아보는 거죠.
하지만 실제 프로덕션 코드베이스에서는
정말 어려울 것 같고
그 문제를 해결하는 것이 정말 중요해요.
- 바이브 코딩을 할 수 있는
독립적인 것과
수백만 줄의 파일을 가진
프로덕션 코드베이스 간의 차이에 대한
좋은 질문이네요.
두 가지의 차이점을
어떻게 보시는지, 그리고 현재 모델로
이런 환경에서 작업하는 면에서
어느 정도 수준에 와 있는지 궁금해요.
- 백그라운드 에이전트를 통해
많이 고민해본 부분이에요.
정말 간단하고 당연히 쉬워야 할 것은
이런 모델들로 '여기 테스트가 있는데
현재 테스트가 실패하고 있으니
통과하도록 코드를 고쳐달라'고 하는 거죠.
그럼 어떻게 해야 할까요?
모델이 테스트를 실행할 수 있어야 하고
아주 간단한 저장소라면
매우 간단하죠.
하지만
이런 대규모 엔터프라이즈 코드베이스에서는
의존성을 제대로 설정하는 것이
복잡해서
모델이 테스트를 실행하기 어려워요.
하지만 백그라운드 에이전트를 통해
많이 고민해본 부분은
개발자가 이런 환경을 만드는 과정을
어떻게 간단하게 할 수 있을까 하는 것이에요.
에이전트가 테스트를 실행할 수 있는
그리고 반복 가능하게 만들어서 스냅샷을 찍고
빠르게 업데이트할 수 있게 하는 것이죠.
코드 상태가 바뀔 때 말이에요.
이렇게 하면 백그라운드에서 VM을 실행하고
모델이 실험을 할 수 있게 되죠.
그 중 일부는 통과하고
일부는 실패할 거예요.
그러면 결국
개발자는 성공한 경우만
신경쓰면 되고
거기에는 정말 많은 인프라와
사용자 경험이
제대로 구현되어야 해요.
- 음, 그렇군요.
- 네. 그리고 다른
근본적인 문제들도 있어요.
한 가지 방법은 모델이 테스트를
통과하도록 하는 거예요, 맞죠?
그런 식으로 어느 정도
정확성을 보장할 수 있어요.
하지만 이런 대규모 코드베이스에서는
종종 다루게 되는 것들이
거의 독립적인 언어처럼 보이는 것들입니다
일부 언어 내에서 이런 종류의 DSL을 가지고 있고
모든 것이 특정한 방식으로 수행되며
수백만 개의 파일에 걸쳐 정말 넓게 퍼져 있습니다
이는 수억 개의 토큰, 아마도 그 이상일 수도 있습니다
저희는 이를 크게 개선하기 위해
여러 가지 작업을 해왔습니다
검색 모델을 훈련시키고
다른 컨텍스트 소스들도 통합하는 것들을 포함해서요
예를 들어, 최근에 만든 변경사항들에는
많은 풍부한 정보가 있다고 생각할 수 있습니다
코드를 편집할 때 그것은
당신이 무엇을 향해 작업하고 있는지를 나타내죠
팀의 다른 사람들이
당신의 코드베이스에서 만든 변경사항들에도
풍부한 정보가 있을 수 있습니다
특히 최근의 것들을 힌트로 사용하는 것이죠
하지만 여전히 이것은
정말 어려운 근본적인 문제라고 생각합니다
모델에게 정말 좋은 검색에 대한 접근을 제공하는 것만으로는
모델이 코드베이스를 정말로 이해하기에는
불충분하다고 느낍니다
이는 저희가 정말로 해결하고 싶어하는
문제라고 생각합니다
음, 아마도 메모리와 긴 컨텍스트의 조합을 통해서
그리고 다른 것들도요
네, 메모리는 사람들이 사용한
흥미로운 접근법 중 하나입니다
모델이 사용자의 사용 패턴으로부터
학습하도록 하는 것이죠
하지만 이것도 작은 성능 향상에 불과하고
대규모 코드베이스에서 뛰어난 성능을 내기 위해
필요한 수준에 비해서는
상당히 원시적인 수준이라고 느낍니다
네, 그리고 대규모 코드베이스에서는
단순히 테스트를 통과시키는 것뿐만 아니라
올바른 방식으로 수행하는 것이 중요합니다
기존 코드를 살펴보고
새로운 코드와 일치하도록 만들고
올바른 구조로 가져오고
모든 가이드라인을 올바르게 사용하는 것이죠
저희는 Cursor 규칙을 통해
다양한 종류의 컨텍스트를 통합하는 등
이런 일들을 실현하기 위해 정말 열심히 노력해왔습니다
예를 들어, 저는 처음부터
깊은 바운스 함수를 작성해서
사용할 수 있고 그러면 테스트는 통과할 겁니다
하지만 그것은 올바른 방법이 아닙니다
디바운스 함수 중 하나를 사용해야 하는데
코드베이스 전체에서 사용되는
디바운스 함수가 3개나 4개 정도 있을 수 있습니다
어떤 것이 올바른 것인지 어떻게 알 수 있을까요?
아마도 누군가가 아는 유일한 이유는
Slack에서 누군가에게 메시지를 보내서
이렇게 하는 것이라고 들었기 때문일 겁니다
그래서 극도로 큰 코드베이스에서
이런 문제들을 해결하는 것이
정말, 정말 어려워진다고 생각합니다
흥미로운 점이네요
코드베이스 자체 외부에 존재하는
조직적 지식의 요소도 있고
그것이 때때로 이런 결정들에서
주요한 요인으로 작용하는 것 같습니다
특히 대규모 코드베이스에서 작업할 때 말이죠
네, 그것이 오늘날의 병목점이라고 생각하지는 않지만
만약 모델을 완벽하게 만들어서
코드베이스를 아는 것에 대해
해결한다면 말이죠
바로 즉시 5배, 아마 10배 정도의 개선을 얻을 수 있을 것 같아요.
하지만 그것보다 더 나아갈 수는 없어요.
왜냐하면 이제 완전히 병목 지점이 되거든요.
모델이 이런 것들을 얼마나 알고 있는지가 문제인데,
이런 것들은 명시적으로 언급되거나
PR이나 실제 코드 상태에서
보여지지 않는 것들이거든요.
맞아요.
그리고 비즈니스 측면에서,
영업 등에서 오는 외부적인 우려들도 있어요.
이런 것들을 Cursor로 가져와야
제대로 작동시킬 수 있어요.
맞죠.
그러면 미래의 Cursor 버전은
훨씬 더 많은 시스템들과
연결되어야 하겠네요.
네, 맞아요.
명확히 하자면, 그런 것들이
다른 것들에 비해 정말 중요해지려면
아직 갈 길이 멀다고 생각해요.
사용자 상호작용과
코드베이스의 세부사항,
그리고 커밋 내역을 활용해서
Cursor를 훨씬 더 개선할
여지가 아직 많이 남아있어요.
제가 최근에 웹페이지나 콘텐츠에서
흥미롭게 발견한 것 중 하나는,
사람들이 이제 LLM이 읽고 탐색하기 좋도록
페이지를 최적화하는 방법을
생각하기 시작했다는 거예요.
코드에서도 비슷한 일이 일어날 것 같나요?
코드가 변화할 수 있을까요?
주로 인간 리뷰어와 코드베이스에서 작업하는
인간을 위해 작성하던 것에서
모델을 위해 작성하는 방식으로
바뀔 수 있을까요?
이미 그런 일이 일어나고 있다고 생각해요.
API 디자인이 이미 LLM이
더 편하게 사용할 수 있도록 조정되고 있어요.
예를 들어, 내부 버전 번호만
바꾸는 것이 아니라
모델이 새로운 소프트웨어 버전임을
명확히 알 수 있도록 만들어서
API가 올바르게 사용되도록 하는 거죠.
일반적인 코드베이스와
내부 라이브러리에서도
마찬가지라고 생각해요.
n단계의 상호작용을 거치지 않고
단 두 단계의 상호작용만으로
코드를 구조화하는 방식으로 만들면
LLM 모델이 그 코드베이스와
더 잘 작업할 수 있게 되거든요.
맞아요.
하지만 궁극적으로 깨끗한 소프트웨어의 원칙은
사람이 읽든 모델이 읽든
그렇게 다르지 않다고 생각해요.
깨끗한 코드를 작성하려고 할 때는
반복을 피하고,
필요 이상으로 복잡하게 만들지 않으려고 하잖아요.
이것은 모델에게도 사람에게도
똑같이 중요해요.
그리고 코드에 대한 취향과
깔끔한 솔루션이 무엇인지,
필요 이상으로 복잡하지 않은 것이
무엇인지에 대한 감각은
이런 모델들이 더 좋아질수록
더욱 중요해질 것 같아요.
점점 더 많은 코드를
쉽게 작성할 수 있게 될 테니까
더욱더 중요해질 거예요.
취향 있게 구조화하는 것이 말이에요.
취향에 대한 정말 좋은 지적이네요.
취향이라는 건 어떤 사람들은
타고나는 것 같기도 하고요.
다른 사람들보다
더 많은 취향을 가지고 태어나는
사람들이 있는 것 같아요.
하지만 일반적으로 취향이라는 것은 경험을 통해 기르게 되는 것이고
무엇이 효과적인지 배우고 실패를 경험하며
성공도 경험하면서 말이죠.
AI가 점점 더 많은 코드를 작성하게 되는 세상에서
우리의 코드를 말이죠.
실제로 일부에서는 강한 반발이 있었습니다.
프로그래머들이 게을러질 것이라고 하거나
주니어 개발자들이 실제로 무엇이 필요한지
배울 기회를 얻지 못할 것이라는
대규모 코드베이스에서 작업하고 이 모든 것들을 하는 것이 어떤 것인지 말이죠.
이런 자동화 또는
이 경우에는 지원과
동시에 소프트웨어 엔지니어가
거쳐야 하는 핵심적인 엔지니어링 스킬을
보존하는 것 사이의 균형을
어떻게 생각하시는지요? 그런 시행착오들 말이죠.
제 생각에는 이런 도구들이 교육적으로도 매우 훌륭하고
훌륭한 프로그래머가 되는 데 도움이 될 수 있습니다.
뭔가 어떻게 작동하는지에 대한 질문이 있거나
어떤 개념을
설명해달라고 하고 싶을 때
이제 그냥
Command L을 누르고
Claude에게 물어볼 수 있어요. 이게 뭔가요?
어떻게 작동하나요? 설명해줄 수 있나요?
이것이 매우 가치 있다고 생각해요.
실제로 더 많은 코드를 작성하기 쉽게 만들고
더 많은 일을 할 수 있게 하며, 이는 높은 품질과
낮은 품질의 코드가 더 많이 나오는 결과를 낳을 수 있어요.
그것은 사실이지만, 전반적으로는 매우
강력한 도구이며 기준을 높일 것이라고 생각합니다.
품질은 빠른 반복을 통해서
실수를 하고
특정한 것들이 왜 실패하는지 알아내는 것에서 나온다고 생각해요.
그리고 모델들이 이 반복 과정을
크게 가속화하고
실제로 그를 통해 무엇이 효과적이고 무엇이 그렇지 않은지를
더 빠르게 배울 수 있게 해줄 수 있어요.
그래서 장기적으로는
개발을 시작하는 개발자들과
더 크고 더 큰 프로젝트를 작업하고
무엇이 효과적이고
무엇이 그렇지 않은지 알아내는 데
매우 도움이 되는 도구라고 생각합니다.
프로그래밍이 어떻게 발전할지 정말 흥미로울 것 같아요.
여전히 오랫동안 세부사항을 아는
엔지니어들이 필요할 것이라고 생각해요.
깊이 들어갈 수 있는 사람들 말이죠.
이제 프로그래밍을 배우는 사람들 중에서
세부사항은 많이 모르지만
여전히 꽤 효과적일 수 있는 사람들을
얼마나 보게 될지 궁금해요.
오늘날에는 여전히
많은 세부사항을 알아야 한다고 생각해요. 시간이 지나면
저수준 세부사항을 거의 알 필요가 없는
소프트웨어 엔지니어 클래스가
생겨나고 여전히 더 높은 수준에서 작업하며
아마도 좀 더 사고적인 것처럼 보일 것 같아요.
취향이 더 UX 취향에 가까운
그런 것처럼 말이죠.
예를 들어
노션 같은 것을 만들려고 한다면
결국에는
그 전체를
언어 모델에게 맡길 수는 없다고 생각해요.
이런 식으로 설명해야 해요.
내가 이런 타입의
상호작용을 할 때 이것이
이런 특정한 방식으로 나타나기를 기대한다고 말이죠.
아마도 그것을 수행하는
순수한 소프트웨어를 작성하는 세부사항까지는 가지 않아도 되지만
여전히 그런 상호작용들을 설명하고
그 방식을 설명하는 것
이것이 대략적으로 작동하는 방식입니다.
이것도 프로그래밍의 한 형태죠.
- 모델 주제로 화제를 조금 바꿔보면,
우리가 최근에,
이 영상이 나올 때쯤이면,
Claude Opus 4와
Claude Sonnet 4가 세상에 출시될 예정입니다.
새로운 모델들에 대한 여러분의 생각과
그리고 이를 Cursor에
통합하는 방법에 대해 어떻게 생각하고 계신지
- 정말로 새로운 모델들을 만족스럽게 사용하고 있습니다.
새로운 Sonnet을 사용해보고 정말 놀랐어요.
3.5가 정말 훌륭한 모델이라고 생각했거든요.
에이전트 코딩에서 더 뛰어났지만
모든 사람들이 이런 단점들이 있다는 것을 알고 있었죠.
조금 지나치게
적극적인 경향이 있었어요. - 많은 일을 하려고 했죠.
- 네 그랬어요.
가끔 통과한
테스트를
바꾸려고 하기도 했죠. - 네, 맞아요.
- Sonnet 4가 그런 문제들을 효과적으로 해결했다는 것을 발견했습니다.
훨씬 더 나아졌고
그리고 지능도
크게 향상되었습니다.
다른 모델들도 지능 면에서 개선된 것을 보셨을 텐데요.
에이전트 코딩만큼
강력하지는 않을 수 있지만
O3가 그 예시죠.
그리고 우리가 발견한 것은
훨씬 저렴한 모델임에도 불구하고
그것과 대등하게 경쟁한다는 것입니다.
그래서 Opus에 대해
매우 기대하고 있습니다.
백그라운드에서 사용할 수 있는
환상적인 에이전트가 될 것이라고 생각해요.
- 네, 테스트 작성과 과도한 적극성 문제가
해결되었다는 소식을 들어서
정말 좋네요. 이런 것들이
이번 모델들에서 집중적으로 해결하려고 했던 부분이거든요.
강화학습에서 보상 해킹이라는 개념이 있는데
모델들이 어떤 방법을 찾아서
기본적으로 지름길을 택해
최종 보상에 도달하려고 하는 것이죠.
그것을 줄이기 위해 많은 작업을 했고
새로운 모델들에서
약 80%까지 줄였다고 생각합니다.
- 정말 궁금한 것이
3.5 Sonnet이 어떻게 탄생했는지인데요.
Anthropic에서 처음으로
정말 좋은 코딩 모델이라는
강한 인상을 받았거든요.
- 어떻게 탄생했냐고요?
우리가 훈련시켰습니다.
그냥, 좋았어요.
네, 우리는 한동안 알고 있었던 것 같아요.
아마 회사 창립 때부터
모델을 코딩에 정말 뛰어나게 만들고 싶었어요.
그것이 중요해 보였거든요.
다른 모든 일을 위해서도
특히 더 많은 모델을 만들수록 말이죠.
3.5 Sonnet은,
제 생각에는 3-Opus도
정말 좋은 코딩 모델이었어요.
당시로서는 특히 그랬죠.
하지만 3.5 Sonnet은 처음으로
정말로 강력하고 집중적인 노력을 기울여
모델을 코딩에 뛰어나게 만들자고 했던 것이에요.
단순한 코딩이 아니라
장기적인 관점의 코딩으로
앞서 대화에서 언급하신 것처럼
이런 일들을 해야 하는
다른 파일들을 편집하고
여기서 명령을 받아서
도구를 호출하고 나서
다른 곳에서 변경을 하는 것들 말이죠.
이 모든 것들을
하나로 결합할 수 있었던 첫 번째 모델이었습니다.
정말 잘 나온 것 같고
미래 모델들의 기반을
마련해 준 것 같아요.
- 그럼 여러분들은
코드와 다른 영역들에 대해
Sonnet이 뛰어나길 원하는 부분을
어떻게 생각하세요? - 네
- 그리고 Opus도요.
- 코드는 주요 영역 중 하나지만
유일한 영역은 아닙니다.
모델이 코드에서 정말 뛰어나지면
다른 영역으로의 전이 효과가
상당히 좋다고 생각해요.
여러 작업을 추론하고
에이전트 방식으로 작업하는 데
더 나아지거든요. 그리고 이런 효과는
코드가 섞여 있으면서도
다른 곳에서 지식을 검색하거나
연구를 해야 하는
애플리케이션을 다룰 때
정말 유용합니다. 일반적으로 저희는
모델의 한계를 최대한
밀어붙이는 것에 집중하고 있어요.
물론 안전성과 관련된
고려사항들이 있고
모델이 사용자가 원하는 것과
저희가 생각하는 모델의 역할에
부합하도록 하는 것도 중요합니다.
하지만 일반적으로 저희는
이런 모델들이 할 수 있는 것의 한계를
계속 밀어붙이고
전 세계 개발자들에게
모델의 역량을 보여주고 싶어요.
컴퓨터 사용 기능 같은 경우,
10월에 공개했을 때
저희가 정말 앞으로
밀어붙이고 있는
또 다른 방향이었어요.
모델이 주로 인간 인터페이스인
것을 실제로 탐색하는 데
어떻게 뛰어날 수 있는지요.
API나 도구 호출 같은
세계가 아니라
말 그대로 인간처럼
이미지를 보고
그 화면에 행동을 취해야 하는 거죠.
이런 모델들의 성격에 대해서도
저희가 생각하는 중요한 부분이 있어요.
현재 Amanda Askell이
이 분야의 주요 연구자 중 한 명인데
Claude의 성격을 만드는 일에
정말 많은 생각과 고려를
기울이고 있습니다. Claude가
어떤 느낌이어야 하고 어떻게 들려야 하는지,
그리고 AI가 누군가의 삶에서
정말 중요한 역할을 한다는 것이
무엇을 의미하는지요.
단순한 코딩 에이전트가 아니라
어떤 의미에서는
신뢰할 수 있는 동반자 같은
존재이자
많은 시간을 함께 대화할
대상이거든요. 그래서 이런 점들도
저희가 이런 모델들에 대해 내리는
모든 결정과
훈련 방식에 정말 중요한
요소로 작용합니다.
- Anthropic은 전체적으로
소프트웨어 엔지니어링과
연구 측면에서
미래가 어떻게 될지,
이런 모델들이 얼마나
이런 작업들을 보강하고,
대체하고, 많은 부분을 담당할지에 대해
어떻게 생각하나요?
- 네, 개인적인 의견을 말씀드리면
저희가 대체하지는 않을 거라고
생각해요. 앞서 얘기했듯이
이제 모델들이 있어서
저는 대학에서 컴퓨터공학을 전공했고
소프트웨어 엔지니어링을 했는데
이제는 모델들이
저보다 더 나은 코드를
생성한다고 느낍니다.
예를 들어 리트코드
문제 같은 것을
푸는 것을 생각해보면
제한된 환경에서
모델이 코드를 작성해야 할 때
저를 이길 것입니다.
하지만 저는 그 어느 때보다도 더 많은 일을 할 수 있다고 느껴요.
무엇이든 프로토타입을 만들 수 있고
데모를 엄청나게
빠르게 만들어서 새로운 컨셉을 보여줄 수 있어요.
제가 해왔던 일을 빼앗아가거나 무시하는 것이 아니라 오히려 매우 힘을 주는 느낌이에요.
제가 갖고 있는 소프트웨어 엔지니어링 지식 덕분에
실제로 훨씬 더 잘 활용할 수 있고
모델을 사용해서
더 멀리 밀어붙일 수 있어요.
코드가 무엇인지 전혀 모르는 상태와는
완전히 다르죠.
그런 점에서
흥미로운 미래 추측에
대해 더 이야기해보고 싶은데
실질적인 질문을
하나 해보겠습니다. 몇 년 후에
이 대화로 돌아와서 어떻게 되었는지 확인해볼 수 있겠네요.
2027년 1월 1일,
지금으로부터 2년도 안 되는 시점인데
코드의 몇 퍼센트가
AI로 생성될 것이라고 생각하시나요?
그리고 이어서, 현재 자신을
개발자라고 생각하는 사람들의
일상은 어떻게 될까요?
제가 태어나기 전인
1995년의 변호사에게
미래에 법률 문서의
몇 퍼센트가 워드프로세서로
생성될 것인지 묻는 것과 비슷해요.
답은 100%입니다.
아니면 100%에 가깝죠.
AI가 작성되는 거의 모든
코드에 관여할 것이기 때문입니다.
하지만 변호사나 개발자로서
코드가 무엇을 해야 하는지 이해하고
안목을 갖고
소프트웨어로 무엇을 할지
가이드하는 역할은
그 어느 때보다 중요해질 것입니다.
이미 Cursor에서는
90% 이상이지만
그것은 상당 부분이
Agent 같은 고수준 기능을
사용하기 때문입니다.
네, Command K 같은 것들 말이죠.
하지만 직접 타이핑할 때도
Tab이 타이핑하면서
70%를 해줍니다.
직접 들어가서
수동으로 하는 경우에도
Tab이 여전히 대부분의 변경을 해주니까요.
맞아요, 실제로 타이핑하는 글자는 정말 아주
적은 비율이죠.
소프트웨어를 만드는
모든 측면이 어떤 식으로든
AI를 사용하도록 바뀔 것 같아요.
기본적으로 소프트웨어를
주문형으로 만드는
세상이 올 것이라고 생각하세요?
그런 세상은 어떤 모습일까요?
조직의 다양한 기능을 담당하는 사람들이
이전에는 소프트웨어를 만들지 않았던
사람들이 소프트웨어를 만드는 것을
보게 될 것입니다.
예를 들어 영업팀 사람들이 자신만의 도구를 만들지 않았던
이전에는 예를 들어 대시보드를 구축하게 될 것입니다.
자신에게 중요한 것들을 추적하는 대시보드 말이죠.
그리고 취향이 어떻게
그 어느 때보다 중요해지는지로 돌아가서,
이제 대시보드를 구축할 수 있지만,
여전히 결정해야 할 것은
대시보드가 보여줄 지표가 무엇인지입니다.
그것을 결정하는 것에서 벗어나게 해주지는 않습니다.
더 많은 사람들이 자신만의 소프트웨어를 구축하는 것을 보게 될 것 같습니다.
하지만 고유한 것을 갖는 것에 병목이 될 것입니다.
소프트웨어로 하고 싶은
기존 요구사항으로는 제대로 충족되지 않는 것 말이죠.
- 제가 사람들에게 말하고 싶은 한 가지 예는, 우리 팀에 한 사람이 있는데,
우리 커뮤니케이션 팀의 사람인데
실제로 Claude.ai에 버그 픽스를 배포하고 있습니다.
정말 말도 안 되는 일이죠.
그는 완전히 다른 조직 부서에 있고,
제품 개발은 전혀 건드리지 않는데
PR을 가지고 나타나서
스탬프를 요청하면
뭘 하고 있는 거냐고 묻게 되죠.
그러면 그가 Claude 코드나
Claude를 사용하는 코딩 도구를 사용해서
기본 모델로
프로덕션 코드베이스의 버그를 수정하고 있다는 거죠.
정말 놀라운 일이라고 생각합니다.
그리고 이것은 일반적인 관점으로 돌아가서,
취향이 있고, 좋은 직관이 있다면
정말 많은 것을 할 수 있게 될 것입니다.
그것이 세상이 계속 진보해 나가는 방식이라고 봅니다.
상황이 변할 것이고
역할들이 5년, 10년 후에는 매우 다르게 보일 것입니다.
하지만 일반적으로
저는 이런 것들로 더 많은 것을 할 수 있다면
그것은 항상 좋은 일이 될 것이라고 생각합니다.
- 네, 이것이 취할 수 있는 흥미로운 경로들이 많이 있는 것 같습니다.
하나는 완전히
즉석에서 주문형 소프트웨어인데
제가 어떤 앱의 제 버전을 사용하면서
사용하는 동안
이 상호작용이 별로 마음에 들지 않으면
저를 위해 그냥 바뀌는 것이죠.
그것은 상상할 수 있는
하나의 미친 미래입니다.
적극적으로 하는 것이 아니라
단지 상호작용을 기반으로
소프트웨어, 무엇을 사용하든
당신에게 맞게 변화하는 것이죠.
그것은 멋진 잠재적 미래 경로입니다.
세상의 모든 사람이
원할지는 모르겠지만
자신만의 소프트웨어를 구축하고 싶어하는
사람들의 전체 규모가 그렇게 크지는 않을 수도 있습니다.
- 맞습니다.
- 하지만
자신의 필요에 맞는
소프트웨어로부터 혜택을 받을 수 있는
사람들은 잠재적으로 전 세계가 될 수 있습니다.
- 좋습니다. 마지막으로 한 가지만
이것으로 마무리해 보겠습니다.
이것을 보고 있는 모든 분들을 위해,
재능 있는 엔지니어라면
다음 행보에 대해 고민하고 있거나
업계에 더 참여하고 싶어서
큰 회사로 갈지
아니면 Cursor나 Anthropic 같은
더 빠른 속도의 스타트업에
합류할지 결정하려고 한다면,
그런 상황에 있는 사람에게 뭐라고 말씀하시겠습니까?
- 네, 스타트업이 요즘
Anthropic이나 Cursor처럼
정말 뛰어난 인재를 확보하는 데
장점이 있다고 생각합니다.
큰 회사에 있을 때는
많은 사람들, 세계의 최고 인재들 중 많은 사람들이
그것을 덜 흥미롭게 여기죠.
물론 어떤 사람들은 그렇게 생각하고,
확실히 대기업도 훌륭한 사람들이 있지만
그런 인재의 밀도는
훨씬 낮은 경향이 있습니다.
스타트업에서는
정말 높은 인재 밀도를 얻을 수 있고
그것이 다른 뛰어난 동료들과
일하는 것을 정말 즐겁게 만듭니다.
이렇게 작은 팀에서
정말 임팩트 있는 일을 할 수 있습니다.
제품을 구축하고
세상이 소프트웨어를 작성하는 방식을
바꾸는 모델을 구축할 수 있습니다.
그리고 당신은 그 일을 하는
수십, 수백,
또는 수천 명 중 한 명이 될 수 있고
그것은 정말 멋진 일입니다.
- 네.
정말 좋네요.
감사합니다.
정말 멋진 대화였습니다.
- 감사합니다. - 감사합니다.