Course 02: AI框架设计与选型
我们使用agent关于tool的定义格式,来定义我们自己的工具。AI会将你给它的tool=》写成一段文字,进行描述=>LLMreponse(告诉你,要不要调用这个工具,如果要调用某个工具,参数是什么)e.g.:Qwen-Agent参数定义:根据JSON结构,每种prompt设置各项的要求。
AI Agent的核心问题
LLM适配层(大脑)
1、LLM统一接口
Model Adapter(适配器模式)
=>抹平不同模型(OpenAI,DeepSeek,Qwen)的API差异,各框架的实现方式:
框架层做了一个中间层,把统一的指令(如invoke("你好"))翻译成特定模型的API调用。
2、Prompt管理
prompt类型:
system instruction、上下文、tool的调用(tool描述、参数、触发情景)、自定义prompt template
Prompt Engineering 工程化:
System Message的动态注入,将人设与上下文解耦:
LLM统一接口的作用:
·统一调用方式
·统一了参数配置(如temperature)
输出格式(统一转为Message对象)
工具注册与调度(执行)

tool的定义格式:
我们使用agent关于tool的定义格式,来定义我们自己的工具。AI会将你给它的tool=》写成一段文字,进行描述=>LLMreponse(告诉你,要不要调用这个工具,如果要调用某个工具,参数是什么)
e.g.:Qwen-Agent参数定义:根据JSON结构,每种prompt设置各项的要求

Thinking:LLM是如何看见工具的?
框架将Python函数的name、docstring(功能描述)和type hints (参数类型)转换成JSONSchema =>LLM;
LangChain:也就是@tool,主要是在使用Python原生特性,最符合直觉。
Qwen-Agent:@register_tool,使用显式定义强约束,适合复杂参数。
3、Context管理机制(记忆)
为什么需要进行Context管理?
LLM是无状态的,它记不住你说过什么Context Window(上下文窗口)是昂贵的资源。
=>有限注意力的管理。
短期记忆:
SessionID很重要,它是多用户并发的基础。
滑动窗口策略一一只保留最近N轮,防止Token爆炸。
长期记忆:
这是RAG的范畴,利用向量数据库进行相关性检索。
记忆系统的架构
1)短期记忆(Window)
对话历史截断
滑动窗口策略
壁免Token爆炸
2)长期记忆(RAG)
VectorStorelndex 向量索引
文档分块与Embedding ,相似度检索
控制流编排 (中枢,1)实现形式;2)选择一些tools还是workflow)

4、中枢的编排--控制流的模式

主流Agent框架
LangChain(LangGraph)全能型LLM应用框架
LCEL管道语法

LlamaIndex--私有化数据的最佳选择
1)LlamaIndex的设计哲学




2)ReAct Agent与工具集成

Qwen-Agent-轻量级的全能选手
指令跟随优化: Qwen-Agent是专门为Qwen模型(及其强大的Tool Calling能力)定制的。
它不如LangChain抽象,但跑得快。
Code Interpreter (沙箱):
这是它的杀手锏。不同于其他框架只调用外部API,Qwen-Agent内置了代码执行沙箱,允许LLM自己写Python代码来画图、做数据分析,自我修正错误。
适合什么场景:
想要快速搭建工具调用型或数据分析型Agent,且不想处理复杂抽象层的开发者。
利用Qwen-Agent的长文本优势是强项
AutoGen-多智能体框架
它的核心理念是让Agent之间通过自然语言对话来协作,而非硬编码的函数调用。


框架选型
从业务场景的角度,如何选择适合的Agent框架?
LangChain:如果你要开发通用的AI应用,需要灵活控制流程,或者需要切换多种模型;
Llamalndex:如果你主要做RAG(企业知识库),手里有一堆PDF/Word/Excel要处理。
Qwen-Agent:如果你主要用Qwen,需要做数据分析(Code Interpreter)或处理超长文档(1MContext)型,
AutoGen:如果任务太复杂,一个人(Agent)干不完,需要团队(多角色)协作才能出结果。

CASE:多文件智能问答Agent

Step1,先从 files里面找到相关的知识 chunks
Step2,system prompt+ chunks + tools说明=>LLM进行推理
Q&A
A:RAG知i识库,langchain, llamaindex,qwen-agent
Q:ai agent自主规划,是不是我们自己写tools函数,不用编排流程,agent根据任务自己规划流程?
A:ReAct:走一步看一步planning:提前规划好要做的所有步骤
Q:多agent协同,agent边界是什么?以前的投顾助手,是不是也可以每个节点都设计成一个agent?
A:看成不同“人”,agent看做是人的JD
Q:企业中的实际项目的常规操作步骤
A:数据处理:80%时间
技术难度,针对你出现的特殊情况,该如何处理 项目工程:
1)定义测试数据集,50个问题,包括参考答案,评分规则
2)套用框架=》跑出来结果
3)测试,openeval
Q:llamaindex的检索跟es的检索区别?
A:es数据库,存储和检索信息
Ilamaindex帮你调用数据库,faiss
Q: qwen-agen,短期记忆没有sessionlD,怎么管理不同会话
A:qwen-agent 可以当成服务商,你可以利用fastapi,flask做后端,自己管理sessionlD,然后调用qwen-agent
GUI的页面可以自定义?直接部署到服务器上?
webui 可以修改;基于gradio vue更好看一些
Q:哪个agent能支持多级嵌套目录作为知识库?
A:现在的向量数据库,一般存储关系是扁平的,meta设置元数据
Q:liamaindex和qianwenagent解析文档的能力怎么样?有自己专门做处理的比如用mineru解析中文pdf 切片之后再给这两个框架?
A:liamaindex和qianwenagent原理都是框架+tools,mineru比较合适
Q:agent的工具调用策略,一个问题可能涉及到好几个工具串联或并行处理,如果构建工具链,多工具组合搭配策略是什么样的?
A:agent自主安排,我们只需要提供tool即可如果我们想要干预,写在提示词中
Q:智能OA怎么搞?将公司所有的系统集成,所有的操作记录被记录,使其能执行一些智能提醒类或者报表类操作A:Agent:灵活选Agent,让Agent帮你干活,你需要配置tool即可Workflow:
更多推荐

所有评论(0)