Jules от Google — асинхронный coding-агент: берёт issue, планирует, пишет код, запускает тесты и создаёт PR
Автономный AI-агент для программирования от Google. От GitHub Issue — до готового Pull Request,
без участия человека. На базе Gemini.
Рис. 1 — Полный цикл работы Jules: от получения задачи до готового PR. При неудачных тестах агент возвращается к исправлению кода.
| Компонент | Назначение | Особенности |
|---|---|---|
| 🧠 Gemini Backend | Мозг агента — LLM-модель Google | Gemini 2.5 Pro/Flash, длинный контекст (до 1M+ токенов), нативное понимание кода |
| 🔌 GitHub Integration | Подключение к GitHub-репозиториям | OAuth-авторизация, чтение Issues, создание веток, коммитов, Pull Request |
| 📋 Issue Parser | Извлечение задачи из описания | Понимание требований, acceptance criteria, воспроизведение багов |
| 🔍 Codebase Analyzer | Навигация по кодовой базе | Поиск релевантных файлов, понимание архитектуры, зависимостей |
| 💻 Code Generator | Генерация и правка кода | Создание новых файлов, редактирование существующих, рефакторинг |
| 🧪 Test Runner | Автоматический запуск тестов | Безопасная песочница, запуск unit/integration тестов, перезапуск после фиксов |
| 🔄 Feedback Loop | Цикл обратной связи | Результаты тестов → доработка кода → повторный запуск — без участия человека |
| 📊 PR Creator | Формирование Pull Request | Человеко-читаемое описание изменений, ссылка на issue, summary проделанной работы |
Jules интегрируется напрямую с GitHub. Всё, что нужно — авторизовать приложение в вашем репозитории и создать хорошо описанный Issue.
# 1. Перейдите в GitHub Marketplace или на страницу Jules # 2. Нажмите «Install GitHub App» # 3. Выберите репозитории, к которым Jules получит доступ # 4. Подтвердите разрешения (чтение issues, запись кода, создание PR)
### Задача: Добавить пагинацию в API эндпоинт /users **Описание:** Эндпоинт GET /api/v1/users возвращает всех пользователей разом. Необходимо добавить пагинацию с параметрами ?page=1&per_page=20. **Требования:** - Параметры запроса: page (default=1), per_page (default=20, max=100) - Ответ должен включать: data, meta (total, page, per_page, total_pages) - Добавить unit-тесты для нового поведения - Сохранить обратную совместимость (без параметров — старый ответ) **Acceptance Criteria:** - [ ] GET /api/v1/users?page=2&per_page=10 возвращает корректную страницу - [ ] Все существующие тесты проходят - [ ] meta.total содержит общее количество записей
# Jules agent configuration version: "1.0" agent: model: "gemini-2.5-pro" # модель по умолчанию auto_assign: true # автоматически брать issues с меткой «jules» workflow: label: "jules" # метка, активирующая Jules auto_test: true # автоматический запуск тестов max_retries: 3 # максимум попыток исправления при фейле тестов branch_prefix: "jules/" # префикс для создаваемых веток limits: max_files_per_task: 15 # максимум файлов на одну задачу timeout_minutes: 30 # таймаут выполнения задачи
Добавьте метку jules к вашему Issue — и агент автоматически начнёт работу. Вы можете наблюдать за прогрессом в комментариях к Issue, которые Jules публикует по мере выполнения.
# Запустить Jules на конкретном issue $ jules run --issue 42 # Проверить статус выполняемой задачи $ jules status --issue 42 # Просмотреть логи последнего запуска $ jules logs --issue 42
От получения Issue до готового PR — без участия разработчика. Jules сам анализирует, пишет, тестирует и итерирует.
Работает на новейшей модели Google с контекстным окном более 1 миллиона токенов, что критично для больших кодовых баз.
OAuth-авторизация, работа с Issues, ветками, Pull Request, Code Review comments — всё через стандартный GitHub-интерфейс.
Jules запускает тесты после каждого изменения. При провале — анализирует ошибки и исправляет код, до 3 попыток по умолчанию.
Код пишется и тестируется в изолированной облачной среде Google Cloud — не нагружает ваш локальный компьютер.
Каждый шаг документируется в Issue-комментариях: что агент планирует, какие файлы меняет, результаты тестов.
Код выполняется в изолированном окружении. Jules не имеет доступа к продакшену, secrets или чувствительным данным.
Просто добавьте метку jules к Issue — агент начнёт работу. Никаких CLI-команд не требуется.
// Было (фрагмент до работы Jules): async def login(username: str, password: str): try: user = await db.find_user(username) if not user: raise HTTPException(404, "User not found") return {"token": create_token(user)} except HTTPException as e: return {"error": e.detail} // Стало (после работы Jules — Result-тип): from result import Result, Ok, Err async def login(username: str, password: str) -> Result[dict, str]: user = await db.find_user(username) if not user: return Err("User not found") return Ok({"token": create_token(user)})
# Jules использует Redis для rate limiting — генерирует middleware: class RateLimitMiddleware: """Middleware для ограничения частоты запросов.""" def __init__(self, app, redis_url: str, max_requests: int = 100, window: int = 60): self.app = app self.redis = await aioredis.from_url(redis_url) self.max_requests = max_requests self.window = window async def __call__(self, scope, receive, send): if scope["type"] != "http": return await self.app(scope, receive, send) ip = scope["client"][0] key = f"ratelimit:{ip}" current = await self.redis.incr(key) if current == 1: await self.redis.expire(key, self.window) if current > self.max_requests: await send({"type": "http.response.start", "status": 429}) return await send({"type": "http.response.body", "body": b'{"error":"Too Many Requests"}'}) return await self.app(scope, receive, send)
| Характеристика | Google Jules | Devin (Cognition) | Claude Code | OpenHands | GitHub Copilot Agent |
|---|---|---|---|---|---|
| Модель | Gemini 2.5 Pro | Проприетарная + GPT-4 | Claude 3.5/4 Sonnet | Любая (Claude/GPT/Gemini) | GPT-4o / o3 |
| Автономность | ✅ Полная (issue → PR) | ✅ Полная | ⚡ Интерактивный (REPL) | ✅ Полная | ⚡ В редакторе |
| Асинхронность | ✅ Да (облачный агент) | ✅ Да | ❌ Синхронный, в терминале | ✅ Да | ⚡ В IDE |
| Интеграция с GitHub | ✅ Нативная (Issues, PR, Review) | ✅ Да | ⚡ Через GitHub CLI | ✅ Да | ✅ Через Copilot Chat |
| Тестирование | ✅ Авто (с фиксами) | ✅ Авто | ⚡ Ручной запуск | ✅ Авто | ⚡ По запросу |
| Self-hosted | ❌ Только Google Cloud | ❌ Только облако | ✅ Да (локально) | ✅ Да (Docker/open-source) | ❌ Только GitHub |
| Open Source | ❌ Проприетарный | ❌ Проприетарный | ❌ Проприетарный | ✅ MIT License | ❌ Проприетарный |
| Цена | Ожидается tier-модель | $500/мес | API-токены + Max/Team план | Бесплатно (свой API-ключ) | Включён в GitHub Copilot ($10–39/мес) |
| Размер контекста | 1M+ токенов | ~200K токенов | 200K токенов | Зависит от модели | 128K токенов |
| Конфигурация | jules.yaml + labels | devin.yaml + Web UI | .claude/settings.json | config.toml + Docker | .github/copilot-instructions.md |
Условные обозначения: ✅ — полноценная поддержка, ⚡ — частичная / требует ручных действий, ❌ — отсутствует
Google Jules — активно развивающийся продукт. Исходя из публичных заявлений Google и направления развития AI-инструментов, можно ожидать:
| Направление | Статус | Описание |
|---|---|---|
| 🐙 GitHub Issues → PR | ✅ Доступно | Базовый сценарий: Issue → планирование → код → тесты → PR |
| 🦊 GitLab-интеграция | 🔜 В планах | Поддержка GitLab Issues и Merge Requests как альтернативы GitHub |
| 📝 Code Review Assistance | 🔜 В разработке | Jules как ревьюер: автоматический анализ PR, предложения по улучшению |
| 🔄 Multi-Agent режим | 🔮 Исследуется | Несколько агентов Jules, работающих параллельно над разными частями задачи |
| 🧩 Пользовательские MCP-инструменты | 🔮 На горизонте | Подключение кастомных инструментов через Model Context Protocol |
| 📚 Обучение на кодовой базе | 🔜 В работе | Персонализация Jules под стиль и паттерны конкретного проекта |
| 📱 Slack/Discord-интеграция | 🔮 Рассматривается | Создание Issues через сообщения в мессенджерах |
Jules — сильный автономный агент для команд, уже использующих экосистему Google
Google Jules представляет собой мощного игрока на рынке автономных AI-агентов для программирования. Его главные преимущества — нативная интеграция с GitHub, не требующая CLI, прозрачный асинхронный процесс с документированием каждого шага, и использование Gemini 2.5 Pro с контекстным окном более 1 миллиона токенов — это серьёзное преимущество для работы с крупными кодовыми базами.
Сильные стороны:
Ограничения:
Кому подойдёт Jules:
Кому стоит посмотреть на альтернативы:
Google Jules — лишь один из десятков AI-инструментов для разработчиков. Исследуйте наш каталог, чтобы найти идеальный инструмент под ваши задачи.
📋 Каталог AI-инструментов ⚖️ Сравнить инструменты