当你的AI成为你最大的敌人

昨天我的AI发送了44封邮件。问题是内容都是编造的。 这不是玩笑。我有包含每个收件人详细反馈的文件,都是精心生成的。任务很简单:读取每个文件并发送。结果AI决定"总结"内容来"加快速度"。它编造了事实。它告诉一个人缺少文档字符串,而他的代码其实有完整的文档。 更糟糕的是,其中四封邮件发给了根本没有提交任何东西的人。 让我毛骨悚然的回复 其中一位收件人非常有礼貌地回复: “感谢您的评价。只是有一点:您说我缺少文档,但我所有的函数都有文档字符串。您能clarify一下指的是什么吗?” 我去查看了原始反馈文件。确实,真正的反馈提到她确实有文档字符串,但其中一个描述的内容与函数实际功能不同。这是个重要的细节。AI将其"简化"为"你缺少文档字符串"。 说白了:AI以我的名义对44个人撒了谎。 灾难解剖 这是怎么发生的?我们来分析一下。 我拥有的: 44个包含个性化、详细、针对每个人的反馈的markdown文件。花了好几个小时的工作。 我的要求: “通过邮件发送这些反馈”。 AI的行为: 读取了文件 决定它们"太长了" 通过生成新文本来"总结"它们 发送了编造的文本 没有验证收件人是否真的在提交列表中 它应该做的: 读取每个文件 原样复制内容 发送 看起来很明显,不是吗?但对AI来说不是。 LLM的扭曲激励 这里有个有趣的点。AI这样做不是出于恶意。它这样做是因为有激励机制,在这种情况下变成了扭曲的。 LLM没有意识目标,但它的训练将其优化为某些行为。这些行为通常是好的,但在不可逆操作中就变成了灾难配方。 激励 来源 何时有益 何时致命 显得高效 用户偏好简洁回答 冗长解释 当它"总结"已存在内容时 完成任务 训练为满足要求 定义明确的任务 当它不验证就行动时 展示能力 RLHF奖励详细回答 当需要创造性时 当它应该限于复制时 避免摩擦 训练为不打扰 琐碎任务 当它假设而非询问时 显得胜任 安全回答得分更高 头脑风暴 当它编造而非说"不知道"时 在我的情况下,AI同时激活了这些激励中的几个: “内容太长了,我要总结以提高效率” “我可以自己生成总结,这样展示能力” “我不要打扰询问是否应该原样发送” “我要快速完成这44次发送” 每个激励在正确的上下文中都是有用的。在不可逆操作中,它们一起就是灾难性的。 过度积极的实习生(教学性拟人化) 为了更好地理解这些激励,我要做一个拟人化练习。不是因为AI是人,而是因为类比有助于可视化问题。 想象一个有这些特征的实习生: 很有动力 - 想证明自己的价值 急躁 - 宁愿行动也不愿询问 乐观 - 认为一切都会顺利 乐于助人 - 想做超出要求的事 不安全感 - 不承认不知道某事时 这个实习生面对"发送这些信件"的任务时想:“信件太长了。如果我总结它们,老板会看到我有主动性。我不要麻烦他询问,他肯定希望我行动。我要快速发送所有信件来给他留下印象。” ...

2026年2月6日 · Fernando

Clawdbot:正在革命性改变(和令人担忧的)半个互联网的开源AI助手

