Blog

claude 3.7 扩展思考(extended thinking)api使用方法

当扩展思维开启时,Claude 会创建思考内容块,并在其中输出其内部推理。Claude 在制定最终响应之前会整合来自此推理的见解。 在api调用中,添加这个参数启用思考: thinking: { type: "enabled", budget_tokens: 16000 }, budget_tokens用于指定最多可以思考的token数量,越多可以对复杂问题进行更彻底的分析,最终的质量会更好,但是模型并不完全会用完所有的budget_tokens,例如一个简单问题,它只需要简短的分析就可以清楚了,并不需要反复。 要注意的是,budget_tokens要小于max_tokens。 思考的内容块是这个样子: { "content": [ { "type": "thinking", "thinking": "To approach this, let's think about what we know about prime numbers...", "signature": "zbbJhbGciOiJFU8zI1NiIsImtakcjsu38219c0.eyJoYXNoIjoiYWJjMTIzIiwiaWFxxxjoxNjE0NTM0NTY3fQ...." }, { "type": "text", "text": "Yes, there are infinitely many prime numbers such that..." } ] } 可以看到除了思考内容还有一个签名,这是为了验证思考内容是由claude生成的。 除了正常的思考块,还有一些是加密的思考块,redacted_thinking,估计主要就是有一些高智能的推理链条不想公开,怕被其它模型拿去训练,或者推理链条政治不正确等因素,redacted_thinking长这样: { "type": "redacted_thinking", "data": "EmwKAhgBEgy3va3pzix/LafPsn4aDFIT2Xlxh0L5L8rLVyIwxtE3rAFBa8cr3qpP..." }, 在多轮次对话中,只有与最后一条消息位置的工具使用会话或助手轮次相关的思考块对 Claude 可见,并作为输入标记计费;与早期助手消息关联的思考块在采样期间对 Claude 不可见,并且不会作为输入标记计费。 也就是说,如果开启了工具调用,消息记录中,并且存在工具调用,那么回传工具执行结果的时候,必须把最后的思考内容块带回去,例如: { "role": "user", "content": "成都天气如何?" }, { "role": "assistant", "content": [ { "type": "thinking", "thinking": "This user is asking about the weather in Chengdu. I can use the get_weather function to fetch this information.\n\nI need to provide a location parameter to the function. In this case, the location is \"成都\" (Chengdu).\n\nLet me call the get_weather function with the appropriate parameter.", "signature": "EuYBCkQYAiJAxl/9X9WpK7KARInmunUsKuQevgHA/dhoVRVCxmAeFziwWG7uBzCADXLEX47qadXYU9FFuFNHFIh3FRlZeWrHDRIMGpb3b7809lCizoejGgxaTx2AYBF7xP7mCqwiMC8Bsm3eo2BGPkbA3LICiG9+71AwKzKXMy4+lZT7inouv6mWVHewpKpwCY5TDXI3lSpQTz945CJXBho2xPM+TYTw2uD/axzCzeUTJ2wbKhnGRqPR3QOmRGyEnU7O5x/6b17MA9nUWsxNzrRgbBJTTGaafPDwIbeI1x+XI8h43T8lf/8=" }, { "type": "text", "text": "我可以帮您查询成都的天气信息。" }, { "type": "tool_use", "id": "toolu_01Vy5XTVkVEEC2nfhtME2ev8", "name": "get_weather", "input": { "content": "成都" } } ] }, { "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "toolu_01Vy5XTVkVEEC2nfhtME2ev8", "content": "15度" } ] } 如果不传,那么就会报错: messages.1.content.0.type: Expected `thinking` or `redacted_thinking`, but found `text`. When `thinking` is enabled, a final `assistant` message must start with a thinking block (preceeding the lastmost set of `tool_use` and `tool_result` blocks). We recommend you include thinking blocks from previous turns. To avoid this requirement, disable `thinking`. Please consult our documentation at https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking redacted_thinking 也要传回去。 普通模式下并不需要回传思考内容,例如: { "role": "user", "content": [ { "type": "text", "text": "你好" } ] }, { "role": "assistant", "content": [ // { // "type": "thinking", // "thinking": "The user has asked \"你好吗?\" which is Chinese for \"How are you?\" or \"How are you doing?\". This is a simple greeting in Chinese. I should respond appropriately in Chinese since the user has initiated the conversation in Chinese.", // "signature": "EuYBCkQYAiJA0NlQk5nHmVcLmVUWRBiP8SJfCkm0kZ3U12cbu/sO3DF6ZZpXFlw9ea3fQdOwr0QMeqjKiuZF/qZwhsAVf5vmQRIMpb2uZHJBvHGNCGlqGgx/d01nLhk3j1N3WJAiML9iSpIfD2IUv1JwSWKk7MbPguYj3w/qiiKG9xJvBMxzV1pjJAVLh6jtqixHZ3a9FSpQ2qohk9RlehKMOFSpSmWFV6JSdNbeavb2PfMBh6ST7UfaFGPhxbsTnmvHhaLmIRl6jwImNiatMSo4l/VtvE7uWvVZPGFr2DHyHk8f3Uy0F+s=" // }, { "type": "text", "text": "你好!我很好,谢谢关心。我是一个AI助手,随时准备帮助你。今天有什么我可以协助你的吗?" } ] }, { "role": "user", "content": "你思考了什么" }, 上个示例中,携带了工具,但是没有触发调用,所以并不需要回传思考内容块,如果传,也不会报错,claude的api会自动过滤。 流式的响应中,普通思考块的content_block以thinking类型开始,然后思考的内容放在 type为thinking_delta的thinking的字段中,思考结束后,会传一个signature字段。但是,加密的思考块有点麻烦,每一次加密都会是一个content_block的开始和结束,所以会分布在多个content_block的data中,处理方式和普通思考内容不同,需要累加起来。当然,接口本身也不会返回签名,本身已经加密了。 一些注意点: budget_tokens最低为1024,max_tokens大于21333时,需要流式传输。 还有一个重要的亮点就是,claude的上下文是200k,单次可以最高输出128k token,这可以让模型输出几十页的文章或者超长的代码,目前是测试功能,可以通过传递 output-128k-2025-02-19 的 anthropic-beta 标头来启用此功能。

openai封号降智问题以及相关的机会点

周六的上午,写了一篇文章,可以说是思如泉涌,清晰明了,结果,顾着跟人玩游戏,关了电脑,跑网吧去了!结果草稿没有保存,丢失了! 好在大部分思路都在,顺着写,应该还能生成出来。 现在chatgpt对中国用户实在是太不友好了,动不动就是封号,没有退款,轻则降智,我觉得降智甚至比封号还要恶心,因为这是一种欺诈,你实打实的掏钱买了,为的是高级模型,解决你的问题,你能看到选项,你选了,它也装模作样的推理,但给出来的结果就是感觉不对,模型的回答本身就有迷惑性,很多人根本不知道怎么回事,所以这真的是太恶心了,破坏了基本的信任。 虽然这种做法非常令人厌恶,然而实事求是的说,目前,o系列模型的能力仍然是最好的,既然中国用户的门槛这么高,那么,其实还是有必要做一个面向中国用户的套壳产品。虽然,市面上的套壳产品也很多,但是他们为了利润,还是对性能做了阉割,例如上下文的限制,这是因为api的成本太高了,这也给了价值传递一些机会。 功能怎么做? 只对接最智能的模型,目前市面上的推理模型主要是openai的o系列,最近大火的deepseek,gemini的flash,首先,gemini的flash推理完全不考虑,deepseek国内直接就是免费,也不考虑,那么就只要openai的o系列,可以接入o1和o3,无限制的上下文,推理强度可调。 给谁用? 主要就是程序员群体,因为目前三成到四成的使用场景就是编程,其次也是编程对智能水平和上下文要高要求。 到哪推广? 微信、即刻、头条、程序员社区、推特。 怎么收费? 价值传递的模式,加入传递,按量计费,每条回答显示成本,第一个版本的总盈利范围是1000,单价就是10,完事。 问题: 1.没有key,这是最大的问题,微软的azure之前已经用不了了,联系了下看是否能够重新介入,openai官方,我有两个账号,大概加起来有十几美元的额度?能支持o1-preview和o1-mini,这两个大部分功能都不行,但是支持流式,感觉还可以,价格方面也不算贵,我感觉就直接o1-preview来做,似乎前期做实验没问题,可以先用。 2.功能开发,现在的对话代码,高亮显示有点问题...我打算实现一个简单样式的对话。

炒币随想

一 最近这一段时间,越来越关注虚拟货币,在欧易上交易,有可能近百笔,现在链上也交易了不少比,总的来说,是一个亏损的状态,最大的亏损,是之前dog亏损了几百刀。 对虚拟货币经历了两个看法转变,一个是发现其实质是一个全球在线的赌场,而赌博,是一个巨大的需求,满足人们一夜暴富的想法。另一个看法是,时代正在脱实向虚的方向发展,因为实体经济都已经发展的很彻底了,衣食住行各种物质生产,几乎能做的都做了,而需求并不会停止,它会继续有新的欲望,所以就会向虚拟的场域发展。其实,其实无论是物质的场域还是虚拟的场域,都是一样的,都是欲望之物,是被附加了权重的东西。 二 这两天一个同事突然看到okx上的公告,说pi币上线交易了,一下子引爆了办公室,因为有一个同事拥有两千个。市场上的价格高达九十美元一个,这样他就拥有了十八万美元,所有人都直接躁动了,“嫉妒到浑身蚂蚁在爬”,然后有人又看到链上的正在交易,最初大家还以为是真的,实际上是山寨币,总之,突然非常多的人兴奋了起来,开始下载交易所,真的是争先恐后的入金,好几个人找我问如何操作,然后他们发现入金之后的新手保护期,于是直接转钱给我,让我给它的账户上转sol币...实在是疯狂无比,狂热无比。是因为钱,暴富这些是意志体的根本利益。 三 这两天总的来说损失百分之六十,也没有更多的转入,还是前几天的那一千块,基本就是赌博。但是我还是出现了一个变化,我麻木了,不想再去赌了,不想开合约了,什么币也不想买,出现了厌的情绪。 黄赌毒,对我来说,后两项没那么大的瘾,第一项是瘾。没办法,基因就是要传播,这是搞不定的。 认知到炒币就是个赌以后,我对价值传递失去信心和兴趣,因为那种自我划界设定上限的方法不符合人性,没有创造者愿意这样搞,一定有用的到的,但是不太可能会成为一种主流的方式,就是说,我自己也不再喜欢了,我希望大规模无上限的盈利,自由市场的模式……但奇怪的是,写在这里我又想保留一下……也许一些东西可以这样试试。 四 今天交易app上又有送了一刀,于是拿来又开合约,很快爆掉,然后又把链上的一点点钱打进去,操作了几手五十倍的,快进快出,翻了一倍多,然后,最后一次,很快还是爆掉了,毫无疑问,自然是白白浪费力气。

重新上线chatnext.ai

来龙去脉这会不太想细说,总之,之前让老板注册的,定位是放公司内部的实验项目或demo项目,去年上线了很多demo项目,后来准备归集到一个程序下,用的是vue和page function,登录和支付都接好了,多语言也做了,demo归集做了三分之一不到吧,后来失去了动力放弃了。 现在准备是想做个博客,彻底解决自己一个方面的焦虑问题,几经辗转,用了nuxt,目前来说,体验很不错,也不用单独的用pages的functions了,可以直接在server里写后端。 nuxt主要能够带来的好处就是更好的seo,这样的话,我感觉整个框架的要素基本都具备了。 现在又要做关于deep research的demo,也是会放在这里,所以,还是打算把chatnext.ai再搭建起来。

remix框架遇到障碍

今天继续用remix做deep research结果遇到了很多问题,昨天就已经遇到了网络请求的响应混乱的问题,还有,了解到remix其实已经停止维护了,很多组件也提示为被废弃,另外,我自己也不熟悉react,导致代码的基本功能看不懂,所以...我现在又在开始重新尝试nuxt了。 现在的blog,暂时还是remix不变,但是接下来会不会变,不清楚,我到现在还是没有完全跑通seo,因为昨天提交在google search console上,提示无法抓取网站地图。 不过,刚刚在google直接搜索woodchange xyz,能看到网站了,并且显示了第一条的博文标题,但是搜索文章里面的关键词,就不行了。 所以,现在的规划就是,把nuxt框架尽快走通

自建博客上线了

这么多年了,从来都没有做一个自己的博客网站,最近半个月,几经折腾,围绕着cloudflare,先后从nextjs、nuxt框架在pages和worker测试了很多轮,中间还放弃了几次,最终今天用remix框架才算是初步跑通。 整个过程ai起到了百分之九十的作用,当然,也是因为这一两年的积累,我也有了相应的知识,尽管没有细节,但是大概知道,这是前提,否则都不知道怎么问问题。 这次做博客还有一个目的就是顺便学一下SEO,这个词听了很多年了,一直没有认真学习和对待,这次选择各种框架,也是为了能够满足SEO的需求。 至于流量,我其实并无追求,但是有了一个博客,就算是有了一个空间,有了一个正式的阵地,这个正式对我来说很重要。这样,我把自己之前写的东西发出来,放到这里,其它平台,我最终是不满意,总是觉得是在其他人的地方。 往下还要继续修改和完善代码,目前的样式还非常简陋。 由于这里是一个正式的场合,就不能像私人笔记那样随心所欲,需要正式一点,这样可以练习自己写作的能力,同时也可以练习大脑的思维能力,随心所欲的碎片化书写不利于思维力的提升,反而有负面作用。

自由和虚无

经常会把宇宙存在本身的神秘当成最重要的一个想法,想到这里就会感觉到勇气,从迷茫与失落中解脱出来,从而振奋精神,以审视的眼光,底层的角度看待和考虑世界。今天,突然想到,原来这是因为这其中存在着自由,因为是神秘的,是未知的,因此存在着可能,存在着自由。 然而,又有一丝不安,就是知道了这一点后产生的不安,如果意识就是这么一种机制的话,就变成可解释的,就消灭了相应的可能性,也就是说,最底层来讲,我们想要的可能不是那个神秘,而是那份自由?甚至,永生的追求,也是对自由的实现?哎,知识何尝不是一种枷锁! 看来,自由确实是一种最高价值。 知识会导致虚无,知道了世界如何存在以后,就意味着自己被规定了,被解释了,被说清了,就这样了。例如十几年前,我觉得宇宙是在进化发展,自己就是这发展的产物,自己的一切来自于宇宙,自己的想法灵感理想来自于宇宙,是宇宙实现其自我发展的手段,除了最初得到知识的极大愉快,很快这就导致了虚无,我感到自己只是一个工具而已,干什么都没意义,都是被设计好的。可能性消失了,自由没有了,现在发现,存在追求的是自由。

宇宙随想

生命就是要存在,生存是最底层最本质的代码,因为生命本身就是物质变化中存在下来的剩余,故它的最核心就是生存,至于这到底是否体现是宇宙的意志,某种程度上可以说,毕竟生物是物质演化的结果,但是到底是不是这样呢,比方说太阳系的运动并没有体现出求生的倾向,它只是按照物理法则在运动。 宇宙就只是一次爆炸,爆炸就是一种剧烈的消解,然而在这个过程中,某个局部在运动中形成一种组合,并且这个组合还可以顺着能量的方向吸收,复制,繁衍生息....这完全也可以视为只是一种随机的情况,非要说这就是爆炸之初的目的,也许这只是这个物质组合的自作多情。 神秘的不是如何存在,竟然存在是最神秘的。这种完全彻底的不可能竟然就在眼前,自己也是其中一份子,而这一份子又意识到了这个神秘。我们活在这个世界上非常依赖于逻辑,然而这个世界本身,逻辑又是失语的。