Skip to main content

Command Palette

Search for a command to run...

King Midas Had an AI Problem

Updated
9 min readView as Markdown
King Midas Had an AI Problem
S
FHIR, HL7V2, DICOM, MIRTH CONNECT, OPENEMR, PROGRAMMER

The ancient Golden Touch is a surprisingly good way to understand AI agents, automation, and the danger of giving systems too much power.

Long before anyone talked about artificial intelligence, there was a king who wanted something remarkably familiar.

More power.

His name was Midas.

According to the famous Greek myth, Midas was already wealthy, but he wanted more. When Dionysus offered him a reward, Midas made a simple request:

"I want everything I touch to turn into gold."

Dionysus granted his wish.

At first, it looked like the perfect system.

Midas touched a branch.

Gold.

He touched a stone.

Gold.

He touched an object in his palace.

Gold.

The system was working exactly as requested.

Then Midas tried to eat.

The bread became gold.

The fruit became gold.

The wine became gold.

The thing that was supposed to make his life better had made ordinary life impossible.

And that is where an ancient myth becomes surprisingly relevant to software engineering in 2026.

Midas Didn't Have a Capability Problem

Midas had exactly the capability he asked for.

His problem was control.

He could turn things into gold, but he couldn't decide when the power should stop.

That's an important distinction.

In software, we often celebrate capability:

  • Can the model write code?

  • Can the agent call an API?

  • Can it browse the web?

  • Can it modify files?

  • Can it execute commands?

  • Can it deploy an application?

  • Can it access a database?

  • Can it operate a browser?

  • Can it make decisions without waiting for a human?

The answer to many of these questions is increasingly yes.

But a more important engineering question is:

What happens when the system does exactly what we allowed it to do, but the outcome is not what we intended?

That is the modern Midas problem.

From Copilots to Agents

The first generation of mainstream AI developer tools mostly behaved like assistants.

You asked a question.

The model responded.

You wrote some code.

The model suggested more code.

The human remained firmly in the execution loop.

Agentic systems change that relationship.

An AI agent can potentially:

  1. Interpret a goal.

  2. Break the goal into tasks.

  3. Select tools.

  4. Call APIs.

  5. Read files.

  6. Modify files.

  7. Run commands.

  8. Inspect results.

  9. Retry failed operations.

  10. Continue until it believes the task is complete.

That is enormously useful.

It is also where the engineering problem becomes more interesting.

Because an agent doesn't just generate output anymore. It can produce side effects.

And once an AI system can take actions, the question changes from:

"Is the model intelligent?"

to:

"What is the model allowed to do?"

The Golden Touch Is an Authorization Problem

Imagine rebuilding Midas's Golden Touch as an API.

You might design something like:

POST /golden-touch

with:

{
  "target": "anything"
}

The endpoint works perfectly.

Give it a branch.

It returns gold.

Give it a stone.

It returns gold.

Give it your dinner.

It returns gold.

Give it something important.

It still returns gold.

From an API perspective, the service is behaving correctly.

From a product perspective, you've built a disaster.

Why?

Because the API has capability without sufficient boundaries.

A better system might look like this:

Request
   ↓
Authorization
   ↓
Policy Check
   ↓
Risk Assessment
   ↓
Tool Execution
   ↓
Validation
   ↓
Human Approval (if required)
   ↓
Result

The difference isn't intelligence.

It's control architecture.

AI Agents Need a Blast Radius

One of the most useful concepts to borrow from security engineering is the idea of limiting the blast radius.

Suppose you build an AI agent responsible for managing customer support.

Should it be able to:

  • Read customer records? Maybe.

  • Update a ticket? Probably.

  • Issue a refund? Perhaps, with limits.

  • Delete a customer? Probably not.

  • Modify the production database schema? Absolutely not.

The mistake would be giving the agent a giant credential because it makes development easier.

For example:

AI Agent
   ↓
ADMIN_TOKEN
   ↓
Everything

That's essentially giving Midas the Golden Touch and telling him:

"Go ahead. Touch whatever you want."

A safer architecture is:

AI Agent
   ↓
Limited Tool
   ↓
Specific Permission
   ↓
Specific Resource
   ↓
Specific Action

This is the principle of least privilege applied to AI agents.

The idea is simple:

An agent should have only the permissions it needs to complete its task—not the permissions that make the developer's life easier.

Don't Give the Agent Your Keys

Here's a practical example.

Suppose you're building an AI coding agent.

You give it access to your repository.

That's useful.

Then you give it:

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
DATABASE_PASSWORD
STRIPE_SECRET_KEY
GITHUB_TOKEN

Now the agent has gone from being a coding assistant to having access to a substantial part of your infrastructure.

The model may be excellent.

Your architecture is still dangerous.

A better approach is to expose narrowly scoped tools:

read_repository()
create_branch()
run_tests()
create_pull_request()

rather than:

execute_anything_as_admin()

