偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

使用Agno實(shí)現(xiàn)AI代理設(shè)計(jì)的五個(gè)層級(jí),由易到難

人工智能
構(gòu)建AI代理的核心在于夯實(shí)基礎(chǔ),而非追逐潮流或堆砌功能。從基本工具使用到完全異步的代理系統(tǒng),每一級(jí)別需建立在穩(wěn)固的架構(gòu)之上,方能增強(qiáng)能力。

AI代理設(shè)計(jì)指南

本指南將代理設(shè)計(jì)分解為五個(gè)實(shí)際難度級(jí)別,每個(gè)級(jí)別均提供可運(yùn)行的代碼示例。

無論開發(fā)者是初學(xué)者還是處理現(xiàn)實(shí)世界的復(fù)雜任務(wù),本指南都能幫助避免常見陷阱,構(gòu)建真正有效的代理。

這些級(jí)別包括:

?級(jí)別1:帶工具和指令的代理?級(jí)別2:帶知識(shí)和記憶的代理?級(jí)別3:帶長期記憶和推理的代理?級(jí)別4:多代理團(tuán)隊(duì)?級(jí)別5:代理系統(tǒng)

以下逐一介紹各級(jí)別。

圖片圖片

級(jí)別1:帶工具和指令的代理

此級(jí)別為基礎(chǔ)設(shè)置,涉及一個(gè)遵循指令并在循環(huán)中調(diào)用工具的大語言模型(LLM)。當(dāng)提到“代理是LLM加上工具使用”時(shí),通常指這一級(jí)別,反映了基礎(chǔ)但功能有限的實(shí)現(xiàn)。

圖片圖片

指令明確代理的任務(wù),工具賦予其行動(dòng)能力,例如獲取數(shù)據(jù)、調(diào)用API或觸發(fā)工作流程。盡管簡(jiǎn)單,此設(shè)置已足以自動(dòng)化某些任務(wù)。

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是一個(gè)利用Agno框架構(gòu)建代理的自主AI代理。其目標(biāo)是通過提供解釋、可運(yùn)行的代碼示例以及可選的視覺和音頻解釋,幫助開發(fā)者理解和使用Agno的關(guān)鍵概念。"""),
  instructinotallow="搜索網(wǎng)絡(luò)以獲取關(guān)于Agno的信息。",
  tools=[DuckDuckGoTools()],
  add_datetime_to_instructinotallow=True,
  markdown=True,
)
agno_assist.print_response("Agno是什么?", stream=True)

級(jí)別2:帶知識(shí)和記憶的代理

許多任務(wù)需要模型不具備的外部信息。由于上下文容量有限,代理需在運(yùn)行時(shí)獲取知識(shí),這通過代理式RAG或動(dòng)態(tài)少樣本提示實(shí)現(xiàn)。

圖片圖片

搜索采用混合模式(全文+語義),并需重新排序?;旌纤阉鹘Y(jié)合重新排序是代理式檢索的最佳即插即用方案。

存儲(chǔ)功能為代理提供記憶。LLM默認(rèn)無狀態(tài),存儲(chǔ)過去的行動(dòng)、消息和觀察結(jié)果使代理具備狀態(tài),能夠參考?xì)v史信息并優(yōu)化決策。

... 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,
# 當(dāng)提供“knowledge”時(shí),默認(rèn)啟用代理式RAG
  knowledge=knowledge_base,
# 將代理會(huì)話存儲(chǔ)在sqlite數(shù)據(jù)庫中
  storage=storage,
# 將聊天歷史添加到消息中
  add_history_to_messages=True,
# 歷史運(yùn)行次數(shù)
  num_history_runs=3,
  markdown=True,
)


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

級(jí)別3:帶長期記憶和推理的代理

長期記憶使代理能夠跨會(huì)話回憶細(xì)節(jié),例如用戶偏好、過去行為或失敗嘗試,并隨時(shí)間適應(yīng),從而實(shí)現(xiàn)個(gè)性化和連續(xù)性。自我學(xué)習(xí)——基于過去經(jīng)驗(yàn)優(yōu)化行為——是此級(jí)別的重要潛力。

圖片圖片

推理能力進(jìn)一步提升代理表現(xiàn),幫助分解問題、優(yōu)化決策并更可靠地執(zhí)行多步驟指令。推理不僅關(guān)乎理解,還能提高每一步的成功率,是嚴(yán)肅代理開發(fā)者必須掌握的核心技能。

... imports


knowledge_base =...


memory =Memory(
# 使用任意模型創(chuàng)建記憶
  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)],
...
# 將記憶存儲(chǔ)在sqlite數(shù)據(jù)庫中
  memory=memory,
# 讓代理管理其記憶
  enable_agentic_memory=True,
)


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

級(jí)別4:多代理

代理在專注于單一領(lǐng)域并配備精簡(jiǎn)工具集(理想少于10個(gè))時(shí)表現(xiàn)最佳。為應(yīng)對(duì)復(fù)雜或廣泛任務(wù),可將多個(gè)代理組成團(tuán)隊(duì),每個(gè)代理處理問題的一部分,共同覆蓋更廣領(lǐng)域。

圖片圖片

然而,若團(tuán)隊(duì)領(lǐng)導(dǎo)者缺乏強(qiáng)大推理能力,處理細(xì)微問題時(shí)易失敗。當(dāng)前,自主多代理系統(tǒng)的可靠性不足,成功率低于50%,尚無法滿足實(shí)際需求。

某些架構(gòu)可簡(jiǎn)化協(xié)調(diào)。例如,Agno支持協(xié)調(diào)、路由和協(xié)作三種執(zhí)行模式,并提供內(nèi)置的記憶和上下文管理。謹(jǐn)慎設(shè)計(jì)仍不可或缺,但這些功能使多代理工作更具可行性。

... imports


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


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


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=[
"使用表格展示數(shù)據(jù)",
"僅輸出最終答案,不包含其他文本。",
],
  show_members_respnotallow=True,
  enable_agentic_cnotallow=True,
  add_datetime_to_instructinotallow=True,
  success_criteria="團(tuán)隊(duì)已成功完成任務(wù)。",
)


if __name__ =="__main__":
  team_leader.print_response(
"""\
分析近期美國關(guān)稅對(duì)以下關(guān)鍵行業(yè)市場(chǎng)表現(xiàn)的影響:
-鋼鐵和鋁業(yè):(X, NUE, AA)
-技術(shù)硬件:(AAPL, DELL, HPQ)


