成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Agno實現AI代理設計的五個層級,由易到難

人工智能
構建AI代理的核心在于夯實基礎,而非追逐潮流或堆砌功能。從基本工具使用到完全異步的代理系統,每一級別需建立在穩固的架構之上,方能增強能力。

AI代理設計指南

本指南將代理設計分解為五個實際難度級別,每個級別均提供可運行的代碼示例。

無論開發者是初學者還是處理現實世界的復雜任務,本指南都能幫助避免常見陷阱,構建真正有效的代理。

這些級別包括:

?級別1:帶工具和指令的代理?級別2:帶知識和記憶的代理?級別3:帶長期記憶和推理的代理?級別4:多代理團隊?級別5:代理系統

以下逐一介紹各級別。

圖片圖片

級別1:帶工具和指令的代理

此級別為基礎設置,涉及一個遵循指令并在循環中調用工具的大語言模型(LLM)。當提到“代理是LLM加上工具使用”時,通常指這一級別,反映了基礎但功能有限的實現。

圖片圖片

指令明確代理的任務,工具賦予其行動能力,例如獲取數據、調用API或觸發工作流程。盡管簡單,此設置已足以自動化某些任務。

from agno.agent importAgent
from agno.models.openai importOpenAIChat
from agno.tools.duckduckgo importDuckDuckGoTools


agno_assist =Agent(
  name="Agno AGI",
  model=OpenAIChat(id="gpt-4.1"),
  descriptinotallow=dedent("""\
Agno AGI是一個利用Agno框架構建代理的自主AI代理。其目標是通過提供解釋、可運行的代碼示例以及可選的視覺和音頻解釋,幫助開發者理解和使用Agno的關鍵概念。"""),
  instructinotallow="搜索網絡以獲取關于Agno的信息。",
  tools=[DuckDuckGoTools()],
  add_datetime_to_instructinotallow=True,
  markdown=True,
)
agno_assist.print_response("Agno是什么?", stream=True)

級別2:帶知識和記憶的代理

許多任務需要模型不具備的外部信息。由于上下文容量有限,代理需在運行時獲取知識,這通過代理式RAG或動態少樣本提示實現。

圖片圖片

搜索采用混合模式(全文+語義),并需重新排序。混合搜索結合重新排序是代理式檢索的最佳即插即用方案。

存儲功能為代理提供記憶。LLM默認無狀態,存儲過去的行動、消息和觀察結果使代理具備狀態,能夠參考歷史信息并優化決策。

... imports
# 可參考 https://docs.agno.com/llms-full.txt 獲取完整文檔
knowledge_base =UrlKnowledge(
  urls=["https://docs.agno.com/introduction.md"],
  vector_db=LanceDb(
    uri="tmp/lancedb",
    table_name="agno_docs",
    search_type=SearchType.hybrid,
    embedder=OpenAIEmbedder(id="text-embedding-3-small"),
    reranker=CohereReranker(model="rerank-multilingual-v3.0"),
),
)
storage =SqliteStorage(table_name="agent_sessions", db_file="tmp/agent.db")


agno_assist =Agent(
  name="Agno AGI",
  model=OpenAIChat(id="gpt-4.1"),
  descriptinotallow=...,
  instructinotallow=...,
  tools=[PythonTools(),DuckDuckGoTools()],
  add_datetime_to_instructinotallow=True,
# 當提供“knowledge”時,默認啟用代理式RAG
  knowledge=knowledge_base,
# 將代理會話存儲在sqlite數據庫中
  storage=storage,
# 將聊天歷史添加到消息中
  add_history_to_messages=True,
# 歷史運行次數
  num_history_runs=3,
  markdown=True,
)


if __name__ =="__main__":
# 加載知識庫,首次運行后可注釋
# agno_assist.knowledge.load(recreate=True)
  agno_assist.print_response("Agno是什么?", stream=True)

級別3:帶長期記憶和推理的代理

長期記憶使代理能夠跨會話回憶細節,例如用戶偏好、過去行為或失敗嘗試,并隨時間適應,從而實現個性化和連續性。自我學習——基于過去經驗優化行為——是此級別的重要潛力。

圖片圖片

推理能力進一步提升代理表現,幫助分解問題、優化決策并更可靠地執行多步驟指令。推理不僅關乎理解,還能提高每一步的成功率,是嚴肅代理開發者必須掌握的核心技能。

... imports


knowledge_base =...


memory =Memory(
# 使用任意模型創建記憶
  model=OpenAIChat(id="gpt-4.1"),
  db=SqliteMemoryDb(table_name="user_memories", db_file="tmp/agent.db"),
  delete_memories=True,
  clear_memories=True,
)


storage =...


agno_assist =Agent(
  name="Agno AGI",
  model=Claude(id="claude-3-7-sonnet-latest"),
# 用于記憶的用戶ID
  user_id="ava",
  descriptinotallow=...,
  instructinotallow=...,
# 賦予代理推理能力
  tools=[PythonTools(),DuckDuckGoTools(),
ReasoningTools(add_instructinotallow=True)],
...
# 將記憶存儲在sqlite數據庫中
  memory=memory,
# 讓代理管理其記憶
  enable_agentic_memory=True,
)


if __name__ =="__main__":
# 首次運行后可注釋,代理會記住
  agno_assist.print_response("總是以‘hi ava’開始你的消息", stream=True)
  agno_assist.print_response("Agno是什么?", stream=True)

級別4:多代理

代理在專注于單一領域并配備精簡工具集(理想少于10個)時表現最佳。為應對復雜或廣泛任務,可將多個代理組成團隊,每個代理處理問題的一部分,共同覆蓋更廣領域。

圖片圖片

然而,若團隊領導者缺乏強大推理能力,處理細微問題時易失敗。當前,自主多代理系統的可靠性不足,成功率低于50%,尚無法滿足實際需求。

某些架構可簡化協調。例如,Agno支持協調、路由和協作三種執行模式,并提供內置的記憶和上下文管理。謹慎設計仍不可或缺,但這些功能使多代理工作更具可行性。

... imports


web_agent =Agent(
  name="Web Search Agent",
  role="處理網頁搜索請求",
  model=OpenAIChat(id="gpt-4o-mini"),
  tools=[DuckDuckGoTools()],
  instructinotallow="始終包含來源",
)


finance_agent =Agent(
  name="Finance Agent",
  role="處理金融數據請求",
  model=OpenAIChat(id="gpt-4o-mini"),
  tools=[YFinanceTools()],
  instructinotallow=[
"你是一個金融數據專家。提供簡潔準確的數據。",
"使用表格展示股票價格、基本面(市盈率、總市值)",
],
)


team_leader =Team(
  name="Reasoning Finance Team Leader",
  mode="coordinate",
  model=Claude(id="claude-3-7-sonnet-latest"),
  members=[web_agent, finance_agent],
  tools=[ReasoningTools(add_instructinotallow=True)],
  instructinotallow=[
"使用表格展示數據",
"僅輸出最終答案,不包含其他文本。",
],
  show_members_respnotallow=True,
  enable_agentic_cnotallow=True,
  add_datetime_to_instructinotallow=True,
  success_criteria="團隊已成功完成任務。",
)


if __name__ =="__main__":
  team_leader.print_response(
"""\
分析近期美國關稅對以下關鍵行業市場表現的影響:
-鋼鐵和鋁業:(X, NUE, AA)
-技術硬件:(AAPL, DELL, HPQ)


對每個行業:
1.比較關稅實施前后的股票表現
2.識別供應鏈中斷和成本影響百分比
3.分析公司的戰略應對(回岸生產、價格調整、供應商多元化)""",
  stream=True,
  stream_intermediate_steps=True,
  show_full_reasnotallow=True,
)

級別5:代理系統

代理系統標志著代理從工具轉變為基礎設施。此級別涉及完整API,接受用戶請求,啟動異步工作流程,并流式返回生成的結果。

圖片圖片

理論上流程清晰,實際操作極具挑戰。需在請求時持久化狀態,啟動后臺作業,跟蹤進度,并流式輸出結果。WebSocket可提供支持,但擴展和維護難度較大,后端復雜性常被低估。

這一級別是將代理轉化為實際產品的關鍵,不僅是構建功能,而是打造完整系統。

從失敗到成功:代理設計的關鍵經驗教訓

構建AI代理的核心在于夯實基礎,而非追逐潮流或堆砌功能。從基本工具使用到完全異步的代理系統,每一級別需建立在穩固的架構之上,方能增強能力。

失敗往往源于忽視基礎原則:清晰的模塊邊界、扎實的推理、有效的記憶管理,以及適時引入人工干預。

通過從簡單開始,逐步有針對性地增加復雜性,僅在解決實際問題時引入新功能,開發者能夠構建出不僅有趣且真正可靠的代理系統。

責任編輯:武曉燕 來源: PyTorch研習社
相關推薦

2024-07-26 08:59:33

2024-12-05 08:15:00

2020-04-22 10:27:39

人工智能技術安全

2020-04-22 10:52:44

AI人工智能算法

2025-04-23 11:50:04

MCP服務器AI代理

2025-02-13 10:39:23

2024-01-04 18:27:04

AI人工智能GenAI

2015-10-12 17:20:21

產品設計層級

2021-11-24 08:55:38

代理網關Netty

2025-02-26 07:55:14

2023-12-27 17:20:09

2024-09-20 11:30:14

2022-04-09 17:53:56

Vue.js分支切換嵌套的effect

2025-06-26 07:35:00

CISO安全挑戰技術治理

2013-11-27 10:36:47

命令行工具ping工具

2021-12-14 22:03:59

云計算云存儲數據

2009-07-09 17:47:40

使用JDBC

2024-07-05 11:34:07

2021-07-20 10:30:46

Golanghttp語言

2021-02-24 10:08:51

敏捷轉型敏捷性CIO
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品av麻豆的观看方式 | 欧美激情一区二区 | 视频在线一区 | 在线中文字幕视频 | 成人午夜免费福利视频 | 日韩三级电影一区二区 | 99re免费| 久久人人爽人人爽 | 中国一级毛片免费 | 久久大陆| 亚洲a在线视频 | 97国产一区二区精品久久呦 | 国产精品久久久久久久7777 | 久热伊人| 国产不卡一 | 日批免费看 | 综合色在线 | 中文字幕一区二区三区日韩精品 | 国产视频第一页 | 精品日韩一区二区三区av动图 | 精品99爱视频在线观看 | 久久av综合| 日韩欧美在线观看 | 日韩有码在线播放 | 日韩视频在线免费观看 | 99热精品久久 | 伊人网影院 | 国产成人一区二区三区久久久 | 久久久久九九九女人毛片 | 亚洲免费大片 | 中文字幕在线三区 | 992tv人人草| jlzzjlzz国产精品久久 | 国产一区日韩在线 | 久久精品免费 | 国产亚洲精品久久久久动 | 久久91av| 伊人久麻豆社区 | 国产麻豆乱码精品一区二区三区 | 国产一卡二卡三卡 | 精品不卡 |