aiagent知識點

?一、MCP (Model Context Protocol)?

1. 核心概念

  • 是什么:MCP是一個開放協議,用于在應用(如IDE、Agent)?和工具/數據源(如服務器、數據庫)?之間建立標準化的通信。

  • 目標:解決AI工具生態的碎片化問題,讓任何應用都能通過統一接口動態發現和調用任何外部資源。

  • 核心角色

    • MCP Client:AI應用(如你的LangGraph智能體)。發起請求。

    • MCP Server:提供工具和資源的服務。處理請求并返回結果。

    • Transport:通信方式(SSE / STDIO)。

2. 核心接口/方法

  • initialize:握手,交換客戶端和服務器的能力信息。

  • tools/list:客戶端發現服務器提供了哪些可調用的工具(函數)。

  • tools/call:客戶端調用指定的工具并傳入參數。

  • resources/read:客戶端讀取服務器管理的資源(如文件內容)。

  • resources/list:客戶端發現服務器提供了哪些可用的資源。

  • notifications:服務器主動向客戶端發送通知(需SSE傳輸)。

3. SSE vs. STDIO

  • SSE (Server-Sent Events)

    • 基于HTTP,適合遠程服務化部署

    • 一個Server可服務多個Client。

    • 支持服務器主動推送(notifications)。

  • STDIO (Standard Input/Output)

    • 基于進程管道,適合本地集成

    • Server作為Client的子進程啟動,生命周期綁定。

    • 更簡單、高效,但不支持遠程和多客戶端。

4. 核心優勢(面試時要強調的點)

  • 解耦與復用:智能體(Client)與工具(Server)解耦,一個工具服務器可被多個智能體復用。

  • 動態性:智能體無需預知工具信息,運行時動態發現和調用。

  • 安全性:工具訪問權限集中在Server端控制,更安全。

  • 標準化:提供了統一的工具集成規范,避免重復造輪子。


二、Function Calling?

1. 核心概念

  • 是什么:大語言模型的一種能力,允許模型識別出用戶請求中需要調用外部工具/函數的意圖,并結構化地輸出調用所需的參數。

  • 工作流程?(ReAct模式):

    1. 規劃:LLM根據用戶請求,決定是否需要調用函數,以及調用哪個函數。

    2. 執行:系統在外部執行該函數(代碼)。

    3. 觀察:將函數執行的結果返回給LLM。

    4. 反思:LLM基于結果生成最終回答或決定下一步行動。

2. 如何定義函數 (Function Signature)

  • 通常以一個JSON Schema數組的形式在請求時提供給LLM。

  • 包含三大要素:

    • name:函數名。

    • description:功能的詳細自然語言描述,這是LLM是否調用該函數的關鍵。

    • parameters:參數的JSON Schema定義(類型、描述、是否必需等)。

3. LLM的輸出

  • 當LLM決定調用函數時,它會停止生成普通文本,轉而輸出一個結構化的JSON對象(如OpenAI的?tool_calls?數組)。

  • 包含:要調用的函數ID (id)、函數名 (name)、參數 (arguments)。

4. 核心優勢與價值

  • 突破局限:讓LLM能夠獲取實時信息、執行操作、訪問私有數據,克服了其知識截止、可能產生幻覺等局限。

  • 賦能智能體:是構建AI智能體(Agent)的基石,使LLM從“問答機”升級為“行動中樞”。

5. Function Calling vs. MCP

  • Function Calling:是LLM的能力,定義了LLM如何請求調用一個函數。

  • MCP:是通信協議,定義了函數調用請求如何在不同進程間傳輸

  • 關系:MCP可以看作是Function Calling的“傳輸層”和“基礎設施”。你的智能體通過Function Calling決定調用?get_weather,然后通過MCP協議將這個消息發送給遠端的天氣工具服務器。


?三、其他重要AI應用概念

1. RAG (Retrieval-Augmented Generation) 檢索增強生成

  • 是什么:通過從外部知識庫檢索相關信息,并將其作為上下文提供給LLM,從而生成更準確、更可靠的答案的技術。

  • 核心流程

    1. 索引:將文檔切塊、嵌入(Embedding),存入向量數據庫。

    2. 檢索:將用戶問題嵌入,在向量庫中檢索最相關的K個文本片段。

    3. 增強:將檢索到的片段(Context)和用戶問題(Question)組合成一個新的提示(Prompt)。

    4. 生成:將增強后的提示發送給LLM生成答案。

  • 優勢:降低成本(無需微調)、可溯源、可及時更新知識(只需更新向量庫)。

2. Agent (智能體)

  • 是什么:能理解用戶指令、規劃任務、調用工具并自主完成復雜目標的AI系統。

  • 核心組件

    • 規劃:分解任務、反思修正(ReAct, CoT)。

    • 記憶:短期記憶(對話上下文)、長期記憶(向量庫/數據庫)。

    • 工具使用:Function Calling的核心價值體現。

  • 經典框架:LangGraph, AutoGPT, BabyAGI。

3. LangChain / LlamaIndex 核心概念

  • LangChain

    • 核心價值:提供了一套組件和鏈(Chain)來簡化LLM應用的開發。

    • 必知概念Model I/O?(LLM, PromptTemplate, OutputParser),?Retrieval,?Chains?(LCEL),?Agents?(AgentExecutor, Tools),?Memory

  • LlamaIndex

    • 核心價值:專注于構建RAG應用,是“LLM和外部數據之間的橋梁”。

    • 必知概念Index?(向量索引、摘要索引),?Query Engine,?Retriever,?Node,?Ingestion Pipeline

4. 提示工程 (Prompt Engineering)

  • 核心原則:清晰、具體,提供充足上下文。

  • 必知技巧

    • Few-Shot:提供幾個示例,讓LLM模仿。

    • Chain-of-Thought (CoT):“讓我們一步步思考”,引導模型推理。

    • Role-Playing:“你是一個專業的...”,為模型設定角色。

    • 模板化:使用{variable}占位符構建可復用的提示模板。

5. 評估與優化

  • 評估指標

    • 忠實度 (Faithfulness):答案是否基于提供的上下文?(防幻覺)

    • 答案相關性 (Answer Relevance):答案是否回答了問題?

    • 上下文相關性 (Context Relevance):檢索的上下文是否都與問題相關?

  • 優化方向

    • 檢索優化:調整切塊大小/重疊、嘗試不同嵌入模型、優化檢索策略(混合搜索、重排序)。

    • 提示優化:迭代提示詞,加入指令和格式要求。

    • 迭代評估:構建評估數據集,持續迭代優化整個Pipeline。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/96000.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/96000.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/96000.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第2節-過濾表中的行-WHERE

摘要:在本教程中,您將學習如何使用 PostgreSQL 的 WHERE 子句來篩選表中的行。 PostgreSQL WHERE 子句 SELECT FROM 語句從表中所有行的一個或多個列中查詢數據。實際上,你經常需要選擇滿足某個條件的行。 要根據條件從表中篩選行&#xf…

IACheck賦能AI環評報告審核,推動環保設備制造行業發展

在“雙碳目標”和綠色制造的背景下,環保設備制造行業正在迎來快速發展。然而,環評報告作為項目合規的“通行證”,卻一直是企業最頭疼的環節之一:編寫復雜、審核周期長、錯誤率高。傳統的審核模式不僅耗時耗力,還容易出…

常見的多態

一、核心概念多態(Polymorphism) 的字面意思是“多種形態”。在Java中,它指的是:同一個行為(方法)具有多個不同表現形式或形態的能力。更具體地說,它允許你:父類的引用指向子類的對象…

20250909_排查10.1.1.190檔案庫房綜合管理系統20250908備份缺失問題+優化scp腳本(把失敗原因記錄進日志)并測試腳本執行情況

目錄 一、現象(圖中現象) 二、可能原因 1、本地源文件沒生成(最可能原因) 2、清理邏輯誤刪 三、時間同步檢查 1、運行命令查看當前時間源:w32tm /query /source 2、修改為內網 NTP 服務器 10.1.10.251: 四、腳本優化 1、scp.bat vs roboscp.bat 對比表 2、robo…

OpenHarmony之有源NFC-connected_nfc_tag模塊詳解

1. 模塊概述 Connected NFC Tag模塊是OpenHarmony NFC子系統的一部分,專門用于處理有源NFC標簽的讀寫操作。與基礎NFC模塊不同,該模塊專注于與已連接的有源NFC標簽進行交互,提供更高層次的API供應用層使用。 設備必須具備有源NFC標簽芯片,才能使用有源NFC標簽的讀和寫服務…

MySql案例詳解之事務

下面我會從“事務是什么”→“為什么需要事務”→“事務的四大特性(ACID)”→“MySQL中怎么用事務”→“常見坑與調試技巧”→“完整實戰案例(含代碼、輸出、講解)”六個層次,給你一個“看完就能上手”的MySQL事務速查…

Linux之環境變量(內容由淺入深,層層遞進)

一、概念介紹(來源:比特就業課)環境變量一般是指在操作系統中用來指定操作系統運行環境的一些參數環境變量通常具有某些特殊用途,并且在系統中通常具有全局特性二、現象引入與解答 1.為什么像ls這樣的系統指令可以直接執行&#x…

監控 Linux 服務器資源

使用 Bash 腳本監控 Linux 服務器資源并發送告警郵件前言一、🛠? 腳本功能概覽二、 📜 腳本核心邏輯分解2.1. 變量初始化2.2. CPU 使用率監控2.3. 內存使用率監控2.4. 磁盤使用率監控2.5. 磁盤 IO 延遲監控(await)2.6. 網絡流量監…

隨機獲取數組內任意元素

Math.random() * arr.length 是 JavaScript 中常用的表達式,用于生成一個范圍在 [0, arr.length) 之間的隨機浮點數(包含 0,但不包含數組長度本身)。 作用說明: Math.random() 生成一個 [0, 1) 區間的隨機浮點數&#…

android studio gradle 訪問不了

1.通過國內鏡像站 2.通過本地部署 參考這個搞定 https://blog.csdn.net/2401_82819685/article/details/144542784

科普:企業微信的第三方應用涉及的“配置應用權限”

企業微信的第三方應用涉及“配置應用權限”,它在不同階段含義不同:開發階段意指應用自身所需的功能權限,安裝階段意指企業管理員對應用使用范圍的控制,產生此歧義的問題,歸根到低還是語言的縮寫問題,設想一…

YOLOv11改進大全:從卷積層到檢測頭,全方位提升目標檢測性能

## 1 引言YOLO(You Only Look Once)系列作為目標檢測領域的重要算法,以其**高效推理**和**良好精度**贏得了廣泛認可。2024年9月,Ultralytics團隊正式發布了YOLOv11,在先前版本基礎上引入了**多項架構改進**和**訓練優…

JWT全面理解

目錄 一、JWT是什么 1、身份認證(最核心用途) 2、信息交換 3、授權控制 二、JWT的核心價值 三、如何理解JWT的結構和工作原理 1、三部分結構解析 2、核心工作流程 四、JWT的使用步驟 1、添加依賴 2、添加配置文件 3、創建實體類 4、創建JWT…

量子文件傳輸系統:簡單高效的文件分享解決方案

🌐 在線體驗地址:https://share-file.narutogis.com/ 📤 項目概述 量子文件傳輸系統是一款基于Python Flask開發的高效文件管理與分享工具,致力于提供簡單、安全、可靠的文件傳輸解決方案。系統支持用戶管理、文件上傳下載、自動…

基于 GitHub Actions 的零成本自動化部署:把 Vite/Vue3 項目一鍵發布到 GitHub Pages 的完整實戰

1. 實現自動化部署1.1. 創建 vue 項目# 1. 安裝/確認 Node.js(>14) node -v # 推薦 20.x# 2. 創建項目(交互式,選 Vue3 Router 等) npm init vuelatest github-actions-demo # 創建vite項目 # 或:v…

minio 文件批量下載

MinIO 批量下載功能說明 1. 功能描述 前端勾選多個對象文件后,一次性將這些對象從 MinIO 拉取并打包成 ZIP,通過瀏覽器直接下載。整體特性: 支持跨桶批量下載(不同 bucket 的對象可同時下載)。服務端采用流式壓縮邊…

機器學習11——特征選擇與稀疏學習

上一章:機器學習10——降維與度量學習 下一章:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到進階,大學生就業 / 競賽必備[TOC] 機器學習實戰項目:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到…

整理python快速構建數據可視化前端的Dash庫

一.Dash框架# 導入 Dash 相關庫 import dash from dash import dcc, html # dcc 是 Dash 核心組件庫,html 是 HTML 組件庫 from typing import Generic# 創建一個 Dash 應用實例 app dash.Dash(__name__)# 定義應用的布局 app.layout html.Div(children[# 添加一…

RNN循環神經網絡(一):基礎RNN結構、雙向RNN

RNN循環神經網絡 什么是循環神經網絡? 循環神經網絡(Recurrent Neural Network, RNN)是一類專門用于處理序列數據的神經網絡架構。與傳統的前饋神經網絡不同,RNN具有"記憶"能力,能夠捕捉數據中的時間依賴關系…

#C語言——刷題攻略:牛客編程入門訓練(十):攻克 循環控制(二),輕松拿捏!

🌟菜鳥主頁:晨非辰的主頁 👀學習專欄:《C語言刷題合集》 💪學習階段:C語言方向初學者 ?名言欣賞:"代碼行數決定你的下限,算法思維決定你的上限。" 目錄 1. BC82 乘法表…