注册并分享邀请链接,可获得视频播放与邀请奖励。

与「五吼五吼吼」相关的搜索结果

五吼五吼吼 贴吧
一个关键词就是一个贴吧,路径全站唯一。
创建贴吧
用户
未找到
包含 五吼五吼吼 的内容
TPE48 期別 Fan meeting圓滿落幕🤍 謝謝大家來參與這場期別Fan meeting 見證我們的成長🌱 因為有粉絲們的陪伴,我們才能在舞台上更加勇敢的展現自己! 未來我們也會持續努力,期待每一次的演出都會是更閃亮的面貌💞 #TPE48# #期別Fanmeeting# #五吼五吼吼#
显示更多
0
0
56
11
转发到社区
股民“拯救”了A股,也毁掉了自己?——一个需要拆开的判断 一、先给判断 前半句要打个折,后半句要分两层看。 【表格】 说法判断理由 “中国股民拯救了A股上市公司”部分成立上市公司确实靠市场融资、靠散户接盘完成了股权稀释和退出,这是事实;但“拯救”这个词把单向付出写成了双向交易 “股民破产、家破、人疯、跳楼”是真实存在的极端案例,不是股民的普遍结局有确切记录的个案存在,但没有可核实的“自杀者绝大部分是股民”这类统计 “股民与上市公司之间是因果关系”不成立中间的关键变量是杠杆、信息差与治理缺陷,不是“股民”这个身份本身 一句话:散户确实在为市场提供流动性、为上市公司提供退出通道、为机构提供对手盘——这是结构性的;但把个体的破产归因于“拯救”,是把结构问题翻译成了道德故事。 ------ 二、先把事实摆清:散户到底提供了什么 2.1 融资端:IPO与再融资的钱,主要不是机构出的 【表格】 环节散户的实际角色 打新与配售新股发行中,中小投资者是重要申购力量,中签后再卖出,形成首批流动性 定增与配股机构定价,散户被动稀释——参与是被动,摊薄是真实 解禁与减持原始股东套现,需要有人接;承接方中散户占比很高 市场流动性换手率长期高位,散户贡献了大部分交易量 这里有个必须说清的事实:A股的融资功能,本质上依赖一个愿意高位接盘的群体。而这个群体的构成,个人投资者长期占绝大多数。 2.2 但这不是“拯救”,是“被需要” 关键在于,这个“需要”是不对称的: • 上市公司拿到的是低成本、无偿还压力的股权资本; • 散户拿到的是价格波动、信息劣势、没有分红保障的纸面权益; • 中间的定价权、信息披露权、退出时机选择权,都不在散户手上。 所以准确的说法是:散户为市场提供了流动性,市场为散户提供了风险。这不是慈善,也不是拯救,是分工——只不过这个分工的风险分配是单向的。 ------ 三、必须补的一层:这个市场是给散户留了出口的 如果只写“散户被收割”,同样不准确。A股的制度设计里,确实为散户留了通道,只是通道有门槛。 【表格】 通道内容门槛 指数化投资宽基指数、行业ETF,分散单一标的风险需要接受“赚不到暴利” 打新与红利策略低波动、可预期的收益来源需要资金和耐心,且打新收益近年明显收窄 退市与索赔制度虚假陈述可提起证券民事赔偿需要证据、时间、律师费,且执行周期长 冷静期与适当性管理高风险产品需风险测评匹配容易被“绕开测评”操作规避 这些通道存在,说明问题不是“无路可走”,而是“走了的人少”。但这句话有个前提:这些通道的收益,远低于“赌一把”的想象——而后者才是绝大多数人进场的理由。 ------ 四、真正的问题不在“股民”,在这三个变量 这是整篇文章最需要讲清的一层。如果只写“散户惨”,就落入了廉价的同情;写“散户贪”,又落入了道德审判。 4.1 变量一:杠杆 这是破产的头号原因,而且不是“投资亏损”本身。 【表格】 杠杆形式常见倍数后果 融资融券1 倍左右亏损放大,触及平仓线被强制卖出 场外配资3—5 倍一个跌停就可能归零 消费贷、经营贷入市1 倍但期限错配还款日与行情无关,必须在最差的时候卖出 房产抵押高杠杆亏损传导到居住资产 关键机制不是“跌了”,而是“跌了以后被迫卖”。没有杠杆的亏损是账面浮亏,可以等;有杠杆的亏损是强制清算,时间是站在对手那边的。 这一条足以解释绝大多数“破产”案例——不是看错了方向,是扛不住路径。 4.2 变量二:信息位置 散户在信息链上的位置,是结构性的: 【表格】 环节机构散户 公司调研实地走访、管理层沟通财报与公告 政策理解提前解读、有渠道事后从新闻得知 交易速度毫秒级秒级 成本佣金与冲击成本低佣金与印花税占比高 工具融券、期权、对冲只能做多 这不是“谁更聪明”的问题,是“谁站在队伍前面”的问题。同一个消息,机构是决策依据,散户是反应依据。 4.3 变量三:行为与制度缺陷 【表格】 缺陷具体表现对散户的实际影响 重融资、轻回报分红比例长期偏低持有股票只能靠价差,没有现金流兜底 退市与处罚成本偏低财务造假退市案例相对少,处罚金额与非法所得不匹配违规收益 > 违规成本,形成示范 减持约束不足原始股东成本极低,解禁即减持供给端压力长期存在 投资者救济渠道不畅集体诉讼、先行赔付覆盖有限亏损后缺少追偿路径 产品适当性执行不严高风险产品卖给低风险测评者风险承受能力与产品风险错配 前两个变量是市场结构,第三个变量是制度供给。三者叠加,才构成了“个体破产”的环境——而“股民”这个身份,只是站在三者交汇点上的人。 ------ 五、关于“跳楼”这件事,必须写得准确 这是最容易出错、也最需要克制的一段。 5.1 可以确定的部分 【表格】 事实说明 确有极端个案有公开报道的股市相关极端事件,且通常与杠杆、债务催收、家庭破裂叠加出现 杠杆是共同特征已披露的个案中,多数涉及融资盘、场外配资或借贷资金 本文为制度与市场分析,不构成投资建议。
显示更多
第一個智能體不用自己寫迴圈,那程式設計師還剩下什麼? 官方來源:Martin Bernaola Mendez,原文發表於 2026-11-13(1 天內,見文末核實)。原文標題直譯:《在微軟開發平台做你的第一個智能體,比你想的簡單》。先把反常識結論放前面:多數人以為做智能體要先學一堆新東西,新的框架、新的寫法、新的觀念,沒三個月下不來;真相剛好相反,你的第一個智能體根本不用學新東西,用你本來就會的主程式語言、你本來就熟的寫法,一個下午就跑起來了。智能體的本質一點都不神秘,就是模型加指示加工具加記憶,繞著圈跑到答案出來:模型先判斷要不要用工具、再叫你的程式去做事、拿到結果再寫答案,迴圈跑完才收工。關鍵在最後一句:這個迴圈不用你寫,框架全包了。你只剩三件事:給它一個名字與指示、給它一個工具、給它一段記憶。微軟的智能體框架就是幹這個的,底下還有一個聊天客戶端介面,幫你把不同模型的呼叫方式統一成同一套寫法。這篇只做一件事:照原文四步走,帶你從零做出第一個會查天氣、會記得你名字的旅行小幫手,最後再換成本機免費版,一毛錢都不花。先說清楚底線:前置條件是開發平台軟體開發套件第十版或全新的第十一版,加上一把開放智能的應用程式介面金鑰;沒有金鑰也沒關係,文末有本機免費版。 說清詞: - 智能體:模型加指示加工具加記憶,繞著圈跑到答案出來的程式,模型負責判斷、你的程式負責做事。 - 聊天客戶端介面:微軟擴充智能裡的統一介面,把不同模型的呼叫方式包成同一套寫法,換模型不用重寫程式。 - 微軟智能體框架:坐在聊天客戶端介面上面、專門加智能體功能的那一層,負責指示、工具呼叫、工作階段,往後還能接多智能體流程。 - 指示:你給智能體的工作說明,寫明它是誰、說話多簡短、什麼時候該用工具,寫得越具體、它做得越穩。 - 工具:就是你本來就會寫的普通方法,加上一句說明文字掛進智能體,模型看說明決定什麼時候叫它。 - 說明屬性:掛在方法與參數上面的說明文字,告訴模型這個方法是幹什麼的、參數是什麼意思,模型就靠它決定要不要叫、要傳什麼。 - 迴圈:模型決策、呼叫方法、結果回填、寫答案,四步轉一圈,直到答案夠好才停,框架自動跑,你不用自己寫。 - 工作階段:對話的記憶盒子,建立一次、每次跑都傳進去,智能體才記得上一句講過什麼。 - 串流:答案一個字一個字出現的跑法,像聊天視窗那樣慢慢印出來,整段等完才印是另一種跑法。 - 主控台專案:最簡單的那種程式,沒有視窗、沒有網頁,只在命令列視窗裡跑,做第一個智能體用它就夠了。 - 環境變數:存在電腦系統裡的設定值,金鑰放這裡,程式碼裡只讀它、不寫明文。 - 本機模型:裝在你自己電腦上跑的模型,不用連雲端、不用付按量費用,代表作是奧拉瑪接開源模型。 - 模型上下文協定:接現成工具伺服器的標準作法,原文只在展望裡提,叫你以後自己去接,不用現在學。 - 可觀察性:把每一次模型呼叫與工具呼叫都留下紀錄的作法,出怪事時靠它追查,原文只在展望裡提。 一個真實的例子:原文的第一個智能體叫旅行小幫手,做的事再小不過:回答去馬德里旅行的小建議。做法是拿開放智能的客戶端取一個聊天客戶端、指定一個支援工具呼叫的聊天模型,再把它轉成智能體,給名字旅行小幫手、給指示說你是友善的旅行助理、答案保持簡短,跑起來就完成了。問它去里斯本玩兩天怎麼排,答案一個字一個字慢慢印出來,那是串流跑法。接著給它一個工具:一個查天氣的普通方法,加上一句說明說這是查某個城市的天氣預報,方法本身只是回傳一段寫死的假天氣。問它去里斯本要不要帶傘,背後發生四件事:模型讀問題、發現需要天氣資料、叫方法去查里斯本、拿到結果寫答案說早上會下小雨、記得帶傘。迴圈你一行都沒寫,框架全包了。最後加記憶:建立一個工作階段、每次跑都傳進去,先說嗨我是安娜、星期五要飛里斯本,再問要不要帶傘,第二問根本沒提城市,智能體自己用對的城市查天氣;再問我叫什麼名字,它答得出安娜。這三問跑下來,第一個智能體該有的東西全齊了:會判斷、會動手、會記得。 為什麼是框架全包,而不是你自己寫迴圈?因為迴圈裡最容易出錯的地方,全是重複的髒活:模型回傳要叫工具,你要解析它叫的是哪一個、參數對不對;方法跑完,你要把結果用對的格式回填給模型;模型又回傳要再叫一次,你要判斷這是正常接力還是無限鬼打牆;答案終於出來了,你要決定什麼時候停。這些事每一件都不難,但加起來就是幾十行容易寫錯的程式碼,錯一次、除錯半天。框架把這整圈包起來,你只寫三件事:指示寫清楚、工具掛上去、工作階段傳進去。11 月 12 日那篇手寫迴圈的教程立場剛好相反,叫你自己把迴圈寫出來、看懂每一圈在幹什麼;這篇的立場是先跑起來再說,迴圈交給框架,你先嚐到智能體動起來的滋味。兩篇沒有誰對誰錯,是先後順序:新手先照這篇跑起來,想搞懂底層再去讀手寫迴圈那篇,順序反過來很容易卡在第一圈就放棄。 再算一筆帳,讓你知道第一個智能體到底花多少錢。示範用的是開放智能的輕量聊天模型,特點是便宜、支援工具呼叫,跑幾十次問答常常不到一塊錢美金,練手完全不心疼。真正貴的不是模型,是你把正式環境的大模型、長上下文、高價輸出全開來練手,練十次就抵得上一個月的示範費用。所以練手的規矩只有一個:示範模型挑輕量便宜的,指示寫簡短,工具先用寫死的假資料,跑通了再換真資料、再換好模型。本機免費版更徹底:模型裝在自己電腦上跑,一毛錢都不花,工具、工作階段、串流的程式碼一個字都不用改,只換呼叫模型的那一行。先在本機版把迴圈、工具、記憶三件事都摸熟,上雲端花錢時才知道錢花在哪裡。 反方適用條件清單——以下情況,先別照本篇做第一個智能體,免得把本篇讀成保證: - 不想碰微軟開發平台、只用別的語言生態:本篇是微軟開發平台的作法,換生態等於整篇重寫。 - 沒有金鑰、也不想裝本機模型:兩條路都沒有,模型叫不動,智能體跑不起來,先選一條路再開工。 - 挑的模型不支援工具呼叫:工具掛上去模型也不會叫,示範用的輕量模型有支援,換模型之前先確認支援清單。 - 想一次做多智能體協作、寫作者加審查者的流程:原文只做到單一智能體,多智能體是展望裡的下一步,現在做還太早。 - 想直接做正式上線的產品:本篇只到主控台示範為止,正式產品要另外做驗證、備份、錯誤處理。 - 指示寫得含糊、只寫你是個助理:指示越空、模型做得越飄,指示要寫明身分、語氣、什麼時候用工具。 - 除此之外,只要你會寫主程式語言、想親手跑一個會動手的智能體——這篇就是為你寫的。 一句定性金句:迴圈不用你寫,判斷不用你寫,你只剩三件事:給指示、給工具、驗答案。 一、翻車清單 - 金鑰寫進程式碼、貼進群組、傳進公開倉庫:誰拿到都能花你帳上的額度,正確做法是存進環境變數,程式碼裡只讀變數不寫明文。 - 開發平台軟體開發套件版本太舊:原文要第十版或全新的第十一版,舊版可能沒有智能體框架要的寫法,先升級再開工。 - 套件裝錯:開放智能版與通用版是兩個套件,雲端版裝開放智能那一個,本機版才裝通用版加奧拉瑪那一個,裝錯就接不上。 - 模型挑不支援工具呼叫的:工具掛上去模型也不會叫,示範用的輕量模型有支援,換模型之前先確認支援清單。 - 指示寫得太空:只寫你是個助理,模型不知道該簡短還是詳細、該不該用工具,指示要寫明身分、語氣與用工具的時機。 - 工具沒加說明文字:模型看不懂這個方法是幹什麼的,永遠不會叫它,說明文字是工具能不能被叫到的關鍵。 - 工具方法寫了真的去查天氣:示範階段先用寫死的假資料,跑通迴圈再換真資料,一開始就接真服務,出錯不知道是迴圈錯還是服務錯。 - 忘記建立工作階段:每一次呼叫都從零開始,第二問不提城市它就不知道去哪裡,名字也記不住,記憶要靠工作階段傳進去。 - 工作階段建了卻沒傳進去:建立一次不夠,每一次跑都要傳,漏傳一次、那一次的對話就斷了。 - 串流與整段回傳搞混:串流是一個字一個字印,整段是等完一次印,兩種跑法的寫法不一樣,抄錯會編不過。 - 金鑰放環境變數卻沒重開命令列視窗:環境變數改了要重開視窗才生效,舊視窗讀到的是舊值,一問就說金鑰沒設。 - 本機模型挑不支援工具呼叫的:本機開源模型不是每一個都支援工具呼叫,挑之前先確認,否則工具掛上去也不動。 - 本機服務沒啟動就跑程式:奧拉瑪的本機服務要先跑起來,程式連的是本機位址,服務沒開就連不上。 - 把示範程式當正式產品:主控台示範沒有錯誤處理、沒有備份、沒有驗證,正式上線要另外補齊,示範跑通不等於產品做完。 - 一次給太多工具:第一個智能體先給一個查天氣就好,工具一次給五個,模型叫錯的機率立刻上升,出錯不知道是哪一個工具的問題。 - 指示與工具打架:指示寫不要用工具、工具又掛上去,模型左右為難,指示與工具要講同一套話。 - 名字與指示寫完就以為智能體懂了:名字只是名字,真正管行為的是指示,指示沒寫清楚,名字再好聽也沒用。 - 測試不跑就說通了:模型說帶傘不算數,程式真的跑起來、答案真的對、第二問真的記得城市,才算通。 - 換雲端平台就以為程式碼要重寫:聊天客戶端介面就是為了換模型不用重寫,雲端平台、開源模型、微軟雲端,全是換呼叫模型的那一行,其餘不動。 - 把多智能體協作當第一步:原文的展望是下一步,先把單一智能體跑通,作者加審查者的流程以後再加,一步登天一定摔。 二、替代方案+理由 原文只給一條主路,理由很硬:先拿雲端輕量模型跑通,再換本機免費版——理由是雲端版最快驗證迴圈、工具、記憶三件事,本機版再把花費壓到零,順序反過來很容易卡在本機安裝那一步、還沒看到智能體動起來就放棄。雲端版的理由是套件裝好、金鑰設好就能跑,示範用的輕量模型便宜又支援工具呼叫,練手不心疼。本機免費版的理由是模型裝在自己電腦上,一毛錢都不花,工具、工作階段、串流的程式碼一個字都不用改,只換呼叫模型的那一行,適合想一直練、一直試的人。還有一條同理可推的路:雲端平台版、開源模型平台版、微軟雲端版,理由是聊天客戶端介面把模型呼叫統一了,換平台只是換呼叫模型的那一行,其餘程式碼全不動,適合公司已經有指定平台的人。順序只有一個:雲端輕量版先跑通,再換本機版或公司平台版,不要三種同時開工。 工具的作法也有替代方案,理由一樣硬:示範用寫死的假天氣,理由是先驗迴圈對不對,出錯只可能是迴圈錯;換真資料是下一步,理由是迴圈通了再接真服務,出錯只可能是服務錯。兩步分開除錯,永遠比一次全上、錯了不知道找誰快。記憶的作法也一樣:工作階段是原文給的正規作法,理由是框架幫你管記憶,不用自己寫對話紀錄;自己寫對話紀錄是另一條路,理由是想完全掌控格式的人可以自己來,但新手先不要,框架的版本先跑通再說。 三、目標形態 一個能對照的最小閉環:開發平台軟體開發套件已裝第十版或第十一版、開放智能金鑰已存進環境變數;主控台專案已建好、開放智能套件已裝好;智能體已有名字旅行小幫手、指示寫明友善的旅行助理、答案保持簡短;問它去里斯本要不要帶傘,模型自己叫查天氣的工具、拿到結果寫答案說早上會下小雨、記得帶傘;第二問不提城市,它用對的城市查天氣;第三問問我叫什麼名字,它答得出安娜。三問全對、程式真的跑起來,才算通。一句話:先讓一個智能體真正動起來,再談多智能體。 這個最小閉環還有三個進階樣子,通了之後可以一個一個加上去。第一個是換真資料:查天氣的方法從寫死的假資料換成真的天氣服務,問同樣的問題,答案裡的溫度與天氣要對得上真實預報,迴圈不動、只換方法裡面。第二個是換本機免費版:模型換成本機開源模型,其餘程式碼一個字都不改,跑同樣的三問,答案一樣對,帳單變零。第三個是加第二個工具:再掛一個查機票或查景點的方法,指示寫明什麼時候用哪一個,問一個同時需要天氣與景點的問題,看模型會不會自己挑對工具。這三個樣子有一個共同點:一次只換一件事,換完立刻驗三問,驗不過就只退一步,不用整段重寫。 四、遷移步驟 1. 先備前置條件:開發平台軟體開發套件裝第十版或全新的第十一版,開放智能金鑰申請好、存進環境變數,不要寫進程式碼。 2. 新建主控台專案:用命令列工具新建一個主控台專案、進到專案資料夾,裝開放智能版的智能體套件。 3. 寫第一版主程式:拿開放智能客戶端取聊天客戶端、指定輕量聊天模型,轉成智能體,給名字旅行小幫手、給指示說你是友善的旅行助理、答案保持簡短,問一句去馬德里旅行的小建議,跑起來。 4. 換串流跑法驗一次:同一個問題改用串流跑法,答案一個字一個字印出來,確認兩種跑法都通。 5. 給它第一個工具:寫一個查天氣的普通方法、加一句說明說這是查某個城市的天氣預報,方法裡先回傳寫死的假天氣,掛進智能體。 6. 問它去里斯本要不要帶傘:看模型自己叫查天氣的方法、拿到結果寫答案,迴圈四步都發生了才算通。 7. 建立工作階段:建立一個工作階段,每一次跑都傳進去,先說嗨我是安娜、星期五要飛里斯本。 8. 驗記憶三問:第二問要不要帶傘不提城市,看它用對的城市查天氣;第三問問我叫什麼名字,看它答得出安娜;三問全對才算通。 9. 換本機免費版:裝通用版套件加奧拉瑪套件,本機服務先啟動,模型換成本機開源模型,其餘程式碼一個字都不改,跑同樣的三問。 10. 換真資料:查天氣的方法從寫死的假資料換成真的天氣服務,問同樣的問題,答案要對得上真實預報。 11. 加第二個工具:再掛一個查機票或查景點的方法,指示寫明什麼時候用哪一個,問同時需要兩種資料的問題,看模型挑不挑得對。 12. 換公司平台驗一次:雲端平台版、開源模型平台版、微軟雲端版挑一種,換呼叫模型的那一行,其餘不動,確認聊天客戶端介面真的統一了寫法。 13. 記帳:示範用的輕量模型跑幾十次常常不到一塊錢美金,練手用輕量模型、指示寫簡短、工具先用假資料,跑通了再換真資料、再換好模型。 14. 排定主力與備胎:主力一種平台每天用,備胎一種放在旁邊,主力出問題、換專案時立刻換備胎頂上,不用臨時翻文件重學寫法。 15. 每月回頭對一次官方文件:智能體框架還在長大,多智能體流程、模型上下文協定、除錯工具都會變,每月花十分鐘對一次,才不會拿著舊地圖走新路。 跑完這十五步,真正拉開差距的不是你會幾種平台,是你給指示的方式。指示寫得含糊,模型就做得含糊;指示寫得具體,模型就動得具體。好的指示有三個要素:先說身分,再說語氣,最後說用工具的時機。身分是你是誰,例如友善的旅行助理;語氣是答案多長,例如保持簡短;用工具的時機是何時該查資料,例如需要天氣資料時就用工具查。三個要素寫進每一次設定,模型的命中率立刻不一樣。反過來最差的指示是只寫你是個助理,模型不知道你要它簡短還是詳細、不知道什麼時候該動手,只能憑感覺猜,猜錯了你還要花時間收拾。框架是硬體,指示是軟體,硬體接好了、軟體跟不上,一樣跑不快。 問問題也有一個進階技巧:一次只問一件事。請模型同時排行程、查天氣、再訂機票,它常常三件都做得半調子;拆成三輪,每一輪只做一件、每一輪都驗收,總時間反而更短,因為返工最花時間。還有一個習慣值得養:每一次請模型動手之前,先請它用一句話說出它理解的任務是什麼,它說對了再讓它動手,它說錯了先糾正理解、不要讓它帶著錯誤的理解去叫工具。這兩個習慣加起來,模型的出錯率會掉一大截,你花的檢查時間也會跟著掉。 五、團隊共建分工 做第一個智能體是小事,但三個角色別一個人全扛: - 你自己管金鑰:金鑰只你經手,存進環境變數、不寫進程式碼、不貼進群組,誰要用就請他自己建一把。 - 審查者核對帳單:每週對一次用量,示範用的輕量模型跑幾十次常常不到一塊錢美金,大模型、長上下文、高價輸出的帳單先抓出來看。 - 紀錄者留對照表:把每一次實驗的模型、指示、工具、工作階段、驗收結果寫進本篇贈品驗收表,換人接手時不用重讀原文,換模型時照表改名字就好。 - 守門員管範圍:每一次請模型動手之前,先說清楚哪些工具能叫、哪些資料不能碰,正式環境的設定一律列入禁區,模型動手之前先對一次範圍,叫錯工具的代價比多問一句話貴得多。 - 新人先跑最小閉環:新加入的人不要一次做多智能體,先照本篇第四節跑一遍最小閉環,三問全對、程式真的跑起來,通了才算入門,通不了先找守門員對設定,不要自己硬湊。 六、官方工具包 - 微軟擴充智能:聊天客戶端介面,統一不同模型的呼叫寫法,換模型不用重寫程式。 - 微軟智能體框架:坐在聊天客戶端介面上面,負責指示、工具呼叫、工作階段,往後還能接多智能體流程。 - 開放智能版套件:雲端版裝這一個,示範用輕量聊天模型,支援工具呼叫。 - 通用版套件加奧拉瑪套件:本機免費版裝這兩個,接本機開源模型,其餘程式碼不變。 - 示範模型:輕量聊天模型,支援工具呼叫,練手便宜。 - 本機模型代表:駱馬三點二,裝在自己電腦上跑,一毛錢都不花。 - 同理可接的平台:雲端平台、開源模型平台、微軟雲端,換呼叫模型的那一行就好。 - 展望裡的下一步:多智能體流程、模型上下文協定、智能體對智能體、可觀察性、除錯工具,現在先知道名字就好。 - 前置條件:開發平台軟體開發套件第十版或全新的第十一版,加上一把開放智能金鑰或一台裝好本機模型的電腦。 結尾收束:原則比框架多重要——智能體框架不是魔法,是把迴圈包起來的那一層。可重複的動作規則只有一條:每次換模型、換平台、加工具之前,先回到那個最小閉環——三問全對、程式真的跑起來——通了再往下走。今晚就能做的事:先備好金鑰、建一個主控台專案、問它一句去馬德里旅行的小建議,答得對,這條路就是你的了。 最後再提醒一次最容易被低估的事:第一個智能體真正的成本不是金鑰、不是套件,是你願不願意把指示寫清楚。指示寫不清楚,模型做得再快也是亂做,你還要花更多時間收拾;指示寫清楚了,迴圈、工具、記憶三件事立刻各就各位。這筆帳,比幾十次問答不到一塊錢美金重要得多。今晚先跑三問,明天上班第一件事就拿一個你真正的工作問題去問它,問完看它會不會自己挑對工具,挑對了,你就知道這條路值不值得走下去。 本篇贈品:微軟智能體首次落地驗收表 開通之前逐項打勾:1 前置——開發平台軟體開發套件已裝第十版或第十一版、開放智能金鑰已存進環境變數、沒寫進程式碼;2 專案——主控台專案已建好、開放智能版套件已裝好;3 第一版——智能體已有名字旅行小幫手、指示已寫明友善的旅行助理與答案保持簡短、問去馬德里旅行的小建議已跑通;4 串流——串流跑法已驗一次、答案一個字一個字印出來;5 工具——查天氣的方法已寫好、說明文字已加上、方法裡先用寫死的假資料、問去里斯本要不要帶傘已看到模型自己叫方法;6 記憶——工作階段已建立、每次跑都已傳進去、第二問不提城市已用對的城市查天氣、第三問已答得出安娜;7 本機版——通用版套件加奧拉瑪套件已裝好、本機服務已啟動、模型已換成本機開源模型、三問已重跑全對;8 真資料——查天氣的方法已換成真的天氣服務、答案已對上真實預報;9 第二工具——第二個方法已掛上、指示已寫明什麼時候用哪一個、同時需要兩種資料的問題已驗過;10 帳單——示範用的輕量模型跑幾十次不到一塊錢美金的算法已知道、練手用輕量模型與假資料的規矩已立好;11 維護——每月回頭對一次官方文件、換平台只換呼叫模型那一行的作法已驗過;12 指示——每一次設定已寫明身分、語氣、用工具的時機三個要素,一次只問一件事,模型動手前已先用一句話說出它理解的任務。 S1哥觀點 別再問「做智能體是不是很難」了——難的不是智能體,是你以為迴圈要自己寫。還在觀望的人,花的時間不是學習,是猶豫;照這篇跑起來的人,一個下午就有一個會查天氣、會記得你名字的旅行小幫手,迴圈框架全包了,你只剩給指示、給工具、驗答案。更值得問的是:你現在每天重複做的那件小事,是查資料、還是回覆、還是整理?那一件,就是你第一個智能體該先接的理由。還有一個更扎心的問題:你上一次說要學智能體,結果三個月過去、連第一個主控台專案都還沒建,是什麼時候?這種拖延,跑起來一次就治好了,因為跑通的那一刻你就知道,原來第一步這麼小。你第一個智能體想讓它先幫你做什麼?評論區說說。
显示更多
DeepSeek 官方说 deepseek-flash 能直接看图,三种传图方式,一次最多 600 张 建议收藏,用到时照着做。做完你能让 DeepSeek 读截图、看图表、描述图片。 这是 DeepSeek 官方 API 文档 Vision(视觉)一页。先说结论: 官方写明,deepseek-flash 模型可以文字加图片一起输入,用来描述图片、读截图里的字、分析图表。 先说清词。 Vision,视觉输入,意思是让模型看图。 base64,是把图片文件转成一长串文字,直接塞进请求里的编码方式。 file_id,是先把图片传到官方的 Files API(文件接口),拿回来的一个编号,之后用编号代替图片。 先把话说全: 官方支持的图片格式是 JPEG、PNG、GIF、WebP,官方说格式按文件真实内容判断,不看文件名。 官方写明,assistant(模型自己的)消息里放图片,会返回 400 错误;图片只能放在 user、system、tool 消息里。 一、三种传图方式 第一种:base64 内联。官方说最适合本地文件,把图片编码后做成 data: 开头的地址放进请求,整个请求体上限是 48 MiB。 第二种:外部图片链接。给一个公开的 http 或 https 地址,官方限制:链接最长 8192 个字符,图片最大 32 MiB,下载要在 60 秒内完成。 第三种:Files API 的 file_id。官方说同一张图要反复用,或者图太大,就先上传再用编号。这种方式图片可以到 64 MiB。 二、请求怎么写 第一步:model 写 deepseek-flash。官方说旧名字 deepseek-v4-flash-vision-exp 还能用,但已经退役,实际由最新的 Flash 模型处理。 第二步:messages 里 content 不再是一句话,而是一个列表,里面一块是 text 文字,一块是 image_url 图片。 第三步:Responses API 也能传图,图片放在 input_image 里,文字放在 input_text 里。 三、detail 清晰度开关 官方写明,image_url 可以加 detail 字段。low 会把图缩到 512×512 再看,更快更便宜;high、original、auto 目前都是保持原图。 四、费用和上限 官方说图片按尺寸换算成 token,和文字一起计费。每张图最多 1024 个 token,因为太大的图会先被缩到约 1300×1300 的像素量。 官方给的上限:每次请求最多 600 张图;单边最长 8192 像素,一次放 15 张以上时降到 4096 像素;不含 file_id 的图合计 64 MiB,含 file_id 最多 200 MiB。 五、用 Anthropic 接口也行 官方说把 base_url 写成 image 块,source 的 type 可以是 base64、url 或 file。用 file 时要加请求头 anthropic-beta: files-api-2025-04-14。 常见坑 3 条: 一、把图片放进 assistant 消息,会直接报 400。二、外链图片超过 32 MiB 或 60 秒下不完,就改用 file_id。三、一次放 15 张以上,单边别超过 4096 像素。 复制即用的提示词:请描述这张图片,列出图里所有文字,再用三句话总结它想说明什么。 收藏版:5 步速查 一、model 写 deepseek-flash。二、选 base64、链接或 file_id 传图。三、content 写成文字块加图片块。四、格式用 JPEG、PNG、GIF、WebP。五、别把图放进 assistant 消息。 S1哥 观点:官方把每张图封顶 1024 个 token,说明传图比很多人想的便宜,截图问答可以放心大量用。 一句话结论:DeepSeek 读图,认准 deepseek-flash,小图用 base64,大图或重复用 file_id。想让朋友少踩坑,复制链接发给他。 你是想让它读截图还是看图表?卡在第几步?同系列前几篇在我主页。 参考:DeepSeek 官方文档 Vision(S1哥 整理) 今天送:DeepSeek 看图请求自检清单,评论区第一条直接拿。
显示更多
End-to-End 4-Bit Training:让大模型用更粗糙的数字格式完成全流程训练,大幅缩短显卡训练时间 训练大模型需要处理海量数据,直接把数字精度压到4位虽然能加快计算,但四舍五入累积的误差会严重拖垮模型的学习效果。 为了解决这个矛盾,Thinking Machines Lab在英伟达GB300显卡平台上开发了名为BBBK的专用底层加速程序。采取了分工策略,在模型向前推理计算时使用高速度的4位数字格式NVFP4,在向后更新参数时切回较精细的8位格式MXFP8,并在传输数据时顺手进行旋转压缩与随机舍入修正,省去了传统训练完成后还要单独做低精度校准的麻烦步骤。 这套方案应用在Inkling 2 Small模型的全流程训练中,显卡的运算管道和传输带宽同时跑满,没有出现互相等待的卡顿。原本需要好几周才能跑完的同体量模型,现在在GB300机柜上只用了68小时就完成了预训练。对比全程使用8位格式训练,新方案在预训练阶段节省了8%的时间,在强化学习阶段直接提速了20%,省下了大量算力开销,同时模型最终的回答准确率几乎没有受到影响。 链接:
显示更多
建议收藏,用到时照着做。做完你能让 DeepSeek 自己决定“要不要调用你写的函数”,并把结果用人话讲回来。 AI 能查天气、查订单,是它自己去查的吗?DeepSeek 官方一句话拆台:模型本身不执行任何函数 这是 DeepSeek 官方 API 文档里 Tool Calls(工具调用)一页。先说结论: 官方原话是,函数要由你自己提供,模型本身不执行具体函数。它只负责说“我想调这个函数、参数是这些”,真正去跑的是你的代码。 先说清词。 工具调用(Tool Calls),是让模型能用外部工具的功能,比如查天气、查数据库。 函数(function),是你自己写好的一段代码,模型只会“点名”它。 tool_call_id(工具调用编号),是模型每次点名时附带的一个号码,你回传结果时要带上它,模型才知道你在回答哪一次。 strict 模式(严格模式,Beta 测试版),是让模型点名时严格按你定义的格式填参数。 一个真实例子:官方示例问“杭州天气怎么样”,模型返回的是 get_weather 这个函数和参数 location 等于杭州,你的代码去查到“24℃”,再交给模型,模型才说“杭州现在 24 度”。 先把话说全: 官方示例用的是非思考模式,请求里加 extra_body 把 thinking 的 type 设成 disabled。 官方写明:从 DeepSeek-V3.2 开始,思考模式下也能用工具调用,细节看官方 Thinking Mode 一页。 官方写明:Chat Completion 接口不支持在对话中间插入不是模型生成的工具调用,要插的话请改用 Anthropic API 或 Responses API。 strict 模式目前是 Beta,要用测试版地址。 一、先看懂整个流程 官方给的执行流程是四步:用户问杭州天气;模型返回要调用 get_weather,参数是杭州;你的代码真的去调用 get_weather,把结果交给模型;模型用自然语言回答“杭州现在 24 度”。 二、照官方示例做一遍 第一步:去 DeepSeek 开放平台拿一个 API key,电脑装好 Python 和 openai 库。 第二步:创建客户端,base_url 写 DeepSeek 官方接口地址(官方文档第一屏就有),api_key 填你的。 第三步:写 tools 清单。每个工具包含 type 等于 function,再写 name(函数名)、description(描述,告诉模型什么时候用)、parameters(参数)。官方示例的函数叫 get_weather,描述是“获取某地天气,用户须先提供地点”,参数 location 是字符串,并且在 required 里。 第四步:发第一次请求,model 官方示例写 deepseek-flash,把 messages 和 tools 一起传,并加上 thinking 关闭的设置。 第五步:从返回里取 tool_calls 的第一项,先把模型这条消息原样追加进 messages。 第六步:你的代码去执行函数,再追加一条 role 是 tool 的消息,带上刚才的 tool_call_id,content 写结果,官方示例写的是 24℃。 第七步:再发一次请求,这次模型就会用自然语言回答。 三、想要更稳:strict 严格模式 第八步:base_url 改成官方文档里写明的 beta 版接口地址(就是原地址后面加 /beta)。 第九步:每个 function 都加上 strict 等于 true。 第十步:服务器会检查你的 JSON Schema(结构说明),格式不合规或用了不支持的类型,会直接返回错误信息。 官方支持的类型是:object、string、number、integer、boolean、array、enum、anyOf,另外 $ref 和 $def 可以复用和做递归。 四、strict 的硬规矩 对象里所有属性都必须写进 required,并且 additionalProperties 必须设成 false。 字符串可以用 pattern(正则)和 format,官方列出的格式有 email、hostname、ipv4、ipv6、uuid,但不支持 minLength 和 maxLength。 数字支持 const、default、minimum、maximum、exclusiveMinimum、exclusiveMaximum、multipleOf。 数组不支持 minItems 和 maxItems。 五、看到什么算成功 第一次返回的是函数点名,不是答案;第二次返回的才是自然语言答案,内容里有你的函数结果。 六、卡住怎么办 strict 报错:先检查是不是漏写 required 或忘了 additionalProperties 设 false,再检查有没有用到 minLength、maxItems 这类官方不支持的写法。 结论:工具调用不是模型替你干活,而是模型“点名”、你的代码“动手”。想让点名更准,就用 strict。把这条复制链接发给他,下次他说 AI 查不到东西,先让他确认函数是不是自己写了。 你卡在第几步?评论区告诉我。同系列前几篇在我主页。 收藏版:5 步速查 一、tools 里写清函数名、描述、参数 二、第一次请求拿到 tool_calls 三、自己执行函数,回传 role 为 tool 的消息并带 tool_call_id 四、第二次请求拿到自然语言答案 五、想更稳就用 beta 地址加 strict 等于 true 常见坑 3 条 一、以为模型会自己执行函数,其实要你的代码去跑。 二、回传结果忘了带 tool_call_id。 三、strict 里漏了 required 或 additionalProperties 设成 false。 复制即用提示词:我想让模型调用一个叫 你的函数名 的函数,它需要这些参数:写参数。请帮我写出符合 DeepSeek Tool Calls 格式的 tools 清单,每个参数都写 description,并改成 strict 模式需要的写法。 S1哥观点:这篇最狠的地方,是官方把话挑明了:模型不执行函数,只负责点名。很多人以为 AI 在后台自己动手,其实动手的永远是你的代码。 真正的信号是:工具调用的难点不在模型,在你把函数描述写得多清楚。就像派活给新人,说明写得含糊,他再聪明也会点错人。 你现在想让 DeepSeek 调用的是什么,查数据还是发消息?评论区告诉我。 今天送:DeepSeek 工具调用速查卡,评论区第一条直接拿。 参考:DeepSeek 官方 API 文档 Tool Calls(S1哥 整理)
显示更多
Agent 最缺的不是更大的上下文窗口,而是理解整个代码库的能力:当一个项目有数万文件、跨模块调用和海量文档时,为什么还要让 AI 一遍遍 Grep、Read、重新理解整个工程? 📦 项目档案 项目:Graphify-Labs/graphify GitHub Stars:⭐ 147299 技术栈:Python + Tree-sitter + NetworkX + Leiden 核心定位:将代码、文档、SQL Schema、PDF、图片及音视频转换成可查询、可追溯的知识图谱,让 AI Agent 从「搜索文件」升级为「理解工程关系」。 GitHub: 🛠️ 一、底层架构:不是传统 RAG,而是图结构知识引擎 Graphify 最值得研究的地方,是它没有走传统向量检索路线。 传统 RAG 通常需要经历: 文件切分 → Embedding → 向量入库 → 相似度检索 → 上下文拼接。 Graphify 直接构建 Graph。 底层采用 NetworkX 图数据结构,以 Node 和 Edge 表达工程实体及其关系。 整个处理链路可以概括为: detect() → extract() → build() → cluster() → analyze() → report() → export() 每个阶段职责独立,通过 Python Dict 和 NetworkX Graph 传递数据。 这意味着它不只是索引代码,而是在构建整个项目的结构化关系网络。 🛠️ 二、Tree-sitter AST:让代码解析摆脱 LLM 依赖 这是最有工程价值的设计。 Graphify 使用 Tree-sitter AST 解析约40种编程语言,提取: • Classes:类定义及结构。 • Functions:函数与方法。 • Imports:模块依赖关系。 • Call Graph:跨文件函数调用。 • SQL:表、视图、外键及 JOIN 关系。 其中33种语言使用 Tree-sitter Grammar,另外7种使用内置解析器。 关键在于:代码结构提取完全在本地完成,不需要调用 LLM,也不需要把代码上传到云端。 对于大型代码库,这种确定性解析比单纯依赖模型阅读文件更容易复现和追踪。 🛠️ 三、EXTRACTED / INFERRED:让每条知识关系都有证据 很多知识图谱最大的隐患是:模型推断出来的关系,很容易被误认为真实事实。 Graphify 给关系增加了置信度标签: • EXTRACTED:源码中明确存在的关系,例如 import、函数调用。 • INFERRED:通过上下文、命名和调用关系推断出来的连接。 • AMBIGUOUS:存在不确定性的关系,需要人工复核。 INFERRED 关系还会附带 0.0—1.0 的 confidence_score。 这套机制非常重要。 它实际上把知识图谱从一个简单的关联网络,变成了一个能够区分事实、推断与不确定性的工程知识系统。 🛠️ 四、Leiden + SHA256 Cache:解决规模与重复计算 Graphify 使用 Leiden 社区发现算法,根据节点之间的连接密度,将复杂工程拆分成不同功能子系统。 例如,一个大型后端项目,可以自动识别认证、数据库、路由、权限等不同社区。 同时,SHA256 内容哈希缓存会记录文件指纹。 文件没有变化,就跳过重复提取;只有新增或修改的文件才重新处理。 音视频还可以通过本地 faster-whisper 转录,再进入统一知识图谱。 这让增量更新不必每次重新扫描整个工程。 五、真正解决了什么工程问题? 想象一个场景: 你接手一个陌生的微服务项目,需要搞清楚: 用户认证最终连接了哪些数据库模块? 修改某个核心函数会影响哪些下游组件? 某个架构决策为什么会存在? 两个看似无关的模块究竟有什么隐藏依赖? 传统方式:Grep、Read、跳转、反复询问 Agent,消耗大量上下文。 Graphify:直接执行 query、path、explain。 它还能生成三个核心产物: • graph.json:完整知识图谱,可供后续查询。 • GRAPH_REPORT.md:核心节点、社区及关键关系分析。 • graph.html:可交互的可视化图谱。 甚至支持 Mermaid 调用链导出、Markdown Wiki 和 Obsidian 知识库。 最重要的设计思想是: 不要让 AI 每次都重新阅读整个世界,而是提前把世界组织成它能够理解和遍历的结构。 这才是 AI Coding 从上下文堆砌走向工程知识管理的重要一步。 对于大型 Monorepo、遗留系统维护、跨模块依赖分析,以及需要长期理解代码库的 Agent,这套架构尤其值得研究。 🔗 GitHub 开源地址:
显示更多
0
40
146
20
转发到社区
# 合并前先让 AI 挡一刀:一次审查 0.08 美元,假金钥加命令注入全被拦下 先说结论:让人工智慧审查程式码,贵的不是模型,是你以为要搭一整套系统才做得到。作者在 2026 年 11 月 13 日当天、在苹果电脑上、用 2.1.322 版实测,整个审查闸门的核心只有两样东西:一次非互动模式的呼叫,和一个退出码。审查结果是通过还是挡下,最后变成一个数字,零代表通过、一代表挡下,持续整合系统只认这个数字。 底线先说清楚:第一轮实测,作者故意埋了四个问题的分支被挡下,两高危加两中危,退出码一,约十秒、约 0.18 美元;修掉问题重跑,只剩两条低度备注,判定通过、退出码零,约 0.08 美元,一次审查只花一毛钱不到。两轮的差异只有二十五行,都跑了三轮对话。还要诚实说一句,搬上持续整合的那一段,作者没有真的在云端上跑过,因为那需要一个正式储存库和一把金钥,那一段是照官方文件写的,档案格式检查通过、没有实跑。 怎么做?先备一个很小的演示仓库,主分支放一支正常的计价函式和一支测试,功能分支加折扣、平均价和报表三个功能,同时故意埋四个问题:写死的假金钥、命令注入、折扣可以把总价算成负数、空清单求平均会崩溃。再写审查脚本,先把分支差异存成差异档案,再以非互动模式加结构化输出跑审查,审查者只有唯读权限,最多六轮、预算上限 0.5 美元,最后把判定结果转成退出码,通过是零、挡下是一。先在本机跑通挡下和通过两轮,两个退出码都亲眼看过,再搬上持续整合。 小心三件事。第一,审查只需要读档案,给它执行命令的权限,等于请一个没人看着的助手在你的机器上跑任意命令,只准读取,其他一律不给。第二,轮数、预算、逾时三个上限都要设好,轮数上限六轮、预算上限 0.5 美元、流程逾时十分钟,没设上限的任务卡住了会一直跑,烧掉的是持续整合的分钟数和模型的费用。第三,金钥要放进储存库的机密设定里,写进流程档案等于公开;分叉合并请求拿不到金钥,审查只对同一个储存库里的分支生效,外部来的合并请求这道闸门跑不起来。 顺序只有一个:本机脚本先通,再上持续整合,先挡下、再通过,两个退出码都亲眼看过才算通。还有一句要先想清楚,审查是判断、不是单元测试,同样的程式码跑两次,回来的备注可能不一样,判定结果可以当闸门,但不能当作程式码没问题的证明。闸门挡的是明显的问题,低度备注和写法差异还是要人工审查者看,两个角色是互补的,不是互相取代的。一句话:合并前多一道关卡,而这道关卡每次只花一毛钱不到。 S1哥观点:别再问人工智慧审查程式码是不是太贵、太麻烦了,贵的从来不是每次 0.08 美元,麻烦的也不是要搭一整套系统,是你还没亲手跑过一次。作者这篇最值钱的不是那支脚本,是两轮实测的对照:第一轮四个问题、退出码一,第二轮两个低度备注、退出码零,两个数字都亲眼看过,闸门才算真的立起来。更值得问的是,你上次合并请求出问题,是没有人审查,还是审查的人没看出来?如果是后者,一道只要一毛钱的闸门就能先挡下写死的金钥和命令注入这类最危险的问题,剩下的再交给人工审查者慢慢看。你第一个想让它挡下的问题是什么?评论区说说。 收藏用清单(照着做): 1. 备一个演示仓库,故意埋四个问题,改动集中在一个档案,审查者读的就是这份差异。 2. 写审查脚本,先存差异档案、再以非互动模式加结构化输出跑审查,最后把判定结果转成退出码。 3. 本机先跑通两轮,挡下的退出码一、通过的退出码零都亲眼看过,再搬上持续整合。 4. 金钥放机密设定、权限设最小化、审查者只有唯读权限,轮数、预算、逾时三个上限都设好。 转给合并请求出事才救火的朋友,一次审查只要八分钱,他今晚就能先跑一次演示。
显示更多
# 别急着学框架:一个回圈加三个工具,模型自己会决定下一步 先说结论:Agent 跟聊天机器人的差别,不在模型多聪明,也不在你学了哪个框架,而在多了一个会自己决定下一步的回圈。聊天机器人是你问一句、它答一句,下一步永远由你决定;Agent 是你给一个目标,它自己决定先查什么、再算什么、做到哪一步停下来。 怎么做?回圈固定做四件事:把对话送给模型、看模型要不要叫工具、没叫就回答案收工、有叫就执行工具再把结果贴回对话,跑下一轮。工具起手只要两到三个:计算机、报现在时间、搜寻。重点在工具说明要写清楚,模型是读说明来挑工具的,说明含糊,Agent 迟早不理你的工具。 三个地方最容易翻车。第一,没有步骤上限,模型原地打转就是烧钱烧到没完没了,原文把上限设在十轮,到了就停手认输。第二,工具一报错就让整个程式崩掉,正确做法是把错误讯息贴回对话,让模型自己换一招再试。第三,计算机直接执行模型吐出来的算式,模型吐的东西一律当不可信的输入,要用正规的算式解析器算。 测试分两关。先问一道乘法,只会叫到计算机,测它会不会挑对工具;再升级成查两个数字、算百分比,要连着叫两次工具,测它会不会自己排步骤。两关都过,你的回圈才算真的会做事。还要记住一个数字:每步九成把握,十步任务整体成功率只剩三成五左右,步数越多越要先拆小。 一句话:框架是装潢,回圈才是房子。先手写一次搞懂回圈,再决定要不要上框架。今晚就能做的事:挑一个你每天重复问的小问题,写一个只有计算机和报时间两个工具的回圈,跑一道乘法、再跑一道查数字算百分比,看它会不会自己排步骤。 S1哥观点:别再问学 Agent 要先学哪个框架了,框架是装潢,回圈才是房子。一个回圈加三个工具,模型就能自己决定先查什么、再算什么;回圈写错了,框架堆再多也只是让它用更贵的方式原地打转。你上次亲手写的回圈,是什么时候?没写过的话,今晚就写第一个,两个工具、一道乘法,跑通了再谈框架。你第一个想让 Agent 替你做的重复小事是什么?评论区说说。 收藏用清单(照着做): 1. 把任务缩到一句话,写下什么叫完成、Agent 绝对不能做的事。 2. 建好执行环境,金钥放好,绝对不写进程式里。 3. 先写计算机、报时间、搜寻两到三个工具,说明写到模型读了就会挑。 4. 跑单工具测试再跑多步骤测试,两关都过再加护栏上线。 转给还在背框架名字、却没写过半个回圈的朋友,他今晚写第一个就懂了。
显示更多