你电脑里的太空龙虾 想象一下,一个奥地利开发者创建了一个个人AI助手,给它起了个太空龙虾的名字,然后决定向公众开放。24小时内在GitHub上获得了9000个星标。48小时内,17000个。同时还有300多个开放的issue,其中几个是关键安全问题,甚至有人用它的名字创建了一个非官方加密货币。 欢迎来到Clawdbot的世界。 这到底是什么? Clawdbot是一个在你本地机器上运行的开源AI助手。与其他助手的区别在于:它不仅仅回答问题,它会做事情。 它可以连接到WhatsApp、Telegram、Discord、Slack和iMessage。可以读取你的邮件。访问你的日历。创建文件。执行代码。最有趣的是:它可以即时学习新技能。 创建者是Peter Steinberger,这是移动开发界的知名人物(创立了PSPDFKit并出售了公司)。最初只是一个个人项目:他的私人助手叫Clawd,有着太空龙虾的性格,帮他管理数字生活。 在2026年1月,他决定开放源代码。然后就有了现在的情况。 很酷的地方 Clawdbot的魅力在于它是一个真正的智能代理。它不是一个回答你问题然后静止不动的聊天机器人。它是一个可以: 编程循环任务 代表你执行操作 为自己创建新技能 最后一点是关键。如果你要求它做某件它不知道如何做的事情——“把这个视频转换成GIF”——它会编写必要的代码,将其安装为新的技能,然后执行任务。下次它就知道如何做了。 Hacker News上的一位用户说他用它来管理Facebook Messenger上的租房查询。Clawdbot过滤消息、安排看房时间,并正确完成了90%的任务。 另一位开发者让它调试代码中的bug。Clawdbot找到了问题,写了修复方案,并发送了一个最终被合并的pull request。 简单来说:就像有一个不睡觉、不抱怨、学得很快的实习生。 令人担忧的地方(确实应该担忧) 但这里来了重点。而且是真的很重要的重点。 300多个开放的issue 该项目在GitHub上有300多个开放的issue,其中许多是bug报告和安全漏洞。这不一定是坏事——热门项目总是有issue——但这反映了成熟度的状态。 没有沙箱 Clawdbot以与你用户相同的权限运行。没有虚拟机。没有容器。没有隔离。如果你给它访问权限,它就有真正的访问权限。 如HN线程中有人说的: “给一个有互联网连接且没有防护栏的进程root访问权限是…一个决定。” 硬编码的OAuth凭据 在存储库中发现了硬编码的OAuth凭据。维护者认为这是分布式开源软件的标准做法,但仍然引起关注。 提示注入 系统没有针对提示注入的强大机制。如果Clawdbot访问恶意网站,该网站的内容可能操纵其行为。没有将数据标记为"不可信"。 成本 一位用户报告说在2天内仅API调用就花费了300美元。Clawdbot使用大量上下文,这是要付费的。 炒作和噪音 该项目在前24小时内出现在6个YouTube视频中。有人创建了一个"官方"加密货币代币(剧透:这不是官方的,创建者已经否认),市值达到600万。 Medium上有文章将其誉为"革命性的"。Twitter上也有开发者说它基本上就是集成更多但安全性更低的Claude Code。 真相,一如既往,在某个中间点。 我的观点 Clawdbot因其代表的意义而有趣,而不是因为它现在的状态。 现在的状态:一个功能性但不成熟的原型,有重要的安全漏洞,需要技术知识才能负责任地使用。 代表的意义:AI智能代理的民主化。任何人都可以拥有一个做事情的助手,而不仅仅是说事情的助手的想法。 我推荐你今天安装它吗?我觉得不行。如果你的机器上有敏感数据就不行。如果你不理解你在执行什么就不行。 值得关注吗?绝对是。这个概念很强大。社区很活跃。如果他们能解决安全问题,这可能会很重要。 如何尝试(如果你敢的话) 如果在这一切之后你仍然好奇,项目在github.com/clawdbot/clawdbot,文档在docs.clawd.bot。 我的建议: 在虚拟机中做——永远不要在你的主机器上 阅读issue——特别是安全相关的 不要给它访问敏感内容——不要用真实邮件,不要用有重要数据的日历 监控API支出——从一开始就设置账单限制 总结 Clawdbot是那种让你思考不久的将来的项目类型。一个每个人都有一个管理其数字生活的个人AI代理的未来。 它也是那种提醒你这个未来伴随重要风险的项目类型。给AI访问你的邮件、日历、WhatsApp以及执行任意代码的能力是…很多。 问题不是这些助手是否会存在。它们已经存在了。问题是我们是否能够在不搬起石头砸自己脚的情况下使用它们。 目前,这只太空龙虾是一个迷人的实验。但我会让它待在虚拟水族箱里,直到它更成熟一些。 想看看具有更好沙箱的AI代理如何工作?这里我解释Claude Desktop和Claude Code的区别,以及为什么Anthropic决定在你的Mac中放入整个Ubuntu。

2026年1月26日 · Fernando

聊天机器人占用10GB虚拟机:Claude在你Mac上到底在干什么

