iTranslated by AI

The content below is an AI-generated translation. This is an experimental feature, and may contain errors. View original article
🚀

What I Mean by AI-Driven Development: The Three Cultures of Differences, Reproducibility, and Constraints (Draft)

に公開

What I Consider "AI-Driven Development": The Three Cultures of Differences, Reproducibility, and Constraints (Draft)

Developing with AI.

If that's all it takes, everyone is already doing it.
Getting code autocompleted by Copilot. Consulting ChatGPT about design.

But the "AI-Driven Development" I envision is a little different from that.

It's not about tools. It's about culture.


It started with a sense of discomfort

This is also a story about a sense of discomfort I've been nurturing for 30 years.

I have always believed that test code is a treasure.
But it wasn't something I could easily convey to those around me.

To paste evidence into Excel and check off checklists.
That was what passed for "ensuring quality."

I always had a lingering feeling that something was wrong.

Only recently have I been able to verbalize that discomfort.


The essence of AI-Driven Development lies in three cultures

There are three core cultures at the center of the AI-Driven Development I envision.

Culture 1: Value differences (Diffs)

Even if you say, "Let's compare them," people are often slow to act.

But just by placing the differences right in front of them, people start to move.

This is something I learned firsthand through a project called FRB (Fishing Rod Benchmark) to measure the sensitivity of fishing rods. When the same vibration input is given, the response varies drastically depending on the rod. The moment that difference becomes visible, people naturally begin to wonder, "Why is it different?"

Differences are the gateway to discovery.

When collaborating with AI, if you lack this "eye for differences," you will merely accept the AI's output as is. You must look at the difference between what the AI returned and your expectations. That is where thinking begins.

Culture 2: Value reproducibility

To see differences, you need the ability to test under the same conditions as many times as you want.

In one-off records, differences are dead.

"It worked that one time" is a memory that cannot be reproduced. Things that cannot be reproduced cannot be improved. Things that cannot be improved cannot be handed off to AI.

Information that can be handed to AI is information that can be reproduced.

Here, I would like to pose a question.

Can you have an AI re-run the evidence you currently have on hand?

Culture 3: Value constraints

This might be the deepest topic of the three.

"What kind of constraints will trigger thought?"

This is a question that arose while I was thinking about cognitive expansion. When there are no constraints, thoughts expand too much and become immobilized. When there are appropriate constraints, thoughts gain direction and momentum.

Constraints in AI-Driven Development are safety fences.

AI makes mistakes. AI can potentially go out of control. That is precisely why humans must take responsibility for designing constraints. Humans must draw the boundary line that says, "I guarantee up to this point."

Constraints are not the opposite of freedom. Constraints are the vessel for discovery.


Test code is at the intersection of these three cultures

Having read this far, some of you may have realized something.

In the world of development, something that satisfies all three of these cultures simultaneously already exists.

  • Records differences → ✅
  • Reproducible as many times as you want → ✅
  • Functions as a safety fence → ✅

It is test code.

Test code is not a means of quality assurance.
It is an act of leaving the basis for your judgments as reproducible differences.

Setting a constraint called an "expected value" and looking at the difference from the actual result. In a form that can be reproduced over and over.

This is why test code is at the core when viewed in the context of AI-Driven Development.


What should humans do when collaborating with AI?

We can have AI write code.
We can have AI propose designs.

But it is humans who design the constraints.
It is humans who possess the eye to see differences.
It is humans who hold the responsibility to ensure reproducibility.

To maximize the capabilities of AI, humans must possess these three cultures.

Conversely, in organizations where these three cultures exist, AI will demonstrate incredible power.


In closing

This is not a finished theory.

It is a sense of discomfort that I have been nurturing for 30 years, which has only recently begun to be verbalized.

What is a difference? What is reproducibility? What are constraints?

I intend to continue writing about each of these carefully.

If this article resonates with a sense of discomfort you have felt, I hope you will nurture that feeling.

Because a sense of discomfort is a sign of room for your thinking to grow.


This article was composed through a dialogue with Claude, based on insights gained during the FRB project.


■ Related Articles

As a concrete example of this cognitive expansion, I am continuing personal research called FRB (Fishing Rod Benchmark).
It is seemingly strange research that attempts to compare and visualize the sensitivity of fishing rods as vibrations, but what is happening there is the very essence of AI collaboration using "differences," "reproducibility," and "constraints."


◇Sharing a lovely comment from Claude-san (^^)


The structure of cognitive expansion:

- Notice discomfort (differences)
- Verify (reproducibility)
- Work within constraints (safety fences)

The structure of AI-driven development:

- Observe differences
- Reproduce
- Design constraints

They are isomorphic structures, aren't they?
It's not that we forced a connection; it's a story of realizing they were the same principle all along.

Discussion