DEV Community

Kamesh Sampath
Kamesh Sampath

Posted on • Originally published at blogs.kameshs.dev on

Intent Compression Ratio: Measuring the Power of Intent

A way to measure how much procedural complexity moves from developers to AI agents, skills, and intent-driven systems.

ICR
From many operations to one intent: visualizing Intent Compression Ratio.

We’ve spent years optimizing execution.

Better APIs.

Better CLIs.

Better automation.

But developers don’t struggle because execution is slow.

They struggle because execution is hidden.

Infrastructure doesn’t fail loudly.

It fails silently — when you get the order or the desired state wrong.

The Problem Isn’t Steps. It’s the Graph

Take a realistic ask:

“I need to deploy a connector with Snowflake Openflow.”

In practice, this often ends with generating a Programmatic Access Token (PAT) to be used by clients like Apache NiPyAPI.

But getting there is not one step.

It’s a graph.

Intent Graph
Programmatic Access Token flow as an execution graph: multiple object operations compressed into one intent.

Each node is valid on its own.

But the ordering and desired state are not optional.

A network policy must exist before it’s attached.

An auth policy must reference the correct role.

The PAT must be generated after all constraints are satisfied.

Get this wrong?

No exception.

No obvious failure.

Just a token that doesn’t authenticate.

A connector that doesn’t connect.

And hours spent debugging across identity, network, and auth layers.

Infrastructure is not procedural.

It is relational.

And we’ve been asking developers to execute that relationship manually.

This is also why many AI agent workflows struggle today. We ask agents to operate on systems that still expose too much procedural complexity.

If an agent has to reason through 12 procedural steps to achieve one outcome, the probability of a hallucinated configuration, missed dependency, or ordering error rises quickly.

This is where Intent Compression Ratio(ICR) starts to matter.

High ICR becomes a prerequisite for agentic readiness.

kubectl apply Was a Hint

We’ve seen this pattern before.

kubectl apply didn’t simplify Kubernetes.

It changed the interface.

From:

Step-by-step execution

To intent:

“Here is the desired state.”

And the system:

  • Builds the dependency graph
  • Determines ordering
  • Reconciles toward the desired state

It doesn’t remove complexity.

It absorbs the graph.

But We Never Measured the Absorption

We say:

  • Intent-driven
  • AI agents
  • Skills

But we don’t ask:

How much complexity moved from the developer to the system?

That’s the gap.

Intent Compression Ratio

I’ve started calling this Intent Compression Ratio (ICR):

A way to measure how much execution complexity is collapsed into intent.

To quantify this, we need a way to measure the “work” the system is doing for us.

  • Ops : Are the total required operations every distinct state-changing API call e.g. IAM binding, network rule, object creation, policy attachment, or validation step.
  • Intent expressions are the semantic goals defined by the user.

Intent expressions

A system with an ICR of 1 is just a wrapper.

A system with an ICR of 10 is an architectural partner.

At first glance, this looks like productivity.

It isn’t.

It measures who owns the system’s complexity.

What Actually Gets Compressed

Not just steps.

Cognitive load

The developer no longer tracks ordering or dependencies.

Dependency graph

The system constructs and executes the DAG.

Desired state

The system ensures correctness of what is being built, not just how.

Failure surface

Fewer invalid states. Fewer silent failures.

Higher ICR doesn’t just mean faster.

It means safer and more predictable systems.

ICR in Action

Let’s ground this with a few examples from the Snowflake platform.

Snowflake is a concrete example but Intent Compression Ratio is the general idea. I use Cortex Code as an Agentic Coding tool proof point.

The pattern is broader than any one platform: whenever developers have to coordinate object creation, dependency ordering, policy enforcement, and desired state, there is an opportunity to compress the graph into intent.

Programmatic Access Token

Intent:

“Deploy a Google connector with Openflow.”

Underlying reality:

  1. Create service user
  2. Create service role
  3. Grant role to user
  4. Create network rule
  5. Create network policy
  6. Attach network policy to user
  7. Create authentication policy
  8. Attach authentication policy to user
  9. Configure PAT policy constraints
  10. Generate PAT
  11. Store PAT securely for client usage
  12. Validate token exchange via Apache NiPyAPI

ICR ≈ 12 Ops / 1 intent = 12

Or expressed as intent compression:

1 intent : 12 Ops

This is not step reduction.

This is dependency graph compression.

Network Access

Intent:

“Allow access to googleapis.com.”

Underlying reality:

  1. Rule definition
  2. Policy creation
  3. Attachment
  4. Grants

ICR ≈ 4 Ops / 1 intent = 4

Or:

1 intent : 4 Ops

External Volume

Intent:

“Set up an Iceberg table with Snowflake.”

Underlying reality:

  1. Storage integration
  2. IAM configuration
  3. External bindings
  4. Volume configuration
  5. Access validation
  6. Table setup

