Rethinking Software Engineering in the Foundation Model Era: From Task-Driven AI Copilots to Goal-Driven AI Pair Programmers (AI column)
I read interesting and short. whitepaper About changes in the development of software, preparing to speakAI in SDLC: From Assistants to Agents" In a nutshell, this is a distant article. 2024 year (And for AI, last year's article is really far away.)A. E. Hassan, G. A. Oliva, D. Lin, B. Chen, Z. M. Jiang suggest moving away from task-driven copilot tools to a goal-driven AI partner who understands the goals of development, helps with architecture, code and verification of the result.
If you look closely, the key points are
- Goal‑driven AI pair programmer, where AI is not an autocomplement, but a partner to achieve the goal (feature, bug fix, migration)
- Engineering process **EDD (evaluation‑driven delivery)**which is similar to TDD (test-driven development)but focus on continually checking progress on an evals-based goal
- Fundamentally. multiagent of four agents: -- Target agent Helps to figure out the goals of the engineer, communicating with him and collecting information (working as an analyst) -- Architecture Agent Can design to the specified requirements, knows architectural patterns and can use ATAM (architecture tradeoff analysis method) or -- Code agent A workhorse that can write good code (Not only add, but also refactor and delete dead code.) -- Goal delivery agent An agent responsible for integrating the work of all other agents to bring the project to a successful conclusion. It tracks the fulfillment of final requirements: the conversion of requirements into tests, the relevance of tests when requirements change, and the final passing of all tests. This agent, among other things, accumulates a history of goals achieved and progress, which can then be used for mentoring: as he works, he notes what skills a person acquires, where he makes mistakes. (Related to Developer Training, see Challenge 4). (Simply put, the agent controls that everything is actually implemented and tested by tests, and records lessons for the future.).
The following challenges for the success of such a system Aligning human and AI goals (Minimum clarification, maximum understanding of context) Here we see the famous question of alignment. Natural language communication instead of “prompt engineering” (The best machines write to themselves.) Affordable and smart code-LLM (Quality of project understanding with moderate resources) The role of the AI mentor: adaptive developer training “in pairs” (AI is not only a performer, but also a mentor for an engineer.)
In their study, the authors rely on the following facts:
- Accumulated experience of using GitHub Copilot and analogues in the industry, including identified problems of human interaction with AI Previous attempts to automate development with multi-agent systems (ChatDev, MetaGPT, Devin, etc.)
- Time-tested development methodology (TDD, pair programming) Fundamental theories from education (Bloom mentoring) psychology (Theory of Mind) to substantiate the social-learning aspect of AI
The article was published as a preprint on arXiv in April. 2024 A year later, it immediately attracted attention in the community. Google Scholar is indexing this work; 2024–2025 Over the years, references to it have appeared in a number of new studies. It is worth noting that the authors themselves continued to develop this topic in October. 2024 They released an extended preprint.Towards AI-Native Software Engineering (SE 3.0): A Vision and a Challenge RoadmapIn fact, it develops the ideas of this article. In it, they introduced the terminology “Software Engineering”. 3.0“and described in more detail the research plan for the coming years.”
If you like this topic and are interested in the general state of affairs about how AI affects the engineering culture, then I suggest you go through this topic. survey from T-Bank on the subject. What this survey is about and why it will be interesting told earlier.
#AI #Software #Architecture #Agents #Leadership #ML #SystemDesign