AI Sparkup

복잡한 AI 세상을 읽는 힘 ⚡

Google Jules, 터미널로 들어오다: CLI와 API로 바뀌는 AI 코딩 워크플로우

Google의 AI 코딩 에이전트 Jules가 새로운 CLI 도구와 API를 공개하며 개발자의 터미널 워크플로우에 직접 통합됩니다. 웹 인터페이스와 GitHub를 오가며 생기는 컨텍스트 스위칭을 최소화하고, CI/CD 파이프라인과 협업 도구에 자연스럽게 연결할 수 있게 된 것입니다.

Jules Tools CLI 데모
Jules Tools CLI 실행 화면 (출처: Google)

핵심 포인트:

  • 터미널 네이티브 통합: Jules Tools CLI로 웹 브라우저와 터미널을 오가지 않고 작업 시작, 중지, 검증을 한 곳에서 처리. GitHub 이슈를 파이핑해서 바로 Jules에게 할당하는 등 스크립팅 가능
  • 워크플로우 전체에 AI 통합: Jules API로 Slack 알림, CI/CD 파이프라인, 자동화 스크립트에 코딩 에이전트를 연결. 버그 리포트가 들어오면 자동으로 수정 작업 시작
  • Gemini CLI와의 역할 분담: 범용 터미널 유틸리티인 Gemini CLI는 상호작용하며 다양한 작업 수행, Jules는 명확한 코딩 작업을 독립적으로 완료. 같은 Gemini 2.5 Pro 기반이지만 사용 방식이 완전히 다름

Jules Tools: 터미널에서 만나는 AI 코딩 에이전트

개발자들은 터미널에서 살아갑니다. 테스트하고, 빌드하고, 디버깅하고, 배포하는 곳이 바로 터미널입니다. Google이 Jules Tools라는 경량 CLI를 만든 이유도 여기 있습니다. 웹 브라우저에서 작업을 시작하고 GitHub에서 결과를 확인하는 대신, 터미널에서 모든 걸 처리할 수 있습니다.

설치는 간단합니다:

npm install -g @google/jules

Jules Tools의 핵심은 명령어와 플래그의 조합입니다. jules remote list --task로 모든 원격 작업을 확인하고, jules --theme light로 라이트 테마 터미널 인터페이스로 전환할 수 있습니다.

실전 활용 예시

Jules Tools가 진짜 빛을 발하는 건 다른 CLI 도구와 조합할 때입니다. 몇 가지 실용적인 예시를 살펴보겠습니다.

TODO 파일의 각 항목을 Jules 작업으로 자동 할당:

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와의 조합입니다. Gemini CLI로 가장 까다로운 이슈를 분석한 후, 그 결과를 Jules에게 넘기는 식입니다:

gemini -p "find the most tedious issue, print it verbatim\n \
$(gh issue list --assignee @me)" \
  | jules remote new --repo .

인터랙티브 플로우를 선호한다면 TUI(Text User Interface)도 제공됩니다. /remote 명령으로 대시보드 뷰를 열고, /new로 단계별 작업 생성 프로세스를 진행할 수 있습니다. 웹 UI와 동일한 컨트롤을 터미널에서 더 빠르게 처리하는 방식입니다.

Jules API: 워크플로우 전체에 AI 통합하기

Jules API 워크플로우
Jules API를 활용한 워크플로우 통합 (출처: Google)

Jules API는 이번 업데이트의 또 다른 핵심입니다. 이전까지 내부적으로만 사용하던 API를 공개하며 개발자들이 Jules를 기존 시스템에 통합할 수 있게 했습니다.

Slack에서 버그 리포트가 올라오면 자동으로 Jules 작업을 트리거하거나, CI/CD 파이프라인에 Jules를 연결해서 빌드 실패 시 자동으로 수정 작업을 시작할 수 있습니다. 개발자들이 이미 익숙한 워크플로우에 AI 에이전트를 자연스럽게 녹여내는 방식입니다.

Google Labs의 프로덕트 디렉터 Kathy Korevec은 “개발자들의 컨텍스트 스위칭을 최대한 줄이려 한다”고 말합니다. Jules API는 개발자들이 근육 기억(muscle memory)과 익숙함을 가진 환경에서 Jules를 활용할 수 있게 합니다.

IDE 통합도 계획 중입니다. 현재는 API를 통해 VS Code 같은 IDE와 연결할 수 있지만, Korevec 팀은 전용 플러그인을 개발해 Jules의 존재감을 더욱 확대할 계획입니다.

Gemini CLI와 Jules, 무엇이 다른가

같은 Google이 만들고, 같은 Gemini 2.5 Pro 모델을 사용하는데 왜 두 개의 도구가 필요할까요? 많은 개발자들이 궁금해하는 질문입니다.

답은 간단합니다. 역할이 다릅니다.

Gemini CLI는 스위스 아미 나이프입니다. 코드 생성, 문서 작성, 텍스트 요약, 일반적인 질문 답변 등 광범위한 작업을 처리합니다. 로컬 환경에서 실행되며, 여러 프로젝트를 넘나들며 작업할 수 있습니다. 중요한 건 상호작용입니다. 사용자와 함께 작업하며, 피드백을 받고, 최종 결과물이 나올 때까지 협업합니다.

반면 Jules는 GitHub 저장소 전용 코딩 에이전트입니다. 버그 수정, 테스트 작성, 기능 구현 같은 명확한 코딩 작업에 집중합니다. 원격 VM에서 비동기로 실행되며, 한번 승인하면 독립적으로 작업을 완료합니다. 작업을 위임하고 잊어버릴 수 있는 도구입니다.

