首頁 >後端開發 >Python教學 >調試您的 Crew:在 CrewAI 中隔離代理程式和任務

調試您的 Crew:在 CrewAI 中隔離代理程式和任務

Barbara Streisand
Barbara Streisand原創
2025-01-23 18:14:12758瀏覽

Debugging Your Crew: Isolating Agents and Tasks in CrewAI

使用 CrewAI 開發複雜的多智能體人工智慧系統很快就會變得充滿挑戰。 這篇文章示範如何隔離和測試各個代理程式和任務,以便更輕鬆地調試和更快地迭代。

隔離的好處

隔離 CrewAI 系統中的組件類似單元測試。 這種方法有幾個關鍵優勢:

  • 簡化調試:透過專注於單一代理或任務來快速識別問題,無需篩選整個系統的日誌。
  • 快速迭代:測試對代理行為或任務定義的修改,而無需重複運行整個團隊。
  • 有針對性的效能最佳化:與系統的其餘部分分開時,可以更有效地分析和最佳化各個元件。

讓我們來看看核心元素:

  1. researcher特工(agents.yaml):

    <code class="language-yaml"> researcher:
       role: "Senior Research Analyst"
       goal: "Uncover groundbreaking technologies in AI"
       backstory: "A highly skilled researcher with a passion for AI advancements."
       llm: gemini/gemini-1.5-flash # Replace with your preferred LLM
       allow_delegation: false
       tools:
         - WebSearchTool</code>
  2. research_task (tasks.yaml):

    <code class="language-yaml"> research_task:
       description: "Research the latest developments in AI for 2024."
       expected_output: "A report summarizing the key AI trends."
       agent: researcher</code>
  3. IndependentCrew 類別 (crew.py):

    <code class="language-python"> from crewai import Agent, Crew, Process, Task
     from crewai.project import CrewBase, agent, crew, task
     from .tools import WebSearchTool
    
     @CrewBase
     class IndependentCrew():
         """IndependentCrew crew"""
    
         agents_config = 'config/agents.yaml'
         tasks_config = 'config/tasks.yaml'
    
         @agent
         def researcher(self) -> Agent:
             return Agent(
                 config=self.agents_config['researcher'],
                 verbose=True,
                 tools=[WebSearchTool()]
             )
    
         @task
         def research_task(self) -> Task:
             return Task(
                 config=self.tasks_config['research_task'],
             )
    
         @crew
         def crew(self) -> Crew:
             """Creates the IndependentCrew crew"""
    
             return Crew(
                 agents=self.agents,
                 tasks=self.tasks,
                 process=Process.sequential,
                 verbose=True,
             )</code>
  4. 獨立運行代理程式 (run_agent.py): 此範例示範如何在 Crew 上下文之外建立和使用代理程式、執行自訂任務以及重用定義的代理程式和任務。

  5. 獨立運行任務 (run_task.py): 這示範了獨立建立和執行任務,包括同步和非同步執行,以及使用自訂上下文和工具。 它還顯示了透過自訂上下文重用定義的任務。

結論

獨立運作代理程式和任務的能力為 CrewAI 開發提供了顯著的靈活性和控制力。 這種隔離測試方法簡化了調試、加速迭代並提高了整體效率。 提供的程式碼範例為將此技術整合到您的專案中提供了一個實用的起點。 請記得查閱 CrewAI 文件和 GitHub 儲存庫以取得更多詳細資訊和支援。

資源:

以上是調試您的 Crew:在 CrewAI 中隔離代理程式和任務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn