본문 바로가기
IT와 개발/AI 이야기

Zed AI 소개

by 도서 임보자 2024. 9. 3.

Zed에서 Anthropic과 협업을 통해 개발을 강력히 지원하는 코딩 지원 Zed AI를 소개하였습니다. Claude 3.5 Sonnet을 기반으로 한 AI 지원 코딩 서비스로 텍스트 편집에 최적화 되어 고트 리팩토링과 문서 편집을 거의 실시간으로 수행할 수 있다고 소개 하고 있습니다.

 

간만에 새로운 AI 도구가 출시 되었습니다. 물론 완전 새로운 모델은 아니고 Claude 3.5 Sonnet 기반이지만 개발에 특화된 AI 도구는 Meta의 Llama 이후로 오랜만이긴 합니다.

 

개발자들이 특히나 관심 가질만한 AI 도구이니 씹고 뜯고 맛보고 즐기시기 바랍니다.

 

 

출처: Introducing Zed AI

 

Introducing Zed AI - Zed Blog

Powerful AI-assisted coding powered by Anthropic's Claude, now available.

zed.dev

 

 

Zed에서 우리는 텍스트 조작 기술을 마스터하는 데 전념해 왔습니다. 파서 생성기를 만드는 것부터 프로그래밍 언어를 설계하고 두 가지 프로덕션 등급 텍스트 편집기를 출시하는 것까지, 우리는 항상 단어와 기호의 표현력에 매료되었습니다. 그래서 텍스트 해석과 생성에 혁명을 일으킬 대규모 언어 모델이 등장했을 때, 우리는 그 잠재력을 탐구해야 한다는 것을 알았습니다.


LLM이 우리의 레이더에 들어온 지 2년 동안, 우리는 Zed의 핵심을 구축하는 데 집중했습니다. 개발자에게 필요한 기능을 갖춘 빠르고 안정적인 텍스트 편집기입니다. 그동안 우리는 LLM을 우리 자신의 워크플로에 통합하는 것을 조용히 실험해 왔습니다. 화려한 속임수가 아니라 복잡하고 실제적인 코드베이스에서 작업하는 생산성을 향상시키는 실용적인 도구로서 말입니다.


AI 통합을 개선하면서 예상치 못한 동맹의 주목을 받았습니다. 세계 최고의 AI 기업 중 하나인 Anthropic의 엔지니어들은 Zed를 발견하고 사용자와 언어 모델을 최소한으로 분리한 원시 텍스트 중심 인터페이스의 가치를 빠르게 알아봤습니다. 그들의 열정은 타당했고, 우리의 대화는 빠르게 협업으로 발전한 대화로 이어졌습니다.


이제 Zed AI를 소개할 준비가 되었습니다. Zed AI는 Anthropic의 Claude 3.5 Sonnet으로 구동되고 로그인만 하면 액세스할 수 있는 Zed에서 AI 지원 코딩에 대한 편리하고 성능 좋은 지원을 제공하는 호스팅 서비스입니다. 또한 Anthropic과 협력하여 Zed를 최적화하여 새로운 Prompt Caching beta를 구현하여 비용을 절감하는 동시에 컨텍스트 창에 수천 줄의 코드가 포함되어 있어도 번개처럼 빠른 응답을 이끌어냈습니다.

 

 

Zed AI는 지금 이용 가능하며, 초기 출시 기간 동안은 무료로 제공됩니다. Zed에 로그인하여 AI 기반 어시스턴트 패널과 편집 환경과 직접 통합되는 인라인 코드 변환에 액세스하세요.

 

How Zed AI Works

AI 지원 코딩 실험으로 시작된 것이 선도적인 AI 실무자들의 관심을 사로잡은 것으로 발전했습니다. Anthropic과의 협업은 자연스럽게 성장했으며, Anthropic의 개발자들이 매일 Zed를 사용하고 Anthropic의 Rust 엔지니어 핵심 팀이 오픈소스 코드베이스에 적극적으로 기여하고 있습니다.


