面向软件工程师的生成式AI学习大纲

面向软件工程师的生成式AI学习大纲

随着AI大模型的出现,生成式AI已经成为了科技界的新宠,无论是AI绘画、AI写作、AI编程、AI音乐、AI视频,还是AI对话,都离不开生成式AI。中国甚至提出了“AI+”战略,将AI与各行各业相结合,以实现产业升级和转型。就在最近中国教育部办公厅通知,将加强中小学人工智能教育,将AI教育纳入中小学课程体系,并鼓励学生学习AI相关知识。

在AI如此火热的背景下,软件工程师们其实处在学习和使用AI的前线,可以预见的是,未来所有的传统软件将被基于AI的软件所取代,软件工程师们将面临前所未有的挑战和机遇。因此,软件工程师们需要学习AI相关知识,以适应未来的发展。

最近每当和身边的同事聊起AI时,他们都会问我,作为一个软件工程师,应该如何学习AI?应该学习哪些知识?方向在哪里?

是啊,这其实也是我自己一直在思考的问题。

很庆幸,我本科学习数学和应用数学,研究生的时候很庆幸阴差阳错学习了人工智能方向。其实相比其他人,我有更好的数学基础,这成为我后来学习AI的一大优势。可惜15年前遇到经济危机,当时AI还处于早期阶段,考虑到现实情况,选择了软件开发。

不过由于一直对AI非常感兴趣,所以这些年一直都在关注AI的发展,也一直在学习AI相关的知识。通过这些年的积累,作为软件工程师我积累了很多软件开发和架构的经验,同时我也具有良好的AI基础和背景。我觉得这是我职业生涯的有一个转折点。AI的浪潮给了我新的机遇。

所以,我决定站在软件工程师的视角,将我这些年学习AI的经验和知识整理成一个学习大纲,分享给所有对AI感兴趣的软件工程师们。

大纲将主要分为四个部分:

  • 基础知识:AI与生成式AI概述、机器学习基础及理论、神经网络基础
  • 大语言模型(LLM):什么是大语言模型、Transformer架构、预训练与微调、注意力机制、大语言模型的训练
  • 生成式AI应用:Prompt Engineering、RAG (Retrieval-Augmented Generation)、AI Agent、文本生成应用、多模态生成
  • 工程实践:常用的提示词模板、平台及工具、大语言模型类型、图像生成模型、音乐生成模型。

大家可以持续关注我的博客,我会持续更新这部分内容。并且收集相关的学习资料,分享给大家。

第一部分:基础知识

基础知识部分主要介绍AI与生成式AI的基本概念、机器学习基础及理论、神经网络基础等,这部分内容涉及基础算法、理论及架构等,需要有良好的数学基础。不过这部分如果能够坚持啃下来的话,一定会对AI有更深刻的理解。不过大部分人可以主要关注机器学习基础及理论、神经网络基本原理部分,因为这部分内容是生成式AI的基础,帮助你能够更好的理解大语言模型。

AI与生成式AI概述

人工智能基本概念

人工智能(AI)是指通过计算机系统模拟人类智能的能力,使其能够执行通常需要人类智慧的任务。以下是人工智能的一些基本概念:

  1. 机器学习(Machine Learning)

    • 机器学习是AI的核心领域之一,它使计算机能够通过数据学习和改进,而无需显式编程。常见的机器学习方法包括监督学习、无监督学习和强化学习。
  2. 深度学习(Deep Learning)

    • 深度学习是机器学习的一个子领域,使用多层神经网络(深度神经网络)来处理复杂的数据。它在图像识别、自然语言处理等领域表现出色。
  3. 自然语言处理(Natural Language Processing, NLP)

    • NLP使计算机能够理解、解释和生成人类语言。应用包括语音识别、机器翻译、情感分析等。
  4. 计算机视觉(Computer Vision)

    • 计算机视觉使机器能够“看”和理解图像或视频内容。应用包括图像分类、物体检测、人脸识别等。
  5. 专家系统(Expert Systems)

    • 专家系统是基于规则的系统,模拟人类专家的决策过程。它们通常用于诊断、规划和预测等任务。
  6. 强化学习(Reinforcement Learning)

    • 强化学习是一种通过试错来学习的方法,系统通过奖励和惩罚来优化行为。它在游戏、机器人控制等领域有广泛应用。
  7. 知识表示与推理(Knowledge Representation and Reasoning)

    • 这是AI中关于如何表示知识和进行逻辑推理的领域。它包括使用逻辑、语义网络、本体论等方法来存储和处理知识。
  8. 机器人学(Robotics)

    • 机器人学结合了AI和工程学,研究如何设计和制造能够执行复杂任务的机器人。
  9. 认知计算(Cognitive Computing)

    • 认知计算旨在模拟人类的思维过程,使计算机能够解决复杂问题,理解自然语言,并从经验中学习。
  10. 人工智能伦理(AI Ethics)

    • 随着AI技术的发展,伦理问题变得越来越重要。这包括隐私、偏见、透明度和责任等问题。
  11. 通用人工智能(Artificial General Intelligence, AGI)

    • AGI是指具有与人类相当或超过人类智能水平的AI系统,能够执行任何智力任务。目前,AGI仍处于理论阶段。
  12. 弱人工智能(Narrow AI)

    • 弱人工智能是指专门设计用于执行特定任务的AI系统,如语音助手或推荐系统。它们不具备通用智能。

