Agent_项目学习_day01

follow up datawhalechina/Agent-Learning-Hub: AI Agent 学习路线与资料库收集

Stage 0: Understand What An Agent Is

概念

chatbot worflow agent multi-agent
GPT\对话交互 预定义、固定流水线,结构化任务 使用工具、多步骤规划任务、记忆反思、比工具流更加动态 多agent协同、分工、通信、模拟角色

agent 基本循环

observe –> think –> act –> observe

持续交互、根据观察到的内容确定如何行动、规划行动过程(根据注册号的工具函数)、行动(调用工具api)后根据结果进行反思,规划下一步行动

agent 适用场景

1.任务模糊、垃圾prompt

agent需要分析用户具体需求、意图识别

2.环境动态变化

需要持续观察并且根据行为结果调整行动

3.多步骤任务

完成目标需要前置过程a、b、c但是每一步的结果有相关性又不固定

4.结合工具

制作PPT、OCR识别、网页抓取

5.长期记忆、上下文检索

需要再milvus向量数据库检索相关向量记忆

阅读Building Effective AI Agents \ Anthropic

Anthropic

才知道Anthropic是openai的技术团队出走,如今是技术竞争对手,并且是claude的开发团队,我勒个豆。

1.宪法约束AI安全性

2.从RLHF到RLAIF(让ai生成反馈,ai自己对齐)

3.扩展思考:模型回答前进行内部推理

常见智能系统模式

1.提示链:每个llm调用处理

前一个的输出,链条式逐步解决,大任务每一步都轻松一些

2.路由:对输入进行分类,专门引导到负责处理后续的llm(复杂任务,不同类别处理方式)

3.并行化:a.分段拆分后合并完成b.多次运行一个任务得到多样化的输出

4.编排工作:1个LLM专门负责分配其他几个LLM各自干什么,拆解工作(适合无法预测子任务的复杂任务)

5.评估器-优化器 (1个llm调用生成,另一个在循环提供评估和反馈)在有明确评估标准,并且迭代优化会得到好处的时候

6.代理人:和环境进行交互

agent设计原则

1.简介 2.透明:展示规划步骤 3.详细的工具文档接口和测试

阅读A practical guide to building agents | OpenAI

代理设计核心组件

1.模型 2.工具 3.说明书(定义agent的行为方式)

1
2
3
4
5
weather_agent = Agent(
name = "weather agent",
instructions = "你是一个天气查询助手,可以根据天气给出意见",
tools = [get_weather],
)

工具

数据 行动 配件
获得执行工作需要的上下文、或者额外信息【数据库查询,网络搜索】 agent向数据库添加新的信息 作为其他代理的工具使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from agents import Agent, WebSearchTool, function_tool
import datetime

@function_tool
def save_results(output):
db.insert({
"output": output,
"timestamp": datetime.datetime.now(),
})
return "File saved"

search_agent = Agent(
name="Search agent",
instructions="Help the user search the internet and save results if asked.",
tools=[WebSearchTool(), save_results],
)