Agent技术
本文是我在研究 AI Agent 应用层技术 时的学习整理,涵盖存储、工具生态、提示词工程、上下文管理等关键模块,并绘制了技术地图,方便快速入门和扩展。
背景
在 AI 应用开发中,Agent 是一个能够自主感知、思考、行动的智能体。它不仅是一个模型调用接口,而是一个具备 任务规划、工具调用、上下文管理 能力的系统。 应用层的技术设计决定了一个 Agent 的可扩展性、可维护性和智能表现。
为了更好地系统化学习,我将相关技术拆分成几个核心模块,并总结成一张 技术地图。
- 发大水
- fdsaf
- 213213
- 23213
- fdsafds
- fdsa
Agent 应用层技术地图
1mindmap
2 root((Agent 应用层技术))
3 存储与持久化层
4 会话记忆
5 短期记忆
6 长期记忆
7 向量存储
8 FAISS
9 Milvus
10 Weaviate
11 Pinecone
12 持久化策略
13 数据压缩与归档
14 版本控制
15 混合检索
16 关键词 + 向量
17 工具生态系统
18 标准化接口
19 OpenAPI
20 JSON Schema
21 插件化系统
22 动态加载工具
23 权限控制
24 跨平台集成
25 API
26 数据库
27 云服务
28 工具市场
29 MCP
30 ChatGPT Plugins
31 工具执行与管理层
32 工具调度器
33 执行策略
34 并行
35 顺序
36 调用链路追踪
37 执行安全
38 沙箱
39 限流
40 提示词工程
41 提示结构
42 角色设定
43 思维链
44 Few-shot
45 动态提示构建
46 模板管理
47 自动优化
48 上下文技术
49 上下文裁剪
50 优先级策略
51 分块与检索
52 RAG
53 多模态上下文
54 上下文融合
55 消息压缩
56 摘要化
57 语义压缩
58 差分消息
59 混合压缩
60 多 Agent 协作
61 任务分解
62 协作协议
63 通信方式
64 任务规划与推理
65 ReAct
66 AutoGPT
67 计划执行器
68 监控与反馈
69 日志分析
70 用户反馈
71 策略调整
72核心模块解析
存储与持久化层
让 Agent 拥有“记忆”与“可回溯”能力。
会话记忆
短期记忆(上下文缓存,in-memory)
长期记忆(外部存储,例如 Redis、PostgreSQL、MongoDB)
持久化策略
数据压缩与归档(减少存储成本)
混合检索
关键词检索 + 向量检索
增量更新索引
工具生态系统
让 Agent 能调用外部 API、系统资源或其他 AI 工具。
标准化接口协议
OpenAPI、JSON Schema
LangChain Tools、LlamaIndex ToolSpec
插件化系统
动态加载工具(按需启用)
工具权限控制(防止越权)
工具市场与共享
MCP(Model Context Protocol)
ChatGPT Plugins / OpenAI MCP
工具执行与管理层
让 Agent 高效、可控地使用工具。
工具调度器(Tool Scheduler)
决定什么时候调用哪个工具
执行策略
并行执行 vs 顺序执行
超时与重试机制
工具调用链路追踪
日志与可观测性(Tracing)
调用依赖图(DAG)
执行安全
沙箱执行(防止恶意代码)
API 请求速率限制
提示词工程(Prompt Engineering)
优化输入输出,提高 Agent 的任务完成率和质量。
提示结构设计
角色设定(Role Prompt)
思维链(Chain-of-Thought)
Few-shot 示例
动态提示构建
根据上下文自动拼接 Prompt
Prompt 模板管理
版本化与可复用性
提示自动优化
RLHF、自动搜索最佳 Prompt
上下文技术(Context Management)
高效利用模型的上下文窗口,避免超长消息导致成本高或丢信息。
上下文裁剪与优先级
根据相关度选择保留内容
多模态上下文
文本、图片、音频、结构化数据
上下文融合
多来源数据合并成统一上下文
消息压缩(Message Compression)
在有限的上下文长度内,最大化保留信息。
摘要化(Summarization)
对历史消息进行摘要
语义压缩
向量化后用 ID 代替原文
差分消息
只存储变更部分
混合压缩
关键词保留 + 摘要
多 Agent 协作
任务分解与分配(Task Decomposition)
协作协议(Agent-Actor 模型)
通信方式(事件总线、消息队列)
任务规划与推理层(Reasoning & Planning)
ReAct(Reason + Act)模式
AutoGPT / BabyAGI 任务链
计划执行器(Planner/Executor)
技术实现方案
存储与持久化层
这里面的核心难点有 2 点。
- 1: 如何知道在人机对话中,要使用的是
长期记忆还是短期记忆。 - 2: 短期记忆和长期记忆如何进行转换。
短期记忆 vs 长期记忆的本质区别
短期记忆:存储当前会话或最近几轮对话的上下文,容量有限,通常保存在内存或高速缓存中。用于让模型“记住”当前对话状态,保证对话流畅和连贯。
长期记忆:存储用户的历史信息、偏好、常用指令、知识库内容等,可以跨会话调用,容量大,通常存数据库或专门的向量存储。
针对问题1:
- 代码写死判断逻辑
- 机器学习或分类器模型
提示词:
1你是一个智能助手,负责回答用户的问题。请结合下面提供的记忆内容给出回答。
2
3【短期记忆】(当前会话的相关上下文):
4{short_term_memory}
5
6【长期记忆】(用户的历史信息和偏好):
7{long_term_memory}
8
9【用户问题】:
10{user_question}
11
12请根据以上信息,理解用户的问题,给出详细且准确的回答。
13如果短期记忆和长期记忆有冲突,请优先参考短期记忆。
14如果记忆中没有相关信息,可以据实回答或提示用户补充。
15
16回答:针对问题2:
- 当用户会话超过一定阈值时候,对用户信息进行压缩并归入长期记忆。
工具生态系统
国内 OpenAI 的模型,如果我们只是用,我们就用OpenAI 的通信模型。如果我们要作为 ai 提供商,也要按照 OpenAi 的标准进行相应。【这就是标准吧】
1spring:
2 ai:
3 openai:
4 api-key: sk-cd56fbbaxxxxx405dc2ccde2a
5 # https://help.aliyun.com/zh/model-studio/embedding-interfaces-compatible-with-openai?spm=a2c4g.11186623.0.i1
6 embedding:
7 embeddings-path: /v1/embeddings
8 base-url: https://dashscope.aliyuncs.com/compatible-mode
9 options:
10 model: text-embedding-v1
11 chat:
12 options:
13 model: qwen-plus
14 logprobs: true
15 base-url: https://dashscope.aliyuncs.com/compatible-mode