# 🚀 專案總覽:Agentic Design Patterns and Orchestration 這個專案是一個**智能代理設計模式與協調系統**,主要目的是展示和實作四種常見的智能代理設計模式,並提供多種代理框架的實作範例。 https://github.com/Kiwi1009/adpao ### 🎯 專案主要功能 這個應用程式是一個**智能代理系統**,可以: 1. **反思改進**:讓AI反思自己的輸出並持續改進 2. **規劃執行**:讓AI制定計劃並按步驟執行任務 3. **工具使用**:讓AI調用各種工具來完成複雜任務 4. **多代理協作**:讓多個AI代理協同工作 ### �� 專案結構分析 #### 1. **核心設計模式** (`src/` 目錄) - **`reflection_agent/`** - 反思代理模式 - **`planning_agent/`** - 規劃代理模式 - **`tool_agent/`** - 工具使用代理模式 - **`multi_agent/`** - 多代理協作模式 #### 2. **代理框架實作** (`agent_frameworks/` 目錄) - **AutoGen** - 微軟的多代理框架 - **CrewAI** - 專門的多代理協作框架 - **Swarm** - OpenAI的代理框架 - **LangGraph** - LangChain的圖形化代理框架 #### 3. **教學範例** (`design_patterns/` 目錄) - Jupyter notebooks 展示每種設計模式的實作 ### 🔧 技術架構 #### **輸入 (Input)** - 用戶的自然語言指令 - 系統提示詞 (System Prompts) - 工具定義和函數簽名 #### **中間執行過程** 1. **語言模型處理**:使用 OpenAI GPT 模型 2. **提示工程**:結構化的提示詞管理 3. **工具調用**:函數調用和參數驗證 4. **狀態管理**:對話歷史和上下文追蹤 5. **迭代優化**:多輪反思和改進 #### **使用工具** - **OpenAI API**:核心語言模型 - **Python 標準庫**:基礎功能 - **Gradio**:Web 介面 - **Graphviz**:代理關係圖形化 - **Colorama**:終端彩色輸出 #### **輸出 (Output)** - 改進後的文本內容 - 執行的工具結果 - 多代理協作的最終答案 - 可視化的代理工作流程 ### 📚 詳細程式說明 #### **1. Reflection Agent (反思代理)** ```python # 主要功能:讓AI反思並改進自己的輸出 class ReflectionAgent: def generate(self, history): # 生成初始回應 def reflect(self, history): # 反思並提供建議 def run(self, user_msg, n_steps=3): # 執行多輪反思循環 ``` **工作流程**: 1. 接收用戶請求 → 生成初始回應 2. 反思初始回應 → 提供改進建議 3. 根據建議修改 → 重複直到滿意 #### **2. Planning Agent (規劃代理)** ```python # 主要功能:制定計劃並按步驟執行 class ReactAgent: def run_interactive(self, user_msg): # 互動式執行 def process_tool_calls(self, tool_calls): # 處理工具調用 ``` **工作流程**: 1. 分析用戶需求 → 制定執行計劃 2. 選擇合適工具 → 按步驟執行 3. 觀察結果 → 調整下一步行動 #### **3. Tool Agent (工具代理)** ```python # 主要功能:調用各種工具完成任務 class ToolAgent: def process_tool_calls(self, tool_calls): # 處理工具調用 def add_tool_signatures(self): # 收集工具簽名 ``` **工作流程**: 1. 識別需要的工具 → 驗證參數 2. 執行工具調用 → 收集結果 3. 整合結果 → 返回給用戶 #### **4. Multi-Agent (多代理協作)** ```python # 主要功能:多個AI代理協同工作 class Crew: def topological_sort(self): # 拓撲排序代理依賴 def plot(self): # 可視化代理關係 ``` **工作流程**: 1. 定義代理角色 → 建立依賴關係 2. 按順序執行 → 傳遞結果 3. 協調合作 → 完成複雜任務 ### 🚀 實際使用範例 #### **啟動方式** ```bash # 1. 安裝依賴 pip install -r requirements.txt # 2. 設定環境變數 echo "OPENAI_API_KEY=your_key_here" > .env # 3. 執行不同框架 python agent_frameworks/autogen_multi_agent/main.py python agent_frameworks/crewai_multi_agent/main.py ``` #### **使用場景** - **程式碼生成與改進**:使用反思代理 - **複雜任務規劃**:使用規劃代理 - **API調用與工具整合**:使用工具代理 - **團隊協作任務**:使用多代理系統 ### 💡 學習價值 這個專案展示了: 1. **現代AI代理架構**的設計原則 2. **提示工程**的最佳實踐 3. **工具整合**的實作方法 4. **多代理協作**的系統設計 5. **不同框架**的比較和選擇
×
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