从只会聊天到真正的业务助手,你需要这三项能力
如果你已经读完了上篇博客,你应该已经知道:智能体 = 大模型的大脑 + 工具的手脚,你也学会了用工作流和插件让AI能联网搜索、读取文档。
但真实的工作场景往往更复杂。比如:
-
你想做一个公司内部问答机器人,员工问"年假怎么休",AI需要查阅你们公司自己的员工手册,而不是随便在网上搜一个答案。
-
你想做一个学生成绩查询助手,老师说"把李小萌的数学成绩改成95分",AI需要能修改表格里的数据,而不是只回答"好的我知道了"。
-
你想做一个会议记录整理工具,上传一段会议录音,AI需要把语音转成文字,再提炼出要点。
这些问题,上篇的知识还不够用。今天我们就来解决这三件事:
-
知识库:让AI"熟读"你的文档,然后根据文档内容回答问题
-
数据库:让AI"操作"你的表格,能查、能加、能改、能删
-
多模态:让AI能处理图片、音频、视频,不只是文字
第一部分:两种私有数据,两种用法
在开始之前,我们先弄清楚一个基本问题:你自己的资料,AI该怎么学?
答案是:看资料的形式。资料有两种主要形式,AI处理它们的方式完全不同。
形式一:文档资料
比如PDF版的《员工手册》、Word格式的《产品说明书》、TXT文件里的《常见问题汇总》。这些资料的特点是:内容是连贯的文章,有段落、有标题、有自然语言。
AI处理这类资料的方式叫知识库。你可以把知识库想象成一个"智能文件柜"。你把文档扔进去,它会自动把文档切成许多小片段,然后当用户提问时,它快速找出相关的片段,让AI根据这些片段来回答。
形式二:表格数据
比如Excel里的《学生成绩表》,有"姓名""学号""语文""数学"等列,一行是一个学生的记录。这些数据的特点是:结构规整,像一张二维表格。
AI处理这类数据的方式叫数据库。你可以把数据库想象成一张可以"被程序操作"的表格。AI不仅能查询里面的内容,还能往里面加新行、改旧行、删掉某行。
一个简单的判断方法:
-
如果你的问题是"说明书里怎么说的?" → 用知识库
-
如果你的问题是"张三的记录是什么?"或者"把李四的成绩改成90分" → 用数据库
第二部分:知识库------让AI成为"资料达人"
2.1 什么是RAG?用一个开卷考试来理解
RAG的全称是"检索增强生成"。名字有点绕,但道理很简单。
想象你参加一场开卷考试。考题是"我们公司的病假需要提供什么证明?"老师允许你翻看员工手册。你会怎么做?
第一步,你翻到"请假制度"那一章,找到关于病假的段落。这叫检索。
第二步,你阅读那几行文字,明白了需要"二级以上医院开具的病假条"。这叫获取内容。
第三步,你用你自己的话写出答案:"根据公司规定,请病假需要提供二级以上医院出具的病假条。"这叫生成。
RAG就是让AI做同样的事:先检索相关资料,再基于资料生成答案。
如果不做RAG,AI只能靠自己的"记忆"回答。而它的记忆有两个致命问题:一是可能过时(它的知识截止到训练数据的时间),二是根本没有你公司的内部资料。更糟的是,当它不确定时,它会"编造"一个听起来很真的答案------这叫幻觉。
所以,凡是需要基于特定文档回答问题的场景,都应该用RAG。
2.2 创建一个知识库,需要几步?
第一步:准备好你的文档
把你要用的资料整理成PDF、Word或者纯文本文件。注意:如果你的PDF是扫描图片(不是文字版),需要先用OCR软件转成可识别的文字,否则AI看到的只是一张张图片,读不出字。
第二步:上传到平台
进入知识库管理页面,新建一个知识库,把文档传上去。平台会自动提取文档里的文字。
第三步:关注分段------这是最容易被忽视的关键
文档是一整本,但AI不能一次性读完整本(成本高、效果差)。所以系统会把文档切成一个个小片段,专业术语叫"chunk"。
为什么要分段?举个例子。你上传了一本300页的《员工手册》。用户问"出差餐补多少钱?"如果不分段,系统只能把整本书的内容都喂给AI,里面99%的信息都跟餐补无关,AI容易被干扰,回答也不准确。分段之后,系统可以快速定位到"餐补标准"那一小段,精准回答。
分段太大 :每个片段内容太多,仍然有很多干扰信息。
分段太小:每个片段只有一两句话,可能丢失上下文,比如前一句说"餐补标准如下",后一句列具体数字,如果被切成两段,只看后半段就不知道这些数字是什么意思。
分段重叠:相邻片段之间保留一小部分重复内容。这是为了防止一个知识点刚好被切成两半。比如一段话的前半句在片段A,后半句在片段B,如果检索时只命中了片段A,就会丢失后半句。重叠可以保证语义的连续性。
第四步:预览并保存
查看每个片段切得是否合理,确认没有把重要的句子从中间切断。没问题了就保存。
2.3 知识库检索的几个关键设置
在工作流中,你会用到"知识库检索节点"。这个节点有几个设置,理解它们能让结果更准。
检索策略
-
关键词检索:像Ctrl+F一样,搜索你输入的那些词。用户说"餐补",它就找文档里出现"餐补"的地方。优点是精确,缺点是换一种说法(比如"出差吃饭报销")就找不到了。
-
语义检索:理解意思。用户说"出差吃饭的补贴",它能联想到"餐补"。因为它把问题和文档都转换成一组数字(向量),然后找意思相近的,而不是字面相同的。
-
混合检索:两者结合,通常效果最好。建议优先选这个。
召回数量
你希望一次返回几个相关片段?默认通常是3到5个。
-
太少:可能漏掉重要信息
-
太多:AI会读到很多不相关内容,回答变得又长又乱
建议先用5个,测试后根据效果调整。
最小匹配度
这是一个"门槛"。只有相关度超过这个值的片段才会被返回。
-
设得太低(比如0.5):会召回很多内容,但可能混进不相关的
-
设得太高(比如0.9):只召回非常相关的内容,但可能什么都找不到
一般建议0.7左右。如果你的文档质量很高、语言规范,可以设到0.8。
查询改写
用户的问题往往很口语化。比如:"我记得上次看的那个关于退货的,好像是说七天之内?"直接用这个去检索,效果很差。查询改写功能会自动把它改成更适合检索的短句,比如:"退货政策 七天"。
建议开启这个功能。
结果重排
召回多个片段后,系统会重新排序,把最相关的放在最前面。这样大模型读上下文时,能优先看到最重要的内容。
建议开启。
2.4 一个完整的工作流:检索 + 润色 + 兜底
知识库检索节点返回的是原始文档片段。这些片段可能是零散的、格式乱的、没有标点的。千万不要直接把原片段输出给用户。
正确的流程是这样的:
python
用户提问
↓
知识库检索(找出相关片段)
↓
判断:有没有找到相关内容?
├─ 找到了 → 大模型节点:根据片段组织答案
└─ 没找到 → 联网搜索(或者提示"资料库中暂无相关信息")
↓
输出整理好的答案
为什么需要"大模型润色"这一步?因为原始片段可能来自文档的不同位置,直接堆在一起读起来很别扭。大模型可以把它们融合成一段通顺的话,加上"根据公司制度,..."这样的开头,去掉重复的内容。
为什么需要"兜底"?知识库不可能覆盖所有问题。如果用户问了一个你没放进去的问题,至少给一个友好的回应,而不是返回空结果。
举个例子:
用户问:"我们公司的病假需要提供什么证明?"
知识库检索到了《请假管理办法》中的一句话:"病假需提供二级以上医院出具的病假条。"
大模型润色后输出:"根据公司的请假管理制度,请病假需要提供二级以上医院开具的病假条。建议您休假回来后三天内提交。"
如果知识库里没有相关信息,可以输出:"抱歉,我暂时在资料库中没有找到关于病假证明的具体规定。建议您联系人力资源部门确认。"
第三部分:数据库------让AI操作你的表格
如果说知识库是"只读"的,那数据库就是"可读可写"的。你可以让AI查询、添加、修改、删除表格里的记录。
3.1 数据库长什么样?
一张数据库表看起来就像Excel。比如"员工信息表":
| 工号 | 姓名 | 部门 | 入职年份 |
|---|---|---|---|
| 001 | 张伟 | 技术部 | 2020 |
| 002 | 李芳 | 市场部 | 2021 |
每一行是一条记录,每一列是一个字段。
一个小提示:工号虽然看起来是数字,但在数据库中最好存成"文本"类型。因为工号可能有前导0(比如001),数字类型会把它变成1,丢掉0;而且工号不需要做加减乘除。
3.2 数据库查询------从"人话"到"条件"
用户不会说"查询表中部门等于技术部的所有记录的姓名",用户只会说:"技术部有哪些员工?"
所以AI需要做一件事:从自然语言中提取出查询条件。
流程是这样的:
用户:"技术部有哪些员工?"
→ AI抽取:部门 = "技术部"
→ 数据库查询:找到所有部门字段等于"技术部"的记录,取出姓名
→ 润色:"技术部的员工有:张伟、王磊、赵敏。"
容易踩的坑:
-
用户只说"王小明",但数据库里有三个王小明。这时候需要额外信息(比如工号或部门)才能精确匹配。
-
用户问"谁工资最高?"------这需要先查询所有记录,找出最大值,再返回对应的人。这种"聚合查询"比单条查询更复杂,需要确认平台是否支持。
3.3 数据库新增------让AI帮你录入
场景:用户说"登记一个新员工,工号005,姓名陈丽,部门财务部,入职年份2023。"
AI需要做三件事:
-
从这句话里抽取出:工号=005,姓名=陈丽,部门=财务部,入职年份=2023
-
调用"新增记录"节点,把这些值写入表
-
返回提示:"已成功添加员工陈丽的记录。"
注意:如果用户漏说了某个字段(比如没写入职年份),AI应该怎么处理?可以设置一个默认值(比如当前年份),或者反问用户补充。新增后一定要有成功或失败的反馈。
3.4 数据库更新和删除------小心操作
更新:修改已有记录。需要两个要素:
-
定位条件:哪条记录?(例如"工号005的员工")
-
更新内容:改成什么?(例如"把部门改成销售部")
删除:只需要定位条件。但删除是危险操作------数据一旦删除就没了。真实业务中很少真正"物理删除",而是用"软删除":增加一个"是否已删除"的标记字段,删除时把这个标记改成"是",查询时过滤掉标记为"是"的记录。这样数据还在,只是不显示了。
一个重要的安全习惯:更新或删除时,尽量不要只用"姓名"作为条件,因为会有重名。最好用"姓名+手机号"或者"工号"这种唯一标识。
第四部分:多模态------让AI能看、能听、能生成
前面的知识库和数据库都还是处理文字。但真实世界的信息不只有文字,还有图片、音频、视频。多模态能力就是让AI跨越不同的"信息形态"工作。
4.1 图像能力
文生图:根据文字画图
你输入一段描述:"一只穿西装的柴犬坐在办公室里,手里拿着一杯咖啡,卡通风格。"AI就能生成一张符合描述的图片。
需要告诉AI的细节:
-
主体是什么(柴犬)
-
穿什么(西装)
-
在哪里(办公室)
-
在做什么(喝咖啡)
-
什么风格(卡通)
-
不想要什么(可以在"负面提示词"里写:不要真人、不要模糊)
应用场景:做产品示意图、文章配图、海报素材、UI图标。
局限性:复杂的动作(比如"踢足球")、多物体互动("两只猫握手")、图片里的文字(生成的图片上的文字通常是乱码)都容易翻车。
图片清晰度提升:让模糊的变清楚
你把一张低像素的老照片上传,AI可以把它变清晰、放大尺寸。比如监控截图、缩略图、老照片修复。
但要注意:如果原图信息严重缺失(比如一张脸只有10x10个像素),AI只能"猜测"缺失的部分,猜的不一定对。
4.2 音频能力
语音识别(ASR):把声音变成文字
你上传一段会议录音,AI输出转写的文字稿。
应用场景:
-
会议录音转纪要
-
课堂录音整理笔记
-
客服通话质量分析
-
视频自动加字幕
要注意:ASR输出的文字通常没有标点符号,也没有大小写。你需要再接一个大模型节点,让它加上标点、分段落、纠正识别错误。嘈杂环境、口音、多人同时说话都会降低准确率。
语音合成(TTS):把文字变成声音
你输入一段文字:"你好,欢迎致电客服中心。"AI生成一段语音,可以下载或播放。
常用设置:
-
音色(男生、女生、童声)
-
语速(慢速、正常、快速)
-
情绪(平静、开心、严肃)
应用场景:有声书、智能客服语音回复、短视频配音、无障碍朗读。
注意:大多数TTS对文本长度有限制,一次只能处理几百个字。长文本需要分段合成,再用音频软件拼接。
4.3 视频生成
这是目前最"烧钱"、效果也最不稳定的能力。你可以输入一段文字描述,AI生成几秒钟的视频。
比如输入:"一只熊猫在竹林里吃竹子,阳光透过树叶洒下来。"AI会生成一段2-5秒的视频。
难点:
-
物理规律难模拟(水花、重力、碰撞)
-
人体动作容易变形(手指数量不对、走路像僵尸)
-
生成时间长(几分钟到几十分钟)
-
消耗大量积分或算力
现实建议:视频生成目前更适合做"概念预览"或"创意灵感",不适合直接用于专业视频制作。真实项目中,常用做法是用AI生成关键帧,再用传统剪辑软件合成。
第五部分:把这些能力组合起来------一个综合案例
假设我们要做一个"面试助手"智能体,帮助HR进行招聘工作。它需要用到今天学的哪些能力?
-
知识库:上传公司的岗位能力模型、面试评估标准、常见面试题题库。当面试官问"这个岗位需要哪些软技能?"时,AI从知识库中检索并回答。
-
数据库:记录每位候选人的基本信息、面试状态、评分结果。面试官说"把王小明的技术评分改成8.5分",AI更新数据库;说"查询所有通过初试的候选人",AI查询并列出名单。
-
语音识别:面试过程中,实时把面试官和候选人的对话转写成文字,方便后续复盘。
-
语音合成:自动生成面试邀请电话的语音内容,或者为视障面试者播读题目。
-
多模态图像:如果面试中有设计岗位,候选人上传了作品集图片,AI可以快速描述图片内容或提取其中的文字信息。
你看,一个真实的AI应用往往需要知识库+数据库+多模态的组合,而不是单一能力。
第六部分:常见易错点(新手必看)
| 错误想法 | 正确理解 |
|---|---|
| 知识库和数据库差不多,随便用一个 | 知识库适合非结构化的文档,数据库适合结构化的表格,用途完全不同 |
| 文档传上去就行,不用管分段 | 分段质量直接决定检索准确性,必须预览和调整 |
| 知识库检索结果直接输出给用户 | 必须先润色,否则用户看到的是杂乱无章的片段 |
| 知识库没查到就直接说"不知道" | 应该加兜底方案:联网搜索或友好提示 |
| 数据库字段名随便起 | 字段名必须和AI抽取的结果完全一致,否则写入失败 |
| 用姓名作为唯一的更新/删除条件 | 重名风险高,最好用工号或"姓名+手机号"组合 |
| 工号用数字类型 | 工号、学号、订单号都应该用文本类型,因为不需要计算且可能有前导0 |
| 上传图片时输入类型还是文本 | 必须把输入类型改成"图片"或"文件",否则插件收不到 |
| ASR转写的文字直接使用 | 通常没有标点,需要大模型加上标点和段落 |
| 指望视频生成一次出完美成品 | 目前效果有限,用于预览和灵感,不能替代专业视频 |
写在最后
今天的内容信息量比较大,但核心只有三条线:
第一条线:知识库
适合"根据某份文档回答问题"的场景。关键是做好分段、设置好检索参数、加润色和兜底。
第二条线:数据库
适合"操作表格数据"的场景。关键是正确抽取条件、谨慎处理更新删除、字段类型选对。
第三条线:多模态
让AI处理图片、音频、视频。文生图、ASR、TTS相对成熟,视频生成要谨慎使用。
学完今天的内容,再加上上篇的工作流和插件知识,你已经具备了搭建一个真实业务智能体的能力。你可以尝试做一个小项目,比如"公司制度问答+员工信息查询"二合一助手,从最简单的知识库问答开始,一步步加入数据库操作。
记住:先跑通核心流程,再逐步优化和增加功能。不要一次想做太多,否则调试起来会很痛苦。
如果遇到问题,欢迎在评论区交流。祝你开发顺利!