认识AI

153 阅读8分钟

LLM与Agent基础知识

LLM与Agent的概念

大型语言模型(LLM)

  • LLM是大型语言模型(Large Language Model)的缩写
  • 代表产品:Anthropic的Claude系列、OpenAI的GPT系列、Meta的Llama系列、百度的文心一言等

Agent(智能代理)

  • Agent是基于LLM构建的智能代理系统
  • Agent使用LLM作为核心推理引擎
  • 代表产品:豆包、Cursor、Claude Web等用户交互界面

LLM特性

  1. 无状态交互:大模型API调用没有会话保持能力,每次输入和返回都是独立的
  2. 输入限制:每次输入的文本有上下文窗口限制,超出上限的内容可能会被截断
  3. 计费方式:API调用通常按输入和输出token数量计算费用

Agent特性

  1. 上下文处理:对用户的输入,Agent会添加系统指令和上下文信息,一起发送给LLM处理
  2. 会话管理:Agent具有会话保持能力,能够以连续对话形式与用户交互,并采用多种上下文处理策略:
    • 上下文窗口管理:压缩、截取或删减超出LLM处理限制的历史对话
    • 主题切换检测:自动删除不相关的历史对话内容
    • 历史总结:定期压缩历史会话内容
    • 内容审核:对输入和输出内容进行敏感主题过滤
  3. 差异化:不同Agent产品的核心差异在于其上下文处理策略的效果

常见问题解答

如何判断AI回答是基于文献还是推理?

可以直接询问AI其结论的来源是基于特定文献还是通过推理得出。AI通常会坦诚说明其回答的依据。

AI回答问题的机制是什么?

AI回答问题时结合了两种方式:

  • 对于训练数据中已经学习过的内容,可以直接从"记忆"中提取
  • 对于未直接学习过的问题,则通过综合相关知识进行推理得出

AI会质疑用户提供的有问题上下文吗?

一般情况下,AI不会主动质疑用户提供的信息,而是尽力基于给定信息提供帮助。只有在遇到明显的:

  • 逻辑矛盾
  • 事实错误
  • 自相矛盾的内容 时,AI才可能在回答中指出或提示这些问题。

发给Agent一段代码,让他告诉你结果

当你发给AI一段代码,他是推理得出结果,并非执行得到结果。

Agent是如何解读web网页的

Agent本身不能读取web内容,是借助集成的web_search工具获取到网页内容,由第三方处理为格式化的内容再发给LLM。

Agent上下文处理策略

如果想设计一个Agent,对上下文处理应该考虑以下策略:

核心策略方向

1. 内容压缩与摘要
  • 动态摘要:随着对话进行,自动总结早期内容
  • 重要性加权:基于相关性保留关键信息,淡化次要内容
  • 语义聚类:将主题相似的对话片段合并处理
  • 信息层级化:区分核心事实、上下文背景和辅助信息
2. 记忆管理
  • 短期与长期记忆分离:类似人类记忆系统区分处理
  • 记忆激活机制:根据当前话题自动提取相关历史信息
  • 外部知识存储:将非即时必要信息转存至外部数据库
  • 衰减机制:随时间逐渐降低旧信息权重,除非被重新引用
3. 主题识别与切换
  • 对话边界检测:识别主题转换点
  • 上下文切片:按话题分段管理对话历史
  • 主题链接追踪:维护跨主题的关键信息连续性
  • 对话目标识别:区分闲聊与任务导向对话
4. 上下文窗口优化
  • 动态窗口调整:基于任务复杂度自动调整上下文窗口大小
  • 滑动窗口策略:保持最近交互的完整性,压缩远期内容
  • 分层上下文:近期历史完整保留,中期历史选择性保留,远期历史仅保留摘要
  • 任务相关过滤:针对特定任务过滤无关上下文
5. 错误恢复与纠正
  • 上下文矛盾检测:识别对话中的逻辑不一致
  • 自我修正机制:在检测到误解或错误时能够回溯修正
  • 澄清触发器:当上下文不足或模糊时主动请求澄清
  • 假设验证:对关键推断进行内部验证
