Follow-up to my "200 OK isn't proof" thread: "done" turned out to be six states, not one

Reddit r/AI_Agents News

Summary

作者跟进此前关于不信任工具调用返回200的讨论,提出AI代理说"done"时实际可能对应六种状态(意图、尝试、接受、应用、正确、生效),并建议对涉及发送/支付/删除的操作进行系统对计划、结果对原始请求的双重校验,避免把"已接受API"误报为"已完成"。

Yesterday I posted here about not trusting a 200 from a tool call. A few people in the comments pushed the idea further than I had, so this is where I landed. When an agent says "done", it can mean any of these: Intended: it decided to do the thing Attempted: it called the tool Accepted: the API returned 200 Applied: the real system shows the change (Sent folder, the row, the calendar event) Correct: the change matches what the person asked for (right contact, right amount, right thread) Effective: the outcome happened (delivered, paid, they showed up) Most agents report 3 and call it 6. The read-back from my last post gets you to 4. The part I was missing was 5, and it came from that thread. A read-back compares the system against the agent's plan. If the agent picked the wrong contact from the CRM, the email goes to the wrong person, the read-back matches the plan, and it gets marked verified. Everything passes and it's still wrong. So for anything that sends, pays or deletes I now do two checks: system vs plan, then result vs the original request. 6 is mostly outside your control. You can't make someone read the message. But you can stop collapsing all six into one word. WhatsApp has done this forever with its ticks: sent, delivered, read. It never claims more than it knows. So the status my agents show now is "accepted by the API", "in Sent", "sent to the contact you named", or "delivered" once a webhook confirms it. Never just "done". Two questions for people running agents that take real actions: Which step does yours actually stop at today? For step 5, what do you compare against? The raw user message, a structured intent you extract up front, something else?
Original Article

Similar Articles