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.

Efficient Ops
Efficient Ops
Efficient Ops
Rethinking Software Development in the Age of Large Language Models

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.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

large language modelsknowledge managementAI integrationdevelopment automation
Efficient Ops
Written by

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.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.