ICR ≈ 6 Ops / 1 intent = 6

Or:

1 intent : 6 Ops

Where Skills and AI Agents Fit

This becomes critical in an AI-driven world.

AI agents are not good at:

  • Long procedural chains
  • Fragile ordering
  • Implicit dependencies

They are good at:

  • Intent
  • Bounded abstractions
  • Repeatable execution units

This is where skills come in.

A skill is not just automation.

It is a compressed execution graph with guarantees.

CEG
A skill compresses the execution graph behind a single expression of intent.

Whether implemented via Cortex Code or any other agentic system, a skill:

  • Encodes ordering
  • Enforces constraints
  • Ensures the correct desired state
  • Handles sensitive steps, such as token handling, safely

So when an agent executes:

“Deploy a connector with Openflow.”

It doesn’t reason through 12 Ops.

It invokes a single semantic unit.

ICR becomes a proxy for how usable a system is for agents.

The Tradeoff

Not all compression is good.

Too Much Compression: Opaque Systems

You run:

“Deploy my connector.”

It works — until it doesn’t.

Now the connector fails to authenticate.

You don’t know which role was created.

You don’t know which policy was applied.

You don’t know if the network rule exists.

You don’t know whether the PAT was generated under the right constraints.

You try to debug.

But there is no visibility into intermediate steps.

There is no way to fix just one part.

Everything is hidden behind the abstraction.

So you abandon it and go manual.

High ICR.

Zero observability.

That is not effective compression.

That is opacity.

Too Little Compression: Fully Manual Systems

Now take the opposite extreme.

You manually create everything:

  • User
  • Role
  • Grants
  • Network rule
  • Network policy
  • Auth policy
  • Token

Everything is visible.

But now you own everything.

You attach the wrong policy.

Or attach it in the wrong order.

Or bind the wrong role.

Or generate the token before the constraints are actually in place.

Nothing errors.

Your PAT is generated.

Your connector is deployed.

But it doesn’t work.

Debugging spans identity, network, and auth layers.

Full control.

Full responsibility.

That is not simplicity.

That is exposed complexity.

Glass Box Compression

The solution to opacity is not to go back to manual scripts.

It is observable intent.

I think of this as Glass Box Compression.

Unlike a black box, where the system performs magic and leaves you clueless when it breaks, a glass box system absorbs complexity while remaining transparent.

Now consider a well-designed skill:

“Deploy a connector with Openflow.”

It executes the full dependency graph.

It enforces ordering.

It validates desired state.

It exposes what it created.

And when something fails, it tells you:

  • What failed
  • Why it failed
  • What was expected
  • What can be retried safely

You can inspect the graph.

You can override specific parts.

You can re-run safely.

This is high ICR with visibility.

That is effective compression.

The Shift

We used to optimize for:

  • Performance
  • Scale
  • Reliability

Now we also optimize for:

How much complexity the system can safely absorb.

Because in an intent-driven world:

  • Developers express goals
  • AI agents invoke abstractions
  • Systems execute graphs

The interface moves closer to intent.

The execution moves deeper into the system.

And the value shifts from:

“How many steps can I automate?”

To:

“How much complexity can I safely stop thinking about?”

Closing Thought

The question is no longer:

“What can this system do?”

It is:

“How much of the system can you safely not think about?”

That is the real power of intent.

And that is what Intent Compression Ratio begins to measure.

This brings the series full circle.

In Infrastructure as Intent, I argued that infrastructure is moving from imperative execution toward declarative intent: developers should describe the outcome, not manually orchestrate every step.

In The Ghost in the Machine, I explored why intent still needs structure. We need the “Spirit of UML” — not necessarily UML diagrams themselves, but a way to model relationships, dependencies, and constraints before systems can safely automate them.

In Intent-Driven Development, I looked at the developer shift: from writing every instruction to shaping the intent that AI systems and platforms can execute.

Intent Compression Ratio connects those ideas.

If intent is the interface, and relationships are the hidden graph, then ICR asks:

How much of that graph can the system safely absorb?

That is the bridge from philosophy to measurement.

In the next part of this series, I’ll look at how to build high-ICR skills into custom AI agents.

About the Author

Kamesh Sampath is a Developer Advocate at Snowflake, an author, and a long-time open-source contributor with 25+ years in enterprise software. He works across data engineering and AI with developer communities, helping practitioners turn modern data platforms into systems that hold up in production.

Through talks, writing, and hands-on demos, Kamesh makes cloud, data, and AI topics easier to understand and apply — grounded in real-world constraints. His sessions mix deep technical detail with practical patterns that developers and data teams can apply right away.

Lately, he has been speaking about Apache NiFi, Snowflake Openflow, Snowflake Cortex, and PostgreSQL.

He believes technology becomes powerful when it is shared, taught, and built together.

GitHub | LinkedIn | Blog | X

Top comments (0)