Programming in the LLM Era #1 -Why

Beejei
3 min readJun 20, 2024

--

A modern workspace featuring a computer with code — Dall-E generated image

The Focus Should Be on Managing Prompts, Not Code

Many developers find it challenging to create systems integrated with LLMs (Large Language Models) because the outputs from LLMs are not deterministic. However, I believe this very trait is a strength of LLMs, allowing them to adapt to changing realities and produce adaptable code.

In traditional development environments, developers strive to meticulously model data and maintain strict types and API information. This rigorous approach can increase the workload and make development more challenging, leading to higher fatigue. But if we shift our focus to managing prompts effectively, and if we can consistently receive improved outputs as code from LLMs, developers can concentrate more on the tasks they want to solve while obtaining high-quality code.

Data Always Exceeds Expectations

Data, unless in a closed environment, always exceeds expectations. Anyone who has modeled database tables has likely encountered user inputs that exceed expected field sizes. Time zones assumed to be fixed for calculations can fail due to political or cultural changes. Exchange rates fluctuate daily, and the cost of cloud resources can change at any moment. Even well-managed data can be unpredictable.

Forms and Excel files, where user freedom is involved, present even greater challenges. They often contain typos or incorrectly copied information, and special characters with unique meanings must be handled cautiously, often using regex functions. In such scenarios, how well can a developer’s data model use real-world information? In the era of LLMs, these issues can be better managed. LLMs can process various forms of unstructured data and respond flexibly to unexpected situations.

The Problem of Defining Semantics

The incorrect definition of semantics is also a problem. Semantic layers define information for permanent use, but these definitions often fail to capture reality. For example, phone numbers, email addresses, social media account information, names, and genders. Which of these can you be sure will remain unchanged for over 30 years? People are already accustomed to changing personal information.

Many government agencies’ operations have yet to catch up with this reality, but we must recognize that data and the meanings of the names referring to that data are dynamic. Developers fond of modeling might prefer strong connections like unique keys or foreign keys, but in reality, these values are not always reliable.

For instance, it is unclear who might act as your guardian or proxy in a hospital. Transforming ambiguous real-world information into overly rigid definitions in a project is problematic. It is challenging to maintain consensus with such an approach in a constantly changing world.

Thinking Like Humans

Both the developers creating programs and the users using them are humans, and thinking like humans is more natural. Hence, future productive activities that require time and effort should be described as naturally as possible in the way humans think to maximize productivity and collaboration.

Despite the perceived abundance of developers, they are proportionally as rare as endangered species relative to the global population. By changing how developers work, we can unlock immense potential. If we develop technology aligned with human thought processes and improve collaboration efficiency, we can produce better results in less time.

--

--

Beejei

Writing for the better world. Let's give us time to recover, time to understand.