Jules Tools: Web 기반의 Jules를 커맨드라인(CLI) 환경에서 사용할 수 있는 Google의 비동기 코딩 에이전트 도구

Jules Tools 소개

구글이 새롭게 공개한 Jules Tools는 개발자들이 자신이 가장 익숙한 환경인 터미널(command line) 안에서 직접 사용할 수 있는 AI 코딩 에이전트 도구입니다. Jules는 단순히 코드 제안만 하는 도우미가 아니라, 프로젝트의 전체 맥락(context) 을 이해하고 테스트 코드 작성, 기능 추가, 버그 수정, 의존성 업데이트, 그리고 음성 기반 변경 로그(audio changelog) 작성 등 다양한 개발 업무를 비동기적으로 자동 수행할 수 있는 코딩 에이전트입니다.

기존에는 Jules를 웹 브라우저 기반 인터페이스를 통해 사용하는 방식이 주를 이루었지만, 실제 개발자들의 대부분의 작업(빌드, 테스트, 디버깅, 배포 등)은 터미널 안에서 이루어집니다. 이에 구글은 Jules를 브라우저가 아닌 개발자의 실제 워크플로우 안으로 통합하기 위해 Jules Tools CLI(Command Line Interface) 를 선보였습니다. 이를 통해 개발자는 CLI 명령만으로 작업을 실행하고, Jules의 상태를 실시간으로 확인하며, 자신에게 맞게 도구를 커스터마이징할 수 있습니다.

Jules Tools는 단순히 명령을 실행하는 도구를 넘어, 대시보드(dashboard)명령 제어(command surface) 의 역할을 동시에 수행합니다. 즉, Jules가 어떤 작업을 수행 중인지 모니터링하면서도 새로운 세션을 생성하거나 기존 작업을 제어할 수 있습니다. 구글은 이 프로젝트를 통해 “AI 코딩 에이전트가 단순한 클라우드 서비스가 아니라, 로컬 환경의 일부로 존재해야 한다”는 철학을 구체화하고 있습니다.

Jules Tools의 필요성

Jules는 기본적으로 원격 VM(Virtual Machine)에서 실행되며, 리포지토리와 연동하여 작업을 수행합니다. 사용자가 작업을 요청하면 Jules는 임시 VM을 생성하여 코드를 수정하거나 테스트를 실행하고, 그 결과를 Pull Request(PR) 형태로 되돌려 줍니다. 중요한 점은 “사용자가 명령하지 않으면 아무것도 실행되지 않는다”는 것입니다. 즉, 완전히 제어 가능한 비동기적 구조를 지니고 있습니다.

이러한 구조 덕분에, CLI를 통해 Jules를 직접 조작할 수 있게 되면 더 세밀한 통제권과 가시성(visibility) 을 얻을 수 있습니다. CLI 명령은 단순한 입력 수단을 넘어, 개발자가 Jules를 프로그래머블(programmable) 하게 만들고, 스크립트(scriptable)자동화(customizable) 할 수 있게 합니다. 예를 들어, 자신만의 자동화 스크립트나 CI/CD 파이프라인에 Jules를 통합하여, 실제 업무 흐름 속에서 AI 에이전트를 자연스럽게 사용할 수 있습니다.

즉, Jules Tools는 단순한 명령어 도구를 넘어, 개발자와 AI 코딩 에이전트 간의 새로운 협업 방식의 기반을 제공합니다.

Jules Tools 설치 방법

Jules Tools는 Node.js가 설치된 환경에서는 패키지 매니저(npm)를 사용하여 간단히 설치할 수 있습니다. 설치 명령은 다음과 같습니다:

npm install -g @google/jules

설치가 완료되면 기본적인 사용 안내와 함께 Jules CLI의 구조가 출력됩니다.

