第四章: Agent高级模式
多Agent协作
场景:内容创作团队
from langchain.agents import Agent, Tool
# Agent 1: 研究员
researcher = Agent(
role="研究员",
goal="收集资料",
tools=[search_tool, wikipedia_tool]
)
# Agent 2: 作家
writer = Agent(
role="作家",
goal="撰写文章",
tools=[write_tool]
)
# Agent 3: 编辑
editor = Agent(
role="编辑",
goal="审核优化",
tools=[grammar_check_tool]
)
# 协作流程
def create_article(topic):
research = researcher.run(f"研究{topic}")
draft = writer.run(f"根据以下资料写文章:{research}")
final = editor.run(f"编辑以下文章:{draft}")
return final
工具链设计
复杂工具组合
@tool
def web_search_and_summarize(query: str) -> str:
"""搜索并总结"""
# 1. 搜索
results = search_google(query)
# 2. 提取内容
content = extract_content(results)
# 3. 总结
summary = llm.predict(f"总结:{content}")
return summary
错误处理
重试机制
from langchain.callbacks import RetryHandler
agent_executor = AgentExecutor(
agent=agent,
tools=tools,
max_iterations=5, # 最多迭代5次
max_execution_time=60, # 超时60秒
handle_parsing_errors=True # 自动处理解析错误
)
下一章预告:AutoGPT与自主Agent - 完全自主的任务执行系统。