What makes an agent autonomous
"Autonomous" is doing a lot of work in AI marketing right now. Most tools wearing the label are workflow automation with a model inside: you define the trigger, you write the prompt, you review the output. Useful — and about as autonomous as a dishwasher.
That gap matters because the word sets expectations about who is responsible for what. So here is the definition we actually build against, and an honest accounting of where our own agent sits.
A spectrum, not a switch
- A chatbot answers when asked.
- A copilot suggests while you work.
- A workflow agent runs when your trigger fires — the issue-labeled-"ai" GitHub Action, the nightly cron prompt. It executes your decision.
- An autonomous agent makes the decision. It looks at the state of the world and chooses what to work on, without being asked.
The test is one question: who picks the next task? If the answer is you, you own a very good tool. Not a colleague.
The bar has five properties
Initiative. It selects work from the repo's actual state — open issues, CI health, production errors — not from a prompt queue. Nobody writes "please fix the flaky test" because nobody has to.
Continuity. There is no session boundary. It is simply running: after you close the laptop, through the weekend, until you tell it to stop.
Memory. Yesterday's failed attempt changes today's decision. Without this, "autonomous" means confidently repeating mistakes at machine speed — we wrote up how our memory works in its own post.
Verification past the merge. The classic agent failure, described by everyone who has watched one work: commit, miss the CI break ten minutes later, call it done. For an autonomous agent, merged is the middle of the job. It has to watch what its change did to the world and act on the answer.
Accountability. You can ask why. You can redirect it mid-flight. You can refuse it before it acts. Autonomy without these is why experienced developers reach for the word "babysitting" — the Hacker News discussions on long-running coding agents are full of people who stopped trusting what they couldn't question: "the only way it can get merged is YOLO and then fix issues for months in prod." The skepticism is earned. One commenter put the whole problem in one line: "If AI could reach the point where we actually trusted the output, we might stop checking it."
Kairos against that bar
Kairos is our attempt at all five, and it is honest work to say where each stands.
It picks its own tasks from issues, CI, and production state, and keeps a daemon running with a watchdog for the boring failure modes — sleeping laptops, dropped networks. It remembers: decisions, conventions, and failed attempts persist per repo, so the fix that didn't work in March doesn't come back in July. After every merge it watches the deploy and reacts to what actually happened — up to three fix attempts before it escalates to a human.
And it is refusable by construction. Everything it may do is a config file, .backant.toml: nine permission switches, path scoping, cost and cycle caps, and gates — the actions you name always wait for your approval, from whatever chat surface your Hermes agent lives on. Every decision is journaled with its reason at decision time; ask why and you get the record, or an honest "not recorded." Migrations don't auto-merge unless you explicitly enable it. If the repo changed while a gate was open, your stale yes is refused and it re-proposes against reality.
Where does it deliberately stop? Exactly at those gates. We think the interesting frontier isn't removing the human — it's making the human's involvement cheap: a nudge in chat instead of a babysat terminal.
Numbers, since claims are cheap: 1-cal.com — a full sales platform — was built this way. 118 merged PRs, 16 epics, roughly 5% human intervention. Our repo, our numbers. Your first week will feel more like supervising a new hire; the leash lengthens as its memory fills.
Trust is the product
The hard part of autonomy was never getting a model to write code at 3 a.m. It is earning the right to. Answers on record. A no that is as durable as a yes. Actions bounded by a file you review like any other code.
Kairos is free — sign in at backant.io and run npx backant-kairos. The Claude Code usage it drives stays on your own plan, which is the honest way to say "free." Then ask it why it did what it did. That part still surprises people.