Jules Tools CLI는 명령(commands)플래그(flags) 로 구성되어 있습니다. 각각은 다음과 같습니다:

  • Commands (명령): Jules에게 수행할 작업을 지시합니다. 예를 들어, 현재 진행 중인 원격 작업(task) 목록을 확인하려면 다음 명령을 실행합니다:

    jules remote list --task
    
  • Flags (플래그) 인터페이스나 동작 방식을 사용자 환경에 맞게 조정할 수 있습니다. 예를 들어, 터미널 테마를 라이트 모드로 전환하려면 다음과 같은 명령어를 사용하면 됩니다:

    jules --theme light
    

Jules Tools의 실전 예시(Practical Examples)

Jules Tools의 가장 큰 강점은 다른 CLI 도구들과의 조합 가능성입니다. 단독으로 사용할 수도 있지만, GitHub CLI, Gemini CLI, jq, cat, Bash 등과 결합하면 실제 워크플로우에서 더욱 강력한 기능을 발휘합니다. 예를 들면, 다음과 같은 방식으로 활용할 수 있습니다:

# 연결된 모든 리포지토리 목록 확인
jules remote list --repo

# 특정 리포지토리에 새로운 세션 생성
jules remote new --repo torvalds/linux --session "write unit tests"

# TODO.md 파일의 각 항목을 자동으로 세션으로 전환
cat TODO.md | while IFS= read -r line; do
  jules remote new --repo . --session "$line"
done

# GitHub 이슈를 직접 Jules에 전달하여 자동 처리
gh issue list --assignee @me --limit 1 --json title \
  | jq -r '.[0].title' \
  | jules remote new --repo .

# Gemini CLI로 GitHub 이슈를 분석하고 가장 복잡한 작업을 Jules에 위임
gemini -p "find the most tedious issue, print it verbatim\n \
$(gh issue list --assignee @me)" \
  | jules remote new --repo .

이처럼 Jules Tools는 단순히 명령형 인터페이스를 제공하는 것이 아니라, 개발자의 터미널 워크플로우 전체에 융합되는 AI 제어 허브로 동작할 수 있습니다.

대시보드(TUI) 탐색

터미널에서의 생산성을 선호하는 개발자들을 위해, Jules Tools는 TUI(Text-based User Interface) 도 함께 제공합니다. Jule Tools에서 /remote 명령을 사용하면 현재 진행 중인 모든 작업을 대시보드 형태로 시각화할 수 있고, /new 명령으로는 새로운 세션을 단계별로 생성하도록 안내합니다.

이러한 TUI 기능은 Web UI에서 제공되던 인터랙티브한 흐름을 로컬 터미널 환경으로 그대로 옮겨온 것으로, 브라우저를 열지 않고도 동일한 제어력을 유지할 수 있다는 점에서 생산성을 크게 향상시킬 수 있을 것으로 기대합니다.

하이브리드 아키텍처 설계

Jules Tools는 명확히 “하이브리드 개발 도구”를 지향합니다. 구글은 이 프로젝트를 통해 로컬(local)원격(remote), 그리고 직접 수행(do-it-yourself)위임(delegation) 간의 균형을 강조하고 있습니다.

  • 로컬(Local) ↔ 원격(Remote): 필요한 경우 로컬 환경에서 직접 작업을 수행하면서, 동시에 대규모 처리가 필요한 경우 원격 VM을 생성하여 병렬 작업을 수행할 수 있습니다.

  • 직접 수행(Do-It-Yourself) ↔ 위임(Delegation): 개발자는 코드의 핵심 부분에 집중하고, 반복적이거나 단순한 작업은 Jules에게 맡길 수 있습니다.

이러한 균형있는 접근은 Jules Tools가 단순히 개발 보조도구가 아니라, 개발 프로세스 전반을 함께 수행하는 협업형 개발 파트너로 발전하고 있음을 보여줍니다.

:house: Jules 공식 홈페이지

:scroll: Google의 Jules Tools 소개 블로그

더 읽어보기




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

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

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