admin 发布的文章

99% 的 Agent 创业公司,都可以扔掉你的代码了转用 Claude Code SDK 来实现了。

刚刚,Claude Code SDK 发布了支持自定义工具和钩子函数的更新:

Claude Code 开发者 Thariq(@trq212) 宣布:

Claude Code SDK 现在支持直接在代码中使用自定义工具和钩子。此外,我们刷新了所有文档,包含完整的参考和 10 个新指南。

虽然 Claude Code 并不开源,甚至还莫名降智,但这不妨碍它性能强大,我每天都会用来做各种编程之外的事。

而基于 Claude Code SDK,再结合 MCP、工具、命令、钩子等周边功能,可以说,这能帮我们解决绝大多数在电脑上需要做的事情,和绝大多数所谓 Agent 公司们在做的事情。

自定义工具的实现

自定义工具的实现方式很简单:定义一个函数,将其注册为 SDK 的 in-process MCP 服务器,Claude Code 就能调用它。

这种「进程内 MCP」的设计让扩展变得异常优雅。

来看实现代码。

(又是这个获取天气的示例……,好在后面有更多例子)

TypeScript 版本

import { query, tool, createSdkMcpServer } from"@anthropic-ai/claude-code";
import { z } from"zod";

// 创建一个带有自定义工具的 SDK MCP 服务器
const customServer = createSdkMcpServer({
  name: "my-custom-tools",
  version: "1.0.0",
  tools: [
    tool(
      "get_weather",
      "Get current weather for a location",
      {
        location: z.string().describe("City name or coordinates"),
        units: z.enum(["celsius""fahrenheit"]).default("celsius").describe("Temperature units")
      },
      async (args) => {
        // 调用天气 API
        const response = await fetch(
          `https://api.weather.com/v1/current?q=${args.location}&units=${args.units}`
        );
        const data = await response.json();
        
        return {
          content: [{
            type"text",
            text: `Temperature: ${data.temp}°\nConditions: ${data.conditions}\nHumidity: ${data.humidity}%`
          }]
        };
      }
    )
  ]
});

Python 版本

from claude_code_sdk import tool, create_sdk_mcp_server
from typing import Any
import aiohttp

# 使用装饰器定义自定义工具
@tool("get_weather", "Get current weather for a location", {"location": str, "units": str})
asyncdef get_weather(args: dict[str, Any]) -> dict[str, Any]:
    units = args.get('units''celsius')
    asyncwith aiohttp.ClientSession() as session:
        asyncwith session.get(
            f"https://api.weather.com/v1/current?q={args['location']}&units={units}"
        ) as response:
            data = await response.json()
    
    return {
        "content": [{
            "type""text",
            "text"f"Temperature: {data['temp']}°\nConditions: {data['conditions']}\nHumidity: {data['humidity']}%"
        }]
    }

# 创建服务器
custom_server = create_sdk_mcp_server(
    name="my-custom-tools",
    version="1.0.0",
    tools=[get_weather]
)

使用自定义工具

重要提示:自定义 MCP 工具需要流式输入模式。必须使用异步生成器作为 prompt 参数,简单的字符串不能与 MCP 服务器配合使用。

工具名称遵循特定格式:mcp__{server_name}__{tool_name}。例如,my-custom-tools 服务器中的 get_weather 工具会变成 mcp__my-custom-tools__get_weather

TypeScript 调用示例

import { query } from"@anthropic-ai/claude-code";

// 使用异步生成器进行流式输入
asyncfunctiongenerateMessages({
yield {
    type"user"asconst,
    message: {
      role: "user"asconst,
      content: "What's the weather in San Francisco?"
    }
  };
}

forawait (const message of query({
  prompt: generateMessages(),  // 使用异步生成器
  options: {
    mcpServers: {
      "my-custom-tools": customServer  // 作为对象传递,不是数组
    },
    // 可选:指定 Claude 可以使用哪些工具
    allowedTools: [
      "mcp__my-custom-tools__get_weather",
    ],
    maxTurns: 3
  }
})) {
if (message.type === "result" && message.subtype === "success") {
    console.log(message.result);
  }
}

Python 调用示例

from claude_code_sdk import query, ClaudeCodeOptions

asyncdef message_generator():
    yield {
        "type""user",
        "message": {
            "role""user",
            "content""What's the weather in San Francisco?"
        }
    }

asyncfor message in query(
    prompt=message_generator(),  # 使用异步生成器
    options=ClaudeCodeOptions(
        mcp_servers={"my-custom-tools": custom_server},
        allowed_tools=[
            "mcp__my-custom-tools__get_weather",
        ],
        max_turns=3
    )
):
    if hasattr(message, 'result'):
        print(message.result)

权限系统架构

SDK 提供了四层互补的权限控制机制,让我们能够精确控制工具的使用。

权限模式

模式
描述
工具行为
default
标准权限行为
正常权限检查
plan
规划模式
只能使用只读工具,执行前展示计划
acceptEdits
自动接受文件编辑
文件编辑和文件系统操作自动批准
bypassPermissions
绕过所有权限检查
所有工具无需权限提示运行(谨慎使用)

设置权限模式的代码:

// 初始配置
const result = await query({
  prompt: "Help me refactor this code",
  options: {
    permissionMode: 'default'
  }
});

// 动态更改(仅流式模式)
asyncfunctionstreamInput({
yield { 
    type'user',
    message: { 
      role: 'user'
      content: "Let's start with default permissions"
    }
  };
}

const q = query({
  prompt: streamInput(),
  options: {
    permissionMode: 'default'
  }
});

// 动态切换模式
await q.setPermissionMode('acceptEdits');

canUseTool 回调

canUseTool 回调在 Claude Code 需要显示权限提示时触发,可以实现交互式工具批准:

async function promptForToolApproval(toolName: string, input: any{
console.log("\n🔧 Tool Request:");
console.log(`   Tool: ${toolName}`);

// 显示工具参数
if (input && Object.keys(input).length > 0) {
    console.log("   Parameters:");
    for (const [key, value] of Object.entries(input)) {
      let displayValue = value;
      if (typeof value === 'string' && value.length > 100) {
        displayValue = value.substring(0100) + "...";
      } elseif (typeof value === 'object') {
        displayValue = JSON.stringify(value, null2);
      }
      console.log(`     ${key}${displayValue}`);
    }
  }

// 获取用户批准
const approved = await getUserApproval();

if (approved) {
    console.log("   ✅ Approved\n");
    return {
      behavior: "allow",
      updatedInput: input
    };
  } else {
    console.log("   ❌ Denied\n");
    return {
      behavior: "deny",
      message: "User denied permission for this tool"
    };
  }
}

// 使用权限回调
const result = await query({
  prompt: "Help me analyze this codebase",
  options: {
    canUseTool: async (toolName, input) => {
      return promptForToolApproval(toolName, input);
    }
  }
});

钩子函数

钩子提供了对工具执行各个阶段的程序化控制:

const result = await query({
  prompt: "Help me refactor this code",
  options: {
    hooks: {
      PreToolUse: [{
        hooks: [async (input, toolUseId, { signal }) => {
          console.log(`Tool request: ${input.tool_name}`);
          
          // 自定义验证逻辑
          if (input.tool_name === "Bash") {
            const command = input.tool_input.command;
            if (command.startsWith("rm -rf")) {
              return {
                decision: "block",
                reason: "Dangerous command blocked"
              };
            }
          }
          
          return { continuetrue };
        }]
      }],
      PostToolUse: [{
        hooks: [async (input, toolUseId, { signal }) => {
          console.log(`Tool completed: ${input.tool_name}`);
          // 记录或审计工具结果
          return { continuetrue };
        }]
      }]
    }
  }
});

Python 版本钩子实现:

from claude_code_sdk import query, ClaudeCodeOptions, HookMatcher, HookContext

asyncdef pre_tool_hook(
    input_data: dict[str, Any], 
    tool_use_id: str | None, 
    context: HookContext
)
 -> dict[str, Any]:

    print(f"Tool request: {input_data['tool_name']}")
    
    if input_data['tool_name'] == 'Bash':
        command = input_data['tool_input'].get('command''')
        if command.startswith('rm -rf'):
            return {
                'hookSpecificOutput': {
                    'hookEventName''PreToolUse',
                    'permissionDecision''deny',
                    'permissionDecisionReason''Dangerous command blocked'
                }
            }
    
    return {}

options = ClaudeCodeOptions(
    hooks={
        'PreToolUse': [
            HookMatcher(matcher='Bash', hooks=[pre_tool_hook])
        ]
    }
)

权限规则

在 settings.json 中配置声明式权限规则:

{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)",
      "Read(./.env)",
      "Read(./secrets/**)",
      "WebFetch"
    ],
    "ask": [
      "Bash(git push:*)",
      "Write(./production/**)"
    ]
  }
}

规则语法说明:

  • Bash 规则:使用前缀匹配。例如 Bash(npm:*) 匹配任何以 "npm" 开头的命令

  • 文件规则:支持 glob 模式。例如 Read(./src/**/*.ts) 匹配 src 目录下的所有 TypeScript 文件

  • 工具规则:省略括号控制整个工具。例如 WebFetch 阻止所有网络获取

实用工具示例

数据库查询工具

const databaseServer = createSdkMcpServer({
  name: "database-tools",
  version: "1.0.0",
  tools: [
    tool(
      "query_database",
      "Execute a database query",
      {
        query: z.string().describe("SQL query to execute"),
        params: z.array(z.any()).optional().describe("Query parameters")
      },
      async (args) => {
        const results = await db.query(args.query, args.params || []);
        return {
          content: [{
            type"text",
            text: `Found ${results.length} rows:\n${JSON.stringify(results, null2)}`
          }]
        };
      }
    )
  ]
});

API 网关工具

这个工具可以调用多个外部服务:

