How AI Is Changing Software Development (And What It Can’t Do Yet)

AI coding tools have progressed from basic autocomplete (GitHub Copilot, 2021) to agents that can take a task description, write code, run tests, and iterate (Claude Code, Cursor, GitHub Copilot Workspace). Here is an honest assessment of what has changed and what the limits are.

What AI Coding Tools Are Now Good At

Boilerplate generation: any repetitive code pattern — CRUD endpoints, test scaffolding, database schema creation, configuration files — can be generated faster and more reliably by AI than by typing. Autocomplete at the function level: AI tools (Copilot, Cursor’s Tab completion) can now complete entire functions from a function signature and docstring — frequently correctly. Explaining existing code: “what does this function do?” — AI explanations of unfamiliar code are often faster than reading the code yourself, particularly for code in languages you know less well. Debugging with error messages: pasting an error message and stack trace and asking for the cause and fix — AI tools are good at this for common error patterns. Writing tests: given a function, AI can generate a test suite covering common cases faster than writing tests manually. Documentation: generating docstrings, API documentation, and README sections from code. These tasks collectively represent a significant percentage of what junior developers spend time on.

What Changed in 2024–2026: Agentic Coding

The shift from assistant (answering questions in a chat interface) to agent (taking a task, executing it, iterating) is the most significant change. Claude Code, Cursor Agent, GitHub Copilot Workspace: these tools can take a task description like “add pagination to the user list endpoint” and: read the relevant code files, write the changes, run the tests, see which tests fail, fix the failing tests, and return a final diff for review. This compresses what was a 30-60 minute junior developer task to 3-10 minutes. The feedback loop speed: the most underappreciated change is that AI tools can run tests immediately after writing code, something human developers often defer. This means AI-generated code can self-correct faster than human-written code.

What AI Still Cannot Do Well

System design and architecture: “design a real-time messaging system for 10 million concurrent users” — AI can generate a reasonable starting point, but the decisions about trade-offs (consistency vs. availability, synchronous vs. asynchronous, which database for which use case) require judgement that AI tools frequently get wrong or oversimplify. Understanding business context: “why was this decision made two years ago, and should we change it now?” — AI tools have no organisational memory and cannot reason about the business constraints that shaped the code. Long-horizon complex tasks: tasks requiring more than ~50 steps of non-trivial reasoning frequently produce compounding errors. Novel problem solving: AI tools are excellent at well-trodden paths (common patterns, standard libraries, widely-known algorithms). They are significantly weaker on genuinely novel problems with no close analogues in their training data. The security concern: AI-generated code requires security review — AI tools consistently produce code with injection vulnerabilities, insecure defaults, and incorrect access control patterns. A senior developer review for security is more important when AI is writing code, not less. The realistic position in 2026: AI coding tools make junior developers significantly more productive on well-defined tasks, and make senior developers faster at routine work. They do not replace engineering judgement on complex systems, system design, or security.

上一篇 实际上的冰岛:没有人在你去之前告诉你的事情
下一篇 AI如何改变软件开发(以及它目前还无法做的事情)