AI编程助手实战:Fable 5如何通过工具调用频率逆势领先
如果你最近关注AI编程助手,可能会发现一个有趣的现象:当大家都在讨论Claude Opus 5、GPT-4o或DeepSeek时,一个名为Fable 5的模型却在开发者社区的实际使用数据中悄然领先。这不是指它在基准测试中拿了多少分,而是指一个更实际的指标——工具调用频率。
工具调用(Tool Calling)是衡量AI编程助手实用性的关键指标。它不只是“会不会写代码”,而是“能不能在真实开发环境中,主动调用命令行、API、数据库、文件系统等外部工具,完成一个完整的开发任务”。一个模型工具调用频率高,意味着开发者更愿意在真实项目中依赖它,而不是仅仅用它来回答理论问题。
本文要讨论的核心判断是:在当前的AI编程助手生态中,Fable 5通过其独特的设计,在工具调用的实际使用频率上实现了“逆势领先”。这种领先不是来自营销或参数规模,而是来自对开发者真实工作流的深度理解。我们将深入分析:
- 为什么工具调用频率是比基准测试更重要的指标?
- Fable 5 在工具调用设计上做了什么不同的事?
- 作为开发者,如何利用高工具调用能力的模型提升自己的效率?
- 面对Opus 5、Claude Code等众多选择,如何根据你的实际场景做决策?
文章后半部分,我会提供一个完整的实操示例,展示如何配置环境,让一个AI助手(以Claude Code为例)完成从代码编写、依赖安装、运行测试到问题排查的完整闭环。你会发现,一个高工具调用频率的模型,是如何将“对话”变成“协作”的。
1. 工具调用频率:被忽视的“实战”指标
在AI模型的评测中,我们习惯了看MMLU、HumanEval、GSM8K这些学术基准分数。但对于一线开发者来说,一个更朴素的问题是:“这个AI能帮我干多少活?” 工具调用频率,就是回答这个问题的量化指标。
什么是工具调用?简单说,就是AI模型不仅能生成文本或代码建议,还能根据你的指令,主动执行一系列操作。例如:
- 你让它“创建一个Spring Boot项目”,它不仅能给出
pom.xml,还能在终端里执行mvn spring-boot:create。 - 你让它“查一下数据库里用户表的数据”,它能生成并执行SQL查询。
- 你让它“把当前目录的日志文件压缩一下”,它能调用
tar或zip命令。
为什么这个指标重要?因为它直接衡量了AI的“动手能力”和“上下文理解深度”。一个模型如果只是“说得好”,但不敢或不会“做”,那么在复杂的、多步骤的工程任务中价值有限。高工具调用频率意味着:
- 降低认知负荷:开发者不用在“AI建议”和“手动执行”之间反复切换。
- 加速反馈循环:代码写出来立刻能运行、测试、看到结果,问题可以即时修正。
- 探索复杂场景:对于不熟悉的命令或API,可以让AI直接尝试,观察结果,快速学习。
当前,许多开发者反馈,一些顶级模型在“聊天”时表现惊艳,但一旦进入需要连续工具调用的实战环节(比如搭建一个本地开发环境),就容易出现“断链”、错误理解上下文或不敢执行操作的情况。而Fable 5的设计,似乎正是瞄准了这个痛点。
2. Fable 5 的“逆势领先”:设计哲学与实现差异
“逆势领先”这个词很有意思。它暗示在主流视线(可能被Opus、GPT等大模型发布会吸引)之外,另一个产品通过不同的路径取得了实际优势。那么,Fable 5 做对了什么?
根据社区反馈和有限的公开资料分析,Fable 5 在工具调用上的优势可能源于以下几个设计选择:
1. 以“工作流”而非“单次问答”为核心许多AI助手的设计范式是“一问一答”。Fable 5 可能更早地将场景设定为“协助完成一个任务”,这个任务可能包含数十个步骤。因此,它在规划步骤、维持上下文、处理工具执行结果并决定下一步行动上,做了更深的优化。它更擅长说:“要完成A,我们需要先做B和C。我现在执行B,这是结果。基于这个结果,接下来执行C。”
2. 更精细的工具权限与安全沙箱开发者不敢让AI随意执行命令,核心顾虑是安全。Fable 5 可能提供了更颗粒度的工具权限控制。例如,可以为当前会话设定“工作目录”,限制命令白名单(如只能运行git, npm, mvn, python等),或者在一个安全的容器化环境中执行所有操作。这让开发者敢于授予它更高的“操作权”,从而提高了调用频率。
3. 更好的错误处理与恢复机制工具调用失败是常态。一个模型如果遇到“命令未找到”或“权限被拒绝”就卡住或开始胡言乱语,它的工具调用链会立刻断裂。Fable 5 可能强化了错误处理逻辑,能够解读错误信息,尝试替代方案(如下载缺失的工具),或清晰地告知用户需要手动干预。这种鲁棒性鼓励了持续调用。
4. 与IDE/CLI的深度集成工具调用的流畅度,很大程度上取决于集成环境。Fable 5 可能以“Claude Code”或类似插件形式,更深度地嵌入了VSCode或终端。它可以直接读取项目文件结构、监听终端输出、访问特定的API,这种深度集成减少了“上下文切换”的损耗,让调用变得自然而然。
相比之下,一些通用大模型虽然“能力”更强,但它们在设计上并非专为密集、连续的工具调用场景优化。它们的优势可能在单次推理的深度和广度上,但在“持久化协作”的体验上可能不如专精于此的选手。
3. 环境准备:搭建你的AI编程助手工作区
理论分析之后,我们进入实战。要让AI助手发挥工具调用的威力,首先需要搭建一个合适的环境。这里我们以目前热门的Claude Code(一个集成了Claude模型能力的本地开发环境)为例,展示如何配置。
核心目标:创建一个安全、可控的环境,让AI助手能够在此环境中读写文件、执行命令、运行代码,同时避免对宿主系统造成风险。
3.1 基础环境与依赖检查
你需要准备:
- 操作系统:Windows 10/11, macOS, 或 Linux (Ubuntu 20.04+)。本文以Windows为例,会标注其他系统的差异。
- 虚拟化支持:这是关键!许多AI工作区(包括Claude Code)依赖虚拟化技术来创建安全沙箱。在Windows上,你需要确保开启Hyper-V和Windows Hypervisor Platform。
- Docker (可选但推荐):用于更彻底的环境隔离。如果你的AI助手支持在Docker容器内运行工具,这将是最安全的方式。
在Windows上开启虚拟化:
- 以管理员身份打开 PowerShell 或 CMD。
- 运行以下命令启用Windows功能:
# 启用 Hyper-V (如果尚未启用) Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All # 启用 Windows Hypervisor Platform Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform # 启用虚拟机平台 Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform- 执行完成后,必须重启计算机。
- 重启后,可以在“任务管理器” -> “性能” -> “CPU” 中查看“虚拟化”是否已启用。
常见问题排查:
- BIOS中未开启VT-x/AMD-V:如果任务管理器显示虚拟化已禁用,需要进入电脑BIOS/UEFI设置,找到“Intel Virtualization Technology”或“AMD SVM Mode”并启用。
- “无法将‘Enable-WindowsOptionalFeature’识别为cmdlet…”:请确保你是在管理员权限的PowerShell中运行命令。
3.2 安装与配置 Claude Code
Claude Code 可以看作是一个专为Claude模型设计的“客户端”或“工作区”。它提供了比纯聊天界面更丰富的工具调用接口。
安装步骤:
- 访问官方渠道:从Anthropic官网或可信的发行渠道获取Claude Code的安装程序。避免使用来路不明的第三方包。
- 运行安装程序:按照向导完成安装。安装过程可能会检查虚拟化环境是否就绪。
- 首次启动与认证:启动Claude Code,你需要使用有效的Claude API密钥进行登录或认证。如果你还没有API密钥,需要去Anthropic官网申请。
- 配置工作区路径:首次运行时,通常会让你选择一个本地目录作为“工作区”或“项目根目录”。这个目录将是AI助手有权限操作的主要区域。建议创建一个全新的、专用的文件夹,例如
C:\Dev\AI_Workspace。
基础配置示例(配置文件可能位于~/.claude-code/config.json或类似位置):
{ "workspace_root": "C:\\Dev\\AI_Workspace", "allowed_command_prefixes": [ "git", "npm", "npx", "python", "python3", "pip", "node", "mvn", "java", "javac", "curl", "echo", "cat", "ls", "dir" ], "max_command_timeout_seconds": 30, "enable_file_operations": true, "safe_mode": true }解释:
workspace_root: 锁定了AI的操作边界。allowed_command_prefixes:安全核心。这是一个命令白名单。只有在列表中的命令(或其变体)AI才能执行。你可以根据你的技术栈调整这个列表。max_command_timeout_seconds: 防止AI执行死循环命令。enable_file_operations: 允许AI读写文件(仅在workspace_root内)。safe_mode: 启用额外的安全检查。
3.3 验证环境与基础工具调用测试
环境配置好后,我们做一个简单的测试,验证AI能否成功进行工具调用。
在Claude Code中打开对话。
输入一个简单的多步骤任务,例如:
“请在当前工作区中,创建一个名为
test_project的文件夹,然后在里面创建一个hello.py文件,文件内容打印‘Hello from AI Tool Calling’。最后,运行这个Python脚本,告诉我输出结果。”观察AI的行为。一个具备良好工具调用能力的模型(如Fable 5)应该会:
- 规划:识别出需要执行“创建目录”、“创建文件”、“写入内容”、“运行Python解释器”等多个步骤。
- 执行:依次调用
mkdir、echo或文件写入API、python命令。 - 反馈:将每个步骤的命令和输出结果返回给你,最终展示脚本的运行结果“Hello from AI Tool Calling”。
如果AI只是给出了操作步骤的文字描述,而没有实际执行,那么可能是工具调用功能未正确启用,或者当前会话的权限设置过于严格。
4. 实战演练:用AI助手完成一个微服务API的搭建
现在,我们用一个更复杂的实战场景,来体验高工具调用频率如何改变开发流程。我们的目标是:搭建一个简单的用户管理REST API,使用Spring Boot (Java) 和 SQLite 数据库。
传统方式:你需要自己创建项目骨架、写POM、定义实体、Repository、Controller、配置数据库……每一步都可能需要查文档。
AI协作方式:你将作为“产品经理”和“架构 reviewer”,而AI作为“执行工程师”。你描述需求,AI负责具体实现和操作。
4.1 任务分解与AI指令
在Claude Code中,你可以尝试输入如下指令(根据你的模型能力,指令可以更概括或更具体):
“我们开始一个新项目。请使用Spring Boot创建一个用户管理系统的REST API后端。具体要求如下:
- 项目根目录就叫
user-management-api。- 使用Java 17和Spring Boot 3.x。
- 使用SQLite作为嵌入式数据库,方便演示。
- 需要有一个
User实体,包含字段:id (Long, 自增主键), username (String, 唯一), email (String), createdAt (LocalDateTime)。- 实现标准的CRUD操作(创建、读取、更新、删除用户)。
- 使用Spring Data JPA。
- 请使用Maven管理依赖。
- 完成后,启动应用,并给我一个创建新用户和查询用户列表的API调用示例。”
4.2 观察AI的执行流(理想情况)
一个工具调用能力强的模型会按如下逻辑执行:
步骤1:创建项目骨架
# AI可能会执行的命令 cd /path/to/your/workspace # 使用Spring Initializr API或直接创建目录结构 curl https://start.spring.io/starter.zip -d type=maven-project -d language=java -d bootVersion=3.2.0 -d baseDir=user-management-api -d groupId=com.example -d artifactId=user-management-api -d name=user-management-api -d description="User Management API" -d packageName=com.example.usermanagement -d packaging=jar -d javaVersion=17 -d dependencies=data-jpa,sqlite,web -o project.zip unzip project.zip -d user-management-api cd user-management-api它会向你报告项目已创建,并列出核心文件如pom.xml。
步骤2:补充实体和代码AI会直接在工作区中创建和编辑文件。例如,创建src/main/java/com/example/usermanagement/entity/User.java:
package com.example.usermanagement.entity; import jakarta.persistence.*; import java.time.LocalDateTime; @Entity @Table(name = "users", uniqueConstraints = {@UniqueConstraint(columnNames = "username")}) public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false) private String username; private String email; @Column(name = "created_at") private LocalDateTime createdAt; @PrePersist protected void onCreate() { this.createdAt = LocalDateTime.now(); } // 标准的Getter和Setter方法,以及无参、全参构造函数 // ... (AI会补全所有方法) }同时,它会创建Repository,Service,Controller等层级的文件。
步骤3:配置数据库编辑src/main/resources/application.properties:
spring.application.name=user-management-api spring.datasource.url=jdbc:sqlite:user_management.db spring.datasource.driver-class-name=org.sqlite.JDBC spring.jpa.database-platform=org.hibernate.community.dialect.SQLiteDialect spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true它可能会检查pom.xml中是否已包含SQLite驱动依赖,如果没有则会添加。
步骤4:构建与运行
# 进入项目目录(如果不在) cd user-management-api # 使用Maven打包 mvn clean package -DskipTests # 运行Spring Boot应用 java -jar target/user-management-api-0.0.1-SNAPSHOT.jarAI会监控控制台输出,等待看到Started UserManagementApiApplication类似的成功启动日志。
步骤5:提供测试示例应用启动后,AI会给出如何使用curl或 Postman 测试API的示例:
# 创建用户 curl -X POST http://localhost:8080/api/users \ -H "Content-Type: application/json" \ -d '{"username":"testuser","email":"test@example.com"}' # 查询所有用户 curl http://localhost:8080/api/users并解释预期的响应格式。
在整个过程中,你作为开发者,主要职责是:提出需求、审查AI生成的代码结构、在关键决策点(如选择何种数据库)给出方向、以及最后验收结果。大量的机械性、模式化的编码和命令行操作被AI接管了。
5. 工具调用背后的技术栈与集成模式
要实现上述流畅的协作,AI模型和其运行环境需要一套坚实的技术栈支持。理解这些,有助于你排查问题或选择更适合自己的工具。
1. 模型层:工具调用能力
- Function Calling / Tool Use:这是大模型本身的能力。模型需要理解自然语言指令,将其转化为结构化的工具调用请求(JSON格式),包含工具名和参数。
- 规划与推理:模型需要能将复杂任务分解为顺序或并行的工具调用步骤,并根据上一步的结果决定下一步。
2. 运行时层:执行与安全沙箱
- 命令执行器:接收模型的结构化请求,在宿主机或容器内安全地执行系统命令、脚本或程序。
- 文件系统访问:提供受限的文件读写接口,通常限定在某个“工作区”目录内。
- 网络访问控制:控制AI是否可以发起外部HTTP请求(例如调用其他API)。
- 超时与资源限制:防止AI运行死循环或消耗过多CPU/内存。
3. 集成层:IDE插件与CLI工具
- VSCode Extension:如Claude Code插件,它能将AI深度集成到编辑器中。AI可以:
- 直接读取当前打开的文件、项目结构。
- 在集成终端中执行命令并捕获输出。
- 提供代码补全、解释、重构建议。
- 独立的桌面应用/CLI:提供一个统一的工作区环境,管理对话历史、项目上下文和工具调用会话。
一个简化的工具调用数据流如下:
开发者输入自然语言指令 | V AI模型解析指令,生成工具调用计划 [{"tool": "shell", "command": "mkdir test"}, ...] | V 运行时环境接收计划,进行安全校验(命令是否在白名单?路径是否在允许范围?) | V 安全沙箱中顺序执行命令,收集标准输出和错误输出 | V 将执行结果(stdout, stderr, return code)返回给AI模型 | V AI模型分析结果,决定是继续下一步,还是向开发者请求更多信息,或宣告任务完成 | V 最终结果呈现给开发者Fable 5 或类似设计优秀的产品,可能在这个链条的每个环节都做了优化,特别是安全校验的粒度和错误结果的解析与恢复,从而让整个流程更顺畅,失败率更低,这才导致了更高的工具调用频率。
6. 常见问题与深度排查指南
在实际使用中,你肯定会遇到工具调用失败的情况。以下是典型问题及其排查思路。
| 问题现象 | 可能原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| AI完全不执行命令,只给出文字描述 | 1. 工具调用功能未启用或未配置。 2. 当前会话处于“只读”或“安全”模式。 3. AI模型本身不支持或未激活工具调用能力。 | 1. 检查Claude Code或对应客户端的设置,寻找“Enable Tool Use”、“Allow Shell Access”等选项。 2. 查看当前对话的初始系统提示或角色设定,是否限制了执行权限。 3. 尝试一个极其简单的命令,如“请执行 echo hello并告诉我结果”。 | 1. 在设置中明确启用工具执行权限。 2. 创建一个新的、权限更宽松的对话会话。 3. 确认你使用的模型版本(如Claude 3.5 Sonnet, Opus)是否支持工具调用。 |
| 命令执行失败,提示“命令未找到”或“权限被拒绝” | 1. 命令不在白名单中。 2. 命令路径不在系统PATH环境变量中。 3. 沙箱环境缺少必要的二进制文件。 4. 用户权限不足。 | 1. 检查配置中的allowed_command_prefixes。2. 让AI执行 echo $PATH(Linux/macOS) 或echo %PATH%(Windows) 查看沙箱内的PATH。3. 尝试执行 which git或where git确认命令是否存在。 | 1. 将所需命令添加到白名单配置。 2. 在宿主机安装缺失的工具,并确保其路径在沙箱的PATH中映射。 3. 考虑使用Docker镜像作为沙箱,其中预装了完整的开发工具链。 |
| AI在执行多步骤任务时中途“失忆”或逻辑混乱 | 1. 上下文长度限制,早期步骤的指令被遗忘。 2. 模型在复杂规划上能力不足。 3. 工具执行结果的输出太长,挤占了后续推理的上下文。 | 1. 观察任务是否非常长,超过了模型上下文窗口。 2. 尝试将大任务拆分成几个独立的子任务,分次交给AI完成。 | 1. 选择支持更长上下文的模型(如128K, 200K)。 2. 主动进行任务分解,扮演“项目经理”角色,分阶段给AI下达指令。 3. 提示AI总结当前进度,再继续下一步。 |
| 文件操作失败(无法创建、写入) | 1. 工作区路径配置错误或权限不足。 2. 尝试在沙箱环境之外创建文件。 3. 路径中包含非法字符。 | 1. 让AI执行pwd查看当前工作目录,确认是否在配置的workspace_root内。2. 检查宿主机上工作区目录的读写权限。 | 1. 重新配置正确的工作区路径,并确保应用有读写权限。 2. 所有文件操作指令,使用相对路径(相对于工作区根目录)。 |
| 网络调用失败(如curl下载失败) | 1. 沙箱环境没有网络访问权限。 2. 公司网络或代理限制。 3. 目标URL不可达。 | 1. 尝试让AI执行curl -I https://www.google.com测试基本网络连通性。2. 检查客户端或沙箱的网络代理设置。 | 1. 在配置中开启网络访问权限(如果存在该选项)。 2. 在宿主机或Docker容器中配置正确的代理环境变量(如 HTTP_PROXY)。 |
7. 最佳实践:安全、高效地与AI协作编程
将AI作为编程伙伴,不仅仅是技术问题,更是工作习惯和安全意识的转变。以下是一些来自实践的建议:
1. 安全第一:实施最小权限原则
- 专用工作区:永远不要让AI助手访问你的整个硬盘或关键项目目录。为它创建独立的、可随时销毁的工作区。
- 命令白名单:严格限制可执行的命令。只开放项目构建、版本控制、包管理、脚本解释器等必要工具。禁止
rm -rf /、format、del *.*等危险命令。 - 环境隔离:尽可能使用Docker容器。为AI任务准备一个干净的、包含项目所需工具链的Docker镜像。任务结束后,容器销毁,不留痕迹。
- 敏感信息零暴露:绝对不要在对话中提供API密钥、密码、私钥。如果AI需要访问受保护的资源(如私有Git仓库),使用环境变量或安全的凭证管理工具,并确保AI只能通过安全的方式读取(如读取一个临时、权限受限的文件)。
2. 提升效率:优化你的指令
- 提供上下文:开始复杂任务前,先让AI了解项目背景。“这是一个基于React 18和TypeScript的前端项目,使用Vite构建,状态管理用Zustand。”
- 分阶段交付:不要一次性要求“给我做一个完整的电商网站”。拆解为:“1. 搭建项目骨架和路由;2. 实现商品列表页组件;3. 集成状态管理…”
- 明确验收标准:“完成后,请运行
npm run build确保没有错误,并且npm run dev能在本地3000端口成功启动。” - 鼓励AI解释:“在修改这个配置文件之前,请先解释一下你打算改什么,以及为什么这样改。”
3. 版本控制与审查
- AI生成的代码必须进Git:将AI工作区与Git仓库关联。AI每完成一个阶段,执行
git add .和git commit -m "feat: AI implemented user entity and repository"。这留下了可追溯的记录。 - 人工审查是必须的:不要盲目信任AI生成的代码。特别是涉及业务逻辑、安全算法、数据库查询、错误处理的部分,必须仔细审查。AI可能产生看似合理但有细微逻辑错误或安全漏洞的代码。
- 使用AI辅助审查:你可以让AI解释它写的复杂代码段,或者让另一个AI模型(或同一模型的新会话)来评审之前生成的代码,寻找潜在问题。
4. 管理模型的长上下文与状态
- 定期总结:在长时间、多步骤的对话后,可以主动要求AI:“请总结一下我们目前已经完成了哪些模块,代码结构是怎样的。” 这有助于刷新模型的上下文记忆。
- 重要信息复述:对于关键决策(如选择某个库的版本号),可以在后续对话中再次提及,强化模型的记忆。 | 场景 | 低效指令 | 高效指令 | | :--- | :--- | :--- | |创建项目| “做个Spring Boot项目。” | “请在当前工作区,使用Spring Boot 3.2.0和Java 17,创建一个名为‘order-service’的Maven项目。依赖需要包含:Spring Web, Spring Data JPA, H2 Database (运行时), Lombok。创建完成后,请运行
mvn clean compile验证项目可以正常编译。” | |调试错误| “我的代码报错了,怎么办?” | “我在运行npm start时遇到错误[Error: Module not found: Can't resolve './components/Button']。当前项目结构是…(贴出相关目录)。请分析可能的原因,并给出具体的修复命令或代码修改建议。” | |重构代码| “优化这段代码。” | “请审查以下函数(贴代码),它负责用户输入验证。目标是提高可读性和可维护性。请使用ES6+语法和更清晰的错误提示进行重构。重构后,请解释你做了哪些改动以及为什么。” |
8. 未来展望:工具调用将如何重塑开发流程
Fable 5在工具调用频率上的领先,可能只是一个开始。这个趋势预示着AI编程助手的发展方向,正从“聪明的百科全书”转向“可靠的副驾驶员”。未来的影响可能体现在:
1. 开发环境的“AI原生”重构未来的IDE可能将AI深度内嵌,不再是插件,而是核心组件。你写注释或画草图,AI直接生成并执行代码;你运行测试失败,AI自动分析日志、定位问题并尝试修复;你提交代码前,AI进行深度代码审查和安全扫描。整个编辑-编译-调试-部署的循环将被AI加速。
2. 新形态的“可执行文档”技术文档、API手册、教程将不仅仅是文字和代码片段。它们可能包含“一键执行”按钮,由AI阅读理解文档后,在你的本地环境中自动配置和运行示例,真正做到“所见即所得,所读即可运行”。
3. 更高级的抽象与自动化当AI能可靠地调用工具链,开发者就可以操作更高阶的抽象。例如,你可以描述:“我需要一个每天凌晨2点运行,从A数据库同步数据到B数据仓库,失败时发邮件告警的流水线。” AI负责编写具体的Airflow DAG、配置连接、处理异常。开发者的角色进一步向架构设计、需求分析和质量把关转移。
对开发者的启示:
- 技能重心转移:从记忆语法、API细节,转向学习如何清晰定义问题、分解任务、验证结果和进行系统设计。
- 工具链熟悉度依然关键:你需要更深入地理解你的工具链(Docker, K8s, CI/CD, 监控),因为你是那个指导AI使用它们的人。
- 提示工程(Prompt Engineering)演变为“工作流设计”:如何为AI设计清晰、安全、可迭代的任务流程,将成为一项核心能力。
回到开头的问题,Fable 5的“逆势领先”揭示了一个简单道理:在真实的生产力场景中,“可用性”和“可靠性”往往比“绝对能力”的峰值更重要。作为一个开发者,在选择和运用AI编程助手时,不妨多关注它在你的具体工作流中的工具调用表现,而不仅仅是它在排行榜上的分数。亲手配置一个环境,给它一个真实的多步骤任务,观察它如何思考、规划和执行,这可能是评估其价值最有效的方式。