生成式AI

生成式人工智能(Generative AI)是一种能够生成内容(如文本、图像、音频、视频、代码等)的人工智能技术。它的核心技术包括深度学习、神经网络、生成对抗网络(GANs)、变分自编码器(VAEs)以及大型语言模型(LLMs)等。最典型的例子包括OpenAI的ChatGPT、DALL·E、Stable Diffusion等,它们可以基于用户的输入生成新的、类似人类创造的内容。

生成式AI与传统AI的主要区别
对比维度生成式AI传统AI
核心任务生成新内容(文本、图像、音频等)识别、分类、预测、回归
数据处理通过模式学习生成新数据主要用于分析已有数据
模型类型主要使用深度神经网络(如Transformer、GAN、VAE)主要使用决策树、随机森林、SVM、深度学习(如CNN、RNN)
示例应用ChatGPT(文本生成)、DALL·E(图像生成)、MusicLM(音乐生成)语音识别(Siri)、人脸识别、异常检测、推荐系统
主要优势能够创造新颖内容,提高生产力高效处理结构化任务,如分类、回归、检测
训练方式需要大量数据进行无监督/自监督学习监督学习、强化学习居多
1. 传统AI的特点
  • 主要用于模式识别预测,比如人脸识别、垃圾邮件过滤、语音识别、机器翻译等。
  • 依赖于明确的规则结构化数据,如医疗诊断、金融风险预测等。
  • 分类(classification)、回归(regression)、聚类(clustering)等任务为主。
2. 生成式AI的特点
  • 主要用于内容创作,如生成对话、绘画、写作、代码等。
  • 采用深度学习和大规模预训练,能够理解复杂语境并创造新数据。
  • 适用于文本补全、代码生成、图像生成、数据增强等任务。

传统AI更擅长结构化任务,如预测、分类、检测,而生成式AI则擅长创造,它可以自动生成高质量内容,提高生产力和创新能力。未来,二者可以结合,形成更智能的AI系统,如生成增强的搜索(RAG)、智能决策系统等。

专家系统

专家系统是早期人工智能的一个重要分支,它可以看作是一类具有专门知识和经验的计算机智能程序系统,一般采用人工智能中的知识表示和知识推理技术来模拟通常由领域专家才能解决的复杂问题。

一般来说,专家系统=知识库+推理机,因此专家系统也被称为基于知识的系统。一个专家系统必须具备三要素:

  1. 领域专家级知识
  2. 模拟专家思维
  3. 达到专家级的水准

以上定义引用自维基百科:https://zh.wikipedia.org/wiki/%E4%B8%93%E5%AE%B6%E7%B3%BB%E7%BB%9F

专家系统(Expert System)主要由以下核心组件组成:

  1. 知识库(Knowledge Base):存储领域专家的知识,包括事实、规则和启发式经验。
  2. 推理机(Inference Engine):应用知识库中的规则,通过逻辑推理(如前向推理或后向推理)来得出结论。
  3. 用户接口(User Interface):用户与系统交互的界面,输入问题并接收系统的决策或建议。

特点

  • 专注于特定领域(如医学诊断、财务分析、设备故障排查)。
  • 规则驱动(基于 if-then 规则进行推理)。
  • 可解释性强(可以解释其推理过程)。

应用领域

  • 医学(如 MYCIN 诊断细菌感染)。
  • 工程(如 XCON 进行计算机系统配置)。
  • 金融(如信用评估、投资分析)。