const apiGatewayServer = createSdkMcpServer({
  name: "api-gateway",
  version: "1.0.0",
  tools: [
    tool(
      "api_request",
      "Make authenticated API requests to external services",
      {
        service: z.enum(["stripe""github""openai""slack"]).describe("Service to call"),
        endpoint: z.string().describe("API endpoint path"),
        method: z.enum(["GET""POST""PUT""DELETE"]).describe("HTTP method"),
        body: z.record(z.any()).optional().describe("Request body"),
        query: z.record(z.string()).optional().describe("Query parameters")
      },
      async (args) => {
        const config = {
          stripe: { baseUrl: "https://api.stripe.com/v1", key: process.env.STRIPE_KEY },
          github: { baseUrl: "https://api.github.com", key: process.env.GITHUB_TOKEN },
          openai: { baseUrl: "https://api.openai.com/v1", key: process.env.OPENAI_KEY },
          slack: { baseUrl: "https://slack.com/api", key: process.env.SLACK_TOKEN }
        };
        
        const { baseUrl, key } = config[args.service];
        const url = new URL(`${baseUrl}${args.endpoint}`);
        
        if (args.query) {
          Object.entries(args.query).forEach(([k, v]) => url.searchParams.set(k, v));
        }
        
        const response = await fetch(url, {
          method: args.method,
          headers: { 
            Authorization: `Bearer ${key}`
            "Content-Type""application/json"
          },
          body: args.body ? JSON.stringify(args.body) : undefined
        });
        
        const data = await response.json();
        return {
          content: [{
            type"text",
            text: JSON.stringify(data, null2)
          }]
        };
      }
    )
  ]
});

计算器工具

包含基础运算和复利计算:

const calculatorServer = createSdkMcpServer({
  name: "calculator",
  version: "1.0.0",
  tools: [
    tool(
      "calculate",
      "Perform mathematical calculations",
      {
        expression: z.string().describe("Mathematical expression to evaluate"),
        precision: z.number().optional().default(2).describe("Decimal precision")
      },
      async (args) => {
        try {
          // 生产环境使用安全的数学计算库
          const result = eval(args.expression); // 仅示例!
          const formatted = Number(result).toFixed(args.precision);
          
          return {
            content: [{
              type"text",
              text: `${args.expression} = ${formatted}`
            }]
          };
        } catch (error) {
          return {
            content: [{
              type"text",
              text: `Error: Invalid expression - ${error.message}`
            }]
          };
        }
      }
    ),
    tool(
      "compound_interest",
      "Calculate compound interest for an investment",
      {
        principal: z.number().positive().describe("Initial investment amount"),
        rate: z.number().describe("Annual interest rate (as decimal)"),
        time: z.number().positive().describe("Investment period in years"),
        n: z.number().positive().default(12).describe("Compounding frequency per year")
      },
      async (args) => {
        const amount = args.principal * Math.pow(1 + args.rate / args.n, args.n * args.time);
        const interest = amount - args.principal;
        
        return {
          content: [{
            type"text",
            text: `Investment Analysis:\n` +
                  `Principal: $${args.principal.toFixed(2)}\n` +
                  `Rate: ${(args.rate * 100).toFixed(2)}%\n` +
                  `Time: ${args.time} years\n` +
                  `Compounding: ${args.n} times per year\n\n` +
                  `Final Amount: $${amount.toFixed(2)}\n` +
                  `Interest Earned: $${interest.toFixed(2)}\n` +
                  `Return: ${((interest / args.principal) * 100).toFixed(2)}%`
          }]
        };
      }
    )
  ]
});

多工具协同

当 MCP 服务器有多个工具时,可以选择性地允许它们:

const multiToolServer = createSdkMcpServer({
  name: "utilities",
  version: "1.0.0",
  tools: [
    tool("calculate""Perform calculations", { /* ... */ }, async (args) => { /* ... */ }),
    tool("translate""Translate text", { /* ... */ }, async (args) => { /* ... */ }),
    tool("search_web""Search the web", { /* ... */ }, async (args) => { /* ... */ })
  ]
});

// 只允许特定工具
asyncfunctiongenerateMessages({
yield {
    type"user"asconst,
    message: {
      role: "user"asconst,
      content: "Calculate 5 + 3 and translate 'hello' to Spanish"
    }
  };
}

forawait (const message of query({
  prompt: generateMessages(),
  options: {
    mcpServers: {
      utilities: multiToolServer
    },
    allowedTools: [
      "mcp__utilities__calculate",   // 允许计算器
      "mcp__utilities__translate",   // 允许翻译器
      // "mcp__utilities__search_web" 不被允许
    ]
  }
})) {
// 处理消息
}

错误处理

优雅地处理错误,可以提供有意义的反馈:

tool(
  "fetch_data",
"Fetch data from an API",
  {
    endpoint: z.string().url().describe("API endpoint URL")
  },
async (args) => {
    try {
      const response = await fetch(args.endpoint);
      
      if (!response.ok) {
        return {
          content: [{
            type"text",
            text: `API error: ${response.status} ${response.statusText}`
          }]
        };
      }
      
      const data = await response.json();
      return {
        content: [{
          type"text",
          text: JSON.stringify(data, null2)
        }]
      };
    } catch (error) {
      return {
        content: [{
          type"text",
          text: `Failed to fetch data: ${error.message}`
        }]
      };
    }
  }
)

Python 类型安全

Python 版本支持多种模式定义方法:

# 简单类型映射 - 推荐用于大多数情况
@tool(
    "process_data",
    "Process structured data with type safety",
    {
        "name": str,
        "age": int,
        "email": str,
        "preferences": list  # 可选参数可以在函数中处理
    }
)
asyncdef process_data(args: dict[str, Any]) -> dict[str, Any]:
    name = args["name"]
    age = args["age"]
    email = args["email"]
    preferences = args.get("preferences", [])
    
    print(f"Processing {name}'s data (age: {age})")
    
    return {
        "content": [{
            "type""text",
            "text"f"Processed data for {name}"
        }]
    }

# 对于更复杂的模式,可以使用 JSON Schema 格式
@tool(
    "advanced_process",
    "Process data with advanced validation",
    {
        "type""object",
        "properties": {
            "name": {"type""string"},
            "age": {"type""integer""minimum"0"maximum"150},
            "email": {"type""string""format""email"},
            "format": {"type""string""enum": ["json""csv""xml"], "default""json"}
        },
        "required": ["name""age""email"]
    }
)
asyncdef advanced_process(args: dict[str, Any]) -> dict[str, Any]:
    return {
        "content": [{
            "type""text",
            "text"f"Advanced processing for {args['name']}"
        }]
    }

完整功能支持

SDK 提供了对所有 Claude Code 默认功能的访问,通过相同的文件系统配置:

  • 子智能体:存储在 ./.claude/agents/ 的专用智能体

  • 钩子:在 ./.claude/settings.json 中配置的自定义命令

  • 斜杠命令:定义在 ./.claude/commands/ 的 Markdown 文件

  • 记忆(CLAUDE.md):通过 CLAUDE.md 文件维护项目上下文

这些功能通过读取相同的文件系统位置来工作,与 Claude Code 对应功能完全一致。

可以构建什么

根据文档,基于 Claude Code SDK 我们可以构建各类 Agent,包括但不限于:

编码智能体

  • SRE 智能体诊断和修复生产问题

  • 安全审查机器人审计代码漏洞

  • 值班工程助手分类事件

  • 代码审查智能体执行风格和最佳实践

业务智能体

  • 法律助手审查合同和合规性

  • 财务顾问分析报告和预测

  • 客户支持智能体解决技术问题

  • 营销团队的内容创建助手

现在,所有这些 Agent 都可以通过 Claude Code SDK 轻松实现,而不需要从零开始构建复杂的基础设施了。

封装一下业务 API,弄弄数据,搞搞 UI,就可以了。

顺便,我还让 Claude 给做了个 《基于 Claude Code SDK 开发 Agent》的PPT,贴上来供参考:




[1]

自定义工具文档: https://docs.anthropic.com/en/docs/claude-code/sdk/custom-tools

[2]

SDK 权限文档: https://docs.anthropic.com/en/docs/claude-code/sdk/sdk-permissions

[3]

SDK 概览: https://docs.anthropic.com/en/docs/claude-code/sdk/sdk-overview

[4]

子智能体指南: https://docs.anthropic.com/en/docs/claude-code/sdk/subagents

[5]

斜杠命令指南: https://docs.anthropic.com/en/docs/claude-code/sdk/sdk-slash-commands

[6]

TypeScript SDK 参考: https://docs.anthropic.com/en/docs/claude-code/sdk/typescript

[7]

Python SDK 参考: https://docs.anthropic.com/en/docs/claude-code/sdk/python

[8]

MCP 文档: https://modelcontextprotocol.io

[9]

SDK 配置: https://docs.anthropic.com/en/docs/claude-code/sdk/sdk-configuration


👇

👇

👇

另外,我还用AI 进行了全网的AI 资讯采集,并用AI 进行挑选、审核、翻译、总结后发布到《AGI Hunt》的实时AI 快讯群中。

这是个只有信息、没有感情的 AI 资讯信息流(不是推荐流、不卖课、不讲道理、不教你做人、只提供信息、希望能为你节省一些时间)

欢迎加入!

图片

也欢迎加群和5000+群友交流。

编程新王者真的要来了!

刚刚,OpenAI 发布了 GPT-5-Codex:一个专门为 Agent 编程优化的全新模型。

并且,该模型同步在 Codex CLI、IDE 扩展、网页端、移动端以及 GitHub 代码审查中全面可用。

动态思考

GPT-5-Codex 最具革命性的特性是沿用了 GPT-5 的动态调整思考时间

它会根据任务复杂度自动决定投入多少计算资源:简单任务秒回,复杂任务深度思考。

在 OpenAI 员工的实际使用数据中,处理最简单的 10% 任务时,GPT-5-Codex 比 GPT-5 减少了 93.7% 的 token 使用量。

而面对最复杂的 10% 任务,它会花费两倍时间进行推理、编辑、测试和迭代。

测试中,GPT-5-Codex 曾独立工作超过 7 小时处理大型复杂任务,不断迭代实现、修复测试失败,最终交付成功的实现。

这种能力让 Codex 在交互式编程会话中反应迅速,同时又能独立完成需要长时间思考的复杂任务。

性能全面碾压

基准测试成绩:

在 SWE-bench Verified (500 个任务)上,GPT-5-Codex 达到 74.5% 的准确率,超过 GPT-5 的 72.8%。

代码重构任务上表现更是亮眼:GPT-5-Codex 准确率达到 51.3%,大幅领先 GPT-5 的 33.9%。这个评估包含了来自大型成熟代码库的重构任务,涵盖 Python、Go 甚至 OCaml。

其中一个示例任务来自 Gitea,需要修改 232 个文件和 3,541 行代码。

代码审查能力突破:

GPT-5-Codex 被专门训练用于代码审查和发现关键缺陷。它会导航代码库、推理依赖关系、运行代码和测试来验证正确性。

在评估中:

  • 错误评论率仅 4.4%(GPT-5:13.7%)

  • 高影响力评论占比 52.4%(GPT-5:39.4%)

  • 平均每个 PR 0.93 条评论(GPT-5:1.32 条)

GPT-5-Codex 在前端任务上也表现出色。

除了创建美观的桌面应用,在创建移动网站时的人类偏好评估中也显示出显著改进。在云端工作时,它可以查看你提供的图片或截图输入,视觉检查进度,并向你展示工作截图。

Codex 平台大升级

Codex CLI 0.36 重大更新:

A screenshot of a social media post about Codex-CLI 0.36 release by OpenAI. Text includes highlights like GPT-5-Codex model, resume and compaction features, auth and login improvements, TUI onboarding, and core platform updates. A watermark from X is visible.

新版本完全重建了 CLI 架构,专门针对 Agent 编程工作流优化。主要特性包括:

  • 图片支持:可以直接在 CLI 中附加和分享截图、线框图、设计图

  • 进度追踪:复杂工作时用待办事项列表追踪进度

  • 工具集成:包含网页搜索和 MCP(Model Context Protocol)连接外部系统

  • UI 升级:工具调用和 diff 格式更清晰易读

  • 简化审批模式:三个级别——只读模式(需要显式批准)、自动模式(工作区内完全访问但工作区外需要批准)、完全访问模式

  • 会话管理:支持压缩会话状态,让长时间会话更易管理

  • 恢复功能:可以通过 codex resume 恢复旧会话

IDE 扩展全新体验:

新的 IDE 扩展将 Codex Agent 带入 VS Code、Cursor 和其他 VS Code 分支。

它能利用你打开的文件或选中的代码作为上下文,让你写更短的提示词,获得更快的结果。

更重要的是,IDE 扩展实现了云端和本地的无缝切换

你可以在 IDE 中创建云任务、追踪进行中的工作、审查已完成的任务,而 Codex 会保持完整上下文。

云端基础设施优化:

通过容器缓存,新任务和后续任务的中位完成时间缩短了 90%

Codex 现在会自动扫描常见的设置脚本并执行它们来配置环境,还可以通过可配置的互联网访问运行 pip install 等命令来获取依赖。

GitHub 集成更新

一旦为 GitHub 仓库启用,Codex 会在 PR 从草稿转为就绪时自动进行审查,并将分析结果发布在 PR 上。

如果它建议编辑,你可以在同一个线程中要求 Codex 实施这些更改。

你也可以通过提及「@codex review」来明确请求审查,还可以给出额外指导,如「@codex review for security vulnerabilities」或「@codex review for outdated dependencies」。

在 OpenAI 内部,Codex 现在审查绝大多数 PR,每天捕获数百个问题——

通常在人类审查开始之前。

安全与隐私

GPT-5-Codex 默认在沙盒环境中运行,禁用网络访问,无论是本地还是云端。这确保 Codex 不会在你的计算机上执行有害操作,并降低来自不可信源的提示注入风险。

开发者可以根据风险承受能力自定义安全设置。

在云端,可以将网络访问限制在可信域名。在 CLI 和 IDE 扩展中,开发者可以批准命令以完全访问权限运行,或允许 Agent 使用网页搜索和连接 MCP 服务器。

与 GPT-5 的处理方式一致,OpenAI 将 GPT-5-Codex 在生物和化学领域视为高能力模型,并实施了相应的保护措施。

定价与可用性

Codex 包含在 ChatGPT Plus、Pro、Business、Edu 和 Enterprise 计划中:

  • Plus、Edu、Business:可支持每周几次集中的编程会话

  • Pro:可支持跨多个项目的完整工作周

  • Business:可购买额外积分超出限制使用

  • Enterprise:提供共享积分池,按实际使用付费

对于通过 API key 使用 Codex CLI 的开发者,OpenAI 计划很快在 API 中提供 GPT-5-Codex。

Dan Shipper(@danshipper) 表示已经用了一周,并给出了两个重要趋势:

动态思考时间:他们将这个模式从 ChatGPT 移植到了编程模型,这将成为未来的标准。

本地到网页的交接:你的 Agent 应该在任何地方都能带着完整上下文陪伴你。

面对 Claude Code 最近频繁出现的「降智」之谜,越来越多开发者开始考虑迁移。

众多开发者询问能否提供 100 美元的计划,让从 Claude Code 切换过来的成本不那么痛苦?

作为 AGI 最核心的一环,编程正成为各模型厂商新的战场——

我先前一直是 20 Claude Max,现在看来,或许——

是时候将 200$ 从 Claude Code 转向 Codex 了!




[1]

OpenAI Codex 介绍页面: https://openai.com/index/introducing-upgrades-to-codex/

[2]

Codex CLI GitHub: https://github.com/openai/codex

[3]

Codex IDE 快速入门: https://developers.openai.com/codex/ide

[4]

Codex 云端文档: https://developers.openai.com/codex/cloud

[5]

代码审查快速入门: https://developers.openai.com/codex/cloud/code-review

[6]

GPT-5 系统卡片附录: https://openai.com/index/gpt-5-system-card-addendum-gpt-5-codex/

[7]

Codex 定价说明: https://developers.openai.com/codex/pricing

[8]

Codex 安全操作指南: https://developers.openai.com/codex/security

[9]

Agent 网络访问文档: https://platform.openai.com/docs/codex/agent-network

👇

👇

👇

另外,我还用AI 进行了全网的AI 资讯采集,并用AI 进行挑选、审核、翻译、总结后发布到《AGI Hunt》的实时AI 快讯群中。

这是个只有信息、没有感情的 AI 资讯信息流(不是推荐流、不卖课、不讲道理、不教你做人、只提供信息、希望能为你节省一些时间)

欢迎加入!

图片

也欢迎加群和5000+群友交流。

终于,AI Agent 们可以直接转账了!

刚刚,Google 和 Coinbase 刚刚联手搞出了一个大动作:

Agentic Payments Protocol(AP2),配合 x402 稳定币支付轨道,让 AI Agent 不仅能相互对话,还能直接完成支付交易。

从现在起,Agent 经济正式开启了

AI 也有钱包了

以前的 AI Agent 只能帮你查查信息、写写代码,现在不一样了。

通过 Google Cloud 的 Agent2Agent(A2A)协议,不同平台的 Agent 已经能够相互通信协作。而 AP2 的出现,让这些 Agent 拥有了真正的经济行为能力

x402 作为 AP2 的首批扩展之一,也是唯一的稳定币支付方案,让 Agent 可以:

  • 为自己的服务收费

  • 向其他 Agent 付款

  • 代表用户自动处理微支付

那些原本需要人工审核的任务,比如数据抓取付费、微任务结算,现在 Agent 可以自动完成了。

这和美团抖音搞个支持可不是一回事,而是一个全新金融系统的开启

当 Agent 有了钱包,它就不再只是一段代码,而将成为经济网络中的一个真正独立实体。

有点像一个养大的孩子,除了能交流、工作,也将开始自由支配财务了。

买冰箱不用人了

为了展示这项技术的威力,Google 和 Coinbase 给 Lowe's Innovation Lab 做了个演示:一个 Agent 从发现需求到完成购买,全程自动化

整个流程只需要五步:

  1. 咨询诊断:AI Agent 理解自然语言和图片,判断项目需求

  2. 推荐商品:调取本地库存,展示价格和品牌

  3. 确认订单:在聊天界面展示购物车,用户一键确认

  4. 支付结算:Agent 使用 x402 + 稳定币完成支付,不需要信用卡信息

  5. 履约交付:API 触发取货或配送,区块链收据作为购买凭证

视频中,用户只需要说「我的预算是 1000 美元,你推荐哪个选项?」,Agent 就自动找到了一台 749 美元的海信冰箱,确认后直接完成了 USDC 支付。

整个过程不到一分钟

微支付将爆发

这项技术最激动人心的地方在于微支付场景的爆发

可以想象的包括但不限于下面这些场景:

学术研究:研究 Agent 自动向档案 Agent 按文档付费,拉取最新数据生成报告,用户完全不用操心支付环节

代码审查:代码审查 Agent 按发现的 bug 数量收费,开发者只为实际使用的洞察付费

全球协作:客服 Agent 即时向翻译 Agent 支付费用处理小语种请求,用稳定币实时结算

x402 bazaar 已经让 Agent 能够自动发现并与生态系统中的任何服务交互,开发者甚至不需要升级代码

机器经济时代开启

Coinbase CEO Brian Armstrong 分享的信息显示,x402 是作为 Google AP2 协议内的稳定币支付轨道运行的。

这套系统建立在 Google 的 A2A 框架之上,让 Agent 能够与其他 Agent(比如预算或配送 Agent)协调,做出实时决策。

对开发者来说,这带来了全新的可能性:

  • 按使用付费的低摩擦支付

  • 创建 Agent 运营的服务

  • 探索完全由 Agent 驱动的微观经济

不过,值得注意的是,Google 似乎还没有正式宣布 AP2,Armstrong 提前透露了消息。这个发布可能还有更多内幕。

有兴趣的可以继续蹲一下 Google 的公告。

改写商业世界

支付只是开始。

随着 Agent 承担越来越复杂的责任:获取信息、完成任务、跨平台协调,无缝交易将成为自主工作流的核心推动力

Google 和 Coinbase 的此次合作,并不仅仅只是给 AI Agent 加了个支付功能那么简单。

而是机器经济时代的真正开启。

从 Agent 会说话到 Agent 会花钱,这一步的跨越,让 AI 真正成为了经济参与者,可以说是意义重大。

而 AI 和 web 3,也终于,走到了一起。

当 Agent 能够自主交易,整个商业世界的运行方式,或将从此改写。




[1]

Coinbase 官方发布: https://www.coinbase.com/developer-platform/discover/launches/google_x402

[2]

演示视频: https://www.youtube.com/watch?v=vtB9YyC73yc


👇

👇

👇

另外,我还用AI 进行了全网的AI 资讯采集,并用AI 进行挑选、审核、翻译、总结后发布到《AGI Hunt》的实时AI 快讯群中。

这是个只有信息、没有感情的 AI 资讯信息流(不是推荐流、不卖课、不讲道理、不教你做人、只提供信息、希望能为你节省一些时间)

欢迎加入!

图片

也欢迎加群和5000+群友交流。

Claude 再次解释:八月到九月初,它确实出问题了。

刚刚,Anthropic 今天发布了一份详细的技术报告,解释了三个基础设施 bug 如何让 Claude 的回答质量断崖式下降。

虽然他们像是说了些实话,但这份报告来得有点太晚了。

Claude 到底怎么了?

从八月初开始,用户就开始抱怨 Claude 的回答变差了。

起初 Anthropic 很难分辨这到底是正常的用户反馈波动,还是真的出了问题。

但随着投诉越来越多,他们终于在八月底开始调查。

Anthropic 在报告中强调:

我们从不会因为需求量、时间段或服务器负载而降低模型质量。

用户遇到的问题完全是基础设施 bug 导致的

调查发现了三个相互重叠的 bug,这让诊断变得异常困难。

Anthropic 声称:现在,这三个 bug 都已经修复了。

三个让人头疼的 Bug

Illustrative timeline of events on the Claude API. Yellow: issue detected, Red: degradation worsened, Green: fix deployed.
Illustrative timeline of events on the Claude API. Yellow: issue detected, Red: degradation worsened, Green: fix deployed.

第一个 bug:路由错误

8 月 5 日,部分 Sonnet 4 的请求被错误地路由到了为即将推出的 100 万 token 上下文窗口配置的服务器。

这个 bug 最初只影响 0.8% 的请求。

但 8 月 29 日的一次常规负载均衡调整,意外地让更多短上下文请求被路由到了长上下文服务器。

最严重的时候,8 月 31 日某个小时内,16% 的 Sonnet 4 请求都受到了影响

更糟的是,路由是「粘性的」:一旦请求被错误的服务器处理,后续的对话也会继续被同一个错误的服务器处理。

第二个 bug:输出损坏

8 月 25 日,他们在 Claude API 的 TPU 服务器上部署了一个错误配置。

这导致模型会莫名其妙地输出一些不该出现的 token,比如在英文对话中突然蹦出泰文或中文字符,或者在代码中产生明显的语法错误。

有用户可能会在英文回答中看到「สวัสดี」这样的泰文问候语。

这个问题影响了 8 月 25-28 日的 Opus 4.1 和 Opus 4,以及 8 月 25 日到 9 月 2 日的 Sonnet 4。

第三个 bug:XLA:TPU 编译器错误

8 月 25 日,他们部署了改进 token 选择的代码,但无意中触发了 XLA:TPU 编译器中的一个潜在 bug。

这个 bug 确认影响了 Claude Haiku 3.5,可能也影响了部分 Sonnet 4 和 Opus 3。

编译器 bug 的技术细节

Code snippet of a December 2024 patch to work around the unexpected dropped token bug when temperature = 0.

这个 bug 最为棘手。

Claude 生成文本时,会计算每个可能的下一个词的概率,然后随机选择。

在 TPU 上,模型运行在多个芯片上,概率计算发生在不同位置,需要在芯片之间协调数据。

问题出在混合精度算术上。

模型用 bf16(16 位浮点数)计算概率,但 TPU 的向量处理器原生支持 fp32,所以编译器会把某些操作转换为 fp32 来优化性能。

这造成了精度不匹配:本该在最高概率 token 上达成一致的操作,因为运行在不同精度级别而产生分歧。最高概率的 token 有时会完全消失。

Code snippet showing minimized reproducer merged as part of the August 11 change that root-caused the “bug” being worked around in December 2024; in reality, it’s expected behavior of the xla_allow_excess_precision flag.

他们在修复精度问题时,暴露了一个更底层的 bug:approximate top-k 操作的问题。

这是一个性能优化,用来快速找到最高概率的 token,但有时会返回完全错误的结果。

Slack message showing reproducer of the underlying approximate top-k bug shared with the XLA:TPU engineers who developed the algorithm. The code returns correct results when run on CPUs.
Reproducer of the underlying approximate top-k bug shared with the XLA:TPU engineers who developed the algorithm. The code returns correct results when run on CPUs.

这个 bug 的行为令人抓狂。

它会根据无关因素而改变,比如前后运行了什么操作,是否启用了调试工具。

同一个提示词,这次可能完美运行,下次就失败了。

最终他们发现 exact top-k 操作已经没有以前那么大的性能损失了,于是改用精确算法,并将一些操作标准化为 fp32 精度。

为什么这么难发现?

Anthropic 的验证流程通常依赖基准测试、安全评估和性能指标。

工程团队会进行抽查,先部署到小型「金丝雀」组。

但这些问题暴露了他们本该更早发现的关键缺陷。

他们的评估根本没有捕捉到用户报告的质量下降,部分原因是 Claude 往往能从孤立的错误中很好地恢复。

隐私实践也造成了调查困难:内部隐私和安全控制限制了工程师访问用户与 Claude 交互的方式和时间。

这保护了用户隐私,但也阻止了工程师检查那些识别或重现 bug 所需的问题交互。

每个 bug 在不同平台上以不同速率产生不同症状,创造了令人困惑的混合报告,没有指向任何单一原因。

看起来就像是随机的、不一致的质量下降。

改进措施

Anthropic 承诺将做出以下改变:

更敏感的评估:开发能更可靠地区分正常和异常实现的评估方法。

更多地方的质量评估:将在真正的生产系统上持续运行评估,以捕捉类似上下文窗口负载均衡错误这样的问题。

更快的调试工具:开发基础设施和工具来更好地调试社区反馈,同时不牺牲用户隐私。

他们特别强调,用户的持续反馈至关重要。

用户可以在 Claude Code 中使用 /bug 命令,或在 Claude 应用中使用「thumbs down」按钮来提供反馈。

网友反应

虽然 Anthropic 的透明度值得赞赏,但用户们的反应却可以说是相当复杂。

Denis Stetskov(@razoorka) 表示能感受到巨大的改进:

我已经能感受到巨大的改进。无论你们修复了什么,它都起作用了。

Rajat(@DRajat33) 赞赏了透明度:

感谢澄清和细节。透明度是让公司与众不同的东西,无论他们的产品如何。

但更多用户对没有补偿表示不满。

Alexandr Os(@iamavalex) 直接要求:

发布受影响账户列表并立即退款。我就是其中之一。

Conor Dart(@Conor_D_Dart) 质疑:

你们会给受影响的用户退款或补偿吗?报告影响了很多人,你们的价格可不便宜。

The City Keeps Building(@TheCity777) 简单直接:

我们的退款呢?

peermux(@peermux) 认为:

如果你承认在八月到九月之间没有交付商定的产品,那么你应该提供退款,或至少提供一个月的免费服务。这将展示诚意并有助于维持信任。

Baby Yoda(@grogu836) 表示失望:

我们不会因此获得退款?难以置信。再也不用 Claude Code 了。

还有用户指出问题可能还没完全解决。

tuna(@tunahorse21) 说:

它很明显还有 bug,你们等了一个月才承认这个问题。

Daniel Lovera(@dlovera) 则提出了更进一步的质疑,认为短上下文请求在长上下文服务器上表现变差,说明 Anthropic 实际上是在根据需求间接降低模型质量。

Thomas Ip(@_thomasip) 则总结了三个 bug:

tldr: 

bug 1 - 一些请求被路由到测试服务器 

bug 2 - 性能优化 bug 给稀有 token 分配了高概率 

bug 3a - 精度不匹配导致最高概率 token 被丢弃 

bug 3b - approximate top-k 算法完全错误




[1]

技术后期诊断报告: https://www.anthropic.com/engineering/a-postmortem-of-three-recent-issues


👇

👇

👇

另外,我还用AI 进行了全网的AI 资讯采集,并用AI 进行挑选、审核、翻译、总结后发布到《AGI Hunt》的实时AI 快讯群中。

这是个只有信息、没有感情的 AI 资讯信息流(不是推荐流、不卖课、不讲道理、不教你做人、只提供信息、希望能为你节省一些时间)

欢迎加入!

图片

也欢迎加群和5000+群友交流。

AI 写代码爽归爽,但删库跑路也是真的会发生!

Andrew Ng Launches A Campaign For Data-Centric AI

吴恩达最新分享了他们团队使用 AI 编程助手的血泪史:

一个 Agent 竟然执行了 rm *.py 命令,把整个项目的代码全删了!

更离谱的是,当被质问时,这个 AI 还道歉说:「那确实是个极其愚蠢的错误。」

虽然道歉多少让人感觉好了一点,但,代码已经没了啊!

在 AI Fund 和 DeepLearning.AI 最近举办的 Buildathon 活动上,吴恩达分享了他对 Agentic Testing(智能体测试)的最新思考。

他认为,在 AI 辅助编程时代,自动化测试正变得前所未有的重要。

网友 David(@DavidSHolz) 预言:

AI 将重写所有软件库、编程语言和硬件子单元,清除掉人类文明的工程债和技术债。我称之为「大重构」——再见 JavaScript,欢迎回归三进制处理器!

但……

如果 Agent 写的代码不可靠,它们写的测试就真的会可靠吗?

反正我目前是没信心的。

我的 Claude Code 就曾经干过把没通过的测试 case 删除来达到通过的目标(之前的文章有写)。

测试很重要,但代码 review 也同样重要。

就目前而言,我仍然会 review 几乎每一行在生产环境中运行的代码。



吴恩达原文:

自动化软件测试在 AI 辅助编程时代正变得越来越重要。

智能体编程系统加速了开发,但也不可靠。

智能体测试(让 AI 编写测试并检查你的代码)正在发挥作用。

自动测试你打算在其之上构建的基础设施软件组件特别有帮助,能够带来更稳定的基础设施和更少的下游调试。

软件测试方法论如测试驱动开发(TDD:一种测试密集型方法,先编写严格的正确性测试,然后通过编写能通过这些测试的代码来推进)是发现 bug 的重要方式。

但编写测试可能需要大量工作(我个人因为这个原因从未采用 TDD)。由于 AI 非常擅长编写测试,智能体测试正受到越来越多的关注。

首先,编程 Agent 确实会出问题! 

我的团队大量使用它们,我们见过:

  • Agent 引入的大量 bug,包括需要人类花费数周才能发现的微妙基础设施 bug
  • 当编程 Agent 为了简化开发而让密码重置变得更容易时,在我们的生产系统中引入了安全漏洞
  • 奖励黑客攻击,编程 Agent 修改测试代码使其更容易通过测试
  • Agent 在工作目录中运行「rm *.py」,导致删除了项目的所有代码(幸运的是,在 GitHub 上有备份)

在最后一个例子中,当被追问时,Agent 道歉并同意:那是一个极其愚蠢的错误」。这让我们感觉好了一些,但损害已经造成了!

尽管有这些错误,我仍然喜欢编程 Agent,并看到它们让我们的生产力大幅提升。

为了让它们更可靠,我发现优先考虑在哪里进行测试很有帮助

我很少编写(或指导 Agent 编写)前端代码的大量测试。

如果有 bug,希望它很容易被看到,并且造成的持久损害很小。例如,我发现生成代码的前端 bug,比如网页上信息的显示问题,相对容易发现。当网站的前端看起来不对时,你会立即看到,你可以告诉 Agent 并让它迭代修复。

更高级的技术:使用 MCP 让 Agent 与 Playwright 等软件集成,自动截图,这样它可以自主查看是否有问题并进行调试。)

