The practice of programming is entering a second AI wave: from AI-assisted coding to AI-driven coding. This survey paper defines the software agent as a control loop coupling a language model to a development environment through tools, and proposes a taxonomy spanning architectural patterns (single-agent, planner-executor, hierarchical, multi-agent teams), tool interfaces (function calling, code execution, terminal access, standardized protocols such as MCP, computer use), and autonomy regimes. It reviews representative systems from SWE-agent, AutoGPT, and OpenHands to Devin, Cursor, and Copilot Workspace, analyzes planning, tool learning, reflection, and multi-agent collaboration mechanisms, consolidates the evaluation landscape centered on SWE-bench and Terminal-Bench, and organizes the emerging risks including prompt injection through tool outputs, destructive actions, and eroding human oversight. It closes with open challenges in long-horizon reliability, safe-by-design agency, and human-agent collaboration.
No takes yet. Share an insight, caveat, or question.
Aref Mahmoudpour (2026) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: