Blog
Engineering
AI
4
minutes

GenAI: A New Paradigm for Problem-Solving with Undefined Inputs

Traditional programming is built around well-defined inputs and deterministic logic. Developers write functions that take structured inputs, apply a predefined set of operations, and return a structured output. This model works well when the input space is predictable, but it struggles with problems where inputs are ambiguous, unstructured, or constantly evolving.
Romaric Philogène
CEO & Co-founder
Summary
Twitter icon
linkedin icon

Generative AI introduces a new programming paradigm where the input does not need to be explicitly defined. Instead of crafting rigid logic to process an input, we define the expected output format and use a prompt as a functional description of how to transform the input. The system then dynamically generates the best possible response, validated against the expected structure.

This approach unlocks solutions to problems that were previously difficult to model with traditional programming techniques. Let's explore this concept with examples and discuss its implications for software development.

The Traditional Paradigm: Defined Inputs, Defined Outputs

In classical programming, a function is designed with a strict contract:

def extract_product_price(text: str) -> float:
"""Extracts the price of a product from a structured input string."""
match = re.search(r"\$\d+\.\d{2}", text)
return float(match.group(0)[1:]) if match else 0.0

print(extract_product_price("The price of the item is $12.99")) # Output: 12.99

Here, the function expects a structured input where the price follows a known pattern (e.g., $12.99). If the format changes significantly, this function will fail.

But what if we need to extract prices from unstructured text? Imagine dealing with various formats:

  • "The cost is twelve dollars and ninety-nine cents."
  • "€10,99 in Europe."
  • "Price: 15 bucks."

Writing rules to cover all these variations would be tedious and fragile. This is where GenAI shines.

The GenAI Paradigm: Undefined Inputs, Standardized Outputs

Instead of crafting complex regex rules, we can define the expected output structure and let a large language model (LLM) handle the extraction dynamically.

import openai

def extract_price(text: str) -> float:
"""Uses GenAI to extract a price from any text format."""
prompt = f"""
Extract the price from the following text and return only a JSON object:
{{"price": number}}.

Text: {text}
"""
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
temperature=0
)
output = json.loads(response["choices"][0]["message"]["content"])
return output["price"]

print(extract_price("The cost is twelve dollars and ninety-nine cents.")) # Output: 12.99

Key Differences:

  1. Unstructured Input Handling: The input can be a sentence, a phrase, or a mix of languages.
  2. Declarative Function Logic: The function doesn’t "parse" the text directly—it describes what it expects.
  3. Format Validation: The AI must return a valid JSON object, ensuring standardization.

Solving Previously Hard Problems

Many real-world problems were difficult to solve with traditional programming because they required extensive rule-based processing. GenAI makes these problems tractable:

1. Extracting Information from Free-Form Text

  • Traditional approach: Regex, NLP pipelines, entity recognition models.
  • GenAI approach: Prompt-based extraction with standardized output validation.

Example: Extracting Job Experience from a Resume

def extract_experience(resume_text: str) -> list:
prompt = f"""
Extract work experience from the given resume and return a JSON list of jobs.
Each job should contain: "company", "position", "years_experience".

Resume: {resume_text}
"""
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
temperature=0
)
return json.loads(response["choices"][0]["message"]["content"])

This works across various resume formats without predefined parsing logic.

2. Generating SQL Queries from Natural Language

  • Traditional approach: Manual query writing or limited keyword-based generation.
  • GenAI approach: Convert text descriptions into valid SQL queries.
def generate_sql(query: str) -> str:
prompt = f"""
Convert the following request into a SQL query. Assume the database schema
is for an e-commerce platform with tables: users(id, name), orders(id, user_id, total_price),
products(id, name, price).

Request: "{query}"

SQL Query:
"""
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
temperature=0
)
return response["choices"][0]["message"]["content"]

print(generate_sql("Get the top 5 customers who spent the most."))

Without writing a SQL parser, we can generate structured queries dynamically.

GenAI as a New Tool in the Developer Toolbox

GenAI is not replacing traditional programming, but it adds a new paradigm that complements deterministic logic. Instead of handling every possible input variation manually, developers can define the desired output format and let AI handle input variability.