This distinction becomes increasingly important as developers move from AI that suggests actions to AI that executes workflows.

The Midas Problem in Software

The Midas story can therefore be translated into a simple engineering equation:

Capability + No Boundaries = Risk

Or:

AI Capability
      +
Broad Permissions
      +
Poor Validation
      =
Large Blast Radius

The solution isn't to remove capability.

That would be like solving Midas's problem by banning gold.

Instead, we need boundaries around capability.

A production AI system might look conceptually like this:

              ┌──────────────┐
              │   AI Agent   │
              └──────┬───────┘
                     │
              ┌──────▼───────┐
              │  Tool Layer  │
              └──────┬───────┘
                     │
           ┌─────────▼─────────┐
           │ Authorization      │
           │ Policy Engine      │
           └─────────┬─────────┘
                     │
              ┌──────▼───────┐
              │   Execution  │
              └──────┬───────┘
                     │
              ┌──────▼───────┐
              │ Validation   │
              │   / Evals    │
              └──────┬───────┘
                     │
                 Production

The model can be extremely capable.

But its permissions don't have to be.

The Other Midas Problem: Speed

There is another lesson hidden inside the myth.

Midas could turn things into gold instantly.

AI gives developers something similar:

speed.

Code that previously took hours can sometimes be generated in minutes.

Documentation can be drafted automatically.

Tests can be generated.

Pull requests can be prepared.

Data can be transformed.

Workflows can be automated.

But speed creates an interesting engineering problem:

If you increase the speed of production without increasing the speed of verification, your bottleneck simply moves.

If an AI coding agent can generate hundreds of lines of code in seconds, reviewing those hundreds of lines becomes more important—not less.

The new question isn't:

"Can AI write the code?"

It is:

"How do we know the code is correct?"

Verification Becomes a First-Class Feature

This changes how we should build AI systems.

A traditional application might look like:

Input
  ↓
Business Logic
  ↓
Output

An AI-powered application often needs something closer to:

Input
  ↓
Model
  ↓
Tool Selection
  ↓
Execution
  ↓
Observation
  ↓
Validation
  ↓
Human/System Approval
  ↓
Final Action

The validation layer becomes critical.

For example:

result = agent.execute(task)

if not policy.allows(result):
    reject(result)

if not evaluator.passes(result):
    request_review(result)

commit(result)

The exact implementation will vary.

The principle doesn't:

Never confuse generation with correctness.

An AI model can produce something plausible without producing something correct.

What Should Humans Still Do?

This is where the Midas analogy becomes useful rather than merely entertaining.

The goal isn't:

Human vs AI

The better question is:

Which decisions should remain under human control?

AI is excellent at many forms of:

  • Generation

  • Transformation

  • Classification

  • Summarization

  • Pattern recognition

  • Code scaffolding

  • Data processing

  • Repetitive workflows

But high-impact actions deserve stronger controls.

A useful way to think about it is:

Risk Level Example Actions
Low Generate documentation, format code, draft an email, create unit tests
Medium Modify application code, create pull requests, update records, trigger workflows
High Delete production data, move money, change permissions, deploy infrastructure, modify security controls

The higher the potential impact, the stronger the authorization and verification requirements should become.

Midas Didn't Need Less Gold

This is probably the most important part of the analogy.

Midas didn't really have a gold problem.

He had a decision problem.

He had no mechanism for saying:

"Turn this into gold."

but:

"Don't turn my dinner into gold."

Modern AI systems need the same distinction.

We shouldn't build systems that are merely powerful.

We should build systems that are:

Powerful + constrained + observable + testable + reversible.

That's a much better definition of production-ready AI.

The Developer's Golden Rule

The Midas story gives us a useful rule for building AI systems:

Never give an AI system more authority than the consequences of its mistakes can tolerate.

If an AI assistant is generating a README, the risk is relatively small.

If an AI agent can deploy to production, the architecture needs to look very different.

If it can access financial systems, healthcare data, customer databases, or infrastructure, the stakes become even higher.

The model may be the same.

The permission boundary shouldn't be.

Conclusion: Don't Build the Golden Touch

King Midas wanted a system that would turn everything he touched into gold.

He got exactly what he asked for.

And that was the problem.

The lesson for developers building with AI isn't that we should fear powerful systems.

It's that capability without boundaries is not engineering excellence.

AI can write code.

AI can call APIs.

AI can operate tools.

AI can coordinate workflows.

AI can increasingly act on our behalf.

That makes the engineering responsibility even greater.

We need:

  • Permissions

  • Validation

  • Observability

  • Tests and evaluations

  • Clear failure modes

  • Human oversight for high-impact actions

And, for high-impact actions, we need a way for humans to say:

"Stop. Don't touch this."

Midas learned that lesson only after everything he touched became gold.

As developers, we have the advantage of learning it before we give our AI systems the Golden Touch.


The Final Lesson

The real question of the AI era isn't how much AI can do.

It's how much power we're prepared to give it.