Google의 개발자 어드보킷 Denise Kwan은 이렇게 설명합니다. “Jules Tools는 매우 범위가 명확한 작업(scoped tasks)을 위한 것입니다. Gemini CLI는 훨씬 더 반복적(iterative)이고, 도구와 많이 협업해야 합니다.”

언제 무엇을 사용할까?

Gemini CLI 선택:

  • 코드가 로컬 머신에 있을 때
  • 코딩 외 작업(문서화, 분석 등)이 필요할 때
  • CI/CD 파이프라인에 통합하고 싶을 때
  • 작업 과정에서 세밀한 통제가 필요할 때

Jules 선택:

  • 코드가 GitHub 저장소에 있을 때
  • 순수 코딩/GitHub 관련 작업만 필요할 때
  • 다수의 작업을 동시에 처리하고 싶을 때
  • AI 에이전트와 상호작용 없이 결과만 받고 싶을 때

실전 활용 시나리오

Jules의 가장 큰 장점은 비동기 실행입니다. 작업을 시작하고 노트북을 닫아도 됩니다. Jules는 원격 VM에서 독립적으로 코드를 클론하고, 변경사항을 적용하고, 테스트를 실행한 후 PR을 생성합니다.

하루 종료 시점에 여러 작업을 할당하고, 다음날 아침 출근하면 완료된 PR을 검토하는 식입니다. 특히 시간이 오래 걸리는 작업일수록 이 방식의 효율성이 빛을 발합니다.

다중 세션 관리도 강력합니다. 같은 저장소 내에서 여러 작업을 동시에 진행할 수 있고, 여러 GitHub 저장소를 동시에 관리할 수도 있습니다. 여러 프로젝트를 담당하는 개발자에게 유용한 기능입니다.

모바일에서도 접근 가능합니다. 웹 기반 도구라 브라우저만 있으면 어디서든 작업을 시작하고 확인할 수 있습니다. 다만 네이티브 알림이 아직 지원되지 않아 작업 완료를 바로 알기 어렵다는 한계가 있습니다. Korevec은 이 부분을 개선 중이라고 밝혔습니다.

실사용 경험: 장점과 한계

개발자 Jon Atkinson이 Jules를 5일간 테스트한 결과는 흥미롭습니다. 간단한 Django 앱 리팩토링 작업에서 Jules는 계획을 수립하고 대부분의 작업을 성공적으로 완료했습니다. 특히 diff 뷰어로 각 파일의 변경사항을 실시간으로 확인할 수 있는 점이 유용했다고 평가합니다.

하지만 한계도 분명합니다. 작업이 완료되기까지 1시간 정도 걸렸고, 계획의 마지막 단계(마이그레이션 압축)는 실행되지 않았습니다. VM 상태 인식 문제도 있었습니다. 실패한 명령어를 반복 시도하면서 VM 자체에 문제가 있다는 걸 인식하지 못하는 경우가 있었습니다.

코드 품질도 들쭉날쭉합니다. 어떤 제안은 정확했지만, Python 린터 오류(E501 Line too long)를 수정하다가 새로운 문제를 만들어내기도 했습니다.

현재 베타 상태라는 점을 고려하면 이해 가능한 수준이지만, 프로덕션 환경에서 전적으로 의존하기엔 아직 이른 것도 사실입니다.

AI 코딩 에이전트 경쟁 지형

Gemini CLI 인터페이스
Gemini CLI 시작 화면 (출처: Medium/@denisetkwan)

AI 코딩 에이전트 시장은 빠르게 뜨거워지고 있습니다. Claude Code는 SWE-bench Verified에서 77.2%를 기록하며 강력한 성능을 보여줬고, GitHub Copilot은 IDE 통합의 선두주자입니다.

Jules는 어디에 위치할까요? Jon Atkinson의 비교 테스트에서 Claude Code가 B 등급, Jules가 C 등급, OpenAI Codex가 F 등급을 받았습니다. Claude Code는 12분 만에 작업을 완료하고 전체 테스트 스위트를 실행했지만, Jules는 1시간이 걸리고 일부 단계를 건너뛰었습니다.

하지만 Jules만의 강점도 있습니다. 비동기 실행다중 세션 관리는 Claude Code에 없는 특징입니다. 프론트엔드 검증 기능도 유용합니다. 스크린샷으로 시각적 확인이 가능해 프론트엔드 개발 속도가 빨라집니다.

흥미로운 건 “vibe coding” 도구들과의 관계입니다. Korevec은 “많은 사람들이 vibe coding 도구에서 한계에 부딪힌 프로젝트를 Jules로 가져와 확장한다”고 말합니다. 캐주얼 코딩과 진지한 개발 사이의 다리 역할입니다.

하이브리드 개발의 미래

Jules Tools와 API는 Google이 추구하는 하이브리드 개발 비전을 보여줍니다. 로컬과 원격, 직접 작업과 위임, 다양한 선택지를 개발자에게 제공하는 방식입니다.

아직 베타이고, 완벽하지 않습니다. 하지만 방향은 분명합니다. AI 코딩 에이전트는 IDE 안에만 갇혀있지 않습니다. 터미널, CI/CD 파이프라인, 협업 도구, 개발자가 일하는 모든 곳에 스며들고 있습니다. Jules는 그 미래의 한 조각입니다.


참고자료:


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다