你应该懂的AI大模型(二) 之 大模型技术架构
一、行业变化
Software is eating the world,but AI is going to eat software!
“软件正在吞噬世界” 这一观点由网景公司创始人马克・安德森在 2011 年提出,意味着软件在当今社会的各个领域发挥着至关重要的作用,极大地改变了人们的生活和工作方式。但是现在 AI 技术的崛起再次改变我们的生活。作为软件行业从业者这是我们要关注的。
二、从一个开发需求展开
需求:如果要做分析公司销售人员的成交情况
传统实现:根据公司销售人员的成交情况报表,需要做一个web页面,如果有既有系统则需要在既有系统上进行二次开发;
大模型实现:通过自然语言给大模型下分析的命令,大模型从数据库中调用数据后组装成页面或者数据进行输出。
从上述实现的差别我们分析得出:
传统实现:关注的是技术实现,如开发语言、开发框架、中间件;
大模型实现:相当于调用一个人,对大模型“说人话”,大模型能听懂“人话”,能直接给出结果,虽然这个结果不一定对。这就是大模型应用的最终要义:把大模型当人看。
人在处理问题时的步骤是:
1、领导通过口头或者文字向我们下达任务;
2、我们接到任务后发现我们没有接触过相关知识,我们需要现学新的知识或者技术;
3、由于对新知识的不熟悉,在实践中很容易出错,我们就会想办法更深入的学习和理解这部分知识,避免出错;
4、有了扎实的知识我们开始着手开干时,发现其他部门有我们需要的资料或数据,我们就会想办法获取这些资料数据来更好的完成我们的工作;
5、最后,我们完成这项工作后会把工作成果留存下来,比如做了一个很复杂的excle 表,里面的公式和数据调用关系在我们下次使用时直接输入数值就能直接出结果了。
以上是人在处理问题时“把大模型当人看”,让我们类比一下大模型处理问题的链条:
1. Prompt Engineering(提示工程):定义问题输入与引导模型输出
简单讲就是问题的初始化与输出控制,比如我们问大模型如何煮咖啡,大模型能清楚的在500字以内说清楚如何煮咖啡,而不是胡说八道无关的内容。
类比人类处理问题的步骤就是领导给我们下达一个我们能听懂的任务,并且我们知道最后要给领导一个什么东西。
2.RAG(检索增强生成):补充外部知识与事实依据
比如大模型的知识是到 24 年的,如果我问它关于 25 年中美贸易战的情况,它肯定回答不好,这时就需要通过RAG去外部知识库检索 25 年中美贸易战的相关时间脉络、事件关键人物、事件影响评论等等信息,辅助大模型生成有价值的回答或者建议。
类比人类处理问题就是领导安排我做一个公司 25 年去 XX 地团建的规划,那我要去查 25 年最新的该地的景点开放情况、交通情况,只有知道这些最新的数据做出的规划才是准确的。
此外 RAG在多跳推理(需整合多源信息)或长文本生成(如报告、论文)中,RAG 提供结构化知识,降低模型 “幻觉” 风险。
3. Fine-tuning(微调):适配特定任务与领域
模型微调就是模型能力的定向优化,举例说明:在医疗、金融等专业性比较强的领域通过模型的微调能更好处理任务,避免通用模型的语义模糊,比如问医疗大模型可以清除的分辨“流感”与感冒的区别,而通用大模型就很容易将二者混淆。
4. Function Calling(函数调用):扩展模型执行能力
这是模型链接外部工具与服务的能力,用来执行模型无法直接完成的任务,比如我们问大模型北京南站的高铁时刻表,这时大模型就需要调用 12306 的接口实现。
通过 Function Calling 可以将自然语言指令转为具体的行动,比如我们告诉大模型“给我画一朵花”,大模型调用图像生成函数。我们告诉大模型“帮我计算 1999+12121”,模型调用计算工具返回结果。
最后我们也能看出来,如果我们不基于业务,单单只把大模型做成问答类的工具,是很难实际落地并且变现的。
5. Agent(智能体):协调多步任务与自主决策
Agent 是一种能够感知环境并自主决策的实体。它可以是软件程序,也可以是硬件设备,甚至是虚拟的数字存在。Agent 具备自主性、环境感知能力和决策执行能力,能够根据环境的变化自动调整行为,以实现特定的目标。与传统 AI 不同,Agent 不仅仅是执行单一任务的工具,它更像是一个智能的合作伙伴,能够在复杂的环境中进行灵活的决策和交互。这种特性使得 Agent 在现代科技中占据了核心地位,成为实现智能化、自动化的关键技术。Agent的主要作用如下:
分解复杂任务:将多步骤问题(如 “预订沈阳到上海的机票并安排接送机”)拆解为子任务(查询航班、比较价格、调用预订 API、发送确认信息),按逻辑顺序执行。
动态选择工具:根据任务需求,自主决定是否使用 RAG 检索、Function Calling 调用工具,或切换不同模型(如文本生成模型与图像模型协作)。
处理环境反馈:在交互过程中,根据外部工具返回结果(如 “航班已满”)调整策略(如推荐备选航班),实现闭环决策。
模拟人类流程:在业务自动化(如客服工单处理、数据分析报告生成)中,Agent 遵循预设规则或自主学习策略,完成需要多模块协作的复杂任务。
例如我们告诉大模型: “制定沈阳三日旅游计划并预订酒店”,Agent 先通过 RAG 检索景点信息,再用 Function Calling 预订酒店,最后整合信息生成计划,全程无需人工干预。
本文旨在扫盲大模型技术的技术架构名词,并未涉及具体运用的技术,此类内容及大模型的核心算法知识笔者争取在后续的文章中逐步讲全。
你应该懂的AI大模型(二) 之 大模型技术架构的更多相关文章
- django Model模型二及Model模型对数据库的操作
在django模型中负责与数据库交互的为Model层,Model层提供了一个基于orm的交互框架 一:创建一个最基本的Model from __future__ import unicode_lite ...
- 【转载】NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法
原文:NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩.机器学习及最优化算法 导读 AI领域顶会NeurIPS正在加拿大蒙特利尔举办.本文针对实验室关注的几个研究热点,模型压缩.自 ...
- 体验AI乐趣:基于AI Gallery的二分类猫狗图片分类小数据集自动学习
摘要:直接使用AI Gallery里面现有的数据集进行自动学习训练,很简单和方便,节约时间,不用自己去训练了,AI Gallery 里面有很多类似的有趣数据集,也非常好玩,大家一起试试吧. 本文分享自 ...
- [译文]Domain Driven Design Reference(二)—— 让模型起作用
本书是Eric Evans对他自己写的<领域驱动设计-软件核心复杂性应对之道>的一本字典式的参考书,可用于快速查找<领域驱动设计>中的诸多概念及其简明解释. 其它本系列其它文章 ...
- django模型二
django模型二 常用模型字段类型 IntegerField → int CharField → varchar TextField → longtext DateFiel ...
- {03--CSS布局设置} 盒模型 二 padding bode margin 标准文档流 块级元素和行内元素 浮动 margin的用法 文本属性和字体属性 超链接导航栏 background 定位 z-index
03--CSS布局设置 本节目录 一 盒模型 二 padding(内边距) 三 boder(边框) 四 简单认识一下margin(外边距) 五 标准文档流 六 块级元素和行内元素 七 浮动 八 mar ...
- JVM 系列(二)内存模型
02 JVM 系列(二)内存模型 一.JVM 内存区域 JVM 会将 Java 进程所管理的内存划分为若干不同的数据区域.这些区域有各自的用途.创建/销毁时间: 一. 线程私有区域 线程私有数据区域生 ...
- AI时代,还不了解大数据?
如果要问最近几年,IT行业哪个技术方向最火?一定属于ABC,即AI + Big Data + Cloud,也就是人工智能.大数据和云计算. 这几年,随着互联网大潮走向低谷,同时传统企业纷纷进行数字化转 ...
- 性能追击:万字长文30+图揭秘8大主流服务器程序线程模型 | Node.js,Apache,Nginx,Netty,Redis,Tomcat,MySQL,Zuul
本文为<高性能网络编程游记>的第六篇"性能追击:万字长文30+图揭秘8大主流服务器程序线程模型". 最近拍的照片比较少,不知道配什么图好,于是自己画了一个,凑合着用,让 ...
- 一文搞懂HMM(隐马尔可夫模型)
什么是熵(Entropy) 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序,意味着具有确定和有 ...
随机推荐
- 如何限制goroutine的数量
为什么要控制goroutine的数量? 在我们开发过程中,如果不对goroutine加以控制而进行滥用的话,可能会导致服务整体崩溃.比如耗尽系统资源导致程序崩溃,或者CPU使用率过高导致系统忙不过来. ...
- Delphi 时间控制窗口标题栏文字或任务栏标题文字滚动
1.定义一个全局变量保存显示到标题栏的字符串,strScroll: Widestring = '风行天下 - By WindSon '; 2.添加一个Timer控件,设置属性Interval := 3 ...
- GPU CPU运算时间测试
GPU CPU运算时间测试 本文主要探讨GPU,CPU在做一些复杂运算的时间测试 实验任务 1.向量加法 两个相同维度的向量a,b做加法,分别测试GPU并行时间(包含数据拷贝时间),CPU串行时间. ...
- 【Linux】5.9 Shell函数
Shell 函数 1. 自定义函数 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. shell中函数的定义格式如下: [ function ] funname [()] ...
- vue3第二次传递数据方法无法获取到最新的值
使用reactive父组件第二次传递给子组件的数据:方法中可以获取到最新数据 <template> <div> <div> <h1>子组件</h1 ...
- [T.3] 团队项目:团队基础设施及 DevOps 准备
项目 内容 这个作业属于哪个课程 首页 - 2025年春季软件工程(罗杰.任健) - 北京航空航天大学 - 班级博客 - 博客园 这个作业的要求在哪里 T.3 团队项目:团队基础设施及 DevOps ...
- 『Plotly实战指南』--箱线图绘制与应用
在数据可视化领域,箱线图(Box Plot)是一种强大的工具,用于展示数据的分布特征.集中趋势以及异常值. 它不仅能够快速揭示数据的偏态.离散程度,还能帮助我们识别潜在的数据问题. 本文将从基础绘制到 ...
- HTB打靶记录-Vintage
信息收集 nmap -sV -sC -O 10.10.11.45 Nmap scan report for 10.10.11.45 Host is up (2.1s latency). Not sho ...
- HTTP 分段下载
GET /user_crc.bin HTTP/1.1 Host: mnif.cn Range: bytes=0-1000
- eolinker请求预处理:请求数据中有中文,提示参数错误的解决方法
特别注意:需要使用全局变量或者预处理前务必阅读本链接https://www.cnblogs.com/becks/p/13713278.html 如下图,请求参pageName参数为中文,提交后报错 需 ...