Rethinking Software Development in the Age of Large Language Models
The article examines fundamental challenges of applying large language models to software engineering—such as scale limits, lack of abstract reasoning, hidden tacit knowledge, and maintenance difficulties—and proposes practical recommendations for integrating AI with disciplined development practices.
From the Essence of Large Models and Software Development
I reflect on the intrinsic issues of large models and software engineering. While ChatGPT‑3.5 is impressive today, future iterations may close many gaps, yet the core difficulties of model training and software engineering remain.
Thought 1: Scale and Complexity Constrain Human‑Machine Collaboration
Large‑model successes are limited to codebases of a few hundred lines, whereas real systems span millions of lines. A single person cannot steer such complexity, and large models, trained token‑by‑token, struggle with global control, often behaving like greedy local optimizers.
Thought 2: Large Models Lack Abstract Thinking
Because training relies on massive text corpora, models acquire a flattened understanding and cannot grasp high‑level abstractions or precise correctness; they may produce 80‑95% correct code but still require human verification.
Consequently, traditional modular design and information hiding remain valuable, as they help humans manage complexity and verify code.
Thought 3: Software Development Involves Tacit Knowledge
Much of our expertise resides in informal sketches, whiteboard discussions, and undocumented decisions that large models cannot capture, even if recorded as images or audio.
Thought 4: Models Offer Limited Support for Maintaining Complex Systems
When code is added to long‑standing projects, understanding the full architecture, APIs, and context exceeds current model capabilities.
Embracing Large Models the Right Way
While I advocate adopting large models, we must differentiate software types. For cloud‑native platforms with thin application layers, models can have deeper impact, but end‑to‑end code generation for large, complex systems is unrealistic.
Recommendation 1: Strengthen Digital and Knowledge Foundations
Improve digital traceability—why code changes, error origins, and recurring bugs—to avoid knowledge waste and repetitive implementations.
Recommendation 2: Focus on Core Skill Development
Classic software‑engineering techniques (e.g., contract‑based design) will likely be revitalized by large models, but must be combined with data‑driven AI methods.
Recommendation 3: Build an Intelligent Interaction Engine Between Models, Humans, and Tools
Achieving 3‑5× efficiency gains requires seamless human‑machine collaboration, integrating large models with various development tools to approach true software‑development automation.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Efficient Ops
This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
