What are the limitations and applications of AI-powered programming techniques like vibe coding and agent engineering?



Developer Simon Willison reflected on AI coding tools, stating that 'vibecoding' and 'agent-based engineering,' which he previously considered separate concepts, are beginning to overlap in his work. This isn't simply about AI being able to write code; it raises the question of how much responsibility professional developers should entrust to AI and where they should relinquish their own responsibility.

Vibe coding and agentic engineering are getting closer than I'd like
https://simonwillison.net/2026/May/6/vibe-coding-and-agentic-engineering/

Mr. Wilson previously described vibecoding as 'leaving it to AI with the attitude of 'it just needs to work,' without looking at the code or paying deep attention to quality.' He believed that while this approach might be useful for small personal tools where the damage from bugs is limited to the user, it would be irresponsible to take the same stance with software that involves other people's information or business operations.

In contrast, agent-based engineering is the practice of using AI tools with an understanding of security, maintainability, operation, and performance by experienced software engineers. Wilson explains that while AI tools have greatly expanded the range of challenges that can be addressed, this is based on his 25 years of experience as a software engineer.



However, as the reliability of the AI coding agent increased, Wilson himself stopped checking production code line by line. Wilson felt that if he had Claude Code execute SQL queries, create a JSON API, and add tests and documentation, it should be able to handle simple tasks correctly. At the same time, he says he felt guilty about using unreviewed code in production.

Wilson likens this situation to using a service created by another team in a large organization. For example, if you receive an image resizing service from another team, the user doesn't read the entire implementation; they read the documentation, actually use it, and only investigate the internals when a problem arises.



However, while human teams have reputations and accountability, Claude Code lacks both professional reputation and accountability. Wilson believes that while AI builds trust through repeated experience of writing correct code, this familiarity could lead to 'normalization of deviations,' potentially resulting in overconfidence in situations where it makes mistakes.

This change also impacts how software is evaluated. Previously, a GitHub repository with 100 commits, a well-organized README, and sufficient testing could be seen as evidence of the author's time and effort. However, now that repositories with the same appearance can be created in a short amount of time, it's becoming difficult to judge quality based on that alone.



Therefore, Wilson says that they now place more emphasis on the fact that someone has actually used it for a certain period of time, in addition to thorough testing and documentation. He believes that even if something is made with vibecoding, if it has been used daily for two weeks, it is more valuable than something that has just been generated and hardly tested.

Furthermore, increased code generation speed shakes up the assumptions of the entire development process. When you can produce 2,000 lines of code a day instead of 200, it becomes clear that processes like design, review, testing, and operation were built to accommodate the constraints of an era when writing code took a long time.

Wilson stated that 'AI is a tool that amplifies existing experience, and the task of understanding what to build, assessing quality and risks, and making it actually usable remains difficult,' suggesting that the work of software engineers is far from over.



In response to Mr. Wilson's blog post, some comments on the social news site Hacker News included opinions such as, 'AI has ambiguous boundaries between what it's good at and what it's not; vibecoding is sufficient for small personal ideas, but if you want to learn new algorithms or APIs, you should write them by hand,' and 'While using AI may make developers lazy, it's also a shift in the focus of work, just as high-level languages have made people stop writing assembly code .'

While there was some harsh criticism that 'even if you generate a large amount of code with AI, if you just overwrite it with a major fix using Claude without understanding the root cause, you'll only create more bugs,' there were also comments suggesting that 'you should separate prototypes from production, and the success or failure of AI utilization depends on engineering proficiency, prompting experience, and domain experience.'

in AI,   Software, Posted by log1i_yk