🧭 개요
Jules는 구글의 최신 AI 모델인 Gemini 2.5 Pro를 기반으로 개발된 비동기 코딩 에이전트입니다. 개발자가 특정 작업을 지시하면, Jules는 해당 작업을 독립적으로 수행하고 결과를 제공합니다. 이를 통해 개발자는 반복적이고 시간이 많이 소요되는 작업에서 벗어나 핵심적인 개발 업무에 집중할 수 있습니다.
🔍 주요 기능
- 비동기 작업 처리: Jules는 백그라운드에서 작업을 수행하므로, 개발자는 다른 업무를 병행할 수 있습니다.
- 코드 이해 및 수정: 전체 코드베이스를 클론하여 프로젝트의 맥락을 이해하고, 테스트 작성, 버그 수정, 기능 추가 등을 수행합니다.
- GitHub 통합: GitHub 리포지토리와 직접 연동되어, PR 생성 및 병합 작업을 자동화합니다.
- 계획 및 변경 사항 검토: 작업 수행 전에 계획과 변경 사항을 제시하여, 개발자가 검토하고 승인할 수 있습니다.
- 오디오 변경 로그: 최근 커밋의 변경 사항을 오디오로 요약하여 제공합니다.
🛠️ 사용 방법
- 로그인 및 GitHub 연동: Jules 웹사이트에 접속하여 Google 계정으로 로그인하고, GitHub 계정을 연동합니다.
- 리포지토리 및 브랜치 선택: 작업할 리포지토리와 브랜치를 선택합니다.
- 작업 지시: 예를 들어, utils.js의 parseQueryString 함수에 대한 테스트를 추가해줘와 같이 명확한 작업 지시를 입력합니다.
- 계획 검토 및 승인: Jules가 제시하는 작업 계획과 변경 사항을 검토하고 승인합니다.
- 결과 확인 및 병합: 작업 완료 후 PR을 확인하고, 변경 사항을 병합합니다.
🚀 실제 Jules를 사용하여, 내 Github 프로젝트 전반적인 설명 요청
1. https://jules.google/ 접속 후 'Try Jules' 클릭
2. 'Connect to Github'를 통해서 Github 내 Repository 연결
3. 작업 지시
4. 결과
실제 결과물: https://github.com/kk99corn/cschat/blob/feature/add-detailed-readme2/readme2.md
add-detailed-readme2라는 브랜치가 새로 생성됐고, 거기에 전체 프로젝트를 설명하는 readme2.md 생성
아래 일부 내용만 추가했지만, 실제 생성된 readme2.md 내용을 확인해보면 상당히 구체적으로 프로젝트에 대한 Jules의 분석내용이 상세하게 기록된 것을 확인 할 수 있습니다.
Jules가 생성한 readme2.md 일부 내용(프로젝트 패키지 구조 설명에 대한 부분)
com.kk.cschat
├── ai # AI 기반 답변 관련 기능
│ ├── controller # AiController: AI 기능 테스트용 REST API (구현되어 있다면)
│ ├── dto # AiRequest, AiResponse, Gemini 관련 DTOs
│ └── service # AiAnswerService: AI 모델 호출 및 답변 생성 로직, GeminiService: Gemini API 연동
│
├── answer # 키워드 기반 Q&A 기능
│ ├── controller # QaController: CS Q&A 전용 REST API (/cs)
│ ├── entity # CsQa: 질문/답변 데이터 JPA Entity, KeywordAlias: 키워드 별칭 JPA Entity
│ ├── repository # CsQaRepository, KeywordAliasRepository: Spring Data JPA 리포지토리
│ └── service # DbQaService: DB 기반 Q&A 조회 비즈니스 로직, QaService: 인터페이스
│
├── config # 애플리케이션 설정
│ ├── KafkaProducerConfig # Kafka Producer 관련 설정
│ ├── WebClientConfig # 외부 API 호출(Slack 응답 등)을 위한 WebClient 설정
│ └── aop # ExecutionLoggerAspect: 메소드 실행 시간 로깅 등 AOP 관련
│
├── job # 배치 작업 관련 (현재 README 내용에는 명시적 기능 없음)
│ ├── config # MockInsertJobConfiguration: Spring Batch Job 설정 예시
│ ├── controller # JobController: 배치 Job 실행을 위한 컨트롤러 예시
│ ├── dto # MockOrderDto: 배치 작업용 DTO 예시
│ ├── entity # MockOrder: 배치 작업용 Entity 예시
│ ├── mapper # MockOrderMapper: MyBatis 매퍼 예시 (Spring Batch와 함께 사용 가능)
│ └── service # MockOrderService: 배치 작업 관련 서비스 예시
│
├── kafka # Kafka 메시징 관련
│ ├── consumer # KafkaQuestionConsumer: 'cs-question', 'cs-ai-question' 토픽 메시지 수신 및 처리
│ # KafkaAnswerConsumer: 'cs-answer', 'cs-ai-answer' 토픽 메시지 수신 및 Slack 응답 전송
│ ├── controller # QaKafkaTestController: Kafka 메시지 발행 테스트용 API
│ ├── dto # QuestionMessage: 질문 Kafka 메시지 DTO, AnswerMessage: 답변 Kafka 메시지 DTO, KafkaMessage: 공통 인터페이스
│ ├── producer # KafkaMessageProducer: Kafka 토픽으로 메시지 발행
│ └── util # KafkaSlackNotifier: Kafka Consumer가 Slack으로 메시지를 보낼 때 사용하는 유틸 클래스
│
├── slack # Slack 연동 관련
│ └── controller # SlackController: Slack Slash Command 요청 (/slack/cs, /slack/ai-cs) 수신 및 Kafka 발행
│
└── CschatApplication # Spring Boot 메인 애플리케이션 클래스
✅ 정리
- 현재 Jules는 베타 버전으로 전 세계 개발자들에게 무료로 제공되고 있으며, 사용량에는 제한이 있을 수 있습니다. 향후 정식 출시와 함께 요금제가 도입될 예정입니다. 자세한 내용은 공식 문서를 참고하시기 바랍니다.
- Jules는 반복적이고 시간이 많이 소요되는 개발 작업을 자동화하여, 개발자의 생산성을 높이는 데 중점을 둔 도구입니다. GitHub와의 통합, 명확한 계획 제시, 오디오 변경 로그 등의 기능을 통해 개발 워크플로우를 효율적으로 개선할 수 있습니다. 비동기적으로 작동하는 Jules를 통해 개발자는 핵심적인 업무에 더욱 집중할 수 있을 것입니다.
🔗 참고 링크
'개발메모 > 기타' 카테고리의 다른 글
캐시 스탬피드(Cache Stampede)란? 설명 및 대응 방안 (0) | 2025.05.19 |
---|---|
ngrok 사용법(localhost 무료 외부 호스팅하기) (0) | 2025.04.17 |
IntelliJ + Claude 연동하기(feat. MCP, node.js) (1) | 2025.04.06 |
Docker PHP7.4 + CodeIgniter4 개발환경 설정(Docker image 사용) (0) | 2022.06.18 |
windows, WSL2 + docker 개발환경 구성 (0) | 2022.06.18 |