
9.22 那期的 GitHub 熱榜我翻了好幾遍越看越覺得這期特別有代表性。前五名里三個項目本質(zhì)上都在做同一件事給 AI agent 造地基。放在一年前熱榜前排通常被當(dāng)天就能跑出驚艷 demo的應(yīng)用型項目占領(lǐng)現(xiàn)在風(fēng)向明顯變了大家開始認(rèn)真對待讓 agent 真正干活這件事了。先說結(jié)論如果你現(xiàn)在只盯著模型能力是不是又漲了一截那你可能已經(jīng)慢了半拍。模型確實還在進(jìn)步但真正卡住 agent 落地的早就不是誰家模型更聰明而是模型外圍那套工程設(shè)施——編排、工具協(xié)議、記憶、觀測、并發(fā)控制。這篇文章我會先拆解這波熱榜信號和地基具體包括什么再講怎么從熱榜里挑項目最后給一條從 0 到 1 搭建 agent 的實操路徑以及一堆我實際踩過的坑。1. 9.22 熱榜上的信號造工具的比用工具的還高調(diào)1.1 三個地基項目身上共有的三個特征我盯著這三個項目看了很久發(fā)現(xiàn)它們身上有非常明顯的共同畫像。搞懂這個畫像比記住項目名更有用。第一個特征它們不解決單次對話解決持續(xù)任務(wù)。普通聊天只需要一次模型調(diào)用返回一段文本就結(jié)束agent 要解決的是給定一個目標(biāo)自己拆步驟、調(diào)工具、看結(jié)果、失敗重試、最后給結(jié)論這整個循環(huán)。所以你會發(fā)現(xiàn)這些項目動輒在做狀態(tài)管理、循環(huán)控制、分支路由本質(zhì)上是在做一個可編程的運(yùn)行時而不是一個聊天接口。看 README 里的架構(gòu)圖聊的是圖、狀態(tài)、節(jié)點、邊不是一句話喚醒。第二個特征模型中立。真正的地基項目不會綁定某一家模型。它們會盡量把模型抽象成接口OpenAI 能接、開源模型能接、國產(chǎn)模型也能接。為什么因為所有上生產(chǎn)的人都知道模型要換、要降級、要多路備份綁定死一家等于把地基蓋在流沙上。第三個特征上來就談生產(chǎn)環(huán)境。README 里不再是給你看個炫酷 demo而是大段講并發(fā)怎么扛、失敗怎么恢復(fù)、調(diào)用怎么追蹤、權(quán)限怎么隔離、觀測怎么接入。這說明作者是拿它當(dāng)基礎(chǔ)設(shè)施寫的目標(biāo)用戶是一線開發(fā)者和架構(gòu)師不只是追新族。1.2 從秀 demo到鋪管道的拐點在哪2023 年那波 agent 熱潮把大家刺激得不輕但冷靜下來后發(fā)現(xiàn)自治 agent 多跑幾步就容易死循環(huán)——目標(biāo)拆得稀碎、工具調(diào)用錯亂、中間步驟一丟就不知道在干嘛。問題不在模型而在模型外面那套腳手架。我記得當(dāng)時很多群里都在討論 agent 為什么會迷路。最后得出的結(jié)論很一致單次模型調(diào)用是概率性的氣質(zhì)再好的概率也還是概率而系統(tǒng)設(shè)計必須是確定性的得靠代碼保證流程可控、狀態(tài)可恢復(fù)、失敗可處理。當(dāng) agent 要連續(xù)調(diào)用多個工具、處理中間結(jié)果、在失敗后重試、在并發(fā)下不串線它就不再是 prompt 工程問題而是一個分布式系統(tǒng)問題。分布式系統(tǒng)有的那堆煩惱agent 基礎(chǔ)設(shè)施一個不少。所以熱榜上開始密集出現(xiàn)編排框架、工具協(xié)議、記憶存儲、可觀測性組件。這些不是模型本身而是讓模型能安全、穩(wěn)定、可追蹤地干活的那層管道。9.22 這期熱榜不過是在把這個趨勢放大給你看。1.3 為什么地基型項目總能在熱榜待得久應(yīng)用型項目引爆得快冷卻得也快。一個 App 類 repo 上了熱榜可能一周就被遺忘因為大家玩完 demo 就散了。地基型項目不一樣star 增長看上去慢一點但一旦形成生態(tài)會長尾很久因為它是反復(fù)被依賴的。開發(fā)者追熱榜不是追熱鬧是要提前半年看到趨勢。當(dāng)熱榜上同時出現(xiàn)好幾個 agent 基建項目說明行業(yè)已經(jīng)從要不要用 agent進(jìn)入了怎么批量造 agent的階段。這也是我在開頭說這個信號比模型刷榜重要的原因。單點技術(shù)突破需要運(yùn)氣基礎(chǔ)設(shè)施密集出現(xiàn)需要的是真實需求而需求是會持續(xù)發(fā)酵的。2. AI agent 地基到底包括哪幾層給 AI agent 造地基聽起來像口號落到代碼上其實是四層問題。我按自己習(xí)慣的方式拆給你看。2.1 編排層決定 agent 是單線話癆還是多角色團(tuán)隊編排層解決的是agent 怎么把任務(wù)一步步做完。最早大家寫 agent 就是 while 循環(huán)里反復(fù)調(diào)模型直到模型說我做完了。這當(dāng)然能跑但一旦要加分支、加人工確認(rèn)、加并行子任務(wù)、加失敗重試while 循環(huán)就亂了。所以有了 LangGraph、AutoGen、CrewAI 這類框架。它們把 agent 流程定義成有狀態(tài)的圖節(jié)點是要執(zhí)行的邏輯比如調(diào)模型、調(diào)工具、查數(shù)據(jù)庫邊是控制流成功走哪、失敗走哪、需要人確認(rèn)時掛起。打個比方模型是演員工具是道具組編排層是導(dǎo)演。演員再會演導(dǎo)演不喊卡戲就拍不完。給初學(xué)者一個判斷標(biāo)準(zhǔn)如果你只需要一問一答編排層對你來說是過度設(shè)計如果你的 agent 要連續(xù)做幾件事、還要看中間結(jié)果調(diào)整下一步那編排層就是剛需。2.2 工具層MCP 和函數(shù)調(diào)用把會說話變成會動手模型只會輸出文本要讓它操作外部世界必須走工具。目前主要是兩條路。一條是函數(shù)調(diào)用。模型在輸出里聲明我要調(diào)用某個函數(shù)參數(shù)是什么平臺拿到聲明后幫你執(zhí)行。這條路各家模型廠商都有自己的實現(xiàn)OpenAI 鋪得最早現(xiàn)在主流模型基本都跟進(jìn)了。另一條是 MCP也就是 Model Context Protocol??梢园阉斫獬晒ぞ呓绲?USB-C以前每個 agent 和每個工具之間都要單獨適配有了統(tǒng)一協(xié)議之后一個 MCP server 寫一次任何支持 MCP 的 agent 都能直接插上。這條賽道上已經(jīng)出現(xiàn)大量 server 端 SDK 和工具網(wǎng)關(guān)是基建里最熱鬧的方向之一。個人感受是函數(shù)調(diào)用解決怎么調(diào)一個函數(shù)MCP 解決怎么讓所有 agent 都能調(diào)所有工具。后者才是地基因為它把工具做成了可插拔的標(biāo)準(zhǔn)件。2.3 知識與記憶層沒有記憶的 agent 只有七秒腦容量模型上下文窗口再大也裝不下企業(yè)的知識庫更記不住用戶上周說過什么。所以 agent 得有外部記憶。短期記憶靠 checkpointer 和會話狀態(tài)保證對話進(jìn)行到一半掛了重連還能接著聊。長期記憶靠向量庫加 RAG文檔切片、向量化、存進(jìn) pgvector、Milvus 或 Chroma用戶提問時先檢索、再讓模型基于檢索結(jié)果作答。一批做 agent 記憶的項目本質(zhì)上是把人腦的工作記憶和長期記憶做了一個軟件版拆分。工作記憶短小、昂貴、易失長期記憶大、便宜、可檢索。地基項目要做的就是給模型配上這兩種記憶。2.4 觀測與治理層agent 再聰明也得有人看著微服務(wù)火的時候大家發(fā)現(xiàn)沒有監(jiān)控的微服務(wù)就是定時炸彈。現(xiàn)在 agent 也一樣沒有觀測的 agent 就是黑箱。模型是概率輸出它可能在第五輪突然開始胡說或者調(diào)用工具傳錯參數(shù)沒有追蹤你連問題出現(xiàn)在哪一輪都定位不到。觀測層解決三件事記錄也就是每一輪 prompt、模型回復(fù)、工具調(diào)用參數(shù)和結(jié)果量化也就是 token 成本、延遲、成功率回放把失敗的那次交互完整 dump 出來定位是哪一步出了錯。Langfuse、Phoenix、LangSmith 這類項目干的就是這個。別小看這一層后面我會專門講agent 上線前不接可觀測性等于閉眼開高速。把四層整理成一張表方便對照地基層次核心問題代表方向不搭理它的后果編排層多步任務(wù)怎么串、怎么恢復(fù)LangGraph / AutoGen / CrewAIagent 跑幾步就迷路工具層模型怎么操作外部系統(tǒng)function calling / MCP只會聊天不能干活記憶層長期知識怎么存、怎么取RAG / 向量庫 / checkpointer每次對話都是失憶重啟觀測層出錯了怎么定位、怎么復(fù)盤Langfuse / Phoenix / LangSmith上線即黑箱這四層沒有哪一層是模型自己能搞定的全是工程問題。所以造地基本質(zhì)上是在補(bǔ)工程課。3. 拆幾個典型地基項目看懂各自在補(bǔ)哪塊短板熱榜上這類項目翻來覆去就幾個方向我挑代表講講。重點不是讓你背項目名而是學(xué)會看它解決的是哪一層的問題。3.1 編排框架類LangGraph 和它的同伴們LangGraph 是 LangChain 生態(tài)里的編排框架特點是能把 agent 流程畫成一張可以落盤的圖狀態(tài)、循環(huán)、分支都是代碼對象還支持 checkpointer可以中途掛起、恢復(fù)。適合需要精細(xì)控制流程的團(tuán)隊。AutoGen 偏多智能體對話把多個角色放進(jìn)一個對話場互相協(xié)作研究員、寫碼的、審碼的各司其職。適合模擬幾個 agent 互相討論、迭代輸出的場景。CrewAI 走角色化團(tuán)隊路線更貼近業(yè)務(wù)人員的心智。我不關(guān)心底層圖結(jié)構(gòu)只想定義誰做什么事。上手快但精細(xì)控制能力相對弱。三者沒有絕對優(yōu)劣只有匹配度。我見過做金融研報解析的團(tuán)隊從 CrewAI 遷到 LangGraph因為需要明確的分支容錯也見過運(yùn)營團(tuán)隊用 CrewAI 兩周就把周報 agent 跑起來。選哪個取決于你對流程可控性的要求有多高。3.2 工具與沙箱類讓 agent 真正碰外部世界模型要執(zhí)行代碼但不能讓它直接跑在你的內(nèi)網(wǎng)服務(wù)器上否則一個 prompt 注入就能讓你欲哭無淚。于是沙箱成了地基把 agent 生成的代碼放進(jìn)隔離環(huán)境執(zhí)行返回結(jié)果。典型代表有 smolagents 這類輕量框架主打讓模型自己寫代碼完成任務(wù)代碼執(zhí)行和 Python 腳本結(jié)合很緊適合數(shù)據(jù)分析類任務(wù)。還有專門做云端沙箱的項目提供按需啟動的隔離容器給 agent 一個獨立工作區(qū)。這類項目解決的是很容易被忽略的問題權(quán)限邊界。Agent 有工具不代表它可以為所欲為。沙箱就是給 agent 劃出一塊能碰的地盤。國內(nèi)很多做 agent 中臺的團(tuán)隊到最后都會在這一層花大力氣因為安全邊界不過關(guān)業(yè)務(wù)部門根本不敢讓 agent 碰真實系統(tǒng)。3.3 記憶與 RAG 類把短期記憶變成長期記憶純靠模型上下文agent 的長期記憶是假的上下文窗口用完前面的事就忘了。RAG 類項目解決的是怎么把企業(yè)文檔變成模型可檢索的知識。這個方向的隱藏難點在切片策略和檢索質(zhì)量。很多人以為 RAG 就是文檔丟進(jìn)向量庫完事實際上 PDF 怎么切、標(biāo)題層級怎么保留、表格怎么處理、檢索回來怎么重排都直接影響回答質(zhì)量。所以熱榜上的記憶類項目很多都在把切分、向量化、檢索、重排這些步驟工程化和調(diào)優(yōu)。順嘴提一句別一上來就自建向量數(shù)據(jù)庫。數(shù)據(jù)量只有幾萬條的話用現(xiàn)有關(guān)系庫加個向量插件就行等量級上去了再考慮獨立向量庫。地基不是越重越好是越合適越好。3.4 Java 一側(cè)也在動Spring AI 帶來的信號如果你是個 Java 工程師可能會覺得上面這些 Python 項目離自己很遠(yuǎn)。實際上這波造地基已經(jīng)跨到 Java 生態(tài)了Spring AI 就很典型。Spring AI 提供類似 LangChain 的抽象模型接入、prompt 模板、結(jié)構(gòu)化輸出、agent 支持以及跟 Spring Boot 一脈相承的工程化能力。它的意義不在于跟 LangChain 比誰功能多而在于當(dāng)主流企業(yè)級框架開始提供 agent 基建說明 agent 不只是創(chuàng)業(yè)公司和 Python 極客的玩具了它要進(jìn)企業(yè)的存量系統(tǒng)。身邊搜spring ai agent的人已經(jīng)不少說明這趨勢正在被驗證。做技術(shù)選型時越接近現(xiàn)有技術(shù)棧越容易被接納。全團(tuán)隊都是 Java強(qiáng)行上一套 Python agent 編排光運(yùn)維就夠喝一壺。所以地基不是 Python 的專利誰的技術(shù)棧里都要有對應(yīng)的地基。4. 熱榜不等于適合你挑項目的五個過濾條件每次熱榜出來大家第一反應(yīng)是star 好多牛逼然后收藏夾就告急。但熱榜只能說明很多人關(guān)注不能說明適合你的業(yè)務(wù)。我自己挑項目有一套固定流程拆開講。4.1 先看活性再看 starstar 是存量活性才是增量。一個 5 萬 star 卻一年不更新的項目不如一個 5000 star 但每周都有 commit 和 release 的項目值得跟。我會重點看幾件事最近一次 commit 時間、最近 release 時間、issue 關(guān)閉速度、新增貢獻(xiàn)者數(shù)量。特別要去看 issue 里那些 bug 反饋是不是有人回復(fù)。有人回說明作者真在維護(hù)全是機(jī)器人自動 close說明這項目已經(jīng)半只腳進(jìn)棺材了。4.2 license 決定你能否商用很多人在收藏那一步就忽略了 license。MIT、Apache-2.0 這類寬松協(xié)議商用基本沒問題GPL 有傳染性代碼要閉源分發(fā)就得認(rèn)真掂量還有些項目用的是 source-available 協(xié)議比如部分項目改用的 Elastic License、BSL、SSPL代碼能看到但商用限制很明確云廠商尤其要注意。判斷方法很簡單進(jìn)倉庫點開 LICENSE 文件看不懂就搜協(xié)議對比。這花不了五分鐘但能避免將來法務(wù)找上門。我見過不止一個團(tuán)隊模型都調(diào)通了才發(fā)現(xiàn)協(xié)議不允許商用白白返工。4.3 文檔和 examples 的數(shù)量級暴露成熟度文檔是最好的過濾器。README 只有一張架構(gòu)圖沒有快速開始的項目大概率還處于作者自己懂、別人用不起來的階段有 quickstart、有教程、有大量 examples 的項目說明作者把讓別人用起來當(dāng)成了目標(biāo)。我最看重的是 examples 目錄。一個框架自己吹得再好examples 里全跑不通也是白搭。優(yōu)先選那種 examples 多且立即可運(yùn)行的項目這類項目通常已經(jīng)替你踩了不少坑。4.4 30 分鐘快速驗證法收藏和真正采用之間隔著一套快速驗證流程。我的做法是git clone 下來先看 README 里的 quickstart照著把最小示例跑通。把默認(rèn)模型換成我自己要用的模型確認(rèn)接口可替換。加一個自定義工具進(jìn)去確認(rèn)擴(kuò)展路徑走得通??慈罩竞妥粉櫞_認(rèn)失敗時可觀測。最后再決定要不要把它放進(jìn)架構(gòu)圖。這套流程走完半小時到一小時你對項目的理解遠(yuǎn)超刷十遍 README。熱榜項目不是拿來供奉的是拿來跑通的。5. 基于 FastAPI LangChain LangGraph 從 0 到 1 搭一個能下地干活的 agent聊完怎么挑說點動手的。這條路線也是最近熱詞里反復(fù)出現(xiàn)的組合FastAPI 做服務(wù)層LangChain 做模型和工具抽象LangGraph 做流程編排。為啥選這組因為它能覆蓋從能跑到能扛的兩個階段每一層都可替換。5.1 為什么是這套組合FastAPI 解決入口問題HTTP 接口、并發(fā)、參數(shù)校驗、部署Python 生態(tài)里最省心。LangChain 解決多樣性問題模型、向量庫、工具各家實現(xiàn)都能接進(jìn)來。LangGraph 解決流程問題把調(diào)模型、調(diào)工具、看結(jié)果、再調(diào)模型的循環(huán)變成有狀態(tài)、可恢復(fù)的圖。提醒一句別人沒說透的點這三層是解耦的。你完全可以用 FastAPI 加 LangGraph 加裸 OpenAI SDK不用 LangChain也可以用 FastAPI 加 LangChain 而不用 LangGraph。想清楚每一塊的職責(zé)你才知道優(yōu)化時該動哪塊而不是一鍋端。順便說一句如果你完全不想寫代碼用扣子這類低代碼平臺或者 Dify 這類開源平臺也能搭 agent。那是一條更快的路但本文講代碼路線是因為熱榜上的地基項目大多落在代碼層理解代碼路線才能看懂它們。5.2 最小骨架代碼先看一個能跑的最小版本。這個 agent 只有一個工具查服務(wù)器時間。模型發(fā)現(xiàn)需要時間信息時會主動調(diào)用工具拿結(jié)果再組織回答。from typing import TypedDict from fastapi import FastAPI from langchain_openai import ChatOpenAI from langchain_core.tools import tool from langgraph.graph import StateGraph, START, END app FastAPI() # 1. 定義 agent 的全局狀態(tài) class AgentState(TypedDict): messages: list # 2. 定義一個工具 tool def get_server_time() - str: 返回服務(wù)器當(dāng)前時間例如 2025-09-22T14:30:00。 from datetime import datetime return datetime.now().isoformat() # 3. 模型綁定工具 model ChatOpenAI(modelgpt-4o-mini, temperature0).bind_tools([get_server_time]) # 4. 模型節(jié)點調(diào)用模型 def call_model(state: AgentState) - AgentState: reply model.invoke(state[messages]) return {messages: state[messages] [reply]} # 5. 工具節(jié)點執(zhí)行模型要求的工具調(diào)用 def call_tools(state: AgentState) - AgentState: last_message state[messages][-1] for tool_call in last_message.tool_calls: result get_server_time.invoke(tool_call[args]) state[messages].append({ role: tool, content: str(result), tool_call_id: tool_call[id], }) return state # 6. 路由模型還想調(diào)工具就走工具節(jié)點否則結(jié)束 def should_continue(state: AgentState): last_message state[messages][-1] return tools if last_message.tool_calls else END # 7. 把節(jié)點和邊拼成圖 builder StateGraph(AgentState) builder.add_node(model, call_model) builder.add_node(tools, call_tools) builder.add_edge(START, model) builder.add_conditional_edges(model, should_continue, [tools, END]) builder.add_edge(tools, model) graph builder.compile() app.post(/chat) async def chat(text: str): result await graph.ainvoke({messages: [{role: user, content: text}]}) return {reply: result[messages][-1].content}這段代碼的骨架就是 LangGraph 最核心的東西狀態(tài)在節(jié)點間流動模型節(jié)點和工具節(jié)點通過條件邊來回切換直到模型認(rèn)為任務(wù)完成。后面加工具、加生成總結(jié)節(jié)點都是在這個骨架上做文章。不同版本 API 有差異跑之前以官方文檔為準(zhǔn)但核心思想不變。5.3 怎么給它加記憶、加更多工具上面的骨架把 messages 全放內(nèi)存里進(jìn)程一重啟就沒了。生產(chǎn)環(huán)境起碼做兩層短期記憶用 LangGraph 的 checkpointer 把狀態(tài)持久化到數(shù)據(jù)庫長期知識用向量庫做 RAG用戶提問時先檢索相關(guān)知識塞進(jìn) prompt再進(jìn) agent 流程。加工具也很簡單再寫一個tool函數(shù)加到bind_tools列表里就行。但工具一多命名和描述質(zhì)量就非常關(guān)鍵因為模型靠 description 判斷什么時候該用哪個工具。描述寫得不清楚模型就會亂選。工具描述就是給模型看的 API 文檔值得像寫正式文檔一樣認(rèn)真對待。5.4 上線前并發(fā)那第一道坎本地能跑通只是起點。上之前先想并發(fā)。FastAPI 本身是異步的但模型調(diào)用是同步阻塞的直接用會有坑。兩種常見做法一是把 agent 執(zhí)行放到 worker 隊列里接口只負(fù)責(zé)收任務(wù)、返回任務(wù) IDagent 在 worker 里慢慢跑前端輪詢結(jié)果二是用異步模型調(diào)用配合連接池但注意大模型推理耗時本身就長單請求占著連接會很快耗盡連接池。AI agent 怎么扛并發(fā)這個問題沒有銀彈核心只有一條把耗時的 agent 執(zhí)行和輕量的 HTTP 接口拆開。接口層管收單worker 層管干活中間用隊列緩沖和限流。這個套路很樸素但絕大多數(shù)并發(fā)問題都是因為沒做這一層拆分造成的。6. 造地基時最容易踩的坑最后集中說說我在實操里吃過的虧。這些是文檔一般不寫、跑了才知道的東西。6.1 并發(fā)問題往往不是模型的問題很多人以為 agent 扛不住并發(fā)是模型推理慢其實大多數(shù)場景是外圍管道先崩連接數(shù)上限、狀態(tài)讀寫的鎖、輪詢把數(shù)據(jù)庫打滿。我見過一個內(nèi)部 agent模型調(diào)用很快一并發(fā)就報錯最后定位是向量存儲的連接數(shù)沒配和模型一點關(guān)系都沒有。所以排查并發(fā)時按這個順序走入口路由有沒有限流和隊列、狀態(tài)存儲有沒有鎖和索引、工具調(diào)用有沒有超時設(shè)置、模型服務(wù)本身有沒有配額。從管道入手多數(shù)時候能讓問題現(xiàn)形。6.2 上下文會爆炸token 賬單也會爆炸Agent 每多跑一輪消息列表就膨脹一點。工具返回一大段 JSON 粘進(jìn)上下文下一輪還得再帶一遍。幾十輪下來光上下文可能就是幾千 token。如果每個請求都無腦傳歷史消息賬單會漲得莫名其妙。解決思路是分級只保留系統(tǒng)提示詞、最近幾輪消息和必要的歷史摘要長歷史存外部記憶需要時再檢索回來。在 agent 循環(huán)里加一個上下文整理節(jié)點能把成本直接砍掉一大截。我一般會在循環(huán)里加清理步驟超過閾值就壓縮歷史。6.3 工具調(diào)用不是每次都成功模型會幻覺工具調(diào)用也會幻覺。它可能生成不存在的參數(shù)名把必填參數(shù)漏掉或者某一步返回異常數(shù)據(jù)還是堅持繼續(xù)往下跑。所以每個工具節(jié)點都要做校驗、超時、錯誤重試把工具層的失敗顯式暴露給模型讓它有機(jī)會換條路完成任務(wù)。別假設(shè)模型看到報錯就知道怎么改。很多時候它看到報錯會繼續(xù)硬試同一個錯誤參數(shù)。這種情況下你需要在工具節(jié)點里做熔斷同一種錯誤連續(xù)出現(xiàn)幾次就停止調(diào)用把控制權(quán)交給人工或預(yù)設(shè)的兜底流程。6.4 沒有觀測就別上線這是我認(rèn)為最重要的一條。Agent 邏輯是循環(huán)的、狀態(tài)是累積的出了錯不能靠看代碼定位必須靠 trace完整記錄每一次模型調(diào)用的輸入輸出、每一個工具調(diào)用的參數(shù)和結(jié)果、每一輪路由走向。我踩過的坑是早期覺得先跑起來再說觀測只打了 print。結(jié)果線上 agent 回答出問題用戶說錯我卻只能看到最終答案完全不知道是哪一輪開始錯的。后來把 trace 接齊問題定位從猜變成查效率完全不一樣。所以我的建議很直接agent 上線前觀測先于功能。最后分享一個我現(xiàn)在養(yǎng)成的小習(xí)慣每周翻熱榜的時候不再問這個項目好不好而是先問它補(bǔ)的是哪層地基我現(xiàn)在的系統(tǒng)缺不缺這層。缺就認(rèn)真跑一遍評估流程不缺再火也先收藏放著。熱榜是給需求發(fā)信號的9.22 這期信號足夠明確AI agent 的競爭已經(jīng)從模型的嘴皮子轉(zhuǎn)移到了地基的深淺。你的系統(tǒng)能扛多少并發(fā)、能找回多遠(yuǎn)的記憶、能在出事后多少分鐘內(nèi)定位問題這些才是接下來真正拉開差距的地方。