Where This Paradigm Works Best

  • When inputs are unstructured: Emails, conversations, scanned documents, free-form text.
  • When transformation logic is flexible: Summarization, language translation, query generation.
  • When the output format is well-defined: JSON responses, function calls, structured data extraction.

Where Traditional Programming is Still Better

  • Highly deterministic workflows: Banking transactions, safety-critical systems, low-level computation.
  • Performance-sensitive applications: High-speed processing that requires low latency.
  • Strict business rules: Tax calculations, legal compliance rules that must be explicitly defined.

Conclusion

GenAI shifts how we approach certain classes of problems by allowing unstructured inputs while maintaining structured outputs. It doesn't replace traditional programming but expands what’s possible, making previously hard problems solvable with simple prompts.

For developers, this means embracing a hybrid approach:

  • Use traditional programming for well-defined logic.
  • Use GenAI where inputs are unpredictable, but outputs can be standardized.

This is a powerful addition to the developer’s toolbox - one that should be embraced to build smarter, more adaptive software.

Checkout the articles below to see how we use AI for real-world use cases at Qovery 👇🏼
Share on :
Twitter icon
linkedin icon
Ready to rethink the way you do DevOps?
Qovery is a DevOps automation platform that enables organizations to deliver faster and focus on creating great products.
Book a demo

Suggested articles

Cloud
Heroku
Internal Developer Platform
Platform Engineering
9
 minutes
The Top 8 Platform as a Service (Paas) Tools in 2026

Build Your Own PaaS: Stop depending on fixed cloud offerings. Discover the top 8 tools, including Qovery, Dokku, and Cloud Foundry, that let you build a customizable, low-maintenance PaaS on your cloud infrastructure.

Morgan Perry
Co-founder
Kubernetes
 minutes
How to Deploy a Docker Container on Kubernetes: Step-by-Step Guide

Simplify Kubernetes Deployment. Learn the difficult 6-step manual process for deploying Docker containers to Kubernetes, the friction of YAML and kubectl, and how platform tools like Qovery automate the entire workflow.

Mélanie Dallé
Senior Marketing Manager
Observability
DevOps
 minutes
Observability in DevOps: What is it, Observe vs. Monitoring, Benefits

Observability in DevOps: Diagnose system failures faster. Learn how true observability differs from traditional monitoring. End context-switching, reduce MTTR, and resolve unforeseen issues quickly.

Mélanie Dallé
Senior Marketing Manager
DevOps
Cloud
8
 minutes
6 Best Practices to Automate DevSecOps in Days, Not Months

Integrate security seamlessly into your CI/CD pipeline. Learn the 6 best DevSecOps practices—from Policy as Code to continuous monitoring—and see how Qovery automates compliance and protection without slowing development.

Morgan Perry
Co-founder
Heroku
15
 minutes
Heroku Alternatives: The 10 Best Competitor Platforms

Fed up of rising Heroku costs and frequent outages? This guide compares the top 10 Heroku alternatives and competitors based on features, pricing, pros, and cons—helping developers and tech leaders choose the right PaaS.

Mélanie Dallé
Senior Marketing Manager
Product
Infrastructure Management
Deployment
 minutes
Stop tool sprawl - Welcome to Terraform/OpenTofu support

Provisioning cloud resources shouldn’t require a second stack of tools. With Qovery’s new Terraform and OpenTofu support, you can now define and deploy your infrastructure right alongside your applications. Declaratively, securely, and in one place. No external runners. No glue code. No tool sprawl.

Alessandro Carrano
Head of Product
AI
DevOps
 minutes
Integrating Agentic AI into Your DevOps Workflow

Eliminate non-coding toil with Qovery’s AI DevOps Agent. Discover how shifting from static automation to specialized DevOps AI agents optimizes FinOps, security, and infrastructure management.

Mélanie Dallé
Senior Marketing Manager
DevOps
 minutes
Top 10 Flux CD Alternatives: Finding a Better Way to Deploy Your Code

Looking for a Flux CD alternative? Discover why Qovery stands out as the #1 choice. Compare features, pros, and cons of the top 10 platforms to simplify your deployment strategy and empower your team.

Mélanie Dallé
Senior Marketing Manager

It’s time to rethink
the way you do DevOps

Say goodbye to DevOps overhead. Qovery makes infrastructure effortless, giving you full control without the trouble.