최첨단 AI와 빠르고 신중하게 설계된 편집기를 결합하여 AI 개발의 최전선에 있는 사람들, 즉 워크플로에서 강력함과 정밀함을 모두 요구하는 전문가들과 공감하는 도구를 만들고 있습니다.


AI 지원 코딩에 대한 당사의 접근 방식은 Zed의 assistant panel과 inline transformation이라는 두 가지 핵심 기능 간의 상호 작용에 달려 있습니다. 이 조합을 통해 개발자는 코드에 대한 완전한 제어권을 유지하면서도 언어 모델의 힘을 활용할 수 있습니다.

 

The Assistant Panel: Mastering Massive Context

Assistant panel은 Zed에서 AI 모델과 상호 작용하는 곳이지만 일반적인 채팅 인터페이스는 아닙니다. 전체 LLM 요청을 노출하는 본격적인 텍스트 편집기입니다. 코드 조각, 대화 기록, 파일 내용 등이 모두 거기에 있으며, 모두 텍스트일 뿐입니다. 익숙한 코딩 도구를 사용하여 요청의 모든 부분을 관찰, 편집 및 수정할 수 있으므로 모든 상호 작용에 대한 완전한 투명성과 제어가 제공됩니다.

이 텍스트 기반 컨텍스트를 채우기 위해 슬래시 명령 시스템을 도입했습니다.

  • /tab: 열려 있는 탭의 내용을 삽입합니다.
  • /file: 특정 파일이나 파일 트리의 내용을 삽입합니다.
  • /terminal: 터미널 출력을 포함합니다.
  • /diagnostics: 코드베이스 전체에서 진단 정보를 삽입합니다.
  • /fetch: 임의의 HTTP URL에서 응답을 삽입합니다.

 

보조 패널을 사용하여 Zed 확장 프로그램을 만듭니다.

 

/file 명령어를 사용하면 코드베이스에서 관련 컨텍스트를 가져올 수 있으며, AI는 이를 사용하여 개발 작업을 지원할 수 있습니다.


슬래시 명령어나 따옴표 선택 바인딩 (cmd->)을 사용하면 Zed가 콘텐츠를 접힌 텍스트로 삽입합니다. 여기에는 각 파일의 전체 텍스트를 포함하는 재귀적 폴드로 삽입되는 전체 디렉터리 트리가 포함됩니다.


삽입된 컨텍스트에 대한 Zed의 폴딩 메커니즘은 대규모 코드베이스나 API 문서로 작업할 때 세부 사항과 전반적인 그림의 균형을 맞춥니다. 모든 컨텍스트 토큰을 계속 표시하고 편집할 수 있으므로 AI 프롬프트를 정확하게 제어할 수 있습니다. 폴드를 확장하여 세부 사항을 조사하거나 축소하여 전체 구조에 집중할 수 있습니다. 이러한 유연성을 통해 뷰와 AI 상호 작용을 모두 해당 작업에 맞게 조정할 수 있습니다.


슬래시 명령어는 WebAssembly 또는 JSON 기반 컨텍스트 서버 프로토콜을 통해 확장할 수 있어 흥미로운 가능성이 열립니다. 워크플로에 맞게 사용자 지정 명령어를 만들 수 있으며, 언어 서버가 /commands를 구현하여 언어별 방식으로 컨텍스트를 가져오는 미래를 구상합니다.


이제 Perplexity 확장 프로그램을 만들었으니, 실제로 어떻게 동작하는지 살펴보겠습니다.

 

 

생성된 Zed 확장 프로그램을 사용합니다.

 

