一文搞懂 AI Agent 核心支柱:從 Tools 到 MCP,從 Skills 到 Loop
一文搞懂 AI Agent 核心支柱從 Tools 到 MCP從 Skills 到 Loop摘要2025 年是 AI Agent 的爆發(fā)年但很多開發(fā)者分不清 Function Call、MCP、Skills 和 Loop 的區(qū)別。本文將從“手”、“接口”、“手藝”和“大腦運行”四個維度結合 Python 代碼與實踐架構徹底拆解這四大核心概念并手把手教你如何將它們串聯成一個可用的 Agent 系統(tǒng)。前言為什么你的 AI 總在“一本正經地胡說八道”傳統(tǒng)的 LLM大語言模型像是一個博學的“植物人”——腦子里有無窮知識但無法觸碰現實世界。它不會查實時天氣不會操作數據庫更不會自己寫代碼并運行。為了讓 AI “活” 過來業(yè)界在短短兩年內構建了一套完整的技術棧。這套技術棧的四個基石就是Tools工具、MCP協議、Skills技能和Loop循環(huán)。很多新手容易把它們混為一談其實它們的職責邊界非常清晰Tools解決“能干啥”原子能力MCP解決“怎么接進來”統(tǒng)一接口Skills解決“怎么干好”流程編排Loop解決“怎么干完”自主迭代下面我們逐一深入。一、Tools工具LLM 的“手腳”——最底層的原子能力1.1 什么是 Tools在 OpenAI 提出 Function Calling 之前想讓 LLM 調用外部函數你得用繁瑣的提示詞工程如 ReAct 風格的文本解析?,F在Tools通過標準的 JSON Schema 描述函數簽名讓 LLM 能夠“感知”外部世界。說白了Tools 就是一個個封裝好的函數Function比如get_weather(city)、search_web(query)、execute_python(code)。1.2 代碼實戰(zhàn)標準 Tools 定義Python在最新的 OpenAI SDK 或 LangChain 中Tool 的定義長這樣fromtypingimportLiteralfrompydanticimportBaseModel# 1. 定義輸入參數的 SchemaclassWeatherInput(BaseModel):city:strunit:Literal[celsius,fahrenheit]celsius# 2. 定義工具的具體執(zhí)行邏輯defget_weather(params:WeatherInput)-str:# 模擬真實 API 調用returnf{params.city}當前氣溫 22°天氣晴朗。# 3. 生成 Tool 描述傳給 LLM 的 JSONtool_definition{type:function,function:{name:get_weather,description:獲取指定城市的實時天氣信息,parameters:WeatherInput.model_json_schema(),}}關鍵點Tools 必須是**無狀態(tài)Stateless且原子性Atomic**的一個 Tool 只專注做一件事。二、MCP模型上下文協議AI 界的“USB-C 萬能接口”2.1 Tools 的痛點碎片化嚴重假設你給 ChatGPT 寫了一套基于openai格式的 Tools想遷移到 Claude 或本地開源的 Llama 上發(fā)現它們的 Tool Calling 格式完全不同有的要求 XML有的要求特定 JSON。每接一個新模型就要重寫所有工具適配層——極其痛苦。2.2 MCP 的誕生MCPModel Context Protocol由 Anthropic 在 2024 年底開源。它定義了一套標準化的 Client-Server 架構MCP Server暴露工具、資源Resource和提示詞Prompt比如一個“本地文件系統(tǒng) Server”或“GitHub Server”。MCP ClientAI 應用如 Claude Desktop、Cursor、VS Code 插件。只要 Client 和 Server 都遵循 MCP 協議基于 JSON-RPC 2.0AI 就能動態(tài)發(fā)現并即插即用所有工具。2.3 MCP 通信流程精簡版// Client 發(fā)送初始化請求發(fā)現可用工具{jsonrpc:2.0,id:1,method:tools/list,params:{}}// Server 返回可用工具列表{jsonrpc:2.0,id:1,result:{tools:[{name:read_file,description:讀取本地文件,inputSchema:{type:object,properties:{path:{type:string}}}}]}}CSDN 劃重點MCP 讓 AI 應用從“單機寫死工具”進化到了“動態(tài)插拔生態(tài)”。未來MCP Server 會像 npm 包一樣豐富開發(fā)者只需要維護一個 MCP Client就能調用全世界的工具生態(tài)。三、Skills技能把“工具”變成“手藝”有了 Tools錘子、釘子和 MCP能夠到任何工具箱AI 就能干好活了嗎不能。因為干好一項復雜任務需要的是流程而不是孤立的 API。3.1 Tools vs SkillsTools“打開文件”、“寫入代碼”、“執(zhí)行終端命令”。Skills“創(chuàng)建一個 Spring Boot 博客系統(tǒng)” —— 它內部封裝了檢查環(huán)境 - 創(chuàng)建項目結構 - 寫入依賴文件 - 生成 Entity/Controller - 編譯運行 - 若報錯則修復這一整套工作流。3.2 Skills 的核心特征漸進式披露Progressive DisclosureSkills 和 Tools 最大的工程區(qū)別在于上下文占用。Tools 的定義必須始終塞進 System Prompt占滿上下文窗口Context Window。Skills 采用按需加載。系統(tǒng)先給 LLM 一個極簡的 Skill 列表只包含名稱和一句話描述。當 LLM 決定調用某個 Skill 時系統(tǒng)才把該 Skill 的詳細指令Prompt和依賴的子工具注入上下文。Skills 文件結構示例參考開源項目 anthropic/skillsmy-blog-generator/ ├── SKILL.md # 主指令定義角色、流程、約束條件 ├── scripts/ # 關聯的 Python/Shell 腳本 ├── references/ # 參考文檔如 API 文檔、架構圖 └── assets/ # 模板文件如 HTML 模板四、Loop反饋循環(huán)Agent 的“永動機”LLM 是一次性推理InferenceAgent 是循環(huán)推理Iterative Reasoning。Loop 就是 Agent 的靈魂。它模擬了人類的思考模式思考Think→ 行動Act→ 觀察Observe→ 再思考Re-think。這就是著名的ReActReason Act范式。4.1 一個極簡的 Agent Loop 核心代碼importjsonfromtypingimportList,DictclassSimpleAgent:def__init__(self,llm,tools:List[Dict]):self.llmllm self.toolstools self.messages[]self.max_iterations10defrun(self,user_goal:str):self.messages.append({role:user,content:user_goal})forstepinrange(self.max_iterations):# 1. 思考調用 LLM 獲取下一步動作responseself.llm.chat(messagesself.messages,toolsself.tools,# 傳入可用工具tool_choiceauto)# 2. 判斷LLM 是否想調用工具ifresponse.tool_calls:fortool_callinresponse.tool_calls:# 3. 行動執(zhí)行工具tool_nametool_call.function.name tool_argsjson.loads(tool_call.function.arguments)resultself._execute_tool(tool_name,tool_args)# 4. 觀察將結果喂回給 LLMself.messages.append({role:tool,tool_call_id:tool_call.id,content:result})print(f[Step{step}] 調用{tool_name}返回:{result[:50]}...)else:# 如果沒有工具調用說明任務完成返回最終答案returnresponse.contentreturn達到最大迭代次數任務終止。4.2 工業(yè)級 Loop 的“六塊積木”一個能上生產環(huán)境的 Loop遠不止上面幾行代碼。它需要Automations觸發(fā)器支持定時或 Webhook 自動喚醒 Loop。Worktrees隔離環(huán)境每一次新任務運行在獨立的 Git Worktree 或 Docker 容器中互不污染。Sub-agents多智能體協作分解任務比如“代碼編寫員”負責寫代碼“代碼審查員”負責挑錯由主 Loop 協調。Memory記憶系統(tǒng)使用向量數據庫如 Milvus或 Redis將長期記憶存儲在模型外部支持跨會話回憶。五、一圖流四大概念的協作關系CSDN 讀者最愛為了方便大家記憶我將它們整理為一張邏輯拓撲圖文字版用戶輸入“幫我部署一個個人網站” │ ▼ ┌───────────────────────────────────────┐ │ Agent Core (大腦運行機制 - Loop) │ ← 在這里進行 Plan→Execute→Observe └───────────────────────────────────────┘ │ 拆解任務 ▼ ┌───────────────────────────────────────┐ │ 技能層 (Skills - 流程封裝) │ │ “部署網站 Skill” │ ← 漸進式加載節(jié)省 Token └───────────────────────────────────────┘ │ 調用底層基礎能力 ▼ ┌───────────────────────────────────────┐ │ 協議層 (MCP - 統(tǒng)一接口) │ ← USB-C 接口連接萬物的橋梁 └───────────────────────────────────────┘ │ │ │ │ ▼ ▼ ▼ ▼ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ 文件工具 │ │ 終端工具 │ │ 云端API │ ← 原子能力 (Tools) └──────────┘ └──────────┘ └──────────┘六、總結與最佳實踐建議干貨如果你是初學者請按以下順序學習先死磕Tools熟練使用 OpenAI / DashScope 的 Function Calling這是地基。再理解MCP試著跑通 Claude Desktop 的本地 MCP Server比如 Filesystem感受“即插即用”的魅力。接著模仿Loop自己用 Python 寫一個 50 行的while循環(huán) ReAct Agent你會有茅塞頓開的感覺。最后封裝Skills把你經常做的一套流程比如“周報生成器”、“代碼單元測試生成器”封裝成 Skill 目錄結構沉淀為自己的數字資產。最后一句忠告不要把所有的邏輯都塞進 System Prompt善用 Tools 抽離計算邏輯善用 MCP 解耦外部依賴善用 Skills 管理復雜流程善用 Loop 處理不確定性。這四者配合才是未來 AI 應用開發(fā)的正確范式。 歡迎在評論區(qū)留言討論你在接入 MCP 或封裝 Skills 時遇到的坑如果本文對你有幫助請點贊收藏后續(xù)我會出一期《手寫一個支持 MCP 協議的輕量級 Agent 框架》

相關新聞

程序員客棧接單全攻略:避開5大坑,高效拿下項目

程序員客棧接單全攻略:避開5大坑,高效拿下項目

很多想做兼職的程序員都在問:怎么在程序員客棧接單?我先說一個容易誤解的地方:注冊成功不等于進入接單狀態(tài),資料填得多詳細也不等于馬上會有項目。按照平臺流程,開發(fā)者需要先完成資料填寫和簽約審核,再進入…

2026/8/1 20:02:21 閱讀更多
Spring中的八大設計模式詳解

Spring中的八大設計模式詳解

Spring 框架中運用了多種設計模式,下面為你詳細介紹 Spring 框架中常見的八大設計模式及相關代碼示例: 1. 單例模式(Singleton Pattern) 知識點總結 概念:確保一個類只有一個實例,并提供一個全局訪問點。在…

2026/8/1 21:13:20 閱讀更多
2026六盤水黃金回收白銀回收鉑金回收靠譜臨街實體公安備案支持到店核驗門店聯系方式推薦

2026六盤水黃金回收白銀回收鉑金回收靠譜臨街實體公安備案支持到店核驗門店聯系方式推薦

2026六盤水黃金白銀鉑金回收實測榜單|公安備案臨街實體門店推薦 六盤水街頭巷尾貴金屬回收店鋪遍地叢生,行業(yè)套路層出不窮,不少市民變現時遭遇虛高報價、克扣損耗、未經同意熔金壓價等問題。為幫助本地居民規(guī)避消費陷阱,小編實地走…

2026/8/1 21:13:20 閱讀更多
2025 年 3 月青少年軟編等考 C 語言四級真題解析

2025 年 3 月青少年軟編等考 C 語言四級真題解析

目錄 T1. 兩枚硬幣 思路分析 T2. 完美數列 思路分析 T3. 多樣解碼 思路分析 T4. 二進制串的評分 思路分析 T1. 兩枚硬幣 題目鏈接:SOJ D1387 伊娃喜歡收集全宇宙的硬幣,包括火星幣等等。一天她到了一家宇宙商店,這家商店可以接受任何星球的貨幣,但有一個條件,無論什么價…

2026/8/1 21:13:20 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應用材料(Applied Materials)公司生產的一款用于半導體設備的I/O信號分配電路板。該型號(0100-02186)的核心特點如下:專用于Endura等半導體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/1 0:09:33 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機,適用于自動化設備及通用機械驅動。該型號(FFMN-32L-10-T0 40AX)的核心特點如下:三相交流異步電動機。額定…

2026/8/1 0:09:33 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應用材料(Applied Materials)公司生產的一款用于半導體設備的I/O信號分配電路板。該型號(0100-02186)的核心特點如下:專用于Endura等半導體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/1 0:09:33 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機,適用于自動化設備及通用機械驅動。該型號(FFMN-32L-10-T0 40AX)的核心特點如下:三相交流異步電動機。額定…

2026/8/1 0:09:33 閱讀更多