An agent spends tokens creating a branch, then commits to it, pushes it and merges it back into main. On a small change that whole cycle is close to a formality, and every step of it costs another prompt.
Agreed. But the PR review process, for me, was always about multiple things. Some are less relevant now, but not all of them.
- A learning opportunity. Developers can review code, ask questions, see how to scope a feature improvement or bugfix.
I think this still applies, but I was always a fan of collaboration and learning earlier than the PR.
- A code quality gate. Teams review PRs to ensure the project doesn't begin to diverge from the standards and requirements they agreed on.
This has been largely addressed by AI agents. Assuming the codebase is in good shape, has maintained documentation, and the agentic development tools (e.g. skills) leverage the standards and requirements, the code should arrive in the PR already meeting the quality bar.
- A bug or regression firewall. Someone looks at the code or runs it locally to validate it behaves as expected, that those expectations are right, and that the change didn't introduce a regression.
As developers and product managers overlap more, developers might try a branch's code locally to see if it meets their UX and taste expectations, so this scenario still applies. However, I think the testing part can and should be largely handled by AI authored test automation. For Xperience projects, I think E2E tests are the right place to invest.
For teams that want to automate the low-level technicalities of software development, using a PR and CI pipeline run to execute E2E tests is key to moving quickly and with confidence, so the branch > commit > PR process still provides a lot of value in keeping your project bug free and deployable.
- Do you still let the agent do the branch, commit, push and merge, or have you moved that into a script or a hook so the model never touches it?
Yes, I use agents to branch, commit, push, and use a skill to ensure the PR description is as useful as possible to humans and agents.
Depending on the task, I might instruct the agent to do these things or it might do them itself.
- Does a branching strategy like GitFlow or trunk-based still earn its keep when the commits come from an agent?
I never liked GitFlow - I first used it over 10 years ago and our team always saw giant long lived feature branches that were painful to merge, review, and keep regression free. I've stuck with trunk-based development since then, focusing on merging well scoped updates, faster.
- And how do you keep the PR a real review moment once nobody reads every file anymore?
It's less of a mandatory "lead dev reviews every line" gate the way it used to be. I rely more on:
- Automated tests running on a "deployed" instance of the app (deployed within the CI pipeline) to model non-local environments as well as possible
- AI assisted reviews of the PR (using a different model than the one that generated the code)
- Prioritize rolling-forward over rolling-back when the bugs inevitably appear. I try to keep the project always deployable and deploy often so it's "just another weekday deployment" vs "we haven't done this in 4 months, and everyone's scared to push the button".