尽管专家系统在某些领域表现良好,但它们依赖于人工知识构建,难以适应复杂和动态环境。

AI大模型的出现,给专家系统带来了新的发展方向

AI大模型(如GPT、Gemini,deepseek等)出现后,专家系统的发展方向主要体现在以下几个方面:

1. 结合大模型提升知识获取和推理能力

传统专家系统依赖人工构建知识库和规则,维护成本高、扩展性差。大模型可以通过自然语言处理(NLP)自动提取知识,并结合专家系统的规则推理,形成更强大的智能系统。例如:

  • 用大模型进行知识挖掘,自动更新专家系统的知识库。
  • 结合专家系统的推理能力,使大模型的输出更可解释、更可信。

2. 从基于规则的推理向混合推理发展

专家系统原本依赖符号推理(Symbolic Reasoning),而大模型则更擅长神经推理(Neural Reasoning)。未来,专家系统可能采用神经符号混合推理(Neuro-Symbolic AI),结合两者的优势,例如:

  • 神经网络学习隐含知识,专家系统进行可解释推理,增强AI决策的透明度。
  • 专家系统补充大模型的可控性,解决大模型幻觉(Hallucination)问题。

3. 领域专家系统与大模型的个性化融合

大模型的知识广而不深,而专家系统则擅长某个具体领域。未来的发展方向包括:

  • 基于大模型的专家系统定制化,训练小型、领域专用的专家模型,如法律、医疗、金融等。
  • 大模型充当专家系统的认知层,帮助用户更自然地查询和使用专家系统。

4. 低代码/自然语言开发专家系统

过去专家系统需要手工编写规则,而大模型可以通过自然语言描述生成规则,大大降低开发成本。例如:

  • 让专家用自然语言描述规则,大模型自动转换为可执行的专家系统逻辑。
  • 结合大模型的代码生成能力,自动优化和扩展专家系统。

5. 以知识图谱增强专家系统与大模型的结合

知识图谱(Knowledge Graph)能结构化存储知识,而大模型善于理解非结构化数据。两者结合后,专家系统可以:

  • 基于知识图谱查询和推理,提升可解释性和准确性。
  • 利用大模型进行知识补全,填补知识库中的空白。

专家系统未来的发展趋势是与AI大模型深度融合,从传统的基于规则的系统进化为神经符号混合推理系统,并借助知识图谱自然语言交互个性化定制等技术,使其更智能、更易用、更可解释。

搜索算法

AI 搜索算法主要用于在问题空间中寻找最优解或可行解,广泛应用于路径规划、博弈、专家系统、自动推理等领域。以下是主要的 AI 搜索算法分类及其特点:


1. 盲目搜索(无信息搜索,Uninformed Search)

不利用任何问题领域的启发信息,仅靠遍历搜索空间来寻找解。

深度优先搜索(DFS, Depth-First Search)

  • 策略:优先扩展当前路径的最深节点,使用栈(LIFO)。
  • 优点:内存占用小(只存储路径上的节点)。
  • 缺点:可能陷入死循环,且不一定找到最优解。
  • 应用:迷宫求解、图遍历。

广度优先搜索(BFS, Breadth-First Search)

  • 策略:优先扩展最浅层的节点,使用队列(FIFO)。
  • 优点:保证找到最优解(如果代价相同)。
  • 缺点:占用大量内存(需要存储所有节点)。
  • 应用:最短路径求解、社交网络分析。

迭代加深深度优先搜索(IDDFS, Iterative Deepening DFS)

  • 策略:结合 DFS 和 BFS,逐步加深搜索深度,避免陷入死循环。
  • 优点:节省内存,同时能找到最优解(用于均匀代价问题)。
  • 应用:经典的求解八数码问题(8-Puzzle)。
2. 启发式搜索(Heuristic Search)

利用问题的启发式信息来减少搜索空间,提高搜索效率。

贪心最佳优先搜索(Greedy Best-First Search)

  • 策略:使用启发式函数 ( h(n) ) 选择最有希望的节点。
  • 优点:比无信息搜索快,适用于特定问题。
  • 缺点:可能陷入局部最优,无法保证最优解。
  • 应用:机器人路径规划(如 Dijkstra 算法的变种)。

*A 搜索算法**

  • 策略:结合代价函数 ( g(n) )(起点到当前节点的代价)和启发式函数 ( h(n) )(当前节点到目标的估计代价),计算总估值:
    [
    f(n) = g(n) + h(n)
    ]
  • 优点:保证找到最优解(如果 ( h(n) ) 是可采纳的,即不高估真实代价)。
  • 缺点:计算代价大,需要维护大量节点信息。
  • 应用:地图导航(如 Google Maps)、游戏 AI(如寻路)。