이 데모에서는:

  1. 새로운 /perplexity 명령을 사용하여 macOS에서 마이크 캡처를 위한 주요 C 인터페이스를 가져옵니다: "/perplexity macOS에서 마이크 입력을 캡처하는 데 필수적인 C 인터페이스를 제공합니다. 가장 관련성 있는 함수와 구조만 포함합니다."

  2. 가져온 인터페이스를 사용하여 Rust 바인딩을 생성합니다: "이러한 C 인터페이스를 사용하여 macOS에서 마이크 입력을 캡처하는 Rust 바인딩을 생성합니다."

이 간소화된 워크플로는 Zed AI가 어떻게 외부 지식 (/perplexity)과 코드 생성을 단일하고 일관된 인터페이스 내에서 원활하게 통합할 수 있는지 보여줍니다. 주요 인터페이스를 직접 fetch 함으로써 수동 파일 작업의 필요성을 없앴고 프로세스를 보다 효율적이고 집중적으로 만들었습니다.

 

Inline Transformations

In ter buffer

 

In the terminal

 

ctrl-enter로 활성화된 inline transformation에서 자연어 프롬프트를 통해 코드를 변환하고 생성할 수 있습니다. 이들을 차별화하는 것은 정밀성과 반응성입니다.


빠른 피드백을 제공하기 위해 Zed의 CRDT-based buffer와 함께 작동하는 사용자 지정 스트리밍 diff 프로토콜을 구현하여 모델에서 스트리밍되는 즉시 편집 내용을 제공합니다. 토큰별로 모델의 출력 토큰을 확인하여 변경 사항을 읽고 변경 사항에 대응할 수 있습니다. 이 저지연 스트리밍은 유동적이고 대화형 코딩 환경을 만들어 프로세스 전반에 걸쳐 참여하고 제어할 수 있도록 합니다.


Zed의 inline transformation은 assistant panel에서 구축한 컨텍스트를 사용합니다. 숨겨진 시스템 프롬프트가 없으므로 모델의 출력을 형성하는 모든 입력을 보고 제어할 수 있습니다. 이러한 투명성 덕분에 모델의 동작을 fine-tuning 하고 AI 지원 코딩 기술을 향상시킬 수 있습니다.


Zed의 텍스트 변환은 재귀적 기능을 통해 강력한 차원을 얻습니다. Assistant panel 자체 내에서 inline transformation을 적용하여 컨텍스트를 정제하고 반복적으로 프롬프트를 개선할 수 있습니다. 이 기능은 패널을 프롬프트 엔지니어링을 위한 동적 작업 공간으로 전환하여 다양한 접근 방식을 실험하고 지침을 정제하고 AI를 사용하여 더 효과적인 AI 프롬프트를 만들 수 있습니다.


Inline transformation은 Zed의 다중 커서 기능과도 호환되므로 여러 선택 항목에 동일한 변환을 동시에 적용할 수 있습니다.

 

What's Next for Zed AI

우리는 Zed AI의 역량을 확장하기 위해 끊임없이 노력하고 있습니다. 우리가 개발하고 있는 내용을 살펴보겠습니다.

 

Workflows for Complex Transformations

Inline transformation이 assistant panel에서 컨텍스트를 가져오고 패널의 콘텐츠 자체를 변환하는 방법을 살펴보았습니다. /workflow 명령을 사용하여 이 기능을 확장하여 assistant panel과 프로젝트 파일 간에 양방향 상호 작용을 생성합니다.


이 기능을 사용하면 assistant panel 내에서 작업하여 코드베이스에 직접 영향을 미치는 변경 사항을 조정할 수 있습니다. /workflow를 사용하면 모델이 Zed가 해석하는 일련의 <step> 태그를 내보내도록 지시합니다. 이러한 단계는 프로젝트 파일에서 직접 inline transformation을 제안하여 복잡한 코딩 작업에 대한 안내형 AI 지원 접근 방식을 제공합니다.


