#Anthropic

meng shao
1个月前
[Anthropic 工程博客] 构建长运行智能体的高效框架 Anthropic 最新工程博客探讨了如何为长运行智能体设计有效的“框架”,以应对复杂任务在多会话间的持续执行挑战。基于 Claude Agent SDK 实际经验,强调通过结构化环境和渐进式工作流程,让智能体像人类软件工程师一样,逐步推进项目,而非试图一蹴而就。 长运行智能体的核心挑战 长运行智能体目标是处理跨小时或数天的复杂任务,例如构建一个完整复杂的软件项目。但由于上下文窗口的容量限制,每个会话都像从零开始:智能体缺乏先前记忆,容易陷入“一次性完成”的陷阱——试图在单一会话中搞定整个项目,导致上下文耗尽、代码杂乱或文档缺失。其他常见问题包括: · 过早宣告完成:后续智能体看到部分进展,就错误地标记任务结束。 · 状态恢复困难:智能体花大量时间猜测未完成工作,或在 buggy 环境中挣扎。 · 测试缺失:功能看似就位,但未通过端到端验证,隐藏潜在问题。 通过实验(如构建 200+ 功能的网页克隆项目)总结这些失败模式,并提供针对性解决方案,借鉴软件工程最佳实践,如 Git 版本控制和自动化测试。 提出的解决方案:双智能体框架与结构化环境 解决方案是引入“框架”——一个由提示、脚本和文件组成的系统,确保会话间状态持久化和干净交接。具体分为两个角色: 1. 初始化智能体(Initializer Agent):仅用于首轮会话,负责搭建初始环境。生成关键文件,包括: · feature_list.json:一个JSON格式的功能清单,列出所有任务(如“创建新聊天”),每个包含描述、步骤和初始“passes”状态(false)。JSON格式确保不可变性,防止后续编辑。 · claude-progress.txt:日志文件,记录动作和进展。 · init. sh:启动脚本,用于运行开发服务器、测试基础功能,减少后续设置开销。 初始化后,进行首次 Git 提交,形成干净基线。 2. 编码智能体(Coding Agent):后续会话专用,专注于渐进式进展。每个会话仅处理一个功能: · 会话启动例程:检查目录(pwd)、审阅 Git 日志和进展文件、运行 init. sh 启动环境、验证核心测试。 · 工作流程:从 JSON 清单选一未完成功能,编码、提交描述性 Git 变更、更新 “passes” 状态(仅在通过测试后),并记录日志。 · 强调“干净状态”(clean state):结束时,代码须无bug、文档齐全、可直接合并到主分支。 关键实践与工具集成 · 功能清单与 Git:JSON 清单防止“过早完成”,Git 提供回滚和历史追踪。实验显示,相比 Markdown,JSON 减少了不当修改。 · 端到端测试:集成浏览器自动化工具(如 Puppeteer MCP 服务器),模拟人类操作(如点击模态框、截图验证)。这捕捉代码审查忽略的交互 bug,但文章也指出局限,如原生浏览器元素的处理。 · 提示策略:初始化和编码提示不同——前者聚焦搭建,后者强调单一功能和验证。使用强约束语言(如“绝不编辑测试”)规避失败。 · 失败模式表格:文章附表总结问题(如“设置混淆”)及应对(如标准化脚本),便于实际应用。 结论与展望 Anthropic 的经验证明,这种框架能显著提升长运行智能体的可靠性:从混乱的“一击即溃”转向工程化的持续迭代。关键启示是借用人类工程实践(如版本控制、测试驱动开发),结合 AI 的自动化潜力。从简单项目起步,审视失败模式,并扩展到多智能体系统(如专职测试智能体)。未来方向可以泛化到其他领域,如科学研究或财务建模,探索更复杂的协作架构。 博客地址:
meng shao
1个月前
[Anthropic 工程博客解读] 高级工具使用功能:工具搜索工具、程序化工具调用和工具使用示例三项技术结合,显著降低 Token 消耗,工具选择更明确,复杂调用更准确。 Anthropic 最近在 Claude 开发者平台上推出了高级工具使用 (advanced tool use) 功能,让 AI 智能体能够高效处理数百甚至数千个工具,而不会被上下文窗口的限制所束缚。想象一下,一个智能体需要同时操作 IDE、Git、Slack、GitHub、Jira 或数据库等系统——传统方式下,工具定义会占用海量 Token,导致上下文膨胀、工具选择错误或调用延迟。这些新功能通过动态加载、代码编排和示例指导,显著提升了智能体的实用性和可扩展性。 核心挑战与应对策略 构建可靠的工具使用系统面临三大痛点: 一是 Token 消耗过高——例如,从多个服务(如 GitHub 和 Slack)拉取工具定义,可能瞬间吃掉 50,000+ Token 二是工具选择不准——类似名称的工具(如 notification-send-user 和 notification-send-channel)容易混淆 三是调用模式模糊——JSON 模式虽规范参数,但无法直观展示复杂格式,如日期或嵌套对象。 Anthropic 的策略是“延迟与智能”:不一次性加载所有工具,而是按需发现和调用;用代码代替自然语言来协调多步操作,减少推理轮次;并通过示例澄清用法。这些方法本质上将工具使用从静态描述转向动态执行,帮助智能体在资源有限的环境中实现复杂工作流。 三大关键技术 1. 工具搜索工具(Tool Search Tool) 这是一个“元工具”,允许智能体在运行时搜索并加载相关工具,而非预加载全部定义。工具标记 defer_loading: true 后,只有搜索工具和少数核心工具进入初始上下文。智能体可通过名称或描述动态拉取,例如查询 GitHub 任务时,只加载 github.createPullRequest。 优势:Token 节省高达 85%(从 77K 降至 8.7K),准确率提升显著(如 Claude Opus 4 从 49% 升至 74%)。实现简单:在工具数组中添加搜索配置,即可支持 MCP 的批量延迟加载。这让智能体像“智能索引”一样,高效导航庞大工具库。 2. 程序化工具调用(Programmatic Tool Calling) 智能体不再逐一用自然语言调用工具,而是生成 Python 代码在沙箱环境中执行多工具协调。工具需标记 allowed_callers: ["code_execution_20250825"],Claude 则输出包含循环、条件和并行执行(如 asyncio.gather)的代码片段。 示例:检查预算超支时,代码可并行获取团队成员、预算和支出数据,只将最终结果(如超支列表)返回给智能体,避免中间数据污染上下文。 优势:Token 减少 37%(从 43,588 降至 27,297),延迟降低(无需多轮推理),准确率在知识检索任务中从 25.6% 升至 28.5%。这特别适合处理大表格或 API 链路,如 Claude for Excel 中的批量数据分析。 3. 工具使用示例(Tool Use Examples) 补充 JSON 模式,提供输入示例来演示实际调用模式。例如,在 create_ticket 工具中,列出日期格式(YYYY-MM-DD)、嵌套对象(如 reporter)和可选参数(紧急升级)。每个工具可附 2-3 个变体示例。 优势:复杂参数准确率从 72% 跃升至 90%,尤其在 ID 格式或参数关联上。这像给智能体一份“用户手册”,让它快速掌握隐含规则。 实验结果与展望 内部基准测试显示,这些功能在 MCP 和 GIA 基准上均有提升:上下文保留率达 85%,整体准确率平均提高 10-20%。例如,在处理大型工具集时,Claude Opus 4.5 的性能从 79.5% 升至 88.1%。实际应用中,它已助力智能体无缝集成 Excel 或 Jira 等场景。
宝玉
1个月前
前几天 Anthropic 发布的那份报告《挫败首例由 AI 策划的网络间谍活动(Disrupting the first reported AI-orchestrated cyber espionage campaign)》 已经被很多人骂过了,这几天在 Hacker News (HN) 上也是被群嘲。 报告的核心指控是:他们发现并阻止了一个“复杂的”网络间谍行动,该行动由一个他们定性为“中国政府资助”的组织(代号 GTG-1002)发起。而最关键的一点是,这个组织使用 AI(特别是 Claude)来“编排和执行”其 80-90% 的战术行动。 社区的开发者和安全专家们非但没有感到震惊,反而将这份报告扒了个底朝天。结论几乎一边倒:这与其说是一份威胁情报,不如说是一份精心包装的营销噱头。 首先是一位安全行业的专业人士 djnn .sh 发表了一篇博文 “Anthropic 的报告闻起来就像狗屁” (Anthropic's paper smells like bullshit) 成为了 HN 上的热门讨论帖。 1. 文章中一个观点大家都很认同:“PoC || GTFO” (要么拿出证据,要么滚蛋)。 一份严肃的网络安全威胁情报报告,是有行业标准的。你必须提供 IoCs(入侵指标)——比如攻击者使用的域名、IP、文件哈希值;以及 TTPs(战术、技术和程序)——他们具体是怎么做的。 而 Anthropic 的报告里几乎都没有什么证据。 HN 社区对此的共识是:这份报告“技术含量为零”。 用户 rfoo: > 别说和现代报告比,“就连卡巴斯基十年前一份关于 Duqu 2.0 的报告,都包含了扎实的技术链接和归因理由。” Anthropic 这份报告简直是“slop”(残羹剩饭)。 用户 padolsey: > 这似乎成了一种新常态。“AI 实验室(点名了 GPT-5 的系统卡和微软的红队测试)都喜欢‘pro-research’(自称支持研究),但发布白皮书时却从不附带代码和数据。” 一份没有技术细节、无法验证、无法让其他安全团队据此设防的“报告”,根本不配被称为“威胁情报”。 2. 如果说缺少 IoC(入侵指标)只是“不专业”,那么 HN 网友 gpi 则发现这份报告在“有意夸大”。 网友 gpi 发现,Anthropic 在发布报告后,悄悄地将从“每秒数千次请求”改为了“数千次请求,经常每秒多次”。 > Edited November 14 2025: > Corrected an error about the speed of the attack: not "thousands of requests per second" but "thousands of requests, often multiple per second" 任何一个技术人员,都绝不可能把这两个概念搞混,大概率是营销部门在撰写报告时,为了戏剧效果而添油加醋,结果被技术社区抓包。 3. 牵强的归因和逻辑,一切都是为了营销 报告中最具煽动性、也最受诟病的,就是将攻击“归因”于“中国政府资助的组织”。 网友 snowwrestler 给出了一个非常专业的分析:将攻击归因于“国家行为体”有三种途径: (1) 纯粹假设: 默认来自某国的坏事都是政府干的(这显然不靠谱)。 (2) 技术签名: 攻击手段与已知的、公开的 APT(高级持续性威胁)组织的特征库相匹配。 (3) 情报工作: 来自 NSA、FBI 等真正情报机构的内部信息。 Anthropic 不太可能有(3),如果他们有(2),就应该像其他安全公司一样,公布这些技术签名证据。但他们没有。 那么,他们为什么要这么做? 用户 woooooo 提出了一个经典的“职场政治”洞察: “归咎于‘国家级超级间谍’是最好的免责声明。‘我们被超级间谍黑了’听起来,可比‘我们被一个随便的家伙(rando)给黑了’要体面得多。” 用户 prinny_ 则看得更深:“在缺乏证据的情况下,这种归因看起来更像是一种政治游说,目的是让美国政府介入,并成为那个让资金(投资)不断流动的‘大投资者’。” 在原文中就已点明,报告的结尾赫然写着: “网络安全社区需要……试验将 AI 用于防御……” HN 用户 DarkmSparks 做了个总结: “Anthropic 提出了一堆未经证实的指控,关于一个他们没具体说明的新问题。然后在最后,Anthropic 提出了解决这个未说明问题的方案——给 Anthropic 钱。” “这根本就是伪装成威胁报告的宣传材料,”用户 cmiles74 评论道,他还发现 Anthropic 在八月份也发过类似的“营销式”报告。 4. APT 真的会用 Claude 吗? 抛开营销和政治不谈,HN 社区对这个攻击场景本身也提出了一个巨大的“黑人问号”:一个“高度复杂”的 APT 组织,真的会选择用 Claude 这种公开的、需要绑银行卡的商业 API 来执行核心任务吗? 网友 KaiserPro 分享了他的一线经验:他曾在一家 FAANG 担任 SRE,也参与过对内部安全 AI 的“红队测试”。他的结论是:“AI 有点用,但对于‘协调’(coordination)任务来说,帮助不大。” 他最尖锐的质疑是:“你的 API 是绑定了银行账户的。在一个非常公开的系统上‘Vibe Code’一个指挥控制系统(C&C),这似乎是个非常糟糕的选择。” 网友 neuroelectron 则提出了一个充满讽刺的悖论: “我的 Claude 拒绝了我 10 个提示中的 9 个,并对我进行‘安全教育’,但它却被用于真正恶意的间谍活动?谁来让这个逻辑自洽一下。” 社区普遍认为,一个真正的 APT 组织,更有可能使用自己私有的、离线的、不受审查的本地模型,而不是一个处处受限、日志完备的美国公司产品。 5. 当 AI 泡沫遇上安全 FUD(恐惧、不确定和怀疑) 用户 EMM_386 提出了一个“洗地”角度: “我们都搞错了。Anthropic 不是一家安全厂商……这份报告的受众不是 SOC(安全运营中心)的工程师,而是政策制定者和 AI 安全研究者。它警告的是一种新的攻击模式。” 这个观点试图将这份报告从“技术文档”的失败,挽救为“政策白皮书”的成功。 但这个观点立刻遭到了反驳。用户 padolsey 回应道:“就算如此,他们也完全可以分享脱敏的 Prompts、攻击的编排模式。他们这种刻意的模糊,根本不是安全行业的运作方式。” 也许 Anthropic 根本就没有一个能写出合格威胁报告的安全团队。他们只是在自己最擅长的 AI 领域上,看到了一个他们认为或者希望存在的问题,然后用他们最不擅长的方式(写安全报告)把它包装起来,其核心目的,依然是 AI 圈的老套路:制造 FUD (恐惧、不确定和怀疑),然后销售解药。 这就像当年索尼 PS2 刚发布时,有传闻说“伊拉克在购买数千台 PS2 来制造超级计算机”一样,听起来很酷,但本质上都是营销。