Duende 소개
소프트웨어 개발에서 인공지능(AI)을 활용한 코드 자동화는 꾸준히 발전하고 있으며, 특히 LLM(대형 언어 모델)의 발전으로 인해 AI가 코드 수정 및 리뷰에 참여하는 환경이 점점 확대되고 있습니다. 이러한 흐름 속에서, 개발자와 AI 간의 상호작용을 직관적이고 효율적으로 만들기 위한 도구들이 등장하고 있는데, 그중 하나가 바로 Duende입니다.
Duende는 Python과 JavaScript로 구성된 오픈소스 프로젝트로, 브라우저 기반 UI를 통해 대화형 AI가 코드 리포지토리를 수정하도록 유도할 수 있는 플랫폼입니다. 사용자는 자연어로 작업 지시를 내리고, AI가 이를 수행하는 과정을 실시간으로 확인하며 피드백을 제공할 수 있습니다. 특히 Google Gemini와의 통합을 지원하며, 복수의 대화 흐름을 통한 리뷰 기능도 탑재되어 있어 개발자의 통제 아래 AI가 안정적으로 코드를 다룰 수 있도록 설계되어 있습니다.
Duende는 단순한 자동화 도구가 아니라, AI와 개발자 간의 협업 플랫폼을 지향합니다. 이는 기존의 GitHub Copilot과 같은 자동 보완형 도구들과 달리, 명시적인 지시와 검토를 가능하게 하여 AI의 역할을 확장시키고 사용자의 신뢰성을 확보하는 데 중점을 둡니다. 특히 리뷰와 검증 루프(Validation Feedback Loop)를 지원함으로써 단순한 코드 생성이 아닌, 고품질의 코드 수정을 지향합니다.
Duende의 주요 특징
Duende는 사용자가 자연어로 작성한 작업(task)을 기반으로, AI가 소스 코드를 수정하도록 유도하는 시스템입니다. 주요 특징은 다음과 같습니다:
- 웹 인터페이스 제공: 로컬 서버를 실행하면 웹 브라우저에서 AI와 대화하며 작업을 진행할 수 있습니다.
- Google Gemini 기반 AI 지원: 현재는 OpenAI 지원이 중단된 상태로, Gemini 모델만 사용 가능합니다.
- 파일 접근 제어: 정규표현식(regex)를 기반으로 AI가 접근할 수 있는 파일을 명시적으로 제한할 수 있습니다.
- 리뷰 모드: 작업이 완료된 후 자동으로 복수의 리뷰 대화를 시작하고, 피드백을 통해 메인 작업을 재개할 수 있습니다.
- 검증 루프 지원: 스크립트를 통해 코드 변경 후 자동으로 빌드/테스트를 수행하여 AI에게 결과를 피드백합니다.
구성 요소 및 CLI 인자 설명
Duende은 src/agent_server.py을 실행하여 Web UI로 접근할 수 있으며, 다양한 CLI 인자를 통해 AI와의 상호작용 방식을 세밀하게 설정할 수 있습니다. 주요 인자는 다음과 같습니다:
--task: 작업 텍스트 파일 경로 (필수)--api-key: API 키 경로--model: 사용할 모델 이름 (예: gemini-2.5-flash)--file-access-regex/--file-access-regex-path: AI 접근 허용 파일 경로 제어--review: 작업 완료 후 자동 리뷰 대화 활성화--prompt-include: 추가 프롬프트 파일 포함--confirm ".*": 모든 명령 실행 전 수동 승인 필요 설정
예를 들어, 다음과 같이 실행하는 경우, ~/.gemini/api_key파일로부터 Gemini API Key를 읽은 뒤, gemini-2.5-flash 모델을 사용하여 conversations/my-task.txt에 정의된 작업을 수행합니다. 이 때, 웹 브라우저로 http://localhost:6785/ 에 접속하여 상호작용할 수 있습니다:
python3 src/agent_server.py \
--task conversations/my-task.txt \
--api-key ~/.gemini/api_key \
--model gemini-2.5-flash \
--port 6785
라이선스
Duende 프로젝트는 GPL-3.0 라이선스로 공개 및 배포되고 있습니다. 누구나 자유롭게 복제 및 수정할 수 있으나, 변경한 소스 코드도 동일한 GPL‑3.0 조건을 그대로 적용해야 합니다. 특히, GPL-3.0은 변경한 코드를 공개해야 하는 의무가 있으므로 이에 유의하셔야 합니다.
Duende 프로젝트 GitHub 저장소
https://github.com/alefore/duende
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()

