01 agent基础
·
Agent 是什么
一、定义
Agent = 大模型 + 工具 + 循环决策
二、Agent 流程
用户提问 → 模型思考 → 决定要不要用工具 → 执行工具 → 看结果 → 再思考 → … → 最终回答
三、Agent 的完整架构(五个组件)
| 组件 | 作用 |
|---|---|
| LLM | 理解任务、决定下一步 |
| Tools | 执行具体动作 |
| Memory | 记住对话历史、长期知识 |
| Prompt | 定义角色、规则、输出格式 |
| Loop | 串联以上组件,循环直到完成 |
四、ReAct 是什么?
ReAct = Reason(推理)+ Act(行动),目前最常见的 Agent 模式。
Thought(思考): 用户问北京天气,我需要查天气工具
Action(行动): 调用 get_weather(city="北京")
Observation(观察): 工具返回 "晴,25℃"
Thought: 我已经有数据了,可以回答了
Action: 输出最终答案给用户
五、Tool Loop(工具循环)
六、完整示例
def run_agent(client, model, user_message) -> str:
messages = [
{
"role": "system",
"content": "你是数学助手。涉及计算时必须调用 calculate 工具,不要自己心算。",
},
{"role": "user", "content": user_message},
]
for turn in range(MAX_TURNS):
response = client.chat.completions.create(
model=model, messages=messages, tools=TOOLS
)
message = response.choices[0].message
if message.tool_calls:
messages.append(message)
for tool_call in message.tool_calls:
tool_result = dispatch_tool(
tool_call,
)
messages.append(
{
"role": "tool",
"content": tool_result,
"tool_call_id": tool_call.id,
}
)
else:
return message.content
return "对话达到最大轮数,请重新开始。"
更多推荐


所有评论(0)