构建第一个 Agent
本指南构建一个简单的 Agent,它可以使用工具来回答问题。你将看到完整的循环:用户消息 → LLM 推理 → 工具调用 → 工具结果 → 最终响应。定义工具
工具是用@tool 装饰的异步函数:
- 工具必须是
async def - 文档字符串成为 LLM 看到的工具描述
Best Practices部分会被注入到系统提示词中作为使用指南- 返回类型注解告诉框架期望什么
定义 Agent
@llm_chat创建多轮 Agent(相对于单次调用的@llm_function)toolkit=[...]让 Agent 可以使用工具stream=True启用流式响应history参数名是特殊的——框架通过它管理对话状态- 文档字符串就是 Agent 的系统提示词
运行并消费事件
@llm_chat 返回 ReactOutput 的异步生成器——包含响应片段或生命周期事件:
底层发生了什么
添加更多工具
下一步
多轮对话
管理更长的对话,包括历史和流式输出。
为什么这样设计?
理解为什么 LLM 调用是函数,而不是链。