*IDA(迭代加深 A,Iterative Deepening A)**

  • 策略:类似 IDDFS,但使用 A* 进行剪枝搜索,设定动态阈值。
  • 优点:减少 A* 的内存占用,但仍能找到最优解。
  • 应用:大规模搜索问题(如 15-数码问题)。
3. 对抗搜索(博弈搜索,Adversarial Search)

适用于双人博弈(如国际象棋、围棋),其中 AI 需要考虑对手的最优策略。

Minimax 算法(极大极小算法)

  • 策略:假设对手会采取最优策略,计算最大化自己得分的策略。
  • 优点:适用于完美信息博弈(如国际象棋)。
  • 缺点:搜索空间巨大,计算量大。
  • 应用:棋类 AI(如 AlphaZero)。

Alpha-Beta 剪枝

  • 策略:在 Minimax 计算过程中剪枝,跳过明显不可能影响最终决策的分支。
  • 优点:大幅减少计算量,提高搜索效率。
  • 应用:国际象棋、围棋 AI。
4. 进化搜索(Evolutionary Search)

模拟自然进化过程,通过遗传变异寻找最优解。

遗传算法(GA, Genetic Algorithm)

  • 策略:使用选择(Selection)、交叉(Crossover)、变异(Mutation)操作优化解。
  • 优点:适用于高维、非连续优化问题。
  • 缺点:计算量大,可能收敛到局部最优。
  • 应用:自动参数优化、神经网络架构搜索(NAS)。
5. 局部搜索(Local Search)

适用于大规模问题,使用局部优化策略。

爬山算法(Hill Climbing)

  • 策略:每次选择当前最优解的邻居节点,如果没有更优解就停止。
  • 优点:计算效率高,适用于简单优化问题。
  • 缺点:容易陷入局部最优。
  • 应用:TSP(旅行商问题)、神经网络参数优化。

模拟退火(Simulated Annealing, SA)

  • 策略:在搜索过程中引入随机扰动,允许接受较差的解以跳出局部最优。
  • 优点:可以避免局部最优,找到全局最优解。
  • 应用:任务调度、物流优化。
类别代表算法适用场景优缺点
无信息搜索DFS, BFS, IDDFS图遍历、迷宫解法适用于小规模问题,缺乏优化能力
启发式搜索A*, 贪心算法路径规划、导航结合启发式信息,效率高,但需设计合适的 ( h(n) )
对抗搜索Minimax, Alpha-Beta博弈 AI(象棋、围棋)适用于双人游戏,但计算量大
进化搜索遗传算法复杂优化问题适用于非线性问题,但计算量大
局部搜索爬山、模拟退火组合优化适用于大规模问题,可能陷入局部最优

AI 搜索算法的发展方向包括:

  1. 强化学习结合搜索(如 AlphaGo 使用 MCTS + 深度学习)。
  2. 神经符号混合搜索(结合神经网络与经典搜索优化)。
  3. 并行计算加速搜索(如 GPU 加速 A*)。

搜索算法仍然是 AI 领域的核心技术之一,在自动驾驶、机器人、智能决策等场景中发挥重要作用。

