ngvoicu.dev
guide · from the "Becoming an AI Native Company" workshop

Becoming an AI Native Company

by Gabriel Voicu — AI-native consultant & software engineer · 2026

Most companies today use AI as a tool on the side. Someone opens a chatbot, pastes a question, copies the answer back into their real work. That is useful. It is not native.

An AI-native company is different. AI is not an add-on or a feature. It is a core part of how the company builds, thinks, and operates. The test is simple: if you remove the AI, the workflow stops working.

I am Gabriel Voicu. I build software with AI agents every day, and I help engineering teams do the same. This is the guide I wish existed when I started — the practitioner's path from using AI to being built on it.

What is an AI-native company?

An AI-native company redesigns its workflows, its knowledge, and its development process so that humans and agents work together as a system — not as a person using a chatbot.

Here is the distinction that matters.

AI-enhanced: people use AI tools manually. It is helpful and faster, but still mostly person-by-person. Remove the AI and everyone goes back to how they worked before.

AI-native: workflows include AI-powered steps by design. The steps are repeatable, observable, and safe to scale. Humans stay in the loop — approving truth, risk, and direction — but the AI is load-bearing.

That last line is the one to hold onto. Going native does not mean handing the wheel to a machine. It means humans own truth, risk, and direction, and the AI does the generation and the grunt work underneath.

Everything below is how you get there.

The LLM is the engine. The harness is the vehicle.

Start with the parts, because the confusion at most companies is a parts confusion.

A Large Language Model predicts the next token. At scale that becomes useful behavior: explaining, summarizing, planning, coding, reasoning. But an LLM alone cannot read your files, run your tests, or remember what you said ten minutes ago. It is a powerful engine sitting on a table.

A harness wraps the LLM with everything it needs to become a working agent: tools it can call, a file system, permissions, a context window, session memory, and an interface. The model reasons. The harness makes it act.

A Formula 1 engine on a table is impressive and useless. Put it in a chassis with steering, brakes, and a fuel system, and now it can race. LLM plus harness equals agent.

This matters for a practical reason. When people say "Claude Code" or "Cursor" or "Codex," they are naming harnesses, not models. Same engine underneath, different vehicles — and the vehicle you pick shapes what the work feels like. CLI harnesses are usually the most capable for serious repo work; desktop apps are the easiest place to start. You will switch between models and harnesses depending on the task, and that is normal. Pick the model for the domain, then dial the effort for the difficulty.

Session context is the agent's working memory

Every session starts empty. The agent has zero prior knowledge of you or your project until something is loaded into its context.

Context is measured in tokens — a bit more than one per word, since English runs about 1.3 tokens per word — and it only grows. The harness loads a starting set the moment it launches, and every turn you add more: your prompts, the agent's replies, file contents read in full, tool output, stack traces, dead ends you backtracked out of ten turns ago.

This is where teams quietly lose quality, and most never notice.

A bloated context costs you twice. Every turn re-sends the whole session to the model, so a heavy session gets slower and more expensive — and burns through your usage limits faster — while accuracy quietly drops. The agent starts remembering old plans that no longer apply. Answers get vague because the important facts are buried under logs and abandoned attempts.

The fix is context hygiene, and it is a skill worth teaching your whole team:

Clean context beats a big context window. A million-token window still needs structure. Signal beats volume.

Teach the agent your project, then give it a knowledge base

Working memory is fresh every session. So the first real setup step is teaching the agent about your project once, in a way it reads every time.

That is what CLAUDE.md and AGENTS.md do. They are plain files in your repo — a README written for the AI. Tech stack, folder structure, conventions, and the rules that must never be broken: "always write tests first," "never modify the schema directly," "SQL uses snake_case." The agent reads them automatically on every session. Commit them to git and the whole team gets the same agent behavior; new contributors onboard faster because the agent already knows the project.

Above those static files, agents now keep their own auto-memory — notes they write and re-read on their own. It is convenient, but recall is probabilistic: it may resurface the right note, or it may not. So keep anything that must be followed in CLAUDE.md and AGENTS.md, and let auto-memory handle the nice-to-remember details.

None of that is your institutional knowledge. Your architecture decisions, the reasoning behind them, the production gotcha you debugged last quarter — that belongs in a real, shared, git-backed knowledge base. Not a personal scratchpad on one machine.

This is why I built Kluris, a git-backed knowledge base for coding agents. It is an open-source Python CLI that creates knowledge repositories called brains. Knowledge lives as markdown files — neurons — organized into lobes and linked by synapses. Any coding agent can search the brain (BM25 keyword search, no embeddings to maintain), learn from it, and propose additions. And there is a human approval gate on every write: nothing is auto-saved. The brain grows through human judgment, not automated dumps.

Learn once, remember forever, and every teammate's agent inherits the same institutional context.

Vibe coding is for discovery. Specs are for decisions that stick.

There are two ways to work with a coding agent, and confusing them is the most expensive mistake I see.

Vibe coding is when you describe what you want in natural language and steer by feel while the agent builds. You react to what appears instead of starting from a formal spec. It is fast, and it is genuinely the right tool for prototypes, throwaway demos, and exploring UI ideas when the requirements are still fuzzy.

Stop vibing the moment decisions need to stick: production code with real users, work several people must understand, anything touching security, payments, or data integrity, anything you cannot afford to start over on.

Either way, one thing holds: you will not get it in one prompt. Working with an agent is a loop, not a single shot. You prompt, the agent drafts, you review, you refine, and a few turns later it does what you actually meant. Humans are in the loop the whole time — the agent types, a human steers every turn.