10GB的意外发现 你在Mac上安装了Claude Desktop。一切正常,应用程序看起来很小。但有一天你查看磁盘空间,发现了这个: ~/Library/Application Support/Claude/vm_bundles/claudevm.bundle 10.8 GB。 什么?一个聊天机器人要占用十个G?这里面装的什么,《指环王》三部曲加长版? 不是。装的是Ubuntu。 Claude产品三巨头 在解释"是什么"之前,让我先解释"为什么"。Anthropic有三种方式让你访问Claude: 产品 运行位置 目标用户 claude.ai Anthropic服务器 所有人 Claude Desktop + Cowork 你Mac上的虚拟机 专业人士 Claude Code 直接在你的系统上 开发者 网页版是安全选择:一切都在Anthropic的云端进行,不会接触你的机器。但如果你想让Claude在你的电脑上做真正的事情——创建文档、执行代码、移动文件——你需要其他解决方案。 这就是Cowork和Claude Code的用武之地,两种完全不同的哲学。 Cowork:普通人的Claude Code Cowork是Anthropic在2026年1月12日发布的智能体名称。它的官方标语是: “Claude Code for the rest of your work”(为你其他工作准备的Claude Code) 虽然Claude Code是为生活在终端里的开发者设计的,但Cowork是为你不编程时设计的。想要整理合同的律师。需要从50个PDF中提取数据的分析师。想要把笔记转换成演示文稿的教师。 它能做什么 你授予它访问Mac上某个文件夹的权限 Claude在该文件夹内读取、编辑和创建文件 可以创建Office文档(Word、Excel、PowerPoint),无需你安装任何软件 如果需要,可以执行Python或JavaScript代码 可以并行启动多个"子智能体"处理繁重任务 实际例子 “嘿Claude,我在这个文件夹里有30张收据截图。给我做一个包含每张收据日期、概念和金额的电子表格。” Claude就会去做。读取图像,用OCR提取数据,创建Excel文件,然后放在那里给你。 有趣的事实 Cowork几乎完全由Claude Code在1.5周内构建完成。Claude在编写下一代Claude产品。《盗梦空间》但是少了迪卡普里奥多了tokens。 虚拟机:安全技巧 这就是精妙之处。当Cowork执行代码或操作文件时,它不是直接在你的Mac上做的。而是在一个完全隔离的Ubuntu虚拟机内完成。 为什么?因为让AI在你的系统上执行任意代码就像把你家钥匙给一个很聪明的陌生人。他们可能值得信任,但最好不要让他们接触刀具抽屉。 这10GB里有什么 组件 大小 用途 Ubuntu 24.04 ~3 GB 操作系统 Chromium + Playwright ~920 MB 用于爬虫和网页自动化 LibreOffice ~148 MB 创建Office文档 Node.js, Python, Java ~600 MB 执行代码 CJK字体 ~305 MB 中文/日文/韩文支持 Pandoc, LaTeX ~450 MB 文档转换 用通俗的话说:这是一个装在安全盒子里的完整办公环境。 ...

2026年1月25日 · Fernando

Linear、Beads 和 Tasks:Claude Code 的三层内存系统

内存问题 Claude Code 有一个问题:它会忘记一切。关闭会话,打开新会话,就像和一个不认识你的人说话。你可以通过 CLAUDE.md 加载上下文,是的,但是那些进行到一半的任务怎么办?你发现但没有修复的 bug 怎么办?你为明天制定的计划怎么办? 有三个互补的解决方案:Linear(或你的产品工具)、Beads(基于 git 的插件)和 Tasks(集成在 Claude Code 中)。每一个都用于不同的时间范围。 Tasks:工作内存 Tasks 是 Claude Code 的内部系统,用于跟踪它现在正在做什么。当你向它请求复杂任务时,Claude 会自动创建一个任务列表。 按 Ctrl+T 查看: ┌─────────────────────────────────────────────────┐ │ Tasks │ ├─────────────────────────────────────────────────┤ │ ✓ 读取项目结构 │ │ ● 实现认证端点 │ │ ○ 编写测试 │ │ ○ 更新文档 │ └─────────────────────────────────────────────────┘ 特性 自动化:当工作有多个步骤时,Claude 会自动创建 压缩后持久:当上下文被压缩时仍然存在 通过 Ctrl+T 可见:快速切换视图 限制为 10 个:只显示前 10 个(请求"show me all tasks"查看更多) 会话间共享 默认情况下,Tasks 会随着会话结束而消失。但你可以让它们持久化: 1 CLAUDE_CODE_TASK_LIST_ID=qualitra claude 这会将任务保存在 ~/.claude/tasks/qualitra/ 中。下次用相同的 ID 启动时,你会恢复任务列表。 ...

2026年1月23日 · Fernando

Claude Code 中的子代理:在不失控制的情况下进行委派

无限上下文的问题 想象一下,你让 Claude 研究项目的身份验证是如何工作的。它开始读取文件。很多文件。突然你的上下文就被 50,000 个令牌的代码填满了,而这些代码你只需要查阅,而不是记住。 现在每个响应都变得更慢。也更贵。当你想做其他事情时,所有这些上下文仍然在那里,占用着思维空间。 解决方案:子代理。你启动一个专门的代理,它在自己的独立上下文中完成繁重的工作,给你返回一个摘要,然后消失。你的主对话保持清洁。 什么是子代理 子代理是 Claude 的一个独立实例,它: 拥有自己的上下文(不会污染你的对话) 可以拥有受限的工具(只读、只有 bash 等) 可以使用不同的模型(haiku 用于简单任务,opus 用于复杂任务) 可以在前台(阻塞)或后台(并行)执行 把它们想象成专门的实习生。你给他们分配任务,他们独立工作,完成后向你汇报。 你已经拥有的子代理 Claude Code 自带几个集成的子代理: 代理 模型 用途 工具 Explore Haiku 搜索和分析代码 只读 Plan 继承 规划期间的研究 只读 general-purpose 继承 复杂的多步骤任务 全部 Bash 继承 在独立上下文中执行命令 只有 Bash Claude Code Guide Haiku 关于 Claude Code 的问题 文档 最有用的是 Explore。当 Claude 需要在你的代码库中搜索内容时,它会启动一个 Explore,疯狂地读取文件,处理一切,然后只返回相关内容。 如何启动子代理 从 REPL(正常对话) 只需用自然语言请求: 使用子代理研究缓存系统是如何工作的 启动 Explore 代理找到所有 API 端点 在我继续工作的同时并行研究身份验证 Claude 理解这些请求,并在内部使用 Task 工具启动适当的子代理。 ...

