Google launches Gemini 4 Argon to optimize a massive Python codebase overnight. Google released a new model named Gemini 4 Argon. This model fixed a large Python project in just 11 hours. The project contained about 205,000 lines of code. It spanned nearly 800 different source files. The team used this model to find performance bottlenecks. They ran the model unattended during the night. Most model demos show new apps starting from empty folders. This test used an existing, complex codebase instead. The project is part of the Agent Development Kit (ADK). ADK is an open-source framework for building enterprise agents. The goal was to make the framework run faster. Engineers often struggle with large, existing codebases. A new model can handle many files at once. This approach tests how the model understands the whole system.
The model ran unattended for 11 hours to find performance bottlenecks. The team started the run at 9:11 PM on a specific day. The model worked without human intervention for most of the time. It read many guideline files before writing any code. Argon read 12 files that explained the project rules. It ran a baseline benchmark across four different test workloads. These workloads included package startup and a 200-step conversation. The model also tested a scenario with 20 sub-agents working together. It ran these tests 30 times to ensure accuracy. Even three minutes before finishing, the model checked its own changes. It caught a bug in its own multi-agent cache. The model reran all 16,892 unit tests before stopping. A profiler can tell you which parts are slow. But a profiler cannot trace every caller across 40 files. The model traced these connections to find real issues. It found bottlenecks in session copying and package imports. Session copying happens every time an agent loads history. Package imports load heavy libraries when the agent starts. These actions add up over many turns in a session. The model spent 70 minutes measuring before editing a single line. This careful measurement ensured the fixes were safe. The first round of testing took about two hours. The second round extended the run to 11 hours total. The longer run allowed the model to explore more deeply. It ensured the solution worked for long sessions. It also checked how the model behaved in multi-agent setups.
Argon proposed six changes but only two shipped after code review. The model generated a pull request with six optimization ideas. These ideas touched 32 different files in the codebase. Only two of these changes made it into the final production code. The other four proposals were rejected during the review process. The team combined the best parts of two rounds into one change. This final change consisted of 22 new test functions. The commit note simply stated "Argon generated these changes." The model explored many paths, but humans made the final cut. This division of labor kept the code stable and secure. Some creative ideas from the model broke framework rules. Breaking changes can be unacceptable in a production system. The rejected changes relied on fragile state or private library internals. One change used a weak memory reference that could return stale data. Another change read a private attribute on a tracing library. A rewrite of conversation history made the code harder to read. A lookup index only helped synthetic replay tests. It did not help everyday agent runs in production. The two accepted changes solved core bottlenecks cleanly. They did not rely on hidden or unstable parts of the code. The team kept the public API unchanged throughout the process. They ensured the model received the same data as before. Every change was backed by a test to catch regressions. This prevented new bugs from slipping into the main branch. The model did not need to know maintainer conventions initially. It learned these rules by reading the .agents/skills directory. This directory acts like an onboarding guide for new engineers. Each skill file starts with a short index document. This keeps the context window from flooding with too much text. The model read visibility.md for private module rules. It also read imports.md for lazy-loading checks. These files guided the model on how to behave. The second round followed repo conventions strictly. The first round missed mock event edge cases in the copier. The second round ran all 16,892 unit tests successfully. It opened a review-ready pull request for the maintainers. The maintainers approved the two changes that shipped. They rejected the four changes that introduced risk. The human review step was essential for safety. The model could not guess which changes were safe. The team set up the workflow to support the model. They used Google Antigravity to manage the long-running session. Antigravity preserves the goal across context compactions. This allowed the agent to keep running until the task finished. The team added a rule to request an unmerged pull request. The request included before-and-after numbers for every metric. The model did not merge the pull request itself. It waited for the human team to approve the changes. This ensured quality control remained in human hands.