When the work has to stick, the loop should start from a reviewed plan. Plan mode is the first step: the agent stops, inspects the repo, explains what it wants to do, surfaces risks, and waits for your approval before it touches a single file.

Spec-driven development is plan mode, evolved. A plan-mode plan lives in the chat and vanishes when the session ends. A spec becomes a real, durable file in the repo — one you treat as a work loop: draft, review, update, implement, and remember across sessions.

This is what Specmint, spec-driven development for AI coding agents does. It plugs into your coding agent and runs the whole spec lifecycle: a research-and-interview forge that reads your codebase before writing anything, durable resumable specs in .specs/, and TDD variants so implementation follows the spec red-green. It works with Claude Code, Cursor, Windsurf, Cline, Codex, and Gemini CLI, and it is free and MIT-licensed. The spec becomes the single source of truth that both implementation and review point back to.

Cross-LLM adversarial review catches what one model cannot

Assemble the pieces so far and you get a repeatable workflow. I call it the Forge Flow, and it is the first real shape of an AI-native team.

Humans own truth and decisions. AI owns generation. Machines own verification. Durable artifacts like specs and memory are co-owned — forged together, remembered forever. The flow runs: receive requirements, branch, write the spec (AI-assisted human), implement with tests (AI), review and polish (AI-assisted human), run CI, update the knowledge base, archive the spec.

Then there is the upgrade that changes the quality of everything: no single model is best at everything, and no author can see its own blind spots.

So write the spec with one strong author model, then hand the same work to one or more different models in fresh sessions and ask them to tear it apart. Feed the best critiques back to the author. Implement only what you and the author agree is right. An independent mind from another family finds the holes the author is structurally blind to — the missing dedupe window, the index that will crawl under load, the edge case nobody spelled out.

The catch is always friction: switching tools, re-pasting your code, losing context. That friction is why I built ConsensFlow, cross-LLM adversarial review from inside your agent. From inside your main agent, you consult a second opinion from another AI coding agent — Claude Code, Codex, Pi, or OpenCode — one participant at a time. It hands the participant a handoff of your current session, gets the answer, and brings it back. Consulting is free and encouraged. There is a consent gate before any of the participant's changes are kept — the same human-in-the-loop principle, applied to review.

Author with one model. Review with another. Keep only what survives.

Harnesses everywhere: how your company becomes smarter

Almost everything above was a coding harness. The bigger idea is that every repeatable workflow can get its own harness.

A harness gives an LLM context, tools, data, guardrails, memory, and a loop. That is the shift that makes a company AI-native: not better prompting, but small operating systems around the work.

Picture a payments team. One harness runs continuously, reads production logs and traces, asks an LLM to explain failures, and stores the analysis. A second harness reads that analysis plus the team's Kluris brain — the domain decisions and business rules — patches the code, runs the tests, and opens a merge request. A human reviews the diff, approves the business risk, and decides what ships. Harnesses chained into a flow, with the human gate exactly where the risk is.

Skills are how you make those harnesses predictable. AI is probabilistic; ask the same thing twice and you can get different paths. A skill is a markdown instruction pack — steps, constraints, examples, reference files, success criteria — that narrows the path before the agent acts. Wrap a business API in a small CLI and write a skill that says which command to run, in what order, and what to check first, and the agent operates your systems by procedure instead of guesswork.

Why this scales: skills are plain files. Put them in a shared repo and every team's agent follows the same review rules, the same release checklist, the same incident runbook. When someone finds a better way, you edit the skill once and the whole company works the new way from the next session. New hires inherit the playbook on day one.

Every spec, decision, review, lesson, skill, and brain neuron compounds into shared intelligence. That is what "your company becomes smarter" actually means — an artifact that outlives the session that created it.

AI adoption for engineering teams: how to teach your people to use AI

Tools are the easy part. The hard part is adoption: getting a whole engineering team to change how it works without chaos, and without anyone feeling replaced.

A few things I have learned helping teams make this shift.

Teach the mental model first, not the tools. Engineers who understand engine-versus-vehicle, context hygiene, and vibe-versus-spec make good decisions with any tool. People who memorized one tool's buttons are lost the moment it changes.

Keep humans owning truth, risk, and direction — out loud. The fastest way to kill adoption is to make people feel the AI is grading them or replacing them. Frame it correctly: the agent generates, the human decides. That framing is not a nicety; it is the load-bearing beam of the whole approach.

Start with one project, not the whole org. Pick one project this week. Write its CLAUDE.md. Plan before you build. Forge one spec. Save one neuron of real knowledge. Let the loop run there, then let the people who felt it teach the next team.

Make the wins durable. A demo impresses once. A committed CLAUDE.md, a spec in .specs/, a brain neuron, a shared skill — those keep paying out. Optimize for artifacts that survive the session.

You do not become AI-native by buying licenses. You become AI-native by redesigning one workflow at a time so that humans and agents work as a system — and by capturing what you learn so the whole company gets smarter with every loop.

Work with me

I run this playbook for a living. If your engineering team is ready to move from AI-enhanced to AI-native, here is how I can help:

Every engagement leaves durable artifacts behind, not just a good demo: a committed CLAUDE.md your whole team inherits, a first spec in .specs/, and a first brain neuron of real institutional knowledge — the seeds of a Forge Flow that keeps working after I leave.

The tools I built and reference here — Specmint, Kluris, and ConsensFlow — are free and open, and a good place to start on your own.

When you want to move faster, reach me at [email protected] or +40 734 704 910.

Pick one project this week. The loop runs from there.

Want this installed in your team?

The workshop, hands-on team training, and adoption engagements — AI-native consulting for engineering teams.

Book a talk or an engagement →