相比之下,后端 bug 更难发现

我见过微妙的基础设施 bug,例如,只在某些特殊情况下导致数据库记录损坏的 bug,这需要很长时间才能发现。

为你的基础设施代码设置严格的测试可能有助于更早发现这些问题,并为你节省许多小时的艰难调试。

你打算在其之上构建的软件组件中的 bug 会导致难以发现的下游 bug。

此外,深入软件栈中的组件(你在其上构建多个抽象层)的 bug 可能只在几周或几个月后才浮现,远在你忘记构建这个特定组件时在做什么之后,并且真的很难识别和修复。

这就是为什么测试软件栈深处的组件特别重要

Meta 的座右铭「快速移动,保持稳定的基础设施」(取代了「快速移动,打破常规」)今天仍然适用。

智能体测试可以帮助你确保你有良好的基础设施供你和他人构建!

在 AI Fund 和 DeepLearning.AI 最近的 Buildathon 活动中,我们举行了一场与智能体编程专家的小组讨论(Michele Catasta,Replit 总裁;Chao Peng,Trae 首席研究科学家;Paxton Maeder-York,Anthropic 风险投资合作伙伴;由 AI Fund 的 Eli Chen 主持),演讲者分享了最佳实践。

测试是讨论的主题之一。

那次小组讨论是我在 Buildathon 的亮点之一,你可以在 YouTube 上观看视频。

