task 0


task 1
agent 三位一体
langgraph
- 底层开发工具 -> agent runtime
- 断点存档,复活续跑
- 流式输出,实时观测
- 人机协作,重要决策人类介入
- 状态管理,节点之间传递上下文和参数
langchain
- 中间开发框架 -> agent framework
- 提供调用接口,包括模型调用,工具调用,loop,中间件等
deep agent
- 构建harness的工具库,将功能封装,避免重复造轮子
- 虚拟文件系统,基于backend执行
- 任务规划(TodoListMiddleware), 规划拆解任务执行流程,构建todo list并展示给用户当前执行进度
- 子agent派生。task 工具可以将子任务派发给子 agent,子agent使用独立上下文,仅返回执行结果
- skill。agent 可以获取的技能和知识。
- 上下文管理。包括对上下文的压缩总结、卸载并落盘记录,保证上下文不溢出的同时有选择性的记住某些内容。
- 记忆。提纯上下文以及记录下的文件内容,将历史内容分类整理成不同类型的记忆,按需加载和遗忘。

构建一个agent
构建一个tool
tool 三要素
- 参数类型
- 设定传参类型,llm通过读取类型清楚应该传什么类型的参数,pydanic也可以自动检测传参是否正确
- docstring
- 函数功能说明,llm通过读取这段字符串了解函数的作用
- 参数默认值
- 设定了默认值的参数可以减少llm的推理消耗,增加运行的稳定
def internet_search(
query: str,
max_results: int = 5,
topic: Literal["general", "news", "finance"] = "general",
include_raw_content: bool = False,
):
"""Run a web search for the given query.
Args:
query: The search query string.
max_results: Maximum number of results to return.
topic: The topic category for the search.
include_raw_content: Whether to include raw page content.
"""
return tavily_client.search(
query,
max_results=max_results,
include_raw_content=include_raw_content,
topic=topic,
)
创建 agent
- 调用
create_deep_agent接口,需要传入:- 调用的模型,这是agent的大脑
- agent 可用的工具列表
- 系统提示词,介绍agent的角色,以及可以做的工作
agent = create_deep_agent(
model=model,
tools=[internet_search],
system_prompt=research_instructions,
)
成果展示:


334



被折叠的 条评论
为什么被折叠?



