ClaudeCode惊现神秘咒语输入ultrathink效果直接超神
今天无意间看见个Claude Code 的 神秘咒语——

在Claude Code 里如果你告诉它“ultrathink”,它会将“思考”预算提高到最大,这是“megathink”的升级版,而“megathink”又是“think”的升级版。
这是有网友 直接扒代码 后看到的Claude Code的源文件!

才发现这功能真不是忽悠人!
话不多说,直接上图!

看到了吗?
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 );
这代码一看就明白了!
原来Claude Code有个叫「 tengu_thinking 」的参数,它会根据你说的话决定给多少思考预算。

这「 ultrathink 」不是啥花里胡哨的编程术语,而是Claude Code里的 隐藏命令 啊!
只要输入这个咒语,Claude 将直接开启 最大算力 模式!
这比普通的「think」可要猛多了,那可是足足 31999 tokens 的思考量!
这下可好,程序员们叫Claude思考问题时,终于不用写长篇大论了:
「帮我想想这个问题」 = 4000个token
「好好想想」(megathink) = 10000个token
「超级使劲想」(ultrathink) = 31999个token
不过看这代码,记得要用英文啊兄弟们!
看到这有网友不禁调侃:

「你们这是开玩笑吗?我们现在还得知道特定咒语才能让模型做我们想要的事?」

Charlie Holtz(@charliebholtz) 一脸懵逼地说:
这么久以来我一直用 "think ultra hard and make a plan" 这种超长提示,以为这样能用最多token!结果现在告诉我只要一个单词就行?
我们生活在什么奇怪的世界啊
还有网友更是把这比作是 游戏技能升级 :
「普通think < megathink < ultrathink」

看到这里,有网友已经开始琢磨更高级的词了:
anushk(@anushkmittal) 开始整活:
等着瞧吧,他们很快就会发现「godthink」
Kamil Nicieja(@kamil) 直接编起了 AI都市传说 :
传说如果你在土星逆行、满月当晚低声对AI说ultrathink,它就能真正实现通用人工智能了

不过,也有人对这种「咒语编程」表示无语:

Raymond Weitekamp(@raw_works) :
这太蠢了,我还是用aider自己设置推理参数吧
Joe Devon(@joedevon) 则秀出了省钱大法:
难道只有我想要反其道而行之,来个「Mini Think」以减少花费吗?
而Aman Agarwal(@startupbaniya) 则指出:
我从来没有跟任何人类说话时让他们「用力思考」我的问题。聪明人自然会根据问题难度调整思考强度。这更像是些 让你多花token的小把戏 ...

还有人质疑这款产品的定价策略:
Cohn Jarmack(@CohnJarmack) 直接问:
Claude Code值这个价格吗?听说贵得离谱,一天要花100美元?
不过最秀的评论非Lucas Beyer的莫属了。
他盯着源码里那个「 tengu_thinking 」参数,开始 关心起了Anthropic团队的心理健康 :
Claude Code有个叫"tengu_thinking"的参数。@AnthropicAI的团队总是起些有趣的名字,我本想学点新东西...
Anthropic,你还好吗?需要聊聊吗?Dario,你可以匿名联系我,我保证不会评判你的。
看完才发现

原来这是Claude 名为《 Claude Code: Best practices for agentic coding 》的官方文档里就有写死了的啊!
见: https://www.anthropic.com/engineering/claude-code-best-practices

