Hello Agent 学习第一天
- Hello-Agents|第一章:初识智能体
-
- 目录
- 1 智能体基础定义
- 2 Agent两大发展路线
-
- 2.1 传统智能体(5代演进)
- 2.2 LLM新型智能体
- 3 三种分类方式
-
- ① 按内部架构
- ② 按决策时效
- ③ 按知识表达
- 4 PEAS与运行循环
-
- 4.1 PEAS环境建模
- 4.2 数字环境特征
- 4.3 Agent标准闭环:T-A-O
- 5 Python实战:旅行助手Agent
-
- 5.1 安装依赖
- 5.2 完整代码
- 运行流程
- 6 落地:Agent协作 & Workflow区别
-
- 6.1 两种协作模式
- 6.2 Workflow vs Agent
- 7 小结
- 8 课后习题(精简)
Hello-Agents|第一章:初识智能体
标签:#LLM #Agent #人工智能 #Python实战
目录
1 智能体基础定义
智能体(Agent):通过传感器感知环境,依靠自主决策,经由执行器作用环境、完成目标的实体。
- 传感器:摄像头、雷达、各类API接口;
- 执行器:机械硬件、代码/接口调用;
- 自主性是智能核心:非死板执行指令,依托环境反馈自主决策,形成「感知→决策→行动」闭环。
2 Agent两大发展路线
2.1 传统智能体(5代演进)
传统共性:规则、逻辑全部人工预设。
2.2 LLM新型智能体
依托预训练获得隐式世界模型,天然具备三大能力:
例:「规划厦门旅行」→拆行程→查天气→订住宿,雨天自动替换室内景点。
3 三种分类方式
① 按内部架构
反射→模型→目标→效用,学习是附加元能力。
② 按决策时效
| 反应式 | 即时响应、无远期规划 | 安全气囊、高频交易 |
| 规划式 | 深度推演多步结果、耗时高 | 棋类AI、项目规划 |
| 混合式 | 快慢结合 | LLM智能助手 |
③ 按知识表达
- 符号主义:规则+逻辑,可解释,但难适配现实模糊场景;
- 亚符号(深度学习):权重存储特征,擅长音图识别,黑盒易幻觉;
- 神经符号融合(主流):参考《思考,快与慢》
- 系统1(快/亚符号):大模型底层直觉识别;
- 系统2(慢/符号):结构化思考、工具调用、逻辑推理。
LLM-Agent是神经符号落地典范。
4 PEAS与运行循环
4.1 PEAS环境建模
- P(性能):评判指标;E(环境):外部场景;A(执行器):动作出口;S(传感器):信息采集。
4.2 数字环境特征
部分可观测、随机性、多智能体共存、动态序贯。
4.3 Agent标准闭环:T-A-O
Thought: 思考规划
Action: 工具调用
Observation: 环境返回结果
循环:感知→思考(规划+选工具)→执行→观测反馈。
5 Python实战:旅行助手Agent
5.1 安装依赖
pip install requests tavily-python openai
5.2 完整代码
import requests, os, re
from tavily import TavilyClient
from openai import OpenAI
# 1.系统提示词
AGENT_PROMPT = """
你是旅行助手,工具:get_weather(city)、get_attraction(city,weather)
输出固定格式:
Thought:思考
Action:函数名(参数="值")/Finish[答案]
单次仅一组TA,收集完信息Finish结束
"""
# 2.工具
def get_weather(city):
try:
d=requests.get(f"https://wttr.in/{city}?format=j1").json()["current_condition"][0]
return f"{city}{d['weatherDesc'][0]['value']},{d['temp_C']}℃"
except:return"查询失败"
def get_attraction(city,weather):
tc=TavilyClient(os.getenv("TAVILY_API_KEY"))
return tc.search(f"{city}{weather}景点推荐",include_answer=True).get("answer","无推荐")
tools={"get_weather":get_weather,"get_attraction":get_attraction}
# 3.LLM客户端
class LLMClient:
def __init__(self,key,url,model):
self.c=OpenAI(api_key=key,base_url=url);self.m=model
def chat(self,usr,sys):
return self.c.chat.completions.create(model=self.m,messages=[{"role":"system","content":sys},{"role":"user","content":usr}]).choices[0].message.content
# 4.主循环
if __name__=="__main__":
os.environ["TAVILY_API_KEY"]="你的TavilyKey"
llm=LLMClient("API_KEY","BASE_URL","MODEL")
user="查北京天气并推荐景点"
hist=[f"用户:{user}"]
for _ in range(5):
res=llm.chat("\\n".join(hist),AGENT_PROMPT)
hist.append(res)
act=re.search(r"Action:\\s*(.*)",res).group(1)
if act.startswith("Finish"):
print("结果:",re.match(r"Finish\\[(.*)\\]",act).group(1));break
fn=re.search(r"(\\w+)\\(",act).group(1)
arg=dict(re.findall(r'(\\w+)="([^"]+)"',act))
obs=f"Observation:{tools[fn](**arg)}"
hist.append(obs);print(obs)
运行流程
6 落地:Agent协作 & Workflow区别
6.1 两种协作模式
6.2 Workflow vs Agent
- Workflow:全流程硬编码固定规则,标准化业务稳定易管控,复杂场景灵活性差;
- Agent:仅约束顶层规则,自主动态决策,适配非标多变需求,风控成本更高。