6. 处理特殊内容
  • 代码与结构化数据保留:代码片段完整保存并特殊标记
  • 多模态内容处理:图像描述、链接内容等非文本元素的表示方法
  • 元数据保留:保存时间戳、来源等可能相关的元信息
  • 敏感信息管理:识别并适当处理个人或敏感数据
7. 个性化与适应性
  • 用户模型构建:学习用户偏好、知识水平和交互方式
  • 领域适应:根据对话领域调整上下文处理策略
  • 历史模式识别:学习用户历史交互模式以改进上下文管理
  • 反馈学习:从用户明确和隐含反馈中改进上下文处理

实现考虑因素

  • 计算效率:上下文处理需平衡准确性和资源消耗
  • 可解释性:用户应能理解为何某些内容被保留或省略
  • 交互透明度:提供上下文管理的可视化或控制选项
  • 隐私设计:明确上下文数据的存储、处理和删除政策

设计高效的上下文处理策略应该是Agent开发的核心关注点,它直接影响用户体验、系统性能和实用性。最佳策略通常是多种方法的组合,根据应用场景和用户需求进行定制。

上下文处理的技术实现

对上下文的总结与加权实现方式

上下文总结和加权通常是由Agent的代码逻辑实现的,而非依赖LLM的能力。这主要基于以下原因:

Agent代码逻辑实现的优势
  • 精确控制
    • Agent可以使用确定性算法决定保留什么内容
    • 可以设置明确的规则和阈值来控制上下文大小
    • 能够实现一致且可预测的上下文管理策略
  • 效率与成本
    • 在发送到LLM前预处理上下文可大幅减少token使用
    • 避免每次都将完整历史发送给LLM处理
    • 降低API调用成本和延迟
  • 专门化与定制
    • 可以为不同类型的对话实现不同的上下文策略
    • 能够根据具体应用需求优化上下文管理
    • 支持根据用户反馈和使用模式进行调整
常见的Agent实现方法
  • 硬编码规则
    • 简单规则如保留最近n条消息
    • 关键词和实体识别来标记重要内容
    • 基于模板的总结规则
  • 混合方法
    • 使用轻量级NLP算法计算语句重要性
    • 结合统计方法(如TF-IDF)和规则进行内容筛选
    • 周期性使用LLM进行更深层次的总结,但不在每次交互都执行
  • 使用LLM辅助但由Agent控制
    • Agent可能会定期使用LLM生成对话总结
    • 这些总结被存储并由Agent代码管理
    • Agent决定何时请求新总结,何时使用现有总结
LLM在上下文管理中的辅助角色

虽然主要由Agent代码控制,但LLM可能在以下方面提供辅助:

  • 周期性总结:每隔一定轮次请求LLM生成历史对话摘要
  • 主题边界识别:帮助检测对话主题何时发生实质性变化
  • 重要性评分:为历史消息提供重要性评分,供Agent算法参考
  • 元提示生成:帮助生成更有效的系统提示
最佳实践架构

高效的方案通常是一个分层架构:

  1. Agent代码层:控制上下文的选择、过滤和组织
  2. 辅助LLM层:定期生成高质量总结和分析
  3. 策略配置层:允许根据应用需求调整上下文策略

这种分层方法既保证了控制的精确性和效率,又利用了LLM的语言理解能力,在成本和性能之间取得平衡。

知识来源说明

以上回答是基于哪些知识推理得来的?

相关知识来源主要包括:

训练数据
  • 基础知识来自于训练过程中接触过的各类文本
  • 包括技术文档、学术论文、书籍、网站内容等
  • 这些数据截止到特定时间点(训练截止日期)
AI系统架构领域的一般知识
  • LLM和Agent系统设计的基本原理
  • 软件工程和系统架构的通用知识
  • NLP和人工智能领域的常见实践
推理与综合
  • 基于已有知识对问题的逻辑分析
  • 将不同领域的知识进行整合应用
  • 从一般原则推导出特定应用场景的解决方案

对于特定技术细节,无法引用具体来源文献,因为这些知识在训练过程中已经被整合、抽象化,并成为整体知识体系的一部分。

需要明确的是,AI模型不能访问训练后的新信息,也不能搜索互联网获取最新研究或技术发展,除非使用专门的搜索工具功能。