How AI agents are autonomously writing and reviewing code