Claude Code:智能代理驱动的编码实践

Anthropic 的 Claude 代码 CLI 工具通过 "ultrathink" 等关键词触发扩展思考模式,显著提升代码生成质量和资源利用率。

本文通过逆向工程分析 Anthropic 的 Claude 代码 CLI 工具,揭示了其通过特定关键词触发扩展思考模式的机制。通过分析 Claude 代码的混淆 JavaScript 代码,发现使用 "think"、"think hard" 到 "ultrathink" 等词语可以增加 Claude 的计算资源分配,从而更全面地评估各种方案,提高代码生成质量。文章揭示了这些关键词与 token 计算资源预算之间的映射关系,例如 "ultrathink" 映射到 31999 个 token。为开发者提供了优化 AI 辅助编码的实用技巧。

主要内容

    1. Claude 代码通过特定关键词触发不同级别的扩展思考模式。

    通过在提示词中使用 "think"、"think hard" 等关键词,可以增加 Claude 的计算资源分配,提高代码生成质量。

    1. "ultrathink" 是 Claude 代码中用于触发高级思考模式的关键指令。

    该词语触发最高级别的思考预算,为 Claude 提供更多的计算资源,以更全面地评估各种方案。

    1. 关键词与 token 计算资源预算之间存在映射关系。

    "ultrathink" 映射到 31999 个 token,"megathink" 映射到 10000 个 token,"think" 映射到 4000 个 token。

    1. 文章采用逆向工程方法分析 Claude 代码的内部机制。

    通过分析 Claude 代码的混淆 JavaScript 代码,揭示了关键词与计算资源分配之间的映射关系。

    Claude 代码:智能代理驱动的编码实践 (来自) Anthropic 发布的详尽新文档,介绍了如何充分利用他们的 Claude 代码命令行编码代理工具,其中包括一个有趣的提示:

我们建议使用"think"一词来触发扩展思考模式,这将为 Claude 提供更多计算时间,以便更全面地评估替代方案。这些特定短语在系统中直接映射到不同的思考预算级别:"think" < "think hard" < "think harder" < "ultrathink"。每个级别都为 Claude 分配了更多的思考预算。

据说 ultrathink 是一个魔法词!

我很好奇这是 Claude 模型本身的功能,还是 Claude Code 特有的功能。Claude Code 不是开源的,但你可以查看其混淆的 JavaScript 代码,并通过 Prettier 使其稍微去混淆化一点。在 Claude 的帮助下,我使用了这个食谱:

bash 复制代码
mkdir -p /tmp/claude-code-examine
cd /tmp/claude-code-examine
npm init -y
npm install @anthropic-ai/claude-code
cd node_modules/@anthropic-ai/claude-code
npx prettier --write cli.js

然后使用 ripgrep 搜索"ultrathink":

复制代码
rg ultrathink -C 30

并找到了这段代码:

less 复制代码
let B = W.message.content.toLowerCase();
if (
  B.includes("think harder") ||
  B.includes("think intensely") ||
  B.includes("think longer") ||
  B.includes("think really hard") ||
  B.includes("think super hard") ||
  B.includes("think very hard") ||
  B.includes("ultrathink")
)
  return (
    l1("tengu_thinking", { tokenCount: 31999, messageId: Z, provider: G }),
    31999
  );
if (
  B.includes("think about it") ||
  B.includes("think a lot") ||
  B.includes("think deeply") ||
  B.includes("think hard") ||
  B.includes("think more") ||
  B.includes("megathink")
)
  return (
    l1("tengu_thinking", { tokenCount: 1e4, messageId: Z, provider: G }), 1e4
  );
if (B.includes("think"))
  return (
    l1("tengu_thinking", { tokenCount: 4000, messageId: Z, provider: G }),
    4000
  );

所以是的,看来"ultrathink"是 Claude Code 的一个功能------很可能 31999 这个数字影响了思考预算,特别是因为"megathink"对应 1e4 个令牌(10,000),而普通的"think"则对应 4,000 个令牌。

相关推荐
猫头虎28 分钟前
猫头虎AI分享|一款Coze、Dify类开源AI应用超级智能体Agent快速构建工具:FastbuildAI
人工智能·开源·github·aigc·ai编程·ai写作·ai-native
bug菌1 小时前
还在为多平台开发头疼?看Trae如何让你一人顶一个团队!
aigc·ai编程·trae
bug菌1 小时前
还在为团队协作扯皮?看字节Trae如何让代码评审变成"享受"!
aigc·ai编程·trae
bug菌2 小时前
零基础也能做出AI应用?Trae是如何打破编程"高墙"的?
后端·ai编程·trae
bug菌2 小时前
当AI编程成为标配,Trae如何在激烈竞争中杀出重围?
aigc·ai编程·trae
用户4099322502122 小时前
容器化部署FastAPI应用:如何让你的任务系统代码在云端跳舞?
后端·ai编程·trae
猫头虎5 小时前
猫头虎AI分享|一款Coze、Dify类开源AI应用超级智能体快速构建工具:FastbuildAI
人工智能·开源·prompt·github·aigc·ai编程·ai-native
数据智能老司机6 小时前
面向企业的图学习扩展——图简介
人工智能·机器学习·ai编程
Tiger Z7 小时前
《动手学深度学习v2》学习笔记 | 1. 引言
pytorch·深度学习·ai编程
一只爱撸猫的程序猿18 小时前
使用Spring AI配合MCP(Model Context Protocol)构建一个"智能代码审查助手"
spring boot·aigc·ai编程