/workflow 명령은 assistant panel과 실제 코드 간의 격차를 효과적으로 메워 보다 통합되고 강력한 AI 지원 개발 프로세스를 가능하게 합니다. 이 기능을 적극적으로 개선하고 있지만, 오늘 Zed에서 /workflow를 사용해 볼 수 있습니다. 다양한 프로그래밍 언어에서 실험하고 경험을 공유해 주시기 바랍니다. 귀하의 통찰력은 Zed AI가 확장하고 개선하는 데 도움이 될 것입니다.

 

/workflow 명령을 사용합니다.

 

Tools for Efficiently Crafting Contexts

적절한 컨텍스트를 효율적으로 구축하는 것이 AI 지원 개발에서 핵심 과제라는 점을 인식하고 있습니다. 이를 해결하기 위해 관련 정보를 보다 빠르게 수집하는 데 도움이 되는 도구를 개발하고 있습니다. 이러한 도구는 Zed의 철학에 핵심적인 투명성과 제어를 유지하여 강력한 컨텍스트 구축 기능을 제공하는 동시에 각 AI 상호 작용에 무엇이 들어가는지 이해하고 관리할 수 있도록 합니다.

현재 이 문제를 해결하기 위해 두 가지 핵심 기능을 개발하고 있습니다.

  • /project: 현재 구성 플래그 뒤에 있는 이 명령은 관련 프로젝트 정보를 빠르게 찾아 assistant panel에 삽입하는 데 도움이 됩니다. 컨텍스트 구축 속도를 높이면서도 결과를 사용하기 전에 검토하고 편집할 수 있도록 설계되었습니다.

  • /auto: 다른 / 명령과 마찬가지로 현재 작업에 따라 컨텍스트를 자동으로 삽입하는 upcoming 기능입니다. 자동으로 작동하는 동안 삽입된 컨텍스트는 완전히 표시되고 편집 가능하므로 가져온 모든 정보를 탐색, 수정 또는 제거할 수 있습니다. 이 기능은 컨텍스트 구축을 간소화하는 동시에 사용되는 정보를 제어하고 이해하는 기능을 유지하는 것을 목표로 합니다.

이러한 기능은 복잡한 컨텍스트를 관리하는 데 레버리지를 제공하도록 설계되었으며, AI 상호 작용에서 정확히 어떤 정보가 사용되고 있는지 이해하고 제어할 수 있는 능력을 유지합니다. 우리는 이러한 힘의 균형과 투명성이 효과적인 AI 지원 개발에 필수적이라고 믿습니다.


이러한 도구를 계속 개선하면서 Zed AI에서 컨텍스트 관리를 더욱 개선하는 방법에 대한 피드백과 아이디어를 환영합니다.

 

Join Us in Shaping AI-Assisted Development

Zed AI는 개방적이고 협업적인 소프트웨어 개발에 대한 우리의 신념을 구현합니다. 우리는 여러분이 원하는 방식으로 AI를 활용할 수 있는 투명하고 확장 가능한 환경을 만들어 도구와 워크플로를 확실히 제어할 수 있도록 합니다.


Zed AI를 사용해 보고 이 여정에 동참해 보세요. 사용자 지정 슬래시 명령을 실험하고, 프롬프트를 fine-tuning 하고, 경계를 넓히세요. Zed repository에 기여하거나 확장하는 것 처럼 당신의 혁신을 공유 하세요.


Zed AI를 사용하면 익숙한 텍스트 영역 내에서 AI의 잠재력을 지휘하는 운전석에 앉게 됩니다. 함께 창의성을 증폭하고 고유한 코딩 스타일에 적응하는 AI 지원 개발 경험을 구축할 것입니다. 우리 커뮤니티가 무엇을 만들어낼지 기대됩니다.

반응형

'IT와 개발 > AI 이야기' 카테고리의 다른 글

AI Apocalypse: 80% of Projects Crash and Burn  (10) 2024.09.17
Llama is the leading engine of AI innovation  (10) 2024.09.10
Fine-tuning: GPT-4o  (1) 2024.08.27
OpenAI: SearchGPT Prototype  (1) 2024.08.20
Figure 02  (0) 2024.08.06