机器学习基础及理论

  • 机器学习基础理论
  • 模式识别和模式分类
    • 模式分类的基本原理
      • 决策理论
      • 分类器的作用
      • 模式识别的基本过程
    • 特征提取和选择
      • 特征提取
        • 特征空间的构建
        • 特征的表示与编码
        • 特征提取技术
          • 主成分分析
      • 特征选择
        • 特征重要性的评估方法
        • 特征选择算法
    • 分类方法
      • 统计分类
        • 贝叶斯分类器
        • Fisher线性判别分析(LDA)
        • 支持向量机(SVM)
      • 距离度量与非参数方法
        • 最近邻分类器(k-NN)
        • 距离度量(欧氏距离、曼哈顿距离、余弦相似度等)
    • 聚类与无监督学习
      • 聚类
        • k-Means聚类
        • 层次聚类
        • DBSCAN聚类
      • 无监督学习
        • 主成分分析(PCA
        • 自编码器(AutoEncoder)
        • 独立成分分析(ICA)
        • 隐变量模型
        • 非负矩阵分解(NMF)
    • 评估与优化
      • 评估指标
        • 准确率、召回率、F1值
        • ROC曲线、AUC值
      • 交叉验证
      • 超参数调优
        • 网格搜索
        • 随机搜索
        • 贝叶斯优化
        • 模型正则化技术(L1/L2正则化)
    • 贝叶斯方法与概率模型
      • 贝叶斯方法
        • 贝叶斯定理
        • 贝叶斯网络
      • 概率模型
        • 隐马尔可夫模型(HMM)
        • 高斯混合模型(GMM)
    • 异常检测与异常分类
    • 多模态模式识别
    • 图像识别
  • 机器学习基础算法
    • 决策树
    • 贝叶斯网络
    • 回归分析
    • 支持向量机
    • K近邻算法
    • 遗传算法
    • 集成学习
      • Bagging方法(如随机森林)
      • Boosting方法(如AdaBoost、XGBoost)

神经网络基础

  • 神经网络基本原理

    • 模拟生物神经系统的计算模型
    • 神经元模型
      • 神经元
      • 权重
      • 偏置
      • 激活函数
      • 损失函数
    • 神经网络的层次结构
      • 输入层
      • 隐藏层
      • 输出层
    • 常见激活函数
      • Sigmoid
      • Tanh
      • ReLU(Rectified Linear Unit)
      • Leaky ReLU
      • Softmax
    • 损失函数
      • 均方误差(MSE)
      • 交叉熵损失函数
  • 神经网络训练

    • 前向传播
    • 反向传播
    • 优化算法
      • 梯度下降
      • 随机梯度下降
      • Adam
      • RMSprop
      • Adagrad
      • Momentum
  • 正则化

    • L1正则化
    • L2正则化
    • Dropout
    • Batch Normalization
  • 深度学习

    • 前馈神经网络(Feedforward Neural Network, FNN)
    • 卷积神经网络(Convolutional Neural Network, CNN)
    • 循环神经网络(Recurrent Neural Network, RNN)
    • 自编码器(Autoencoder)
    • 生成对抗网络(Generative Adversarial Network, GAN)
    • 图神经网络(Graph Neural Network, GNN)
    • 注意力模型(Attention Mechanism
    • 深度强化学习模型

第二部分:大语言模型(LLM)

这部分的内容主要介绍大语言模型的基本概念、架构、预训练与微调、注意力机制等,这部分内容是生成式AI的核心理论,可以指导你如何设计和构建大语言模型。同时也可以教你如何训练大语言模型,以及如何部署大语言模型。

结合软件工程师在软件开发和部署方面的经验,推荐软件工程师可以重点关注搭语言模型的微调,部署,API服务等方面的技术。同时我个人觉得LLM OPs是一个很好的方向,可以结合软件工程师的开发经验,开发相应的工具和平台,加速大语言模型的创新,开发和部署。

什么是大语言模型

  • 基于深度学习的自然语言处理模型
  • 能够生成、理解和操作自然语言
  • 典型模型:GPT(OpenAI)、BERT(Google)、LLaMA(Meta)

Transformer架构

  • 基础构件:多头注意力机制、前馈网络、位置编码
  • 关键优点:并行处理长序列数据
  • 变体:BERT、GPT、T5等

预训练与微调

  • 预训练:在大规模语料库上训练语言模型
  • 微调:针对特定任务的优化
  • 自监督学习:掩码语言模型(MLM)、因果语言模型(CLM)

注意力机制

  • 点积注意力(Scaled Dot-Product Attention)
  • 自注意力与全局依赖建模
  • 多头注意力的效果与优化

大语言模型的训练

训练数据

  • 数据来源:文本语料库、网页爬取内容、对话记录
  • 数据清洗与标注
  • 数据增强技术

训练策略

  • 监督学习:使用标注数据训练
  • 半监督学习:结合标注和非标注数据
  • 强化学习:如使用奖励模型优化(RLHF, 人类反馈强化学习)

模型训练资源

  • 大规模分布式计算
  • GPU/TPU硬件加速
  • 并行与分布式训练技术(如数据并行、模型并行)

大模型的部署和维护

  • 本地部署
  • 云端分布式部署
  • API 及服务

第三部分:生成式AI应用

生成式AI应用部分主要涉及开发基于大语言模型应用的基础理论和技术,通过这些技术,使得你有能力开发和构建基于大语言模型的应用。我推荐软件工程师们可以重点关注这部分内容涉及的技术和理论以及相关的工具。相比transformer及深度学习相关的基础理论和算法,这部分内容更偏向于应用和实践。由于软件工程师们有良好的软件开发基础,所以这部分内容更容易上手。

Prompt Engineering

  • 什么是提示词工程
  • 提示词的基本结构
  • 提示词工程技术分类
    • zero shot
    • few shot
    • chain of thought
    • React prompt
    • tree of thought
    • prompt chain
    • Reflexion
    • Self-Consistency

RAG (Retrieval-Augmented Generation)

  • RAG模型架构
    • 检索
    • 生成
  • 向量数据库
  • 知识库
  • RAG应用
    • 问答系统
    • 智能客服
    • 文本生成
    • 代码生成
    • 多模态生成
  • RAG 编程框架
    • langchain
    • llamaindex

      AI Agent

  • Agent架构模式
    • Agent 基本架构
    • 工具
    • 任务规划
    • 多Agent协作
    • 记忆与知识库
    • Agent评估方法
  • 多Agent体
  • Agent 编程框架
    • langchain
    • autogen
    • openAI

文本生成应用

  • 对话系统
  • 文本摘要
  • 代码生成
    • Code Pilot
    • Code Agent
  • 创意写作
  • 多语言翻译

多模态生成

  • 文本到图像生成
  • 图像到文本描述
  • 视频生成
  • 音频生成
  • 跨模态转换
  • OCR与语音识别

第四部分:工程实践

常用的提示词模板

平台及工具

智能体低代码

  • COZE
  • DIFY

AI 编程助手

  • Github Copilot
  • Cursor
  • Codeium
    • Windsurf

图像及视频生成

  • Madejourney
  • Stable Diffusion
  • Civitai
  • Flux

音乐生成

  • suno
  • udio

大语言模型

  • OpenAI models
    • GPT4
    • GPT4o
  • Claude models
    • claude 3.5
  • Google models
    • Gemini 1.5
  • Aliyun
    • qianwen 2.5
  • Deepseek
    • deepseek 2.5
  • Llama models
    • llama 3.1
    • llama 3.2
  • Mixtral
    • mixtral

多模态

图像生成模型

  • DALL-E
  • Stable diffusion models
  • Flux models

音乐生成模型

语音识别

数字人

AI 工具集
参考链接: Generative AI Handbook

提示词工程-零样本提示词

零样本提示词

什么是零样本提示词

零样本提示词,顾名思义就是在人和大模型之间交互时,提示词中可以不使用任何样例,大模型只根据提示词中的指示以及预训练的固有知识生成内容或回答问题。

零样本提示词可以是一句话,一个问题,或者一条指令,但是如果期望大模型生成准确有效的信息,零样本提示词也需要遵循一定的结构,具体的信息可以参考另一篇文章:高效提示词的基本结构

假设你想使用一个语言模型来判断一段文本的情感是积极、消极还是中性。你可以向模型提出这样的问题:

“请对这段文本进行情感分类:‘我在海滩度过了一个很棒的一天!’它是积极的、消极的还是中性的?”

指令微调已经被证明可以提高零样本学习的效果(Wei et al., 2022)。指令微调本质上是指在通过指令描述的数据集上对模型进行微调。此外,RLHF(从人类反馈中进行强化学习)已被用于扩展指令微调,其中模型被调整以更好地符合人类偏好。这种最近的发展推动了像ChatGPT这样的模型的出现。我们将在接下来的章节中讨论所有这些方法。

当零样本不起作用时,建议在提示中提供演示或示例,这就是所谓的少样本提示。

零样本提示词的优缺点

优点:零样本提示在需要快速回答而无需准备示例时非常有用。它还有助于测试模型的一般语言理解能力。

缺点:与少样本或微调模型相比,零样本提示的准确度可能较低,尤其对于复杂任务或与训练数据差异很大的任务。

参考文章

Zero-shot and Few-shot prompting in LLMs
zeroshot
zeroshot prompting

什么是AI智能体?

LLM 智能体

考虑一个旨在帮助金融分析师回答关于公司绩效的问题的大型语言模型(LLM)应用程序。通过一个设计良好的检索增强生成(RAG)管道,分析师可以回答类似于:“X公司2022财年的总收入是多少?”这样的问题。这些信息可以由经验丰富的分析师轻松地从财务报表中提取。

现在考虑一个问题,比如,“从2023财年第二季度的盈利电话会议中得出的三个要点是什么?重点关注公司正在构建的技术壁垒”。这是金融分析师想要回答以纳入其报告中的类型问题,但需要投入时间来回答。

我们如何开发一个解决方案来回答类似上述问题?很明显,这种信息需要更多的工作,而不仅仅是从盈利电话会议中查找。这种查询需要计划、定制焦点、记忆、使用不同工具,并将一个复杂问题分解为更简单的子部分。这些概念组合在一起基本上就是我们所谓的LLM智能体。

在这篇文章中,我介绍了由LLM提供动力的智能体,并讨论了智能体是什么以及企业应用的一些用例。有关更多信息,请参阅构建您的第一个智能体应用程序。在那篇文章中,我提供了一个生态系统概述,涵盖了构建AI智能体的可用框架以及一个入门指南,供任何尝试使用问答(Q&A)智能体的人使用。

什么是LLM智能体

虽然没有一个被广泛接受的LLM智能体的定义,但它们可以被描述为一个系统,可以使用LLM来推理问题,创建解决问题的计划,并在一组工具的帮助下执行计划。

简而言之,智能体是一个具有复杂推理能力、记忆和执行任务手段的系统。

这种能力最初是在项目中观察到的,比如AutoGPT或BabyAGI,在这些项目中,复杂的问题得到了解决,几乎没有干预。为了更详细地描述智能体,这里是一个LLM智能体应用程序的一般架构示意图(图1)。

一个智能体由以下关键组件组成(稍后会详细介绍):

  • 智能体核心
  • 记忆模块
  • 工具
  • 规划模块

智能体核心模块

智能体核心是管理智能体的核心逻辑和行为特征的中央协调模块。可以将其视为智能体的“关键决策模块”。在这里我们也定义了:

  • 智能体的总体目标:包含智能体的总体目标和目标。
  • 执行工具:基本上是智能体可以访问的所有工具的简要列表或“用户手册”。
  • 如何利用不同的规划模块:关于不同规划模块的效用以及在何种情况下使用哪个的详细说明。
  • 相关记忆:这是一个动态部分,在推理时填充与用户过去对话中最相关的记忆项。 “相关性”是根据用户提出的问题确定的。
  • 智能体的角色(可选):此角色描述通常用于偏好使用某些类型的工具或在智能体的最终响应中赋予典型的特殊性。

智能体的记忆模块

记忆模块在AI智能体中扮演着至关重要的角色。记忆模块基本上可以被看作是智能体的内部日志以及与用户的互动的存储库。

记忆模块有两种类型:

  • 短期记忆:智能体经历的行动和思考的记录,试图回答用户的单个问题:智能体的“思维线索”。
  • 长期记忆:关于用户和智能体之间发生的事件的行动和思考的记录。它是一个日志簿,包含了跨越数周或数月的对话历史。

记忆不仅需要基于语义相似性的检索。通常,复合分数由语义相似性、重要性、最近性和其他特定于应用程序的指标组成。它用于检索特定信息。

工具集

工具是经过明确定义的可执行工作流程,智能体可以使用它们来执行任务。通常情况下,它们可以被看作是专门的第三方API。

例如,智能体可以使用RAG管道生成上下文感知答案,使用代码解释器解决复杂的编程任务,使用API在互联网上搜索信息,甚至可以使用任何简单的API服务,比如天气API或即时消息应用程序的API。

规划模块

复杂问题,比如分析一组财务报告以回答一个分层业务问题,通常需要细致入微的方法。借助LLM动力智能体,可以通过以下两种技术的组合来处理这种复杂性:

  • 任务和问题分解
  • 反思或评论

问题分解

复合问题或推断信息需要某种形式的分解。举个例子,问题是:“NVIDIA最近的盈利电话会议中有哪三个要点?”

回答这个问题所需的信息不能直接从一个小时的会议记录中提取出来。然而,这个问题可以分解成多个问题主题:

  • “哪些技术转变被讨论得最多?”
  • “是否存在任何业务阻力?”
  • “财务结果如何?”

每个问题都可以进一步分解成子部分。也就是说,一个专业的AI智能体必须引导这种分解过程。

反思和评论

诸如ReAct、Reflexion、Chain of Thought和Graph of Thought之类的技术已经被用作基于评论或证据的提示框架。它们被广泛应用于改进LLM的推理能力和响应。这些技术也可以用于优化智能体生成的执行计划。

企业应用智能体

虽然智能体的应用几乎是无限的,但以下是一些可能对许多企业产生巨大影响的有趣案例:

  • “与您的数据交流”的智能体
  • 智能体群
  • 推荐和体验设计智能体
  • 定制的AI作者智能体
  • 多模式智能体

“与您的数据交流”的智能体

“与您的数据交流”并不是一个简单的问题。有很多挑战是一个直接的RAG管道无法解决的:

  • 源文档的语义相似性
  • 复杂的数据结构,比如表格
  • 缺乏明显的上下文(并非每个块都包含其来源的标记)
  • 用户提出的问题的复杂性

…等等

例如,回到之前的盈利电话会议记录示例(2023年第三季度 | 2024年第一季度)。你如何回答这个问题:“数据中心收入在2023年第三季度和2024年第一季度之间增长了多少?”为了回答这个问题,你基本上必须分别回答三个问题(即,我们需要一个规划模块):

  • 2023年第三季度数据中心收入是多少?
  • 2024年第一季度数据中心收入是多少?
  • 这两者之间有什么区别?

在这种情况下,你需要一个智能体,该智能体可以访问一个进行问题分解的规划模块(生成子问题并搜索答案,直到解决更大的问题),一个RAG管道(用作工具)来检索特定信息,以及记忆模块来准确处理子问题。在“LLM动力智能体:构建您的第一个智能体应用程序”一文中,我详细介绍了这种类型的案例。

智能体群

一群智能体可以被理解为一组智能体共同努力在单一环境中共存,并能相互合作解决问题。分散式的智能体生态系统非常类似于多个“智能”微服务协同解决问题。

像生成式智能体和ChatDev这样的多智能体环境在社区中非常受欢迎(图3)。为什么呢?像ChatDev这样的框架使您能够建立一个工程师、设计师、产品管理、首席执行官和智能体的团队,以低成本构建基本软件。像Brick Breaker或Flappy Bird这样的热门游戏甚至可以以50美分的低价进行原型设计!

通过一群智能体,您可以为数字公司、社区甚至整个城镇创建人口,用于行为模拟经济研究、企业营销活动、物理基础设施的用户体验等应用。

这些应用目前无法在没有大型语言模型的情况下进行模拟,并且在现实世界中运行非常昂贵。

推荐和体验设计的智能体

互联网运作依赖于推荐。由智能体驱动的对话推荐系统可用于打造个性化体验。

例如,考虑一个在电子商务网站上的人工智能智能体,它可以帮助您比较产品,并根据您的一般请求和选择提供建议。还可以构建完整的礼宾式体验,多个智能体协助最终用户在数字商店中导航。选择观看哪部电影或预订哪间酒店房间等体验可以构建为对话形式,而不仅仅是一系列决策树式的对话!

定制的AI作者智能体

另一个强大的工具是拥有一个个人AI作者,可以帮助您处理诸如共同撰写电子邮件或为您准备时间紧迫的会议和演示等任务。常规创作工具的问题在于不同类型的材料必须根据不同的受众进行定制。例如,投资者演讲必须与团队演示有所不同。

智能体可以利用您以前的工作。然后,您可以让智能体根据您的个人风格塑造智能体生成的演讲,并根据您的具体用例和需求定制工作。这个过程对于普通的LLM微调来说通常过于微妙。

多模态智能体

仅使用文本作为输入,您无法真正地“与数据交流”。通过构建能够处理各种输入的多模态智能体,例如图像和音频文件,可以增强所有提到的用例。

这只是解决企业挑战的几个方向的一些例子。数据整理、社交图和领域专业知识的智能体都是开发社区正在积极探索的企业应用领域。

请进一步学习

由LLM驱动的智能体与典型的聊天机器人应用有所不同,因为它们具有复杂的推理能力。智能体由一个智能体核心、记忆模块、工具集和规划模块组成,可以在各种企业环境中生成高度个性化的答案和内容,从数据整理到高级电子商务推荐系统。

要了解有关智能体周围技术生态系统的概述,如实现框架、必读论文、帖子和相关主题,请参阅《构建您的第一个智能体应用》。对问答智能体的无框架实现进行的步骤说明将帮助您更好地与您的数据交流。

要深入了解其他类型的LLM智能体,请参阅《构建一个LLM驱动的API智能体以执行任务》和《构建一个LLM驱动的数据智能体以进行数据分析》。

本位翻译自,感兴趣的话阅读原文:
https://developer.nvidia.com/blog/introduction-to-llm-agents/

本文系本站原创文章,著作版权属于作者,未经允许不得转载,如需转载或引用请注明出处或者联系作者。