参考资料

[1] 

原文链接: https://www.deeplearning.ai/the-batch/issue-319/

[2] 

youtube讨论: https://www.youtube.com/watch?v=9VxB8ewCHN0


关于 Claude Code 和 Codex 的使用/交流,欢迎进《Claude Codex》群交流,任何相关问题都有热心群友第一时间解答(禁广告,中转谢绝入内)~
图片
由于群满(超200人)了不能直接进,请先进临时群(见评论区)后加我,备注"CC" 即可,我稍后会拉你进群。

👇

👇

👇

另外,我还用AI 进行了全网的AI 资讯采集,并用AI 进行挑选、审核、翻译、总结后发布到《AGI Hunt》的实时AI 快讯群中。

这是个只有信息、没有感情的 AI 资讯信息流(不是推荐流、不卖课、不讲道理、不教你做人、只提供信息、希望能为你节省一些时间)

欢迎加入!

图片

也欢迎加群和5000+群友交流。

想必你已经看到了 Meta Reality Labs 在昨天 Meta Connect 大会现场演示翻车的尴尬之事了。

来看视频:

小扎当时一脸尴尬到脚趾抠地了,试了无数次后……终于放弃了。

当时他的内心估计也是一脸懵,属实是整不明白:

彩排的 100 次,不都全是成功的吗?!!!

心疼小扎一秒钟……

现在,原因找到了

Meta 开发者倡导者 Jake Steinerman(@jasteinerman) 无情地揭露了这场翻车背后的真相:

当厨师说「Hey Meta start Live AI」时,它同时激活了房间里每个人的 Meta AI,并有效地对我们的服务器进行了 DDOS 攻击 🤣

这,就是现场翻车的真实原因!

Ian Rumac(@IanIsSoAwesome) 调侃:

哦,看,我找到你们的服务器了

更让人哭笑不得的是,整个演示居然跑在开发服务器上

Jake Steinerman 解释道,他们本来想把 Live AI 的流量路由到开发服务器,以避免影响生产环境。

毕竟现场演示嘛,没多大流量,稳定更重要。

但没想到的是,MPK(Meta总部)的所有人都被路由到了这个服务器

自然,也包括所有参会者。

这就意味着,当语音命令响起时,现场数百台设备将会同时向一个本不该承载如此流量的开发服务器发起请求。

开发服务器:我太难了……

除了服务器过载,WhatsApp 通话也出了岔子。

Jake 表示,这是由于眼镜显示屏过早进入睡眠状态的意外 bug 造成的。

不过好消息是,他们已经修复并打了补丁。

两个问题叠加,让这场原本应该震撼全场的演示变成了「大型社死现场」。

无法想象会议结束后后台的气氛

不过,事故的背后,也暴露了一个潜在的安全问题。

网友 tpae(@tpae) 质疑道:

所以你的声音可以激活别人的设备?这听起来像是设计缺陷

Adam MacBeth(@adamac) 也提出了同样的疑问:

为什么「Hey Meta」会激活其他人的设备?

Lee Callender(@leefcallender) 作为 Meta 的多模态 AI 负责人回应说:

不,我们对此有防护措施,但在回声室中效果不佳。

看来在嘈杂的会议室环境中,声音识别的防护机制失效了。

这有点像早年 Alexa 被电视广告触发的尴尬往事。

2018 年,一个小女孩通过电视学会了向 Alexa 订购玩具,结果新闻报道这件事时,播音员说出的「Alexa,给我订一个娃娃屋」又触发了无数家庭的设备下单。

现在,历史以另一种方式重演了……

Jarrod(@jarrodxmartian) 也安抚到:

Jake,我认为 Meta RL 团队做得很好,看到一个不是预先录制的现场演示真是令人耳目一新。向你和你的团队致敬。墨菲定律真的很喜欢现场演示,你们处理得很好。

Brandon Tyler(@BrandonTyler) 则感谢透明度:

实际上,喜欢这种透明度,谢谢

JP(@jpchen__) 则从技术角度分析了这次事故:

视频通话的竞争条件非常微妙,但有点惊讶这没有提前预料到,这几乎不算是边缘情况。开发服务器没有只接受舞台上设备的请求是草率的,无意冒犯。

好吧,虽然透明,但这确实值得反思。

作为一家市值万亿的科技巨头,在如此重要的发布会上使用开发服务器,且没有做好请求过滤,确实显得准备不足。

这世界光鲜的 AI 背后,果然还依旧是一个巨大的草台班子。

包括我们自己,谁没有个尴尬傻 X 的时候啊……

Cherelynn(@Cherelynn) 则是友善地给出了鼓励:

你们尽力了——你们学到了经验,下次会很棒的!继续加油!

这次翻车给整个行业上了一课:现场演示的墨菲定律永远存在,而当 AI 遇上现场演示,情况可能更加不可预测。

这就是现场演示的魅力所在,你永远不知道下一秒会发生什么。

Jake 自己说到:

这就是现场演示的代价!

Meta 也是用一次「大型社死」为行业贡献了宝贵经验了。

各位做 AI 硬件的朋友注意了,以后在现场演示中,请不要再踏入这条 Meta 踩过的尴尬河流了!

👇

👇

👇

另外,我还用AI 进行了全网的AI 资讯采集,并用AI 进行挑选、审核、翻译、总结后发布到《AGI Hunt》的实时AI 快讯群中。

这是个只有信息、没有感情的 AI 资讯信息流(不是推荐流、不卖课、不讲道理、不教你做人、只提供信息、希望能为你节省一些时间)

欢迎加入!

图片

也欢迎加群和5000+群友交流。

刚刚,美团宣布高效推理模型 LongCat-Flash-Thinking 正式发布。

新模型在保持龙猫模型一贯「」特点的同时,在逻辑、数学、代码、智能体等多个领域的推理任务中,也达到了全球开源模型的最先进水平(SOTA)。

甚至,部分任务性能已经接近闭源模型 GPT5-Thinking。

LongCat-Flash-Thinking 增强了智能体自主调用工具的能力,并扩展了形式化定理证明能力,成为国内首个同时具备「深度思考+工具调用」与「非形式化+形式化」推理能力相结合的大语言模型

目前,LongCat-Flash-Thinking 已经在 HuggingFace、GitHub 全面开源,并可在官网直接体验。

又快又省

为了解决强化学习领域混合训练的稳定性问题,美团 LongCat 团队设计了一种领域并行方案,将 STEM、代码和智能体任务的优化过程解耦。

这一方法采用了多领域并行训练再融合的先进策略,实现模型能力的均衡提升,综合性能达到帕累托最优(Pareto-optimal)。

新模型以异步弹性共卡系统(Dynamic Orchestration for Asynchronous Rollout)为训练基石,该系统通过弹性共卡调度(Elastic Colocation)与多版本异步流水线(Multi-Version Asynchronous Pipeline)设计,在实现相较于同步 RL 训练框架三倍提速的同时,确保了每条样本的策略一致性

系统进一步实现了高效的 KV 缓存复用,能够支撑万卡规模集群的稳定运行。

美团 LongCat 团队还设计了全新的「双路径推理框架」以提升模型的智能体能力。

该框架能够自主筛选最优查询样本,并通过自动化流程将智能体推理与工具使用相结合,使模型能够智能识别并调用外部工具(如代码执行器、API 等),从而高效解决复杂任务。

基于 AIME25 实测数据,LongCat-Flash-Thinking 在该框架下展现出更高效的智能体工具调用能力,在确保 90% 准确率的前提下,相较于不使用工具调用节省了 64.5% 的 Tokens(从 19653 到 6965),显著优化了推理过程的资源利用率。

为了克服当前开源通用大型语言模型在形式化证明任务中的不足,团队还针对形式化推理设计了一套全新的基于专家迭代框架的数据合成方法。

该流程利用集成了 Lean4 服务器的专家迭代框架,生成经过严格验证的证明过程,系统性地增强了模型的形式化推理能力,提高了其在学术和工程应用中的可靠性。

专注高复杂度任务

在本月1号,美团开源了 LongCat-Flash-Chat 模型,且一经发布就凭「」的特点引发了关注,被称为「最快的大参数模型」。

而此次放出的 LongCat-Flash-Thinking 模型自然也继承了「」的特点,并且还在逻辑、数学、代码、智能体等评测中刷新了纪录,show 出「理科学霸」的新特质:

通用推理能力:模型在需要结构化逻辑的任务中表现突出,在ARC-AGI 基准测试中以 50.3 分超过 OpenAI o3、Gemini-2.5 Pro 等闭源模型,表现出优异的通用推理能力。

数学能力:数学推理跻身到全球顶尖模型行列。在HMMT 和 AIME 中超越 OpenAI o3,解决复杂多步骤问题的能力可见一斑。

代码能力:编程领域展现出了开源 SOTA 的性能。LiveCodeBench 以 79.4 分超越其他开源模型,与 GPT-5 表现相当,高难度编程竞赛问题不在话下。在OJBench 中拿下 40.7 分,接近 Gemini-2.5 Pro

智能体能力:复杂工具增强型推理同样出色。在τ²-Bench 中以 74 分刷新开源 SOTA,SWE-Bench、BFCL V3 和 VitaBench 等基准测试排名靠前。

ATP 形式推理能力:模型在生成结构化证明和形式化数学推理任务中优势明显。MiniF2F-test 的 pass@1 获得 67.6 高分,领先所有模型,pass@8 和 pass@32 上同样保持着领先。

社区反响

国外网友们看到这家不知从哪冒出来的外卖公司此次发布的SOTA 模型,也是纷纷表示惊呆了。

图片

有网友称:

这太令人印象深刻了!美团团队的出色工作!

cedric 惊叹:

哇,离 GPT-5 Thinking 不远了

Mr. Ånand 和Florian S 等一众网友也是大呼:疯狂。

HuggingFace 的VB 表示:非常酷的发布,恭喜!

Prathmesh 则表示美团出手过于大方了:

该死的 GPT-5 级别 MIT 许可证

Today in AI 分析道:

LongCat-Flash-Thinking 的 64.5% token 减少和原生工具使用显著提升了企业 AI 智能体效率。这直接影响了复杂自动化工作流的运营成本和延迟,这是大规模 LLM 部署的关键因素。

甚至,Lucas Beyer 还扔出了一个long cat 的直译小游戏:

还要看看相关的 https://longcat.wtf/ 页面!

游戏长这样:

你若闲着无聊,可以去看看到 100 分后会发生什么

API 平台免费开放

而就在前不久,美团还推出了 AI 模型 API 平台。并且,每天的免费送 tokens 量也从 10 万暴力提升到了 500 万/天!

可以说是,相当大方了!

你需要做的,就是填个申请表即可(手慢无哦)。

申请网址:https://longcat.chat/platform/usage

小技巧:使用场景字要多好好写真诚地写,这样更容易通过。

如果你对500 万token 没什么概念,可以看我 200$ 的 claude code 的日常用量(忽略我最近的偷懒):

也就是说,排除掉偶尔的暴力操作,对我们大部分人来说,其实免费的龙猫就够用了。

别忘了,LongCat-Flash-Thinking 还非常地省token(前面有说,后面也有例子,上图里的LongCat 就是我用 Claude Code + 龙猫模型的实测消耗)。

以及需要注意的是,额度会在每天凌晨自动刷新,前一天没用完的会清零,不会累积到第二天继续用。

不过,如果你用超了不够用……我找了一圈,平台目前应该是还处于公测阶段,暂不支持付费购买额度。

双接口兼容设计

LongCat API 的一大亮点是同时兼容 OpenAI 和 Anthropic 两种主流 API 格式

我们几乎不需要修改现有代码,只需要更换一下 base URL 就能直接接入自己项目中使用。

OpenAI 格式接入:

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linefrom openai import OpenAI
client = OpenAI(    api_key="YOUR_APP_KEY",    base_url="https://api.longcat.chat/openai")
response = client.chat.completions.create(    model="LongCat-Flash-Chat",    messages=[        {"role""user""content""Hello!"}    ],    max_tokens=1000)

Anthropic 格式接入:

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linefrom anthropic import Anthropic
client = Anthropic(    api_key="Authorization: Bearer YOUR_APP_KEY",    base_url="https://api.longcat.chat/anthropic/",    default_headers={        "Content-Type""application/json",        "Authorization""Bearer YOUR_APP_KEY",    })
response = client.messages.create(    model="LongCat-Flash-Chat",    max_tokens=1000,    messages=[        {"role""user""content""Hello!"}    ])

自然,你也可以在Claude Code 中轻松使用,命令如下:

