(คลิกที่ภาพด้านบนเพื่อดูวิดีโอของบทเรียนนี้)
แอปพลิเคชัน Generative AI เป็นก้าวสำคัญที่ช่วยให้ผู้ใช้สามารถโต้ตอบกับแอปผ่านคำสั่งภาษาธรรมชาติได้อย่างง่ายดาย อย่างไรก็ตาม เมื่อมีการลงทุนเวลาและทรัพยากรมากขึ้นในแอปเหล่านี้ คุณต้องการให้แน่ใจว่าสามารถผสานรวมฟังก์ชันและทรัพยากรต่าง ๆ ได้อย่างง่ายดาย เพื่อให้สามารถขยายตัวได้ รองรับการใช้งานโมเดลมากกว่าหนึ่งตัว และจัดการกับความซับซ้อนของโมเดลต่าง ๆ กล่าวโดยสรุป การสร้างแอป Gen AI อาจเริ่มต้นได้ง่าย แต่เมื่อแอปเติบโตและซับซ้อนขึ้น คุณจำเป็นต้องกำหนดสถาปัตยกรรม และอาจต้องพึ่งพามาตรฐานเพื่อให้แน่ใจว่าแอปของคุณถูกสร้างขึ้นอย่างสม่ำเสมอ นี่คือจุดที่ MCP เข้ามาช่วยจัดระเบียบและให้มาตรฐาน
Model Context Protocol (MCP) คือ อินเทอร์เฟซแบบเปิดและมีมาตรฐาน ที่ช่วยให้ Large Language Models (LLMs) สามารถโต้ตอบกับเครื่องมือภายนอก, APIs และแหล่งข้อมูลได้อย่างราบรื่น MCP มอบสถาปัตยกรรมที่สม่ำเสมอเพื่อเพิ่มความสามารถของโมเดล AI ให้เกินกว่าข้อมูลการฝึกอบรม ทำให้ระบบ AI ฉลาดขึ้น ขยายตัวได้ และตอบสนองได้ดีขึ้น
เมื่อแอปพลิเคชัน Generative AI มีความซับซ้อนมากขึ้น การนำมาตรฐานมาใช้เป็นสิ่งสำคัญเพื่อให้มั่นใจใน การขยายตัว, การต่อยอด, การบำรุงรักษา และ การหลีกเลี่ยงการผูกขาดกับผู้ให้บริการรายเดียว MCP ตอบโจทย์เหล่านี้โดย:
- รวมการผสานรวมระหว่างโมเดลและเครื่องมือ
- ลดการสร้างโซลูชันเฉพาะที่เปราะบาง
- อนุญาตให้โมเดลจากผู้ให้บริการหลายรายอยู่ร่วมกันในระบบเดียว
หมายเหตุ: แม้ว่า MCP จะระบุว่าเป็นมาตรฐานแบบเปิด แต่ยังไม่มีแผนที่จะทำให้ MCP เป็นมาตรฐานผ่านองค์กรมาตรฐานใด ๆ เช่น IEEE, IETF, W3C, ISO หรือองค์กรอื่น ๆ
เมื่อจบบทความนี้ คุณจะสามารถ:
- อธิบาย Model Context Protocol (MCP) และกรณีการใช้งาน
- เข้าใจว่า MCP ช่วยสร้างมาตรฐานการสื่อสารระหว่างโมเดลและเครื่องมืออย่างไร
- ระบุองค์ประกอบหลักของสถาปัตยกรรม MCP
- สำรวจการใช้งาน MCP ในโลกจริงในบริบทขององค์กรและการพัฒนา
ก่อนมี MCP การผสานรวมโมเดลกับเครื่องมือจำเป็นต้อง:
- เขียนโค้ดเฉพาะสำหรับแต่ละคู่เครื่องมือ-โมเดล
- ใช้ API ที่ไม่มีมาตรฐานจากผู้ให้บริการแต่ละราย
- เกิดปัญหาบ่อยครั้งเมื่อมีการอัปเดต
- ขยายตัวได้ยากเมื่อเพิ่มเครื่องมือ
| ประโยชน์ | คำอธิบาย |
|---|---|
| การทำงานร่วมกัน | LLMs ทำงานร่วมกับเครื่องมือจากผู้ให้บริการต่าง ๆ ได้อย่างราบรื่น |
| ความสม่ำเสมอ | พฤติกรรมที่เป็นมาตรฐานระหว่างแพลตฟอร์มและเครื่องมือ |
| การนำกลับมาใช้ใหม่ | เครื่องมือที่สร้างครั้งเดียวสามารถใช้ได้ในหลายโปรเจกต์และระบบ |
| การพัฒนาเร็วขึ้น | ลดเวลาการพัฒนาโดยใช้อินเทอร์เฟซที่เป็นมาตรฐานและพร้อมใช้งาน |
MCP ใช้ โมเดลไคลเอนต์-เซิร์ฟเวอร์ ซึ่ง:
- MCP Hosts รันโมเดล AI
- MCP Clients เริ่มต้นคำขอ
- MCP Servers ให้บริการบริบท, เครื่องมือ และความสามารถ
- Resources – ข้อมูลแบบคงที่หรือไดนามิกสำหรับโมเดล
- Prompts – เวิร์กโฟลว์ที่กำหนดไว้ล่วงหน้าสำหรับการสร้างเนื้อหา
- Tools – ฟังก์ชันที่สามารถดำเนินการได้ เช่น การค้นหา การคำนวณ
- Sampling – พฤติกรรมเชิงตัวแทนผ่านการโต้ตอบแบบวนซ้ำ
MCP servers ทำงานดังนี้:
- กระบวนการคำขอ:
- คำขอเริ่มต้นโดยผู้ใช้ปลายทางหรือซอฟต์แวร์ที่ทำงานแทนผู้ใช้
- MCP Client ส่งคำขอไปยัง MCP Host ซึ่งจัดการ runtime ของโมเดล AI
- AI Model รับคำสั่งจากผู้ใช้และอาจร้องขอการเข้าถึงเครื่องมือหรือข้อมูลภายนอกผ่านการเรียกใช้เครื่องมือ
- MCP Host (ไม่ใช่โมเดลโดยตรง) สื่อสารกับ MCP Server(s) ที่เหมาะสมโดยใช้โปรโตคอลมาตรฐาน
- ฟังก์ชันของ MCP Host:
- Tool Registry: เก็บแคตตาล็อกของเครื่องมือที่มีและความสามารถของเครื่องมือ
- Authentication: ตรวจสอบสิทธิ์การเข้าถึงเครื่องมือ
- Request Handler: ประมวลผลคำขอเครื่องมือที่เข้ามาจากโมเดล
- Response Formatter: จัดรูปแบบผลลัพธ์ของเครื่องมือให้อยู่ในรูปแบบที่โมเดลเข้าใจได้
- การดำเนินการของ MCP Server:
- MCP Host ส่งคำขอเครื่องมือไปยัง MCP Server(s) ซึ่งแต่ละตัวมีฟังก์ชันเฉพาะ (เช่น การค้นหา การคำนวณ การสืบค้นฐานข้อมูล)
- MCP Servers ดำเนินการตามคำขอและส่งผลลัพธ์กลับไปยัง MCP Host ในรูปแบบที่สม่ำเสมอ
- MCP Host จัดรูปแบบและส่งผลลัพธ์เหล่านี้ไปยัง AI Model
- การตอบสนองเสร็จสมบูรณ์:
- AI Model รวมผลลัพธ์ของเครื่องมือเข้ากับคำตอบสุดท้าย
- MCP Host ส่งคำตอบนี้กลับไปยัง MCP Client ซึ่งส่งต่อไปยังผู้ใช้ปลายทางหรือซอฟต์แวร์ที่เรียกใช้
---
title: MCP Architecture and Component Interactions
description: A diagram showing the flows of the components in MCP.
---
graph TD
Client[MCP Client/Application] -->|Sends Request| H[MCP Host]
H -->|Invokes| A[AI Model]
A -->|Tool Call Request| H
H -->|MCP Protocol| T1[MCP Server Tool 01: Web Search]
H -->|MCP Protocol| T2[MCP Server Tool 02: Calculator tool]
H -->|MCP Protocol| T3[MCP Server Tool 03: Database Access tool]
H -->|MCP Protocol| T4[MCP Server Tool 04: File System tool]
H -->|Sends Response| Client
subgraph "MCP Host Components"
H
G[Tool Registry]
I[Authentication]
J[Request Handler]
K[Response Formatter]
end
H <--> G
H <--> I
H <--> J
H <--> K
style A fill:#f9d5e5,stroke:#333,stroke-width:2px
style H fill:#eeeeee,stroke:#333,stroke-width:2px
style Client fill:#d5e8f9,stroke:#333,stroke-width:2px
style G fill:#fffbe6,stroke:#333,stroke-width:1px
style I fill:#fffbe6,stroke:#333,stroke-width:1px
style J fill:#fffbe6,stroke:#333,stroke-width:1px
style K fill:#fffbe6,stroke:#333,stroke-width:1px
style T1 fill:#c2f0c2,stroke:#333,stroke-width:1px
style T2 fill:#c2f0c2,stroke:#333,stroke-width:1px
style T3 fill:#c2f0c2,stroke:#333,stroke-width:1px
style T4 fill:#c2f0c2,stroke:#333,stroke-width:1px
MCP servers ช่วยให้คุณขยายความสามารถของ LLM โดยการให้ข้อมูลและฟังก์ชันการทำงาน
พร้อมที่จะลองหรือยัง? นี่คือตัวอย่าง SDK ที่เฉพาะเจาะจงสำหรับภาษา/สแต็กต่าง ๆ ในการสร้าง MCP servers อย่างง่าย:
-
Python SDK: https://github.com/modelcontextprotocol/python-sdk
-
TypeScript SDK: https://github.com/modelcontextprotocol/typescript-sdk
-
C#/.NET SDK: https://github.com/modelcontextprotocol/csharp-sdk
MCP ช่วยให้เกิดแอปพลิเคชันที่หลากหลายโดยการขยายความสามารถของ AI:
| แอปพลิเคชัน | คำอธิบาย |
|---|---|
| การผสานรวมข้อมูลองค์กร | เชื่อมต่อ LLMs กับฐานข้อมูล, CRM หรือเครื่องมือภายในองค์กร |
| ระบบ AI เชิงตัวแทน | เปิดใช้งานตัวแทนอัตโนมัติที่มีการเข้าถึงเครื่องมือและเวิร์กโฟลว์การตัดสินใจ |
| แอปพลิเคชันหลายรูปแบบ | รวมข้อความ, รูปภาพ และเครื่องมือเสียงในแอป AI เดียว |
| การผสานรวมข้อมูลเรียลไทม์ | นำข้อมูลสดเข้าสู่การโต้ตอบของ AI เพื่อผลลัพธ์ที่แม่นยำและทันสมัยยิ่งขึ้น |
Model Context Protocol (MCP) ทำหน้าที่เป็นมาตรฐานสากลสำหรับการโต้ตอบของ AI เช่นเดียวกับที่ USB-C เป็นมาตรฐานสำหรับการเชื่อมต่ออุปกรณ์ ในโลกของ AI MCP มอบอินเทอร์เฟซที่สม่ำเสมอ ช่วยให้โมเดล (ไคลเอนต์) ผสานรวมกับเครื่องมือและผู้ให้บริการข้อมูลภายนอก (เซิร์ฟเวอร์) ได้อย่างราบรื่น สิ่งนี้ช่วยลดความจำเป็นในการใช้โปรโตคอลเฉพาะสำหรับแต่ละ API หรือแหล่งข้อมูล
นอกเหนือจากการให้เครื่องมือ MCP ยังช่วยอำนวยความสะดวกในการเข้าถึงความรู้ โดยช่วยให้แอปพลิเคชันสามารถให้บริบทแก่ LLMs ได้ผ่านการเชื่อมโยงกับแหล่งข้อมูลต่าง ๆ ตัวอย่างเช่น MCP server อาจเป็นตัวแทนของคลังเอกสารของบริษัท ช่วยให้ตัวแทนสามารถดึงข้อมูลที่เกี่ยวข้องได้ตามต้องการ หรืออีกเซิร์ฟเวอร์หนึ่งอาจจัดการการดำเนินการเฉพาะ เช่น การส่งอีเมลหรือการอัปเดตข้อมูลบันทึก จากมุมมองของตัวแทน สิ่งเหล่านี้เป็นเพียงเครื่องมือที่สามารถใช้ได้—บางเครื่องมือให้ข้อมูล (บริบทความรู้) ในขณะที่บางเครื่องมือดำเนินการ MCP จัดการทั้งสองอย่างได้อย่างมีประสิทธิภาพ
ตัวแทนที่เชื่อมต่อกับ MCP server จะเรียนรู้ความสามารถและข้อมูลที่เข้าถึงได้ของเซิร์ฟเวอร์โดยอัตโนมัติผ่านรูปแบบมาตรฐาน การสร้างมาตรฐานนี้ช่วยให้เครื่องมือพร้อมใช้งานแบบไดนามิก ตัวอย่างเช่น การเพิ่ม MCP server ใหม่ในระบบของตัวแทนทำให้ฟังก์ชันของเซิร์ฟเวอร์นั้นสามารถใช้งานได้ทันทีโดยไม่ต้องปรับแต่งคำสั่งของตัวแทนเพิ่มเติม
การผสานรวมที่คล่องตัวนี้สอดคล้องกับกระบวนการที่แสดงในแผนภาพต่อไปนี้ ซึ่งเซิร์ฟเวอร์ให้ทั้งเครื่องมือและความรู้ เพื่อให้มั่นใจว่าระบบทำงานร่วมกันได้อย่างราบรื่น
---
title: Scalable Agent Solution with MCP
description: A diagram illustrating how a user interacts with an LLM that connects to multiple MCP servers, with each server providing both knowledge and tools, creating a scalable AI system architecture
---
graph TD
User -->|Prompt| LLM
LLM -->|Response| User
LLM -->|MCP| ServerA
LLM -->|MCP| ServerB
ServerA -->|Universal connector| ServerB
ServerA --> KnowledgeA
ServerA --> ToolsA
ServerB --> KnowledgeB
ServerB --> ToolsB
subgraph Server A
KnowledgeA[Knowledge]
ToolsA[Tools]
end
subgraph Server B
KnowledgeB[Knowledge]
ToolsB[Tools]
end
นอกเหนือจากสถาปัตยกรรม MCP พื้นฐาน ยังมีสถานการณ์ขั้นสูงที่ทั้งไคลเอนต์และเซิร์ฟเวอร์มี LLMs ซึ่งช่วยให้เกิดการโต้ตอบที่ซับซ้อนมากขึ้น ในแผนภาพต่อไปนี้ Client App อาจเป็น IDE ที่มีเครื่องมือ MCP จำนวนหนึ่งพร้อมใช้งานสำหรับ LLM:
---
title: Advanced MCP Scenarios with Client-Server LLM Integration
description: A sequence diagram showing the detailed interaction flow between user, client application, client LLM, multiple MCP servers, and server LLM, illustrating tool discovery, user interaction, direct tool calling, and feature negotiation phases
---
sequenceDiagram
autonumber
actor User as 👤 User
participant ClientApp as 🖥️ Client App
participant ClientLLM as 🧠 Client LLM
participant Server1 as 🔧 MCP Server 1
participant Server2 as 📚 MCP Server 2
participant ServerLLM as 🤖 Server LLM
%% Discovery Phase
rect rgb(220, 240, 255)
Note over ClientApp, Server2: TOOL DISCOVERY PHASE
ClientApp->>+Server1: Request available tools/resources
Server1-->>-ClientApp: Return tool list (JSON)
ClientApp->>+Server2: Request available tools/resources
Server2-->>-ClientApp: Return tool list (JSON)
Note right of ClientApp: Store combined tool<br/>catalog locally
end
%% User Interaction
rect rgb(255, 240, 220)
Note over User, ClientLLM: USER INTERACTION PHASE
User->>+ClientApp: Enter natural language prompt
ClientApp->>+ClientLLM: Forward prompt + tool catalog
ClientLLM->>-ClientLLM: Analyze prompt & select tools
end
%% Scenario A: Direct Tool Calling
alt Direct Tool Calling
rect rgb(220, 255, 220)
Note over ClientApp, Server1: SCENARIO A: DIRECT TOOL CALLING
ClientLLM->>+ClientApp: Request tool execution
ClientApp->>+Server1: Execute specific tool
Server1-->>-ClientApp: Return results
ClientApp->>+ClientLLM: Process results
ClientLLM-->>-ClientApp: Generate response
ClientApp-->>-User: Display final answer
end
%% Scenario B: Feature Negotiation (VS Code style)
else Feature Negotiation (VS Code style)
rect rgb(255, 220, 220)
Note over ClientApp, ServerLLM: SCENARIO B: FEATURE NEGOTIATION
ClientLLM->>+ClientApp: Identify needed capabilities
ClientApp->>+Server2: Negotiate features/capabilities
Server2->>+ServerLLM: Request additional context
ServerLLM-->>-Server2: Provide context
Server2-->>-ClientApp: Return available features
ClientApp->>+Server2: Call negotiated tools
Server2-->>-ClientApp: Return results
ClientApp->>+ClientLLM: Process results
ClientLLM-->>-ClientApp: Generate response
ClientApp-->>-User: Display final answer
end
end
นี่คือประโยชน์ในทางปฏิบัติของการใช้ MCP:
- ความสดใหม่ของข้อมูล: โมเดลสามารถเข้าถึงข้อมูลที่ทันสมัยนอกเหนือจากข้อมูลการฝึกอบรม
- การขยายความสามารถ: โมเดลสามารถใช้เครื่องมือเฉพาะสำหรับงานที่ไม่ได้รับการฝึกอบรม
- ลดการสร้างข้อมูลเท็จ: แหล่งข้อมูลภายนอกให้ข้อมูลที่มีความถูกต้อง
- ความเป็นส่วนตัว: ข้อมูลที่ละเอียดอ่อนสามารถเก็บไว้ในสภาพแวดล้อมที่ปลอดภัยแทนที่จะฝังอยู่ในคำสั่ง
สิ่งสำคัญที่ควรทราบเกี่ยวกับ MCP:
- MCP สร้างมาตรฐานการโต้ตอบระหว่างโมเดล AI กับเครื่องมือและข้อมูล
- ส่งเสริม การต่อยอด, ความสม่ำเสมอ และการทำงานร่วมกัน
- MCP ช่วย ลดเวลาการพัฒนา, เพิ่มความน่าเชื่อถือ และขยายความสามารถของโมเดล
- สถาปัตยกรรมไคลเอนต์-เซิร์ฟเวอร์ ช่วยให้แอปพลิเคชัน AI มีความยืดหยุ่นและขยายตัวได้
ลองคิดถึงแอปพลิเคชัน AI ที่คุณสนใจจะสร้าง
- เครื่องมือหรือข้อมูลภายนอก ใดที่สามารถเพิ่มความสามารถของแอปได้?
- MCP จะช่วยให้การผสานรวม ง่ายและน่าเชื่อถือ ขึ้นได้อย่างไร?
ถัดไป: บทที่ 1: แนวคิดหลัก
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษาจากผู้เชี่ยวชาญ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้
