AI 不是笨,是瞎:企业级 Agent 记忆的三个设计决策

一个智能体就算能读 wiki、任务追踪器、CRM 和三年 Slack 记录,它仍然不知道:决策归谁负责、四份文档哪份是当前版、团队上季度试过又放弃了什么。于是它开始猜,而且信心十足。Tessl 工程博客这篇 “Your AI isn’t stupid. It’s blind.” 的论点是:多数所谓「智能体记忆」只是给失明配了个更大的文件柜。 作者背景可信任:写了 35 年软件,维护每月约 3000 万次下载的 yfinance,过去一年在 VarOps 给跨组织协作的智能体做记忆系统,公开了三个基准、一个测试框架和保留下来的负面结果。 决策一:存主张(claims),不存片段 每条观察提炼成主张:谁、何时、在什么时间段内为真、源文本哪段可作证据,其余有意丢弃。效果:LongMemEval 基准(500 个基于长聊天历史的问题)上,正确证据 99.8% 的问题能进前十结果;摄取 3500 万 token 只花 8.24 美元,跑在两颗 CPU 上,无 GPU。模型还能降级:用 Gemma 4(310 亿参数开放权重)重建整份记录,答案质量只波动 1–2 个点。 「单一前门」的隔离效果:一次基准运行中转换 bug 产出了 5732 条坏提交,前门全部拦下、接受为零;普通存储会把它们全索引进去。 决策二:时间和缺失要显式 什么都不覆盖——新事实取代旧事实时,两条连同日期都留着;每个问题归结为三种状态:已回答 / 搜了没找到 / 超出系统所知。 消融实验值得所有买记忆产品的人记住:同一系统被指示「永远别说信息缺失」,总分几乎不变(88.0 → 87.2),但 30 次诚实拒绝变成了 30 个编造的答案。只按可回答问题评分的话读数是 92.8——发布时用「从不拒绝」协议刷出来的头条数字,要多个心眼。 决策三:权限在模型运行之前决定 两种常见错误:全员共享上下文(系统没法存敏感信息),或者用提示词告诉模型别说(让被约束的对象执行约束)。蒸馏还会破坏文档级权限——一条断言可能来自四个不同权限级别的来源。 正确顺序:先解析身份 → 在该人的授权下检索 → 再调模型;披露级别在写入时确定,不是读取时删减。测试场景:财务读者问收入得到精确值 2,140,000;销售读者问同一主题,得到 2.0M–2.5M 的区间加「上升」趋势,证据里没有一个字节的精确值——权限范围外的人无法区分「被隐瞒」和「没有」。跨五对隔离记忆存储的对抗性探查,45 次全部被拒绝或遏制。 ...

2026-10-09 · 1 分钟 · Joey

定时跑的 Claude:Managed Agents 每日简报智能体的六个组件

Anthropic 开发者博客发了篇 Claude Managed Agents(beta)的实践指南,配了个完整的参考实现:一个定时运行的每日简报智能体,按计划读 Slack 频道和 GitHub PR,往 Slack 发一条简报。代码在 anthropics/claude-quickstarts 的 managed-agents/daily-brief,跑在 Anthropic 托管基础设施上,本机不用保持进程。 六个组件 来源、目标、智能体、计划、记忆、护栏。配置全是声明式文件:agent.md(模型、工具、指令,用 claude-sonnet-5-5)、deployment.md(cron、时区、预算)、vault.yaml(凭证)、两个 memory store 的 yaml,ant apply 一次创建。 真正值钱的是六条运行规则 这类定时 Agent 的坑全在状态管理,文章给的解法可以直接抄: 用书签,不用固定时间窗口。「过去 24 小时」这种写法,运行偏晚会留空档、偏早会重复。正确做法是每次运行结束把各来源最新条目的时间戳写进 bookmarks.json,下次从书签开始,窗口自动伸缩。 读取失败要报「不可读」,绝不报「风平浪静」。MCP 服务器挂了 Agent 照常跑,容易误报「没有新内容」——失败来源的书签冻结,简报末尾注明哪块没读到。 发帖前重新查每一条。「你读的这会儿世界又动了」:已解决的丢弃,有变化的修正,查不到的丢弃并记档。 只有 Slack 返回 ok: true 和消息 ts 才算发送成功,确认后才更新书签和台账。记录了没发出去的帖子 → 书签前进,条目永远漏报;不确定就重发 → 读者收到重复。 每次运行重新读偏好,且从 Agent 无法编辑的只读存储读。读不到就停下来报告,别按默认值硬跑。 只读的地方给只读权限,并限制每次运行的支出。Agent 读的消息里可能埋着注入指令,GitHub token 和 preferences 都是只读;预算从单次正常成本的 3–5 倍起步,超限的运行是暂停而非失败(停止原因 budget_reached),上限设太低的表现是简报悄悄消失。 一个小陷阱 时区:deployment.md 的 timezone 字段控制触发时间,但 Agent 算「今天」也得被告知用哪个时区,否则按服务器时区算会把今早叫成昨天。 来源:AIHOT 转载,claude.dev 原文

