Devon, 오픈소스 짝-프로그래머(Pair-Programmer)

Devon, 오픈소스 짝-프로그래머(Pair-Programmer)

오늘은 한동안 열풍이었던 짝 프로그래밍(Pair Programming)의 기억을 다시 되살리게 하는, 오픈소스 AI 짝-프로그래머 Devon 프로젝트를 가져왔습니다.

Devon은 AI를 활용한 페어 프로그래머로, 코드 작성, 디버깅, 테스트 작성 등 다양한 기능을 제공합니다. 오픈 소스 프로젝트로 누구나 기여할 수 있으며, 현재 다양한 AI 모델을 지원하고 있습니다.

소개

Devon은 AI를 활용한 페어 프로그래머로, 사용자가 코드 작성, 디버깅, 테스트 작성 등을 효율적으로 수행할 수 있도록 돕습니다. 오픈 소스 프로젝트로 개발되고 있으며, 현재 Anthropic, OpenAI, Groq 등의 API 키를 통해 작동합니다. Devon은 다중 파일 편집, 코드베이스 탐색, 구성 작성, 테스트 작성, 버그 수정, 아키텍처 탐색 등 다양한 기능을 제공합니다. Python 개발자에게 특히 유용하며, 향후 다양한 언어와 플랫폼에 대한 지원이 예정되어 있습니다.

Devon은 기존의 페어 프로그래밍 도구들과 비교하여 다음과 같은 장점을 제공합니다:

  • 다중 파일 편집: 여러 파일을 동시에 수정할 수 있어 작업 효율성을 높입니다.
  • 코드베이스 탐색: 코드베이스를 탐색하며 필요한 정보를 쉽게 찾을 수 있습니다.
  • 구성 작성: 자동으로 구성 파일을 작성하여 설정 작업을 간소화합니다.
  • 테스트 작성: 테스트 코드를 자동으로 생성하여 코드 품질을 유지할 수 있습니다.
  • 버그 수정: 자동으로 버그를 찾아 수정합니다.

주요 기능

  • 다중 파일 편집: 여러 파일을 동시에 수정할 수 있습니다.
  • 코드베이스 탐색: 코드베이스를 탐색하며 필요한 정보를 찾을 수 있습니다.
  • 구성 작성: 자동으로 구성 파일을 작성합니다.
  • 테스트 작성: 테스트 코드를 자동으로 생성합니다.
  • 버그 수정: 자동으로 버그를 찾아 수정합니다.
  • 아키텍처 탐색: 코드의 아키텍처를 탐색하여 이해도를 높입니다.

사용 방법

설치 방법

Devon을 설치하려면 다음 명령어를 실행하세요:

curl -sSL https://raw.githubusercontent.com/entropy-research/Devon/main/install.sh | bash

또는 pipxnpm을 사용하여 설치할 수 있습니다:

# pipx를 사용한 설치
pipx install devon_agent

# npm을 사용한 설치
npm install -g devon-tui

에이전트 실행 방법

프로젝트 폴더로 이동하여 터미널을 엽니다. 다음과 같이 LLM에 대한 API 키를 환경 변수로 설정합니다:

# Claude 관련 Anthropic API Key 설정
export ANTHROPIC_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# ChatGPT 관련 OpenAI API Key 설정
export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# Groq API 키 설정
export GROQ_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

에이전트 실행 및 명령어 목록은 다음과 같이 확인할 수 있습니다:

# 에이전트 실행
devon run

# 디버그 모드로 실행 시
devon debug

# 그 외 사용 가능한 명령어 확인
devon help

프로젝트 진행 상황

현재 목표

  • 다중 모델 지원
    • Claude 3 Opus
    • GPT4-o
    • Groq llama3-70b
    • Ollama llama3-70b + 7b
    • Google Gemini 1.5 Pro
  • 툴 및 에이전트 빌더를 위한 플러그인 시스템 출시
  • 셀프 호스팅 가능한 Electron 앱 생성
  • SWE-bench Lite에서 SOTA 설정

다음 단계에 대한 현재 계획은 여기에서 확인하실 수 있습니다.

과거 마일스톤

  • 2024년 5월 19일 - GPT4o 지원 및 인터페이스 개선 v0.1.7
  • 2024년 5월 10일 - 완전한 대화형 에이전트 v0.1.0
  • 2024년 5월 10일 - 조종 가능 기능 추가
  • 2024년 5월 8일 - SWE-Bench Lite에서 AutoCodeRover 이김
  • 2024년 4월 중순 - 레포 수준의 코드 검색 도구 추가
  • 2024년 4월 2일 - v0.1.0 대화형 에이전트 개발 시작
  • 2024년 3월 17일 - 비대화형 에이전트 출시 v0.0.1

라이선스

이 프로젝트는 AGPL License로 공개 및 배포되고 있습니다.

AGPL 라이선스는 소스 코드 공개와 함께 네트워크 상에서의 프로그램 사용 시에도 소스 코드 공개를 요구합니다. 또한, 소스 코드 수정 및 배포 시 동일한 라이선스로 배포해야 하니, 사용 시 라이선스 관련 사항들을 유의해주세요. :hugs:

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:heart:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

한때 시끌시끌 했던 Devin을 오마주한 이름일까요?ㅋㅋ

오, 저도 그 생각을 했습니다 :smiley:
혹시나 이미 올렸던거 아닐까 검색도 해봤구요 :rofl: