# ADK/A2A/MCP 實戰解析 > 📌 Slido 📌 > https://app.sli.do/event/i9kcwyy7MT3rLWrxn5jXpC > 共筆請從這裡開始 An AI agent use models to act independently to achieve a goal 藉由模型給予獨立能力並且完成特定目標 ## Agent組成 一個Runtime ## Meet InstaVibe https://codelabs.developers.google.com/instavibe-adk-multi-agents/ https://github.com/edwardchuang/instavibe-bootstrap/tree/adk-1.2.1-a2a-0.2.7 ## InstaVibe的功能 如果參加整個workshop你就可以獲得到後面的三個功能包含 - Agent on sreating posts - Agent on creating events - Agent on curating events on selected persons depend on their interests and post artical ## Agent Development Kit - Open source - Multi-agent support built-in - Local dev UI - Any generative AI model is supported - Call remote agents and tools via MCP - Python, Java, Go SDKs ### 工具的使用 讓Agent可以延伸它的功能。所以後面接的是模型和工具 1. 指定模型 2. 因為要考試所以你要有筆/ 橡皮擦等如考試的工具 3. 要回到Agent要去定義你要的system instructions 類似你的system prompt 4. 因為每個工具不知道要怎麼被呼叫,所以tools會回到模型去檢視是否有能力,這就稱作為Function call ### Tools的類型 1. Function tool: 例如像是骰子/ 剪刀石頭布,這樣的上述工具就有他運作的『規則』。也就是簡單說就是User自己打造的工具 2. 其他為內建的工具如: Google Search等等,所以你再使用方法只要去Import並且給予定義就可以使用 3. 第三方工具:Github,當你要repo或者你需要用你的身份去完成一些工作。同步如果你對於MCP server希望讓你的Clinets可以來呼叫的話,這對於ADK來說就是個工具,而代理人就是個工人。 MCP:在過去的時代需要使用API來作為程式和程式的溝通橋樑,現在則可以把要跟AI講的話透過MCP包起來。 ## Agent Patterns 1. Single Agent: 定義功能給AI使用(?) - Pros: 很好開發、管理(針對有順序性/ 相依性) - Cons: 壞了就壞了 2. Multi-Agent: 把各個功能拆分成不同的Agent,由一個Agent呼叫底下的來做事情 這次利用電商的交易相關作為案例,如訂單課題/ 有效性/ 退款/ 時間性/ 判別執行任務。上述的每個Agent都可以拆掉獨立執行獨立製作 - Pros: 彈性高/ 針對流程複雜性包含迴圈架構的深度邏輯可避免 - Cons: 延遲/ 數據的疊加 3. Multi-Agent(Sequential, Workflow):具備流程含有前後關係的Agent - Pros: 因為已具備定義好的Workflow而可以避免錯亂 - Cons: 如果指令沒下清楚,他可能會直接跳過某些步驟 4. Multi-Agent(Sequential with Parallel, Workflow):平行處理 - Pros: - Cons: Debug比較複雜 5. Multi-Agent Custom Control Flow: 有限制的執行次數 由Status去檢查是否達到Custom的停止條件 實務上可以再進行更細緻的控制,透過CallBack Function在每個作業的執行之前,來呼叫。 - Pros: 比較彈性/ 面對到極度複雜的專案組合仍舊執行 - Cons: 複雜 - 補充:上午的議程,有建議透過 Callback Function 進行輸入參數檢查避免惡意輸入 ### A2A 可以透過A2A protocol去溝通和串接 他其實就是一個json file(?) 透過 Agnet Card 交換能力資訊 ## When to use Agent - Flexible:彈性 - Easy to Prototype - Predictability
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up