2026-10-09 · 1 分钟 · Joey

能付钱的 Agent:LangChain 用 Stripe Link 和托管深度智能体搭了个 Restock

让 Agent 花钱,难点不在「买」,在「安全地买」。LangChain 发了个开源示例 Restock:跑在 Slack 上的办公用品采购智能体,基于 Managed Deep Agents(MDA),能搜真实商品(Zinc)、构建购物车、通过 Stripe 的消费者钱包 Link 完成支付,团队已端到端验证过真实订单和退款到账。 为什么不走浏览器自动化 操纵零售商结账页面有三个问题:页面易变、网站主动阻止自动结账、支付详情必须对模型隐藏。Restock 改走支持 Machine Payments Protocol(MPP)的 API:商家直接返回 402 Payment Required 和支付指令,客户端携凭证重试,金额明确。MPP 生态还在扩张(Apify、Zinc 等已加入),示例用了 Zinc 但模式不绑定它。 凭证隔离:模型摸不到钱 这是整套设计里最值得抄的部分: 模型从不接触任何支付机密;Link 会话存在用户自有的 MDA Connection 里,钱包归用户 Link CLI 在 MDA 托管沙箱内登录;支付工具从私有沙箱文件读令牌、用后即删、只向模型返回公开摘要 支付走双重批准:先在 Slack 里人工审核购物车和预付额,再由用户在 Link 网站上批准——钱包本身对支付的同意 金额控制也在模型够不到的代码里:$25 预算是上限而非扣款额,用户选定 $23 预付,Zinc 留 $1 基础费用,实际零售商订单 $21.18(笔 $14.99 + 税 $1.20 + 运费 $4.99),退回 $0.82。 三种运行模式 环境变量 RESTOCK_MODE 切换:rehearsal(虚构商品+模拟批准,零成本试跑)、link-test(真实搜索和 Link 批准但不购买)、live(真金白银)。当前限制:仅美国配送、仅美元、每个部署对应一个办公室。 可复用的模式总结成一句话:让 Agent 搜索和构建购物车,把支出限额和批准逻辑留在模型无法触及的代码里,只有商家确认后才算订单已下达。代码在 GitHub 仓库 langchain-samples/restock-agent。 ...

2026-10-09 · 1 分钟 · Joey

Google 开源 AQuA:常驻生产环境、给 Agent 做体检的质量智能体

Agent 上线只是开始。Google 在开发者博客开源了 AQuA(Ambient Quality Agent),一个 24/7 与生产 Agent 并排运行的质量智能体:从 Cloud Trace、Cloud Logging 或 BigQuery 里采样真实会话,自动诊断失败、聚类成问题簇、给出带代码行号的根因。数据不出项目边界,它也不在请求路径上,不写回 Agent。 为什么需要它 Google 的判断是:Agent 质量的前 80% 容易——评估集加上编码智能体的内循环,几天就能让已知场景达标;后 20% 难——上线后用户行为漂移、流量偏离评估集,升级模型或框架时健康检查全绿但质量静默下滑。失败还要分四层归因:模型(幻觉参数)、编排框架(路由错子智能体)、工具契约(schema 没写清有效值)、指令本身缺规则。 五阶段流水线 采样:随机抽取最多 1000 个近期会话,成本上限可预测 审查:按九项常见故障清单打分,产出结构化的 actual/expected 发现 聚类:相同失败机制归入候选问题簇 验证:另一个模型最多读三份完整转录复核每个簇,证据不足直接丢弃 跟踪:与 BigQuery 里的开放洞察匹配,标记 NEW/RECURRING,14 天不见自动 RESOLVED 可信度设计很克制:schema 里没有 confidence 字段,每条发现链接到具体 Cloud Trace 会话 ID,每个根因引用的代码行范围由服务器对照部署快照验证——指向不存在的文件或行会被直接拒绝。 实测数字 travel-concierge 示例(32 会话、1583 个 OpenTelemetry span):27 个会话产出 42 项发现、9 个候选簇,验证器拒掉 3 个误报簇,剩 6 个已验证问题。修掉两个单行提示词 bug 后重放同样 32 个会话:座位检查绕过从 15 个会话降到 2(降 87%),vegan 饮食约束丢失从 7 降到 0,整体通过率从 5/32 翻倍到 13/32。 ...

2026-10-09 · 1 分钟 · Joey