如何证明数据库写入真是 agent 干的?开源验证层 Synathic 的归因设计讨论
Gallegos_Daniel · reddit · 2026-09-09
开发者正在构建开源项目 Synathic,为 AI agent 的工具调用提供验证层,核心问题:工具返回 200 OK 后,如何证明预期的数据库副作用真的发生了、且是这次调用造成的?
- 初版实现「查询匹配行是否存在」有严重误报:行可能在执行前就已存在,失败写入与成功写入无法区分。
- 备选的 schema-free 方案「updatedat > t0」也只是新鲜度检查而非归因:并发 worker、重试、webhook 或人工操作都可能更新同一行。
- 作者当前结论:rowexists 是状态观察而非因果证明;要真正归因,需要在目标行或同事务的 audit/outbox 记录中持久化每次执行的 operationid / 幂等键。
- 同时区分两个问题:读己之写要在 commit 后从主库而非滞后副本验证;并发下的归因要靠操作专属 token 或显式并发语义。
- 向生产环境跑 agent 的工程师征询:是否值得提供 timestamp 锚定的「尽力而为」模式,还是从第一天就强制要求 operation ID?
「编程与Agent」频道最新
- 经济学家:AI Agent 跑计量任务,几乎都得人工修标准误 — danielrock · 2026-09-09
- Meta 个人 AI 助手 Muse 接入 Duffel,可直接搜索比价并预订旅行 — chetanp · 2026-09-09
- OpenAI 求解 Navier-Stokes 背后:边训边部署、万级智能体分工协作 — DataLearnerAI · 2026-09-09
- Hermes Agent 接入 Perplexity 搜索,索引超 4000 亿网页 — Teknium · 2026-09-09
- 开发者开源 contextwise:用 BM25 给 MCP 瘦身省下 3 万 token — b-dub-d · 2026-09-09
- 蚂蚁新编程 Agent 引 OpenAI 高管点赞:后台 computer use 追平 Codex — soumitrashukla9 · 2026-09-09