Command Palette
Search for a command to run...
소프트웨어 공학의 종말: AI 에이전트가 소프트웨어 패러다임을 근본적으로 재구조화하는 방법
소프트웨어 공학의 종말: AI 에이전트가 소프트웨어 패러다임을 근본적으로 재구조화하는 방법
Zhenfeng Cao
초록
50년 이상 소프트웨어 공학은 다음과 같은 근원적 전제 아래 운영되어 왔다. 인간 엔지니어가 문제를 분해하고, 의사결정 논리를 정적 코드에 인코딩하며, 요구사항이 변화함에 따라 해당 코드를 수동적으로 수정해 왔다는 것이다. 본 논문은 대규모 언어 모델(Large Language Models)을 주요 추론 엔진으로 활용하여 코드를 도구적 자원으로 동적으로 생성하고 폐기하는 AI 에이전트(AI agents)의 등장이 소프트웨어 패러다임의 점진적 개선이 아닌 근본적인 재구성을 의미한다고 주장한다. 복잡도 확장에 대한 일차원적(first-principles) 분석을 바탕으로, 본 연구는 의사결정 논리의 매개체로서의 전통적 소프트웨어와 LLM 기반 추론 루프를 위한 일시적 도구로서의 코드를 제공하는 에이전틱 시스템(Agentic systems) 사이의 차이를 공식화한다. 우리는 라이선스 기반 소프트웨어에서 SaaS로, 그리고 본 논문에서 ‘에이전트-어-어-서비스’로 명명되는 Agent-as-a-Service(AaaS)에 이르는 역사적 흐름을 추적하며, 이러한 각각의 전환이 추가적인 복잡성을 최종 사용자로부터 외부로 이전시켰음을 보여준다. 또한 우리는 에이전틱 시스템의 핵심 연구 대상, 제어 모델, 그리고 인간의 역할이 소프트웨어 공학과 구별되는 새로운 학문 분야인 ‘에이전틱 엔지니어링(Agentic Engineering)’의 출현 개념을 제안한다. SWE-bench Verified, EvoClaw, 그리고 LangChain의 다중 에이전트 조정 연구 등 최근 벤치마크 증거를 분석함으로써, 본 논문은 에이전틱 패러다임의 변혁적 잠재력과 현재의 한계 모두를 입증한다.
One-sentence Summary
This paper argues that AI agents fundamentally restructure the software paradigm by treating code as ephemeral tooling for LLM-driven reasoning loops rather than the carrier of decision logic, formalizing Agentic Engineering and Agent-as-a-Service (AaaS) through first-principles analysis of complexity scaling while demonstrating transformative potential and limitations via SWE-bench Verified, EvoClaw, and LangChain's multi-agent coordination studies.
Key Contributions
- This work formalizes the distinction between traditional software and agentic systems through a first-principles analysis of complexity scaling, defining code as either a carrier of logic or ephemeral tooling.
- The paper introduces Agentic Engineering as a distinct emergent discipline and proposes the term Agent-as-a-Service to characterize the historical shift from licensed software to SaaS.
- Analysis of recent benchmark evidence including SWE-bench Verified and EvoClaw demonstrates the transformative potential of the agentic paradigm alongside its current limitations in sustained autonomous development.
Introduction
Traditional software engineering relies on human engineers encoding decision logic into static code, yet this model struggles with exponential complexity scaling as system interactions grow combinatorially. Current AI-augmented development approaches fail to remove the human bottleneck from design decisions and maintain the latency of traditional software lifecycles. The authors contend that AI agents constitute a fundamental restructuring of the software paradigm where code serves as ephemeral tooling for an LLM-driven reasoning loop instead of the system itself. They formalize this shift as Agent-as-a-Service and introduce Agentic Engineering as a distinct discipline focused on intent architecture and multi-agent coordination.
Method
The proposed agentic system operates on a dynamic architecture where decision logic is generated at runtime rather than being statically pre-programmed. As defined in the formal model, an AI agent system A is characterized by the tuple A=(M,T,M,Π), where M represents the large language model serving as the reasoning engine, T denotes the set of executable tools, M is the memory subsystem, and Π is the planning mechanism.
The overall framework is illustrated in the diagram below, which depicts the central role of the LLM Reasoning Core in orchestrating interactions with the external environment.
The architecture consists of three primary functional modules branching from the core. The Perception module handles multi-modal input processing, translating raw environmental data into a format the reasoning engine can utilize. The Memory module manages semantic, episodic, and procedural information, allowing the system to maintain context and learn from past interactions. The Action module encompasses both internal reasoning processes and the invocation of external tools, enabling the agent to execute code, query databases, or call APIs.
The system operates through an iterative execution loop. At each time step t, the model M selects an action at based on the current state st and the memory subsystem M, formalized as at←M(st,M). The system state is then updated by executing the chosen action, denoted as st+1←exec(at). Unlike traditional software where decision rules D are fixed, this agentic approach allows the LLM to dynamically produce code and adjust behavior based on intermediate results. This paradigm shifts the focus from delivering software artifacts to delivering outcomes, where the agent autonomously plans, executes, and validates tasks to fulfill user intent.
Experiment
Empirical evaluations utilizing benchmarks such as SWE-bench Verified and enterprise debugging workflows demonstrate that agentic engineering outperforms traditional paradigms through process-centric training and multi-agent orchestration. These studies validate that coordinated agents can reduce debugging time and autonomously evolve skills, yet the EvoClaw benchmark exposes significant limitations in continuous software evolution. Consequently, while current systems generalize across the software lifecycle, they face persistent challenges regarding context drift and error propagation during long-term maintenance tasks.