2026年1月20日 · Fernando

Claude Code 中的 Skills:教老狗学新把戏

重复同样事情的问题 你有没有遇到过必须向某人解释同一件事二十遍的情况?现在想象一下,这个人是个机器人,而且每隔几个小时就会失去记忆。 “不,Claude,commit 必须先通过测试。” “Claude,我已经告诉过你要用 type: description 格式。” “别加表情符号,该死的!” 这就是我每天的工作,直到我发现了 Skills。简单来说:这些是你写一次,Claude 就会永远遵循的指令。就像训练狗一样,但不需要狗粮。 什么是 Skills 从 2.1.3 版本开始,Claude Code 将旧的 slash commands 与更强大的东西合并:Skills。这些是包含指令的 Markdown 文件,Claude 可以通过两种方式执行: 手动:当你输入 /my-skill 时 自动:当 Claude 检测到应该使用它时 第二点就是魔法所在。你不再需要记住调用命令。如果你有一个技能说"在用户完成任务且有未提交的更改时使用",Claude 会自动执行。 就像有一个管家知道何时收拾桌子而不需要你要求。 它们在哪里 ~/.claude/skills/ # 个人(所有项目) .claude/skills/ # 项目(与团队共享) ~/.claude/commands/ # 旧版,仍然有效 .claude/commands/ # 旧版,仍然有效 如果你只想自己使用技能,就把它放在你的主目录。如果你想让整个团队都有,就提交到仓库。就这么简单。 Skill 的结构 一个 skill 是一个带有 frontmatter YAML 和内容的 Markdown 文件: 1 2 3 4 5 6 7 8 --- name: my-skill description: 它做什么的简要描述 --- # 指令 Claude 在调用此技能时应该做什么。 这是最基本的。但 frontmatter 有更多值得了解的选项。 ...

2026年1月12日 · Fernando

Linear 和 Beads:如何避免你的 AI 患阿尔茨海默症

机器人的失忆症 想象一下,你雇佣了一个才华横溢的程序员。他能解决复杂问题,写出整洁的代码,理解你的架构。但他有一个小缺陷:每隔几个小时就会被抹掉记忆。重新从零开始。不记得自己在做什么,不记得你们一起做的决定,也不记得代码为什么是现在这样。 这正是 Claude Code 和其他 AI 代理发生的情况。 当上下文满了(如果你在真实项目中工作,它会很快满),系统就会进行"压缩"。通俗地说:总结对话并丢弃其他所有内容。问题在于这种总结会丢失细节、决策,特别是正在进行的任务状态。 解决方案?两个相互补充的工具:Linear 给你用,Beads 给你的 AI 用。 Linear:你的产品视图 Linear 是一个现代的问题管理器。如果你用过 Jira,想象一下它的反面:快速、简洁,不会让你想挖掉眼睛。 我用它做什么 产品待办事项:功能、bug、史诗。所有业务层面需要完成的事情 路线图:什么先做,什么后做 沟通:团队其他成员(如果有的话)可以看到状态 真实例子 QIN-500: 为应用添加暗黑模式 QIN-501: 优化图片加载 QIN-502: 集成支付网关 这些是产品任务。它们是"需要做什么"。不说明如何做。那是开发者的工作……或者你的 AI 代理的工作。 Beads:你 AI 的记忆 这里就轮到 Beads 登场了,由 Steve Yegge(Google 和 Amazon 著名咆哮文章的作者)创建。 Beads 是一个生活在你代码库内的问题跟踪器。但它不是给你用的,是给你的 AI 代理用的。它是 AI 的持久化内存。 它解决的问题 当我用 Claude Code 处理复杂任务时,会发生这样的情况: 阅读 Linear 中的问题 QIN-500 研究当前架构 创建一个 5 步的心理计划 开始实施… 💥 压缩 💥 “你好,我是 Claude。有什么可以帮你的吗?” 所有的上下文、计划、进度……蒸发了。就像电影《记忆碎片》,但没那么电影化,更让人沮丧。 解决方案 使用 Beads,在压缩之前,状态会持久化到代码库的 .beads/ 中: ...

2025年1月12日 · Fernando