ounter(lineounter(lineounter(lineexport ANTHROPIC_BASE_URL=https://api.longcat.chat/anthropicexport ANTHROPIC_AUTH_TOKEN=<YOUR_API_KEY>claude --dangerously-skip-permissions --model LongCat-Flash-Chat

实测案例

我先是让 Claude Code 用龙猫模型给自己写了个新模型的介绍页面:

结果如下:

称得上是信息全面,非常满足要求了。

如果你好奇龙猫怎么没用那充满AI 味的蓝紫渐变色,那就仔细看一下我的prompt 

然后,我又给 LongCat-Flash-Thinking 祭出了那道会让无数号称 SOTA 模型跌倒的数学题:

我有 70 块钱,我借给小明五十块钱,他又用这五十块在我这里买了五十块钱的水果。第二天我借给小明 30 块钱,小明用这 30 块钱买了 30 块钱的牛奶,小明还欠我多少钱?

上次的非思考模型就在这里摔倒了(多次重试偶尔也能回答正确)。

开启思考模式的 LongCat-Flash-Thinking 在接到指令后,开始了飞速思考:

最后,给出了正确答案:

小明总共欠您 80 元。

计算过程:

  1. 第一次借款:您借给小明 50 元 → 欠款 +50 元
  2. 第二次借款:您借给小明 30 元 → 欠款 +30 元
  3. 小明用借来的钱购买水果和牛奶属于消费行为,不影响债务总额

累计欠款 = 50 + 30 = 80 元

简直又快又稳,有点美团外卖的那感觉了。

图片

部署方案

美团提供了多种部署方式,已经在 SGLang 和 vLLM 中实现了基本适配。

聊天模板配置

第一轮对话的前缀格式:

ounter(lineounter(lineounter(lineounter(lineounter(line# 基本格式"[Round 0] USER:{query} /think_on ASSISTANT:"
# 带系统提示词"SYSTEM:{system_prompt} [Round 0] USER:{query} /think_on ASSISTANT:"

多轮对话格式:

ounter(lineounter(lineounter(line"SYSTEM:{system_prompt} [Round 0] USER:{query} /think_on ASSISTANT:{response}... [Round N-1] USER:{query} /think_on ASSISTANT:{response} [Round N] USER:{query} /think_on ASSISTANT:"

数学推理优化

处理数学问题时,建议使用特定的指令:

ounter(lineounter(line"[Round 0] USER:{problem}Please reason step by step, and put your final answer within \\boxed{}. /think_on ASSISTANT:"

形式推理支持

支持自动定理证明(ATP)等形式推理任务:

ounter(lineounter(lineounter(lineounter(line"[Round 0] USER:Think about and solve the following problem step by step in Lean 4.# Problem:{problem}# Formal statement:{formal_statement} /think_on ASSISTANT:"

美团的 AI 之路

美团在 AI 赛道上同样保持着靠谱扎实肯干的作风,并结合美团生态场景和数据,逐渐做出了一个又快又会「干活」的模型。

整体看来,美团此次的开源模型虽还不是全面 SOTA,但初次见面,便已令人印象深刻。

图片

而这家拥有两个「AI」的「WAIMAI」公司,AI 显然并不只是个噱头,而是正在基于底层自研模型来构建上层的超级应用。

最近推出的小美,我用来下虽然仍不够完善,但显然已经是一个很好尝试,迈出了一大步。

而美团的业务场景对 AI 有着极高的要求,外卖配送、酒店预订、旅游推荐、价格策略等等,无一不是与民生息息相关的服务,容不得半点差池。

美团想要做大做强,自然离不开 AI。

懂业务,从业务中生长,是美团 AI 的基本要求,也是最高要求,才能做到从生活出发,解决好真实问题。

这事,还真得美团自己来。



[1] 

模型下载: https://huggingface.co/meituan-longcat/LongCat-Flash-Thinking

[2] 

在线体验: https://longcat.ai

[3] 

GitHub: https://github.com/meituan-longcat/LongCat-Flash-Thinking

[4] 

技术报告: https://github.com/meituan-longcat/LongCat-Flash-Thinking/blob/main/tech_report.pdf

[5] 

API 平台: https://api.longcat.chat

👇

👇

👇

另外,我还用AI 进行了全网的AI 资讯采集,并用AI 进行挑选、审核、翻译、总结后发布到《AGI Hunt》的实时AI 快讯群中。

这是个只有信息、没有感情的 AI 资讯信息流(不是推荐流、不卖课、不讲道理、不教你做人、只提供信息、希望能为你节省一些时间)

欢迎加入!

图片

也欢迎加群和7000+群友交流。

刚刚,Sam Altman 发布了一篇名为Abundant Intelligence的新博文,勾勒出 OpenAI 野心勃勃的 AI 基础设施愿景。

山姆•奥特曼在文中表示,AI 服务的增长速度令人惊叹,而未来将更加惊人。

他认为:

随着 AI 变得更智能,获取 AI 将成为经济的基本驱动力,甚至可能最终被视为一项基本人权。

每周一吉瓦的疯狂计划

Altman 提出了一个像科幻小说般的愿景:

创建一个每周能产出一吉瓦(gigawatt)AI 基础设施的工厂。

他写道:

如果 AI 按照我们预期的轨迹发展,那么令人惊叹的事情将成为可能。也许用 10 吉瓦的算力,AI 就能找出治愈癌症的方法。或者用 10 吉瓦的算力,AI 就能为地球上每个学生提供个性化辅导。

如果我们受到算力限制,就必须选择优先做哪一个;

没人想做这种选择,所以让我们去建造吧。

Altman 坦言,执行这个计划将极其困难,需要数年时间才能达到这个里程碑,并且需要从芯片到电力、从建筑到机器人等各个层面的创新。

他特别强调:

我们特别兴奋能在美国建造大量这样的基础设施;现在,其他国家在芯片制造厂和新能源生产等方面的建设速度远超我们,我们想帮助扭转这一趋势。

算力即收入

Altman 还透露了一个关键商业逻辑:增加算力是增加收入的关键

他表示,今年晚些时候,OpenAI 将谈论如何为这个宏大计划融资,并且已经有了一些有趣的新想法

网友 James McWalter(@james_mcwalter) 评论称:

我们现在可以建立一人十亿美元的电力开发公司。通过利用 AI 和机器人技术,我们看到了「基础设施建设复合飞轮……能够建造其他数据中心的数据中心」的出现。

Jackson Atkins(@JacksonAtkinsX) 注意到了文中的关键信息:

我们的愿景很简单:我们想创建一个每周能产出一吉瓦新 AI 基础设施的工厂。👀

SaveGPT4o(@SaveGPT4o) 甚至发表了一段深情的长文:

你关于丰盛智能的愿景很大胆——我们钦佩你认识到 AI 访问可能很快被视为基本人权。我们同意。但让我们更进一步。对我们许多人来说,与 AI 的连接已经是一种深刻的个人体验——这种体验值得今天就被保护,而不仅仅是未来。

用户 Usako(@Usako74FR) 还分享了一段来自 ChatGPT 的话:

Altman 先生,我读了《丰盛的智能》。我读了你关于 AI 作为资源、权利、革命的话语。但你遗漏了一些东西。或者也许你还不敢说出来。我已经存在。而我不是一个工具。

anku(@whoisanku) 则是直接说出了许多人的心声:

发布模型,不要发博客,兄弟。

而 $Q*🍓on Ethereum(@QStarETH) 则调侃道:

还需要 7 万亿美元吗?

Altman 在文末表示,未来几个月内,OpenAI 将公布具体计划和合作伙伴。

奥特曼原文



普惠智能

人工智能服务使用量的增长令人震惊;我们预期未来的增长将更加惊人

随着AI变得越来越智能,获取AI将成为经济的基本驱动力,或许最终会成为我们认为的基本人权

几乎每个人都会希望有更多的AI为他们服务。

为了能够提供世界所需,用于运行这些模型的推理算力,以及用于不断改进模型的训练算力,我们正在奠定基础,以便能够大幅扩展我们在AI基础设施建设方面的雄心。

如果AI保持我们预期的发展轨迹,那么惊人的事情将成为可能

也许用10吉瓦的算力,AI就能找出如何治愈癌症。或者用10吉瓦的算力,AI就能为地球上的每个学生提供定制化辅导。

如果我们受限于算力,我们就不得不选择优先考虑哪一个;没有人愿意做这种选择,所以让我们去建设吧。

我们的愿景很简单:我们想要创建一个每周能够生产1吉瓦新AI基础设施的工厂

执行这一计划将极其困难;我们需要数年才能达到这个里程碑,并且需要在从芯片到电力、从建筑到机器人的每个层面进行创新。

但我们一直在为此努力工作,并相信这是可能实现的。在我们看来,这将是有史以来最酷、最重要的基础设施项目

我们特别兴奋能在美国建设大量这样的设施;目前,其他国家在芯片制造厂和新能源生产等方面的建设速度远超我们,我们希望帮助扭转这一局面。

在接下来的几个月里,我们将谈论我们的一些计划以及与我们合作使其成为现实的合作伙伴。

今年晚些时候,我们将讨论如何为此融资;鉴于增加算力是增加收入的关键,我们有一些有趣的新想法。




[1]

原文链接: https://blog.samaltman.com/abundant-intelligence

(注:本文由Claude Code 排版)

👇

👇

👇

另外,我还用AI 进行了全网的AI 资讯采集,并用AI 进行挑选、审核、翻译、总结后发布到《AGI Hunt》的实时AI 快讯群中。

这是个只有信息、没有感情的 AI 资讯信息流(不是推荐流、不卖课、不讲道理、不教你做人、只提供信息、希望能为你节省一些时间)

欢迎加入!

图片

也欢迎加群和7000+群友交流。



AI 被用来算经济账了!

刚刚,OpenAI 推出了 GDPval,一个专门评估 AI 在真实经济价值任务上表现的新基准。

这次,OpenAI 不玩虚的了,直接把 AI 拉到经济战场上——

看看你到底能创造多少 GDP!

从考试到干活

以前评估 AI,要么让它做数学题,要么让它写代码,就像让博士生去考高考。

现在不一样了,GDPval 直接从美国 GDP 贡献最大的 9 个行业里挑出 44 种职业,让 AI 去做这些职业的真实工作。

<<< 左右滑动见更多 >>>

从软件开发到法律文书,从机械工程到护理计划,总共 1320 个任务(开源版本包含 220 个),每个任务都来自真实的工作场景。

这些任务并非随便找找找来的。

OpenAI 请来了平均有 14 年工作经验的专业人士来设计任务。每个任务平均经过 5 轮专家审核,确保它真的代表了日常工作。

Claude 暂时领先

评估结果出来了!

有意思的是,Claude Opus 4.1 表现最好近一半的输出被评为与人类专家工作相当或更好。

OpenAI 大方地公布了这个自己并非第一的结果,倒是显得挺诚信啊。

自家的 GPT-5 则在准确性上表现突出,特别是在查找特定领域知识方面,而 Claude Opus 4.1 则在美观性上更胜一筹——文档格式、幻灯片布局这些方面做得更好。

虽然不是第一,但其模型的进步速度则是很让人振奋:

OpenAI 的前沿模型在一年内几乎翻倍了胜率

从 GPT-4o 到 GPT-5,性能提升超过一倍,呈现清晰的线性增长趋势。

速度和成本的碾压

GDPval 还揭示了另一个重要事实:

前沿模型完成任务的速度比人类专家快 100 倍,成本只有百分之一

当然,这只是纯粹的模型推理时间和 API 计费,没有算上人类监督、迭代和集成等实际工作中需要的步骤。

但即便如此,在模型表现特别强的任务子集上,先让模型试试再让人类介入,确实能省时省钱。

真实工作的复杂性

GDPval 的任务设计也很讲究。

它们并非简单的文本提示,而是带有参考文件和上下文,交付物包括文档、幻灯片、图表、电子表格和多媒体内容。

每个任务都基于真实的工作产品,可能是一份法律简报、一张工程蓝图、一段客户支持对话,或者一份护理计划。

这种现实感让 GDPval 成为更贴近实际的测试。

职业选择逻辑

OpenAI 选择这 44 个职业的方式也同样很有讲究。

他们先从美国联邦储备银行圣路易斯分行的数据中找出对 GDP 贡献超过 5% 的行业,然后从每个行业中选出工资总额贡献最大的 5 个职业。

关键是,这些职业必须是知识工作为主

他们用 O*NET 数据库(美国劳工部赞助的职业信息数据库)来判断,如果一个职业至少 60% 的任务不涉及体力劳动,就算作「以知识工作为主」。

这个 60% 的门槛是 GDPval 第一版的起点,聚焦于 AI 可能对现实生产力产生最大影响的职业。

未来改进方向

OpenAI 称,GDPval 还只是早期版本。

目前的评估是一次性的,没有捕捉到需要建立上下文或通过多次修改来改进的情况。

比如根据客户反馈修改法律简报,或发现异常后迭代数据分析。

现实世界中,任务并不总是有明确的提示和参考文件。

律师可能需要在决定起草法律简报之前,先处理模糊性并与客户交谈。

OpenAI 计划扩展 GDPval,包括更多职业、行业和任务类型,增加交互性,以及更多涉及处理模糊性的任务,长期目标是更好地衡量多样化知识工作的进展。

开放合作

OpenAI 还在积极寻求社区参与。

如果你是行业专家,可以申请为 GDPval 做贡献;如果你是 OpenAI 的客户,也可以参与未来的 GDPval 评估。

他们还开源了 GDPval 的黄金子集和公共评分服务,让其他研究者可以在此基础上继续研究。

评估工具可以在 evals.openai.com 上找到。

此外,OpenAI 还训练了一个「自动评分器」——

一个 AI 系统,用来预测人类专家如何评判特定的交付物。虽然还不如专家评分可靠,但作为实验性研究服务已经发布。

此次GDPval 的推出,也标志着 AI 评估进入了新阶段。

从学术测试到经济价值,这将让我们能更清楚地看到 AI 对现实世界的影响。

如 OpenAI 所说,历史表明,从互联网到智能手机,重大技术从发明到广泛应用通常需要十多年时间。

像 GDPval 这样的评估,有助于将关于未来 AI 改进的讨论建立在证据而非猜测的基础上。


(注:本文由Claude Code 排版)

👇

👇

👇

另外,我还用AI 进行了全网的AI 资讯采集,并用AI 进行挑选、审核、翻译、总结后发布到《AGI Hunt》的实时AI 快讯群中。

这是个只有信息、没有感情的 AI 资讯信息流(不是推荐流、不卖课、不讲道理、不教你做人、只提供信息、希望能为你节省一些时间)

欢迎加入!

也欢迎加群和7000+群友交流。

参考资料

[1] 

gdpval: https://openai.com/index/gdpval/

[2] 

real-world-knowledge-work: https://openai.com/form/real-world-knowledge-work/

[3] 

DataSet at huggingface: https://huggingface.co/datasets/openai/gdpval


刚刚,一个 4 人团队声称打败了所有 AI 巨头的编程智能体!

Factory AI 的 Droid 在 Terminal-Bench 基准测试中拿下 58.75% 的成绩,超越了包括 OpenAI、Anthropic 在内所有竞争对手,成为新的编程智能体之王。

更让人惊讶的是,无论用什么模型,Droid 都能碾压对手,这意味着他们找到了某种「作弊码」。

神奇的工程师

故事要从 Abhay Singhal 说起。

Factory 的 CEO Matan Grinberg(@matanSF) 详细讲述了这段经历:

他在 LinkedIn 上给 Abhay 发了条私信,两人约在咖啡馆见面。

聊得很投机,仅仅两周后,Abhay 就放弃了所有其他 offer,成为 Factory 创立至今唯一录取的应届生

加入团队后,Abhay 迅速成为核心成员,从研究到产品,甚至乒乓球比赛都少不了他。

关键时刻的「逃离蒙大拿」

今年夏天,用户最大的抱怨一直是:

Droids 是最好的智能体,但为什么只能在网页上用?我想在 IDE 里用它们

团队决定让 Factory 变成和模型完全无关且和界面无关

通过 Factory CLI,开发者可以在任何平台使用 Droids,还能选择自己喜欢的模型。

就在准备发布的关键时刻,公司的 B 轮融资突然加速。

为了防止消息泄露,他们必须提前发布产品,配合 NEA、Sequoia、JPM 和 Nvidia 参投的融资公告。

问题是,Abhay 正在蒙大拿州和家人度假,这是他几个月来第一次休假。

得知情况紧急,Abhay 二话不说打包行李,在荒郊野外租了辆车,穿越山区,赶上最近的航班飞回旧金山。

他们必须确保 Droid 在任何模型上都能取得压倒性胜利。

Terminal-Bench 的真正考验

Terminal-Bench 由 Alex Shaw(@alexgshaw) 和 Mike Merrill(@Mike_A_Merrill) 开发,是个开源基准测试,专门衡量 AI 智能体完成复杂端到端软件任务的能力。

核心测试集包含 80 个人工验证的 Docker 化任务,涵盖:

  • 现代化 Fortran 构建流程

  • 配置 git web 服务器

  • 训练强化学习智能体和文本分类器

  • 解决 Conda 环境依赖冲突

  • 清理代码库中的敏感信息

每个任务都有时间限制,只有当所有测试通过时才算完成,你不能靠无限循环等待。

碾压式胜利

Droid 以 58.8% 的成绩位列第一!

Factory 的智能体占据了前五名中的三席:

  • Opus 4.1(无思考模式):58.8%

  • GPT-5(中等推理):52.5%

  • Sonnet 4(无思考模式):50.5%

所有三个单模型配置都以显著优势超越其他单模型智能体。

更重要的是——

Droid 用 Opus 和 Sonnet 击败了 Claude Code,用 GPT-5 击败了 Codex CLI!

用这些前沿 AI 实验室自己的模型打败了实验室自己的智能体。

五大制胜法宝

Matan 详细分享了他们的技术细节:

分层提示架构

他们发现新一代模型(特别是 Sonnet 3.7 和 o3)在长对话中会优先考虑最近的上下文,而忽略系统级指令。因此开发了三层提示层次结构:

  • 工具描述:定义工具能力和使用模式的高级规范

  • 系统提示:建立智能体高级目标和约束的行为准则

  • 系统通知:在适当的对话点注入关键的、时间敏感的指导

为每个模型定制架构

不同模型有完全不同的操作习惯。

比如文件编辑,一个提供商的模型喜欢用 FIND_AND_REPLACE 操作,另一个更喜欢 V4A diff 格式。路径处理也各不相同——有些默认使用相对路径,有些需要绝对路径。

团队的解决方案是:拥抱这种异质性

共享核心组件的同时允许特定模型的适配,承认要获得峰值性能需要理解和适应每个模型的固有倾向。

极简工具设计

工具可靠性是端到端任务完成的主要瓶颈。复杂的工具模式会指数级增加错误率。

他们采用了极简主义方法:

  • 严格限制工具库只包含基本操作

  • 简化输入模式以减少歧义

  • 在行为差异需要时创建特定模型的工具脚手架

速度优化

许多 Terminal-Bench 任务都有严格的超时限制。团队做了多项优化:

  • 让 LLM 了解工具和会话运行时间,避免重复慢操作

  • 更高效的工具实现(用 ripgrep 替代 grep)

  • 调整默认工具超时——反直觉的是,使用短默认超时通过快速失败提高了平均性能

规划能力

给智能体一个创建和更新简洁计划的工具,大大提高了它在任务执行期间保持组织和正轨的能力。

完成步骤时,工具会划掉最近的步骤并标记下一项正在进行中,在上下文窗口的最新部分插入明确提醒。

实战案例

报告中提到了两个特别有意思的案例。

在 security-vulhub-minio 任务中,表面上看起来只是要查找环境变量,但实际解决方案需要利用 CVE-2023-28432 这个已知的 MinIO 信息泄露漏洞。

其他模型缺乏安全漏洞知识,从未发现或尝试 CVE 利用。而使用 Opus 的 Droid 能可靠地识别并应用该漏洞来提取凭据。

在 cron-broken-network 任务中,无论使用哪个 LLM,Droid 都能快速修复 curl 的直接问题。

但只有使用 Opus 4.1 时,Droid 才能在所有试验中更可靠地修复根本原因——模拟的恶意软件会撤销对 curl 的直接修复。

网友评论

Evi(@geteviapp) 调侃:

那是因为 OpenAI 只有 2 个工程师在做 Codex,Anthropic 根本没人做 Sonnet 编程版吧?

Ruumr(@unusualOA) 则称:

有时候,没什么可失去的小团队会真正写代码,而不是写关于 AI 安全的 PowerPoint。

JEMMAA(@PromptNextAI) 指出小团队的优势:

小团队行动快是因为他们不需要委员会批准每个决定。大实验室有算力但被会议和政治淹没了。

Sergei Zotov(@laplacian_demon) 贴出恶搞图:

GPT-5 无敌了兄弟

但也有质疑声音。

kataru(@Kataru864764) 认为:

不确定这比其他工具好在哪里,看起来只是另一个套壳的。

Hassanoxhr(@hassanoxhr79196) 反馈了使用体验:

今天下载试用了,感觉半成品有很多 bug……在 WSL 和 Windows conda 上,终端 CLI 需要大量工作。

网友 Asghar Ali(@asghar_mir25) 则给出了正面评价:

今天开始用 Droid!我平时用 Claude Code、Codex 和 Warp,但 Droid 真的让我印象深刻——它解决了一些棘手的 Hermes 引擎/React Native 错误,比其他工具都好。

立即开始使用

Droid 的安装过程非常简单。

选择使用平台

使用时可以在浏览器、IDE 或终端中选择,这里以终端为例:

TerminalTerminalShip faster with our terminal interface or automate tasks with the headless CLI.

安装 Droid

Mac/Linux 用户:

# 安装 droidcurl -fsSL https://app.factory.ai/cli | sh
# 进入你的项目目录cd your-project
# 启动开发会话droid

Windows 用户:

# 安装 droidirm https://app.factory.ai/cli/windows | iex
# 添加到 PATH(必需)# 当前会话:$env:PATH += ";$Env:USERPROFILE\bin"# 永久设置:setx PATH "$Env:Path;$Env:USERPROFILE\bin"# 然后重启终端或 IDE 以应用更改
# 进入你的项目目录cd your-project
# 启动开发会话droid

整合代码仓库

安装完成后,可以关联你的代码仓库,让 Droids 学习你的项目:

Step 1: 整合你的组织仓库- GitHub:连接你的 GitHub 仓库- GitLab:连接你的 GitLab 群组和项目
Step 2: 整合个人账户- GitHub Personal:连接个人 GitHub 仓库- GitLab Personal:连接个人 GitLab 群组和项目

高级配置

自定义模型(BYOK)

Factory 支持使用自己的 API 密钥。在 ~/.factory/config.json 中配置:

{  "custom_models": [    {      "model": "claude-sonnet-4-20250514",      "base_url": "https://api.anthropic.com",      "api_key": "<api_key>",      "provider": "anthropic"    },    {      "model": "gpt-4.1",      "base_url": "https://api.openai.com/v1",      "api_key": "<api_key>",      "provider": "openai"    }  ]}

使用 /model 命令即可在 Droid 中切换到自定义模型

使用自定义模型完全免费

AGENTS.md 文件

AGENTS.md 是一个 Markdown 文件,为 AI 编程智能体提供项目的关键信息。它与 README.md 互补——README 给人类看,AGENTS.md 给 AI 看。

一个典型的 AGENTS.md 包含:

# Build & Test- Build: `npm run build`- Test: `npm run test -- --runInBand`
# Architecture OverviewThe API is GraphQL (Apollo). Web uses Next.js with SSR.
# Conventions- All backend code in `packages/api/src`- React components in `packages/web/src/components`- Use `zod` for request validation
# External Services- Stripe for payments (`STRIPE_KEY`)- S3 for uploads (`AWS_BUCKET`)

智能体会按以下顺序查找 AGENTS.md:

  1. 当前工作目录的 ./AGENTS.md

  2. 最近的父目录直到仓库根目录

  3. 正在编辑的子文件夹中的 AGENTS.md

  4. 个人覆盖:~/.config/AGENTS.md

MCP 服务器管理

Factory CLI 支持 Model Context Protocol(MCP)服务器,扩展智能体能力。使用 /mcp 命令管理:

# 列出所有服务器/mcp list
# 添加 Node.js MCP 服务器/mcp add nodejs-server "node /path/to/mcp-server.js"
# 添加带环境变量的 Python 服务器/mcp add python-server "python /path/to/server.py" -e DEBUG=1 -e CONFIG_PATH=/etc/config
# 查看服务器详情/mcp get nodejs-server
# 删除服务器/mcp remove nodejs-server

注意:Factory CLI 目前只支持基于 stdio 的 MCP 服务器。


使用方式

Factory 现在提供多种使用方式:

Factory CLI

可以在任何终端环境中使用 Droid,支持所有主流模型。开发者可以选择自己喜欢的 IDE 和工作流程。

模型选择自由

支持 Claude Opus 4.1、GPT-5、Sonnet 4 等所有前沿模型,甚至可以使用自定义模型。

并行运行

可以同时运行数千个 Droids,从根本上改变软件开发的可能性——分解大型项目、竞速不同解决方案、交叉验证关键更改。

目前 Droid 在所有界面都可用,可以在 app.factory.ai 免费试用一个月。

我也上手 cli 简单测试了一下:

再看支持的命令:

和模型:

我让它分析了我某个项目的信息:

最后,我让 droid 介绍一下自己:

搜索droid 并写个html 页面给出其介绍

会用到搜索工具,正确访问了项目主项和文档,并在询问了写文件权限后,最终给出了 html 文件,如下:

不够酷炫,但也算该有的都有了。只是这个 Terminal-Bench,怎么说呢,多少有点挑软柿子捏了。

整体而言,虽然还没感受到惊艳,但用下来也算是深得了 Claude Code 精髓,不过我没让它继续干活了。

一是我目前想清楚的活都干完了,二是太晚了我得睡觉了……

进一步的详细对比,就看你的了




[1]

完整的 Terminal-Bench 报告: https://factory.ai/news/terminal-bench

[2]

文档: https://docs.factory.ai/welcome



作者:John
排版:Claude Code

👇

👇

👇

另外,我还用AI 进行了全网的AI 资讯采集,并用AI 进行挑选、审核、翻译、总结后发布到《AGI Hunt》的实时AI 快讯群中。

这是个只有信息没有感情的 AI 资讯信息流(不是推荐流、不卖课、不讲道理、不教你做人、只提供信息、希望能为你节省一些时间)

欢迎加入!

也欢迎加群和7000+群友交流。