想去哪里?

首页 页面 关于 页面 项目 页面 简历 页面 技术 页面 随笔 页面 联系 页面 隐私政策 页面 Terminal Spike 隐私政策 页面 用 Astro 构建文档与职业个人网站 技术 通过 tmux、Mosh、Termius 与 Tailscale 随处使用 Codex 技术 用 Langfuse 观察 Codex 的 MCP 工具调用 技术 产品应用中的本地化 技术 把 MCP 作为安全的 AI 集成边界 技术 用 Zod、OpenAPI 与 Swagger 维护 API 契约 技术 用 pg-boss 运行持久后台任务 技术 通过真实知识工作流理解 pgvector 与 RAG 技术 Pi Edge:让 Pi 待在 Obsidian 笔记旁 技术 为真实排序任务设计拖放交互 技术 Prisma 与 PostgreSQL:产品状态的事实来源 技术 把 Ralph Loop 当作计划队列 技术 用 React Router 组织全栈产品工作流 技术 把 shadcn 风格组件变成自己的产品系统 技术 用表格与编辑器承载密集业务操作 技术 Terminal Spike:原生 Android 终端 技术 在 Linux 上用 fcitx 输入带声调的拼音 技术 在 Linux 上配置 DEFT Pro 轨迹球 技术 在 KOReader 上使用 Pocket 稍后读 技术 为 Vercel AI SDK 设置明确的工具边界 技术 垂直切片架构与 dependency-cruiser 技术 用 Vitest 与 Playwright 测试产品工作流 技术 我的随处工作流:Herdr、code-server、Obsidian 与 Pi Edge 技术 Zod 不只是校验 技术 《卡拉马佐夫兄弟》是我看过最好的小说 随笔 基督徒口述1960劳改历史 随笔 圣经中的“道”与言语 随笔 我们爱,因为神先爱我们,而不是空洞的“自爱” 随笔 妈妈,让我来承担爸爸的过错吧 随笔 我与神的故事 随笔 世界远离上帝,接近中国 随笔 “爱的五种语言”和内外向,只存在于语言中 随笔 人格类型不存在,你在世界而非概念中生活 随笔 危险的词语:为什么心理学是不可能的 随笔 2000 年,一个深圳打工者的故事 随笔 阿联酋Ras al Khaimah见闻录 随笔 沙甸:1975 年的一场冲突 随笔 关于中国的纪录片 随笔
← 技术/工程实践

为 Vercel AI SDK 设置明确的工具边界

AI 工具在修改产品数据前,需要 schema、权限、确认与审计记录。

AI 功能的风险不在聊天界面,而在聊天被允许做什么。

给助手工具,很容易让它显得强大。通过 Vercel AI SDK,它可以读数据、准备改动、调用操作并用自然语言解释结果。这很有用,也可能成为进入重要产品行为的隐蔽侧门。

我倾向把 AI 工具当作产品边界。每个工具应有 schema、权限检查、明确结果,并决定它是只读还是会修改数据。

const DraftChangeSchema = z.object({
  recordId: z.string(),
  summary: z.string(),
  proposedValue: z.string(),
});

schema 不只提供 TypeScript 便利,也描述助手被允许请求什么,并限制服务器接受什么。

重要改动需要确认:助手草拟并解释原因,用户审阅摘要后决定是否应用。在确认之前,不改变重要数据。

助手:准备修改
用户看到:摘要、受影响记录、建议值
用户选择:确认或取消
服务器记录:谁在何时确认,具体改了什么

这比直接执行慢,正是目的所在。涉及持久数据、权限、计费、文档和流程状态时,一点阻力有价值。

只读工具适合作为第一步,助手可以回答而不修改。即便如此,权限仍然重要:普通界面无权读取的数据,助手也无权读。

确认文案也不能含糊。高风险动作只写“应用”不够,面板应以日常语言说明对象、建议修改与后果。

AI 介入后,审计更重要。应记录助手提出什么、用户批准什么,不是因为 AI 神奇,而是路径比普通表单更间接,未来调试需要还原过程。

代价是产品速度。确认太多会烦人,太少又不安全。我愿先严格,再只对风险低、可逆且已充分理解的动作放宽。

不要从把全部工具交给 AI 开始。先做一个狭窄任务:读用户本就可见的记录,用严格 schema 草拟修改,展示将发生什么,写入前确认,并记录结果。

边界未来应如何变化,仍是开放问题。有些动作可能逐渐适合直接执行,有些则始终需要审阅。答案不只在技术,还取决于信任、可逆性和错误代价。