BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Google AI Agent Jules Aims at Helping Developers With Their GitHub-based Workflows

Google AI Agent Jules Aims at Helping Developers With Their GitHub-based Workflows

Part of Gemini 2.0, Google has launched its new AI-based coding assistant in closed preview. Dubbed "Jules", the assistant aims at helping developers to work with Python and JavaScript issues and pull requests, handle bug fixes, and other related tasks.

Working asynchronously and integrated with your GitHub workflow, Jules handles bug fixes and other time-consuming tasks while you focus on what you actually want to build.

According to Google, Jules is able to create multi-step plans in response to a user's prompt to modify a codebase. It is worth noting that, based on the limited information provided by Google, at the moment Jules seems to require rather specific instructions as to what it is asked to do. This means you will need a good understanding of what will fix a bug or extend a feature and cannot count on Jules to be able to find and fix bugs on its own.

In a recorded session, Google showed how a developer can instruct Jules to look into an issue by providing a description of the problem to solve:

Jules, I need you to help me look into this issue. exec_time_optimization_effort and memory_fitting_effort have recently been exposed to JAX. These flags control the amount of effort the compiler spends minimizing execution time and memory, respectively, where higher means more effort.

But to use them, users have to change their Python code. It would be very convenient to not modify the code by rely on CLI instead. For example:

JAC_EXEC_TIME_OPTIMIZATION_EFFORT=0.5 python3 jax_program.py

To do this, make the following changes:

  1. Add these options to the end of the flags list in config.py following other examples. Valid values are between -1.0 and 1.0, default is 0.0
  2. Then use these in compiler.py to set build_options
  3. Append to most recent existing New Features in the changelog.

Note: do not add tests, they are not needed.

Jules will analyze user's input as well as the relevant codebase and come up with a plan including additional detail as to what changes it is going to carry through. By describing all steps in detail, Jules gives developers full control on its behavior, allowing them to provide feedback or request any changes to the proposed plan.

If the user approves the plan, the agent updates the affected files and shows their diffs. This gives the user the chance to review and merge them manually. As a final step, Jules provides a summary of all executed tasks.

According to Google, Jules can also help developers prioritize tasks and stay informed through real-time updates. As mentioned, Jules currently only supports JavaScript and Python and it is not known whether Google is working on extending it to additional languages.

Jules is currently available in private preview, with Google planning to release it officially in 2025. InfoQ will keep on reporting about its development and availability, which you can also find out on Google Labs website.

About the Author

Rate this Article

Adoption
Style

BT