I’m developing a job-search application, and one of the useful questions has been where to stop helping. Helping someone describe their experience is useful but sending that description to an employer commits them to what it says. For this application, I want the person whose name is on the résumé to have the last word before it goes anywhere.
A fictional example: someone’s notes say they helped test a database migration. An AI draft could describe the tests, explain what was being checked, or ask a question about the work that the résumé hasn’t answered yet. If the draft says they led the migration, it changed the story. That would be worth mentioning, but only if it had happened.
There are subtler ways to get this wrong, too. “Worked with” can become “managed”. A sentence can get more impressive as it gets less accurate, without acquiring any obvious grammatical problems along the way.
When information is missing, a question to the candidate is more useful than a confident addition to their career. The workflow reflects that choice: it uses the candidate’s supplied experience to prepare drafts, and then the user reviews and edits the materials, completes the employer’s application, and confirms whether they applied.
There is another boundary earlier in the process: making an API call to an AI provider means sending relevant information to that provider. Users should understand what information they are asking another service to process before they start.
On the application side, I can check that a response has the expected structure. That tells me whether the application can handle the response, but it cannot tell me whether the user led a migration, managed a team, or saved anyone a million dollars.
So “the user will review it” has to be something the application makes possible. Can they read the whole draft? Change a claim? Decide to leave something out? Do that before the material is sent? If the review step is just a button that everyone hurries past, I haven’t solved much. And after sending multiple résumés in a sitting, a user could start to miss important changes during a well-presented presented review. I certainly have!
I also want people to understand what is happening while they wait, and what happens if they stop. The application includes progress reporting and cancellation. A stop button needs an honest meaning: a request already sent to another service cannot be unsent by just stopping the sender’s processing.
Not every AI-assisted action needs a confirmation dialog. Asking permission to rearrange a private draft can become tiresome. The more useful questions are what the action changes, who will rely on the result, how readily a mistake can be corrected, and what was actually authorized.
The application is still in development. For now, my answer to “Where should the AI agent stop?” is: before a draft becomes a claim made on the user’s behalf, unless they’ve deliberately authorized that next step. As a user, I want the help, and I am responsible for any output that leaves with my name on it.
Where would you put that boundary?