原来 AI编程 已经进化到了需要记住 特定咒语 的阶段了?!
( 我原来以为会用个llm 自己根据用户prompt 来抢断要用多少tokens 呢 )
我的设想是这样(在我调用Claude 时使用) ——:
LLM会根据用户的prompt自动判断需要使用多少tokens进行思考
而要实现的,则是一个自动判断 思考预算 的系统,它会分析用户的prompt复杂度,然后分配合适的thinking token数量
在Claude 的帮助下
我还写了个自动预算的代码,如下:
import jsonimport requestsimport osfrom typing import Dict, Any, Listclass IntelligentThinkingBudget: def __init__(self): # API密钥应通过环境变量安全获取 self.openai_api_key = os.getenv("OPENAI_API_KEY") ifnot self.openai_api_key: raise ValueError("需要设置OPENAI_API_KEY环境变量") # 定义思考预算的几个级别 self.budget_levels = { "minimal": 1000, # 简单问题 "standard": 4000, # 普通思考 "enhanced": 10000, # 深度思考 "maximum": 31999 # 最大思考预算 } # 构建提示模板 self.system_prompt = """ 你是一个专门分析问题复杂度的AI助手。你需要评估用户提问的复杂度,并返回JSON格式的复杂度评分。 评分标准包括: 1. 问题复杂度(question_complexity): 0.0-1.0, 评估问题的内在复杂性 2. 领域专业性(domain_specificity): 0.0-1.0, 评估问题涉及的专业领域深度 3. 推理需求(reasoning_required): 0.0-1.0, 评估回答问题所需的推理深度 4. 创造性要求(creativity_needed): 0.0-1.0, 评估回答是否需要创造性思维 此外,提供一个总体复杂度评分(overall_complexity): 0.0-1.0 并给出推荐的思考预算级别(budget_level): "minimal", "standard", "enhanced", "maximum" 最后,提供一个简短的解释(explanation),说明为何给出这样的评分 """ self.user_prompt_template = """ 请分析以下用户提问的复杂度: "{user_prompt}" 仅返回JSON格式的评估结果,不要有其他回复。 """ def analyze_prompt_complexity(self, user_prompt: str) -> Dict[str, Any]: """调用GPT-4o-mini分析用户prompt的复杂度""" formatted_prompt = self.user_prompt_template.format(user_prompt=user_prompt) try: response = requests.post( "https://api.openai.com/v1/chat/completions", headers={ "Content-Type": "application/json", "Authorization": f"Bearer {self.openai_api_key}" }, json={ "model": "gpt-4o-mini", "messages": [ {"role": "system", "content": self.system_prompt}, {"role": "user", "content": formatted_prompt} ], "response_format": {"type": "json_object"} } ) response.raise_for_status() result = response.json() # 从回复中提取JSON内容 analysis = json.loads(result["choices"][0]["message"]["content"]) return analysis except Exception as e: print(f"调用GPT-4o-mini时出错: {str(e)}") # 失败时返回默认中等复杂度 return { "question_complexity": 0.5, "domain_specificity": 0.5, "reasoning_required": 0.5, "creativity_needed": 0.5, "overall_complexity": 0.5, "budget_level": "standard", "explanation": "由于API调用失败,返回默认中等复杂度评估。" } def determine_thinking_budget(self, prompt: str) -> Dict[str, Any]: """确定思考预算并返回详细信息""" # 获取复杂度分析 complexity_analysis = self.analyze_prompt_complexity(prompt) # 获取推荐的预算级别 budget_level = complexity_analysis.get("budget_level", "standard") token_count = self.budget_levels[budget_level] # 构建返回结果 result = { "budget_level": budget_level, "token_count": token_count, "complexity_analysis": complexity_analysis } return resultclass ClaudeService: def __init__(self, api_key: str = None): self.api_key = api_key or os.getenv("ANTHROPIC_API_KEY") ifnot self.api_key: raise ValueError("需要设置ANTHROPIC_API_KEY环境变量") self.thinking_budget = IntelligentThinkingBudget() self.api_endpoint = "https://api.anthropic.com/v1/messages" def query(self, user_prompt: str, model: str = "claude-3-sonnet-20240229") -> Dict[str, Any]: """向Claude发送查询,自动确定thinking预算""" # 分析用户提示并确定思考预算 budget_info = self.thinking_budget.determine_thinking_budget(user_prompt) token_count = budget_info["token_count"] # 记录预算分析结果 print(f"用户提示: '{user_prompt}'") print(f"复杂度评分: {budget_info['complexity_analysis']['overall_complexity']}") print(f"推荐思考预算: {budget_info['budget_level']} ({token_count} tokens)") print(f"解释: {budget_info['complexity_analysis']['explanation']}") try: # 向Claude API发送请求,传递思考预算 response = requests.post( self.api_endpoint, headers={ "Content-Type": "application/json", "X-Api-Key": self.api_key, "anthropic-version": "2023-06-01" }, json={ "model": model, "max_tokens": 4000, "messages": [ {"role": "user", "content": user_prompt} ], "system": "请根据用户的问题提供准确、有帮助的回答。", # 在这里传递思考预算 "thinking_budget": token_count } ) response.raise_for_status() return response.json() except Exception as e: print(f"调用Claude API时出错: {str(e)}") return {"error": str(e)}# 使用示例def demo_intelligent_thinking(): claude_service = ClaudeService() # 测试不同类型的问题 test_prompts = [ "今天天气怎么样?", "请解释量子力学的基本原理", "分析人工智能在未来20年可能对就业市场产生的影响,考虑不同行业和教育水平", "设计一个高效的算法来解决旅行商问题,分析其时间复杂度并与现有方法比较" ] for prompt in test_prompts: print("n" + "="*80) response = claude_service.query(prompt) # 打印Claude的回复(实际情况中应处理回复内容) if"error"in response: print(f"错误: {response['error']}") else: # 根据实际API响应格式提取回复内容 print(f"Claude回复: {response.get('content', response)}") print("="*80 + "n")if __name__ == "__main__": demo_intelligent_thinking()
而当我看到硬编码的"ultrathink"时,
我才发现
版权声明:
作者:shadowrocket
链接:https://www.shadowrocket9.top/214.html
来源:Shadowrocket官网
文章版权归作者所有,未经允许请勿转载。


共有 0 条评论