An AI agent that asks before it pays: human approval for tool calls in Kotlin
Description and use
<p>An agent that only talks is easy to trust. An agent with a <code>refund</code> tool is not. The model decides when to call it and with which amount, and the same question can get a different answer tomorrow.</p> <p>I don't think a better prompt solves that. "Never refund without permission" is a sentence the model usually follows, and "usually" is not good enough for money. What solves it is structure around the model: ordinary code that decides where the model may act alone and where it has to wait.</p> <p>This article builds that in Kotlin, in five steps: an agent, a pause before it acts,
Problem
<p>An agent that only talks is easy to trust. An agent with a <code>refund</code> tool is not. The model decides when to call it and with which amount, and the same question can get a different answer tomorrow.</p> <p>I don't think a better prompt solves that. "Never refund without permission" is a sentence the model usually follows, and "usually" is not good enough for money. What solves it is structure around the model: ordinary code that decides where the model may act alone and where it has to wait.</p> <p>This article builds that in Kotlin, in five steps: an agent, a pause before it acts,
Outcome
<p>An agent that only talks is easy to trust. An agent with a <code>refund</code> tool is not. The model decides when to call it and with which amount, and the same question can get a different answer tomorrow.</p> <p>I don't think a better prompt solves that. "Never refund without permission" is a sentence the model usually follows, and "usually" is not good enough for money. What solves it is structure around the model: ordinary code that decides where the model may act alone and where it has to wait.</p> <p>This article builds that in Kotlin, in five steps: an agent, a pause before it acts,
Evidence
An AI agent that asks before it pays: human approval for tool calls in Kotlin
- Record date: 2026-10-13T13:40:59.060Z