對(duì)每個(gè)行業(yè):
1.比較關(guān)稅實(shí)施前后的股票表現(xiàn)
2.識(shí)別供應(yīng)鏈中斷和成本影響百分比
3.分析公司的戰(zhàn)略應(yīng)對(duì)(回岸生產(chǎn)、價(jià)格調(diào)整、供應(yīng)商多元化)""",
  stream=True,
  stream_intermediate_steps=True,
  show_full_reasnotallow=True,
)

級(jí)別5:代理系統(tǒng)

代理系統(tǒng)標(biāo)志著代理從工具轉(zhuǎn)變?yōu)榛A(chǔ)設(shè)施。此級(jí)別涉及完整API,接受用戶請(qǐng)求,啟動(dòng)異步工作流程,并流式返回生成的結(jié)果。

圖片圖片

理論上流程清晰,實(shí)際操作極具挑戰(zhàn)。需在請(qǐng)求時(shí)持久化狀態(tài),啟動(dòng)后臺(tái)作業(yè),跟蹤進(jìn)度,并流式輸出結(jié)果。WebSocket可提供支持,但擴(kuò)展和維護(hù)難度較大,后端復(fù)雜性常被低估。

這一級(jí)別是將代理轉(zhuǎn)化為實(shí)際產(chǎn)品的關(guān)鍵,不僅是構(gòu)建功能,而是打造完整系統(tǒng)。

從失敗到成功:代理設(shè)計(jì)的關(guān)鍵經(jīng)驗(yàn)教訓(xùn)

構(gòu)建AI代理的核心在于夯實(shí)基礎(chǔ),而非追逐潮流或堆砌功能。從基本工具使用到完全異步的代理系統(tǒng),每一級(jí)別需建立在穩(wěn)固的架構(gòu)之上,方能增強(qiáng)能力。

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

通過從簡(jiǎn)單開始,逐步有針對(duì)性地增加復(fù)雜性,僅在解決實(shí)際問題時(shí)引入新功能,開發(fā)者能夠構(gòu)建出不僅有趣且真正可靠的代理系統(tǒng)。

責(zé)任編輯:武曉燕 來源: PyTorch研習(xí)社
相關(guān)推薦

2024-07-26 08:59:33

2024-12-05 08:15:00

2020-04-22 10:27:39

人工智能技術(shù)安全

2020-04-22 10:52:44

AI人工智能算法

2025-04-23 11:50:04

MCP服務(wù)器AI代理

2025-02-13 10:39:23

2024-01-04 18:27:04

AI人工智能GenAI

2015-10-12 17:20:21

產(chǎn)品設(shè)計(jì)層級(jí)

2021-11-24 08:55:38

代理網(wǎng)關(guān)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安全挑戰(zhàn)技術(shù)治理

2013-11-27 10:36:47

命令行工具ping工具

2021-12-14 22:03:59

云計(jì)算云存儲(chǔ)數(shù)據(jù)

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

敏捷轉(zhuǎn)型敏捷性CIO
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)