每天一个大模型知识点,今天要讲的是,如果 a 证件调用了错误的工具,你该怎么处理?其实这个问题面试官不是在考你会不会写 try catch, 他 真正关心的是你有没有大规模工程化落地 agent 的 经验。为了让大家更好的学习大模型,我把完整的学习路线,还有以上各个阶段要用到的资料可以在主页置顶群里。大家好,我是彭宇。因为在现实场景里,大模型极其不稳定,幻觉格式错误、参数乱传简直是家常便饭。 如果你的 agent 稍微出点错,就直接当机,或者在那一本正经的胡说八道,那这个产品是根本没法用的。所以这个问题考的是你对 agent 鲁棒性和自修复机制的深度理解。 好,咱们把目光移到这张架构图上,大家看,要解决这个问题,绝对不是一个简单的脚本就能搞定的,我们需要构建一个全生命周期的防御体系。首先咱们看第一块,事前防御,你想啊,与其等他开口说话之前就给他立好规矩。注意看这里的 skma 强约束。 我们在定义工具的时候不能只给个名字,必须用像 pedantic 这种结构化的方式把参数类型死死锁住。比如这个参数必须是整数,你传个字母串进来,在模型输出的一瞬间,效应层就得把它拦下来。再往细了说, prompt 也很关键,咱们得在提示词里加上负面约束,明确告诉他,没给你的工具千万别瞎编,最好呢再给他几个 feel shot 例子,尤其是那些容易出错的边界场景,先打好预防针,但是模型总有不听话的时候,对吧? 所以咱们看第二步试中拦截。大家注意这个红色区域,这是咱们的安全网。所有的工具调用外面必须套一层 try catch。 如果是 jason 解析错了,或者 api 接口挂了,咱们得能捕获到这些异常。 这里有一个非常重要的点,也是面试的加分项,就是高危操作的人工确认。你想想,如果 a 阵调错了一个扣款接口,或者误删了数据库,你光靠代码回滚可能都来不及。所以对于这种不可逆的操作,必须引入 human in the loop, 让人来看一眼再知情。同时, 咱们还可以做一个工具降级,比如 a 工具调不通,系统能不能自动路由到功能相似的 b 工具上。这种融洽意识,面试官非常看重。好,重点来了,如果错已经犯了, agent 怎么自己救自己?这就是第三阶段 闭环反馈与动态重试。以前咱们写代码报错了,可能就直接抛出异常了,但在 agent 体系里,报错信息其实是最好的教材。 我们要把报错的堆栈信息转化成大模型,能听懂的话,比如告诉他你刚才传的日期格式不对,应该是这样的。这就是 react 框架的精髓,把这个报错作为 observation 观察,结果未回给模型,模型看到这个反馈后,他会自己想,哦,原来我刚才把参数搞错了,那我得修正一下重新调。 这就形成了一个自修复的闭环。不过大家一定要注意,这里必须设置一个 max iteration, 最大重试次数,万一模型陷入了死循环,在那不停地报错,重试再报错,你的偷坑费可就烧不起了。 最后,我们要有事后进化的思想,大家看架构图最下面这一块,聪明的系统会复盘。我们可以引入一个专门的 reflection agent, 也就是反思智能体, 他不干别的,就盯着日制看,分析刚才为什么会调错工具,是工具描述不清晰,还是模型逻辑有问题。这些反思结果可以存进向量数据库,变成 agent 的 长期记忆。下次遇到类似的任务,他先解锁一下,以前的坑自然就避开了。甚至 我们可以把这些失败的案例攒起来,作为数据去 fiona 微调模型,从底层提高他调用工具的成功率。讲到这里,大家发现没有,处理工具调用错误,其实是一个从防患未然到临场应变,再到总结提高的过程。再面试。最后, 你可以这样给面试官做一个总结,咱们处理 agent 错误,核心要抓住四个点,第一,要有系统观,不仅仅是改 problem, 而是要构建一套闭环架构。第二,要直面共成痛点,像死循环、副作用、回滚这些坑你得提前想到方案。 第三,要利用好 react 原理,让报错信息成为模型自我进化的动力。第四,也是最高级的,就是平衡成本与效率。 我们要通过前端叫验,减少无效调用,通过反思机制降低重试次数,把每一分 token 都花在刀刃上。只要你能把这套逻辑讲清楚,面试官一定会觉得你是一个真正下过场踩过坑的 agent 专家。
粉丝2581获赞7107

给大家介绍一下新手如何快速搭建及使用自己的 a g 的 智能体来提高你的办公效率。该教程主要针对未使用过智能体的新手啊, 这个智能体的就是字节跳动推出的翠 solo, 这个翠 solo 先简单说一下啥叫智能体啊,就是你丢给他一个目标,你给他一个,他会自己去拆解任务,做规划,开始干,在干的过程中, 该查资料的查资料,该写代码写代码,该调用工具调用工具遇到需要授权或拿不准的时候,会停下来向你确认,你这边确认补充说明后,他会去接着去推进,直到把你给他的任务完成。 这个智能体呢,它目前支持 pc 端,还有移动端以及云端,云端是网页上可以直接去操作。还有两种模式啊,点击左上角,你能切换 control 模式是针对开发人员的,大多是用户场景还是基于这个 mtc 的 这个场景。 首先你装完之后呢,要给它最好是配一下自己的一个模型,我这边用的是 gm l 五,因为到晚上的话可能也会出现排队 被收入他自己自带的模型,到工作高峰期也会排队,排的时间有时候会比较长啊,会影响你的工作效率,所以建议大家去配一下这个模型。模型的配置呢,其实就是点击左下角这个头像,然后再弹出到这个框里,点模型模型,这里点添加 添加,你根据你自己的需要吧,可以使用 kimi, dp 还有海螺啊,以及这个字谱的啊,这里以 deepsea 为例吧,你就选择把两个模型都选上啊,两个,一个是 一个是推理模型,一个是快速的模型 api 的 话,到 deepsea 的 官网去去注册登录,完成实名认证,在 api key 这啊新建一个 key, 把这个 key 复制过来, 复制过来之后点击点击这个提交,先点击这里的提交,再点击下面的提交。模型添加完之后,在这里就选择自己配置的模型去用就行了啊,模型配置大概就就这么多。另外一个就是啊,这个技能是智能体的一个 比较核心的一个功能啊,去 solo 它官方自带的有一些智能体,这些智能,这些 q 啊这些技能, 这技能你可以根据需要去去安装就行了。点击这个加号就安装啊,它上面有介绍,根据你的工作场景啊,需要哪些去装哪些,你自己也可以去啊,多尝试多去试,自己摸索一下啊,我这边也安装了一些技能啊,有这个, 这也是我在日常使用过程中去装的一些技能。这个还可以自己去安装,有两种,一种是官方直接安装的,另外一种就是可以去上传自己的技能啊,这里我可以上传一个演示一下把,这个我之前上传的,我可以给它卸载,装完之后不想要可以卸载, 点击这个上传技能,这个是技能的一个压缩包,它必须是 vip 的, 或者是直接一个六点 m d 也行啊,这里面按照它的格式去上传就行了啊,这个技能的话你可以从多渠道去获取吧,这个根据自己的需要去上传就行了。 技能上传完之后,他在这会出现,在这出现这个技能是应该是一个文章的,检查文章是否有 v i 感的一个技能啊,创建完这个技能一种是直接安装,一种是自己上传啊,这是两种方式啊,下面给大家说一下这个 如何去使用啊,在如何去使用智能体啊?智能体的话,那你其实针对这个智能体主要的还是针对你技能的一个使用啊,如果仅限于跟他聊天的话,那你用豆包用 deepsea 网页版的那个也可以用啊,效果也没差多少,那个还还免费。 所以说既然用这个,那肯定你要么用他的这个技能,要么用他的自动化啊。技能的话,因为是针对他,可以针对你的办公场景啊,针对你的实际的工作情况,去打造一些 qq 的 工作流程啊,这个才是重头戏啊。 目前这是两种模式嘛,一种云端,云端的话你可以在本地操作云端,也可以在网页上直接用啊,其实这个看个人需求啊,最我这边主要用的最多的还是基于本地模式。 本地模式呢,给大家演示一下这个技能如何用,有两种方式,一种是自动触发,一种你啊手动。比方说你可以指定一下这个是通过浏览器,他能去打开浏览器去登录账户了,去操作各种网页啊,这边可以去尝试一下啊,比方说我们让他搜索一下, 打开百度搜索今日热点吧,热点汇总汇总成文档,这个你说完以后他就开干了。他这边因为他工作的是智能米,智能体不同于网页啊,他这边如果去调用技能的话, 他右边会展示调用了哪些技能。这边他还有一个 ppt 啊,这边我也试过,他做的 ppt 也还行, 它这个智能体你看不到,它是内置的,你给比方说咱把这个新闻的文章它做成文档之后,搜集完之后,你可以接着让它去做啊,帮我做成 ppt 啊,它会已经寄予一个文档,它会帮你做成一个 ppt 啊,这个可以自行去尝试。 你看这个,这边他调用智能体之后,他右边会有一个代办任务,他他需要规划几步去做啊?这边他规划了三步,下面他这个技能就是 skill, 他 调用了哪些技能,他会列出来啊?这是产物,这最后的结果会放在这, 调用他内置的技能,咱让他去,让他去干。咱们这边还有再再建一个任务,可以有多个任务再给大家演示一下。基于本地工作的话,其实如果咱真是要用这种智能体的话,肯定要解决咱们自己 一个办公场景的一个重复性,重复性的工作可以教给他打造成 skill 啊,让他去帮你去做啊, 其实这个才刚才说了,这个就是自定义技能啊,这的话基于本地工作,这个才是 真正能帮助企业 ai 落地的一个核心的一个功能啊,因为你可以基于 skill skill 的是啥?它就是一个工作的一个指导啊,你这个建完之后,你指定你只要说你当前要干啥,它会判断出你当前要使用哪个技能去做哪件事啊, 针对你企业的,因为每个企业的场景都不一样啊,可能每个企业使用的这个落地的 skill 可能也都不一样,这里没有一个什么共性的一个东西啊, 这个当然你打造这个,打造这个 skill 的 话,可能需要你对 ai 有 一定的认知啊,你可能说我,我知道 skill 怎么建啊?我知道,但是你要是对这个 ai 认知达不到的情况下,那你可能 就是做出来的技能,包括日常使用中,它可能也不会那么理想啊,你可能说啊, ai 也就这样, 其实你要想把它用好,可能需要你提升,去持续地去对 ai 的 一个学习吧。嗯,我这边反正是已经有两年的一个 ai 的 企,就是落地经验了,在我们企业也是一直在做这个 ai 落地的应用啊,如果 如果有这方面需要沟通的话,可以就是找我单独去沟通啊,我这边可以给你简单指导一下,让你少走弯路吧,少花,少花一些冤枉钱啊,能快速的帮你企业去落地啊。 然后这个这个工作目录啊,就是就是这个可以就是这样的一个目录啊, 它它其实你要是真正去落地的话,你肯定需要去打造一些 skill, 其实你可以把它理解成是一个工作流程啊,就是一个目录可以可以把它作为一个员工啊,这个员工他能干哪些事儿? 那你就这是对它的一个整,它首先这个是 agent 的 这个 md 呢?它是一个整体的一个工作指导啊,就是我这个员工能干哪些事儿啊?大概给 ai 说一下, ai 每次, 每次比方说他基于这个目录去工作的时候,他首先会先读这个这个文件的规则啊,这个这个文件的规则说明之后,那然后他才会去去下面才会去 去根据你的工作需求啊,根据你的任务去调用不同的技能去进行一个工作啊。我这里有一个比较长的一个流程,就是一个写作流程吧, 他是每一步干啥,每一步干啥,就是这样的一个工作,其实你每个人,其实每个人的工作啊,都可以去给他增流成这个技能啊,他让 ai 来 来辅助你去工作,其实 ai 并不会替代每个人的工作,他只能说让你去做更重要的事。一些重复性的工作啊,完全可以让 ai 去做啊,你把你释放出来,可以去做一些更重要的事。当然 ai 呢,它也不是完全自动的啊,它还需要你去确认, 你还要去对你这个 skill 的 工作结果去负责啊,最终的结果肯定不是 ai 来承担这个结果,谁用啊?谁来承担?对这个结果进行确认来你承担这个最后的一个工作的一个检查,去审核啊,它是否合适,不合适的话你就接着让他去做啊, 这个应该已经完成了啊,调用 d o c 啊,它是它把它它做成,做成一个 word 了,做成一个 word 文档了,这边任务它应该已经拿到内容了,它需要下一步去 去创建一个 word 文档。下面我再建一个任务,给大家演示一下,我这个基于我这个工作目录,我我打造的这个 个人的一个,相当于我办公,我日常办公的一个 skill, 他 是如何工作的啊?首先我这边里面有个 skill 呢,就是有个技能,他就是能帮我收集一些素材,帮我打造持续更新和完善我的知识库, 那就是比方说我,我给他两个链接啊,帮我把这些链接内容加入知识库, 这里它可以多个任务并行处理啊,可以同时处理多个任务,然后移动端的话也可以去看到我手机可以录一下屏。操作移动端的前提是你要在设置里头把这个给打开,把这个 solo 移动端,然后点允许操控你的电脑啊,保持电脑唤醒状态, 可以去查看这个当前任务的一个完成情况,也可以远程,远程的话去操作自己的一个 办公电脑,办公就是你的办公电脑,他可以帮你去操作。这边看打开这个翠 app 啊,这边能看到,打开之后他能看到我这两个任务,哎,一个是把内容加到知识库,一个是百度热点的一个汇总啊,这边可以看到他的工作当前完成情况。 这边比方说你中午去吃饭了,你这个 ai 还在工作,你可以看他工作的,检查他工作的完成情况啊,可以给他下达新的指令,让他继续去工作啊。比方说你去 见客户干啥了,这边 ai 该让他去工作,去工作。这边就是在打开手机也能看到你的这个 ai 工作完成的一个情况啊,这边可以输入下达新的指令,这里大家可以去尝试,我这里不过多演示了。 看这边它也是有规划的,它有几步规划?这是调用了两个 skill 啊,这个是知识库的一个打造的一个 skill, 这个是获取素材的一个 skill, 它调用了两,它自己去,它自己会去调用啊,就是它很智能,就是它该调用哪个 skill, 它自己去去调用。 其实他这个 skill 他的怎么去调用呢?其实这个的话是像这个知识库,这里面有脚本啊,有这个参考的知识,然后主要还是靠他啊,这个 skill 的 话 名称是必须要有的啊,这个简介他是根据这个简介来判断的,就是你这个 skill 能干啥,你只要这个概描述描述清楚啊,他就会自动的能判断到。如果, 如果你的任务模糊不清,或者是这个 sql 描述的不清,那这个 sql 可能调用不到啊。如果调用不到的话,你也可以在这手动去去斜杠啊,可以用斜杠命令 或者是点这个点这啊,然后去去去触发某个 sql 啊,因为你自己做的 sql 你 肯定清楚,然后这边手动触发,这边也不用 ai 去判断了,它效率可能会更高一些。这边它已经收集到了啊, 这个是一个 word 啊,他已经把这个资讯去收集到了,收集到他会放在这啊,做的还不错。这里你可以接着让他做,比方说接着让他去帮你做 ppt 啊, 这里都不再演示了,做 ppt 的 话比较慢,可能需要一二十分钟。然后另外这有一个自动化啊,自动化的话也是比方说你每天都要去做的某些事,比方说我这边会每天定,每天会去, 就是定期的去收集一些 ai 的 一些资讯,因为我要学习 ai 嘛,所以,所以它是一个持续的学习,我每天都要去看,所以说我会让他每天帮我去, 去定时的去收集一些我想要的资讯啊,这个资讯也不是啥都啥都收集的,我就是有学习有分享价值的,然后他帮我保存到文件,然后 他每天都会去执行。这个其实创建的话有两种创建方式,一种手动创建,你直接输入任务名称,然后你这里希望他去干啥?跟爱沟通一样,就是自然语言描述就行了 啊,这个云端的话一般用云端,云端的话因为因为你电脑关机他也能去执行,除非那你用本地的话,那你每天保持你的到这个点,你的电脑在开机,你这个软件在打开他才能执行, 或者他执行不了。绘画中创建也是一样的啊,通过绘画创建都是一样,其实跟恩爱沟通都是通过自然语言描述啊,他会帮你去创建核心功能,基本就这两个,另外一个就是这个, 还有一个 m c p m c p。 现在如果有需要的话可以用,比方说你公司有系统啊,你公司有一个系统,它提供一些接口啊,你可以把这加上去啊,把公司的系统可以出一些报表数据啥的啊,你可以加到这,如果你公司有这个 m c p 接口的话,你把它加上, 加上的话,那你就在这能直接用了。你做方案了。做啥了啊?能直接能直接调用那个数据啊,更方便一些。其实 skill 都是一些标准化的,不是那个 mcp 都是调用一些标准化的接口啊,现在大多数场景的话,那可能用的更多的是这个技能啊,就是这个 skill 这个任务让他去执行吧,大概整整体呢,这个 aint 的 功能大概就这么多啊,大家可以去尝试啊,下载下来先去摸索, 如果有什么问题的话可以给我留言,或者给我私信或者评论区留言都可以啊。这个是这个已经完成了,收集好了,已经交付了啊,行,那就这事就说这么多。

最近我在招聘 hr 工程师,面了不少来自腾讯字节这些大厂的后人。我发现一个很有意思的现象,很多人简历上都写着自己做过 agent。 但我深入一问,发现他们做的其实不是复杂的 agent, 而是 l l m 应用。 比如什么意图识别问题分流知识互问答、单轮工具调用这些当然也有价值,但是它们和真正的 agent 工程中间,其实差了一大截。为什么呢?因为 l l m 应用本质上是你问一句模型答一句,但 agent 不是 回答问题, agent 是 帮你完成任务。 真正的 agent, 一定不是简单掉一次大模型接口,它要有任务拆解,要有 agent loop, 要能够调用工具,要能够根据执行结果继续调整,还得有状态管理、错误恢复验证机制,甚至还得有人工介入和评测体系。 所以我面试的时候啊,经常会追问几个问题,你的 agent 有 没有 loop? 有 没有工具调用?有没有 trace? 任务失败了怎么恢复?任务做到一半状态怎么保存?怎么判断它是真的完成了任务? 很多候选人呢,一听到这些问题啊,就答不上来,这说明什么呢?说明现在很多大厂的业务啊,其实还停留在 l l m 应用阶段, 不是大厂候选人的能力不行,而是他们没有真实复杂 agent 的 项目环境。所以,现在看 agent 工程师啊,不能只看大厂背景,也不能只看简历上有没有写 agent, 真正要看的是他有没有 agent 工程思维。什么叫 agent 工程思维呢?一句话, 它不是把大模型啊,当成一个接口来调用,而是把大模型当成一个可以调用工具,会执行任务,能持续迭代的工程系统来设计,这个才是 agent 工程师和普通 l l m 应用工程师的一个最大区别。 所以我想给转 agent 工程师的朋友啊一个建议,不要只做聊天的机器人知识库问答这种 demo, 你 至少要自己做一个小型的 agent harness, 里面要有任务循环工具调用上下文管理 状态记录,执行日制失败,从事和结果的评测。哪怕这个项目不大呀,只要你能把它讲清楚,就比很多简历上写着大厂 agent 的 项目的人呢更有竞争力。因为未来真正稀缺的不是会调模型接口的人,而是能够把 agent 做成稳定工程系统的人。

大家好,我是森森,我最近在学 agent 啊,我把我最近学的一些与 agent 有 关的知识呢,整理了一份文档啊,主要是以八个部分构成的,我们可以简单地看一下。 好,首先我们先来到第一部分,什么是 agent 啊?我这里呢给大家介绍了一下 agent 的 概念啊,它是能自主理解目标、规划步骤、教育工具,完成任务的 ai 系统, 相比传统的大模型, agent 具备啊,这个是它的四个优点,主动决策工具、调用、记忆回溯、持续学习啊,这个是它的一个优点。 那我们来到第二部分,我们为什么需要 agent 呢?啊?是因为传统大模型的局限非常非常的大,因此呢,近两年我们提出了 agent 的 概念。那下面给大家 展示了一个表格,通过这个表格呢,我们就可以看到,嗯,在不同的场景下,传统大模型的解决方案和 agent 的 解决方案啊,是 区别还是非常大的?传统大模型它是,嗯,只是没有系统的去给大家分析 的分析解决。那我们现在来到第二部分,为什么需要 agent 呢?啊?是因为传统的大模型,它的局限现在是非常大,因此近两年我们提出了 agent 的 概念。那下面我给大家整理了一份表格啊,是 将传统大模型与 agent 在 聚在不同场景下啊,是不同场景下提出的解决方案。 嗯,大家可以简单地看一下。那现在我们来深入了解一下 agent 的 核心架构啊,它这个是它的一个大模型啊,下面呢是它的关键主键啊,每一个关键,每一个主键呢,都有功能说明以及实现的视力,我们可以看一下。 好了解了 agent 的 核心架构和组建之后呢,现在我们就可以动手来搭建一下 agent, 这里呢给大家, 这里呢给大家举了一个例子,嗯,步骤一定义工具级 啊,这个是步骤二,创建 agent 核心,步骤三,配置决策流程。步骤四,进行 agent, 我们可以看到每一个步骤当中都有具体的代码以及对应的中文注式,这样能够方便我们大家更好的理解和去学习。好的,那我们进入到第五部分,典型的呃应用场景,这里给大家举了几个例子。 第六个是啊, agent 开发框架对比,这个是目前比较主流的几种 agent 开发框架,大家可以根据自己的 使用场景,然后结合他的特点来选择一个适合自己的框架。那我们现在看到第七部分啊,第七部分是不管你是新手还是已经入门的人都会遇到的一个都会遇到的问题,问题一,无限循环。问题二,工具降误 问题三,安全越权危险的操作,比如说删除一些数据, 往这里提到了四种挑战,然后每一种挑战后面都有对应的解决方案,以及预计啊解决的效果提升能够达到什么样的程度。今天的分享就到这里了,嗯,个人感觉这份文章整理的还算不错的,希望大家可以重点的去看一下。第四部分 啊,大家一定要去动手去搭建搭建一下,因为在做中学才是学习方式。

你有没有发现,很多人一上来就想搞一个全能 ai 智能体,结果越做越乱?今天分享 antropic 官方的实战指南,帮你搞清楚到底怎么搭。 先搞明白一个核心, a, 自动系统分两类,工作流是你定好路线让模型走。智能体是模型自己规划路线,别急着上 agent, 先问自己任务是不是开放型的,能不能提前拆好步骤, 单次调用加剪辑就够的话,真没必要搞复杂,那基础怎么大?给 llm 装上三样东西,剪辑工具记忆。重点就两件事,针对场景定制能力,把工具文档写得像给新人看的一样清楚。 anthropic 总结了五种工作流,提示链路,由分发并行执行、编排、工作者评估优化,从简单到复杂,按需选。如果确实需要自主决策才上 agent, 但一定要设检查点和停止条件,防止失控。 最后记住三个原则,保持简洁、过程透明。精心设计工具接口。觉得有用就收藏一下,下次动手搭之前翻出来看看。

为什么说自学 a 证的都是坑?最近发现好多人后台都在问我同一个问题,想自学 a 证的开发该怎么学啊?每次听到这个问题,我都想直接回一句,别自学了,真的全是弯路。 第一,根本不知道从哪开始,我当初自学 a 证的操作,打开 b 站搜索 ai agent 的 教程,好家伙,一下子蹦出来几百条视频,三天学会 a 证的开发,零基础入门, ai agent 手把手教你做智能助手,每个视频都说的天花乱坠,你点进去看,结果呢?这个视频讲 python 基础,那个视频讲 api 调用,还有一个讲什么图形原理,看了三天,感觉自己学了好多东西,但真要让你自己做个项目,你发现自己还啥都不会,只是短暂的留在脑子里,停了一下就走了, 这就是问题所在,你连先学什么后学什么都不知道。第二,网上的资源太乱了,你以为网上那些免费教程真的能教会你吗?其实真正有用的东西,人家公司根本不愿意放出来,你想想,一个公司花了几百万研发的技术,他会免费放到网上让你去学吗?不可能的是,那些网上能搜到的,要么是过时的技术企业,早就不用了。 皮毛的东西只讲表面不讲核心,甚至有些是错的,你叫他做都做不出来。我有个同学,大二的时候自学了半年 a 证的简历上写了一大堆项目,结果去面试的时候,面试官问了一个问题,你这个 a 证,他的决策逻辑是怎么设计的?他直接蒙了,因为他只会调用 a p i, 不知道背后原理是什么。 第三,你根本做不出有竞争力的项目。这是最扎心的一点,你以为你跟着教程做个智能客服,自动回复机器人就能找到工作了?现在企业招人看的是什么?看的是你有没有做过真实项目。什么叫真实项目?在生产环境里跑过有真实用户在使用的,解决过实际问题的。你做的那些代工项目,做十个做一百个,都不如人家一个真实项目有分量。 第四,你连自己学的对不对都不知道,你可能花了一个月时间学了一大堆东西,但其实你根本不知道你学的东西现在企业还用不用?你学的技术是不是已经过时了?你做的项目有没有价值?那到底该怎么学呢? 综合以上,我踩过几点,如果你真的想学 a 证的开发,我建议你,第一,找个靠谱的人带,不管是学校的老师,有技术在身的那种,还是说已经工作的学长学姐,又或者说一个靠谱的机构,他们都能告诉你现在企业到底在用什么技术,应该学什么,不学什么,怎么做出有竞争力的项目。 第二,尽早去实习,哪怕是小工资,哪怕工资不高,最重要的是你能接触到真实项目,了解到企业中里是如何做事的,同时积累一定项目经验。第三,别想着把 ai 学透了, ai 这个领域太大了,你不可能什么都学会,所以建议先学最实用的,先做能做出东西的,先找到工作再说其他的技术工作,等到工作了再慢慢深入。 说了这么多,想跟大家分享点实在的。主播整理了自己学习智能体完整文档,还有相关项目,有需要的可以在评论区留个七七七,下一期我会专门出一期自己从零到一的学习路线拆解,有兴趣的可以给个三连,我们下期见。

ai agent 是 一个小程序,它负责在用户 ai 模型和功能函数之间进行传化。比如说我们想要让 ai 帮忙管理文件, 但模型本身没有办法直接捕取咱们的硬盘,所以我们需要提前写好一系列的文件管理函数,再把这些函数注册到 agent 里面, agent 就 会把这些函数的信息啊,通过 system prompt 或者繁星 call 的 方式啊告诉 ai 模型, 于是模型就可以返回指令,引导 agent 去调用相应的函数啊,去完成用户的请求。现在我们回到代码,今天我们要开发的是一个简单的 ai agent, 它负责管理 text 的 文件夹下面的文件内容。在当前文件夹下,我们目前一共实现了五个文件,那么它们分别使用不同的编程语言实现了一部分代码, 其中包括像 python, java, c 语言,还有 gs 等等。那我们要实现的 ai agent 能够啊通过代码的内容啊,去识别到它对应的编程语言, 然后再修改对应的文件,给他添加上对应的编程语言的后缀。那这个就涉及到本地啊文件资源的这样一个修改和读取, 那到底应该如何去实现?接下来我们先给大家去分享我们的第一个代码,也就是我们的 tools, 咱们的这个工具。 那我们前面讲到过 ai 模型,它本身是不具备修改我们本地文件的这样一个能力的,所以我们需要把这样的能力啊通过工具来实现。 所以在这里我们现在已经实现了三个功能函数,第一个就是 read file, 然后第二个 delete file, 然后第三个是 relive file。 那么对于这三个功能函数啊,它们的作用,首先第一个 read file, 那 么它接收一个参数啊,叫 name, 也就是我们的文件名,然后它会去打开这个文件,然后去读取它里面的这样一个内容, 然后 list files, 那 么它会来到指定的这个文件夹,然后去循环地去读取啊这个文件夹下面所有的文件, 然后 rename file, 那 么它的作用的话是有两个参数啊,一个是 name 啊,就是我们原原文件的这个名字,然后是一个 new name, 那 是我们一个新的这样一个名字啊,所以它能够去完成这样一个名字的这样一个修改, 那么这个代码啊,就是我们通过排序语言来实现的。那么在这里我们需要去注意的是,对于不同的功能函数,那么对于我们的参数的名字,我们应该要尽可能的啊,符合我们的这样一个功能的这样一个含义,包括 name, 那 么它指向的是什么, 对吧? read file, 它指的是什么?以及我们在功能函数当中啊,我们所编写的这一个什么 description, 那 我们的这样一个功能函数的描述,那也要尽量的清晰简洁,那这样的话能够方便让我们的大语言模型啊,能够去进行这样一个识别。 好,所以我们在了解完这一个 twos 这个工具文件之后啊,接下来我们来到咱们的主文件,也就是问文件当中啊,那么在问文件当中的话,那么我们是通过这个 piect 啊,那么通过这样的一个 工具啊来实现呢,我们的模型的初使化啊,以及我们整个 a 镜头的这样一个创建。那么在这里的话,我们首先来看第一个,也就是我们这个模型的初使化,那么我们采用的是这个呃, deepsea 啊,就我们用的是 deepsea 的 这个模型 啊,大家可以看到啊,这个地方是我们的一个接口,然后那我们的 api k 的 话,我们是把它放到这个,因为这个文件当中的,所以大家的话可以自行去添加啊,然后模块的话就按照这个一样的去进行使用就 ok 了啊,那我们在创建好咱们的这个 大别模型这个 model 之后啊,接下来我们就来创建咱们的 a g 的, 那么在 a g 的 当中啊,我们一共给到了三个参数, 第一个参数就是我们的模型本身 model, 然后第二个是我们的 system promise, 是 我们给的一个系统的一个提示词,就是告诉我们的 a 检测,那么你是怎么样的一个身份? 然后接下来我们把我们的整个的这样一个工具啊 tools 哎传进去了,那么在这个工具的列表当中啊,咱们一共是有三个工具啊,就是我们前面已经实现的 read file, 然后 list files, 还有这个 rename file 啊,一共是这三个。好,然后接下来那么我们的主函数的话是这个 m 函数啊,那么在这里的话,我们是实现了一个 while 循环啊,就是我们可以通过不断循环的方式啊,去反复的和我们的这个模型啊,来进行沟通啊,或者叫咱们的 agent 来进行这样一个沟通啊,那它的这个调用的方式啊,就是这个 agent 点 recent 啊,那么这个就是 实际啊,执行的这样一个方法,那么它接收的参数就是咱们的这个 user input, 就是 我们的用户的一个输入啊,咱们接收到了, 好,接收到之后啊,那么我们的这个结果啊,是在这个 out put 当中,那么在这里的话,大家可以发现我们写了一个列表啊,叫 history, 那 么用来记录什么?用来记录我们的 历史的交流信息啊?那么这个数据的话,我们是用来完成我们的多轮对话,那否则的话,如果没有这个这个历史对话的话,那么你每一次执行这个功能,它 或者说你每一次需求他都要去重复的去执行一些功能,比如说文件我前面读过了,后面我又还要再去读啊,所以他就会有反复啊,所以我们那张把历史的这个对话也给他加进去了啊。 好,那么接下来的话,我们就来运行咱们整个程序啊,我们看一下那么他的一个实现的一个效果。那首先我们运行咱们的代码。好,那么第一个就是列出所有的文件啊,我们先让执行第一步。 好,那么我们可以清楚的看到,那么现在他自己啊去调用的一个方法,叫什么叫 list file 啊?也就是列目录啊,但是这个地方我们看一下有没有问题了,好像有点问题,因为我们地方应该是 list file, 好 像是少写了一个 s。 来,我们看一下。 好,当然我们这边打印的话,是啊,没有手写啊,那这个是他自己去执行的一个结果啊。好,然后我们可以看到,那么他在这里我们列出来的这样一个文件列表有没有问题?没有问题啊,是正常的。 ok, 好, 那么接下来我们让他读取啊,分别 读取文件中的内容,好,那么文件内容我们其实前面已经讲到过了,就是通过不同的编程语言啊来实现的。好,那么我们可以看到,那么他一共啊调用了五次这个 read file 的 这样一个方法,分别去读取了 a、 b、 c、 d 啊,这个几个文件啊, 好,然后每个文件它的这个内容如下,当然我们可以看到,那么它针对于什么?它针对于我们的每一个文件啊,它的这个输出啊,它其实有把对应的编程语言有给我们做一个输出,比如说 a 它是用 python 写的,然后这个 b 它是用 java 写的, 然后这一个 c 的 话,它是用 c 语言写的,对吧?还有这个 d 呢,是用 go 语言写的,还有这个 javascript, 哎,都已经念出来了。然后接下来那么它既然已经识别到它对应的这个编程语言了,然后我们再让它根据 啊对应的编程语言啊去修改文件的后缀名, ok, 好, 那我们同样的再把这个需求提交给我们的一个 a 级的,那我们其实通过现在啊,这几次的这样一个啊执行,我们其实可以发现啊,那么对于我们的 ai 来讲, 如果说他在不具备部署这个工具的能力的情况下啊,那么他是没有什么,他是无法去读取咱们本地的文件,也没有办法去修改咱们本地的文件的。但是现在, 哎,我们会发现啊,他可不可以了?他其实已经可以了,包括在这里我们可以看到,对吧?已经修改好了,那我们现在把这个暂停掉啊,退出掉,好,退出掉之后来,我们现在看咱们这个一个文件来,各位 能看得到吗?好,那么现在啊,我们所有的这个文件啊,都已经自动的加上咱们这个后退,也就是说啊,他已经具备去修改咱们本地文件的这样一个能力了,所以这就是,哎,我们的 ai agent, 他 不光啊能够去 告诉我们应该怎么做,那他还能帮你去做啊,比如一个很简单的需求,对吧?我不知道这个代码是用什么写的, 对吧?那以往你去问这个模型,他只能告诉你,对吧?这个是用 java 写的,那如果说你要改户对,你要自己去改,但是现在他可以自己去改啊,这就是我们通过 tools 工具的能力啊,去增强了啊,这个模型啊,他的这样一个 可以去完善的这样一个功能啊,所以这就是一个最基础的 ai agent 的 架构啊,逻辑并不复杂,但背后的机制啊,却很有意思啊。那所以希望这个视频啊,也能够帮助到你啊,更加清楚的去理解整个流程。

假如你从二六年六月开始转型大模型应用开发,多久能上岸?只要你不是三分钟热度,三个月足够让你转成为 ai 领域高手。接下来告诉你一条最快的学习路线,建议收藏,避免以后走弯路。第一阶段,死磕基础, 把 python 基础和简单的 api 调用吃透,千万别小看这些基础,这是和模型打交道的根本。第二阶段,掌握两大框架和 lambendix, 一个用于构建 agent 逻辑框架,另一个用于构建外部数据缩影。 三大技能是指 r a g, agent 模型微调,这三项技能直接对应了当前 ai 岗位的核心需求。最后阶段,实战项目选择常见的大模型应用场景,结合前面所学知识做二到三个项目,如 r a g, 医疗问答 agent、 智能客服、 股票分析,掌握这些足够让你胜任百分之九十以上的 ai 岗位。如果你还不知道从何开始,这里整理了大模型系统学习路线以及配套视频教程。实战项目,留下大模型暴走。 本期视频带大家深度解析 ai 常见术语。首先我们要先打好地基,核心就是 n n, prompt, context 和 memory。 接着我们进入第二章能力扩展,我会重点攻克 r g 和方身 calling, 简单说就是教 ai 怎么查资料,怎么调用外部工具,还有 m c p 协议,这一直是行业的热点。搞懂了它,你的项目瞬间就能连接各种的数据库和 api, 去面试绝对是个加分项。然后来到这个形态进化和流程控制,这也是很多小白最容易晕的地方。 workflow、 skills 和 agent 有 什么区别啊? long chain 又要怎么用呢?我会把它们都串起来。学完这一章,你就知道怎么把一个只会聊天的 ai 变成一个能真正干活、能执行复杂任务的超级员工。最后,我们要探讨一下 agent 的 终极形态和未来的技术红利在哪?那你在这个快速变化的时代,找 找到那个最值得投入的甜蜜点。好,那我们就正式进入第一章。这一张的标题叫做基石构建。为什么叫基石呢?因为我们要讲的这四个词, liam, i m, prom、 context 和这个 memory 是 整个 ai 应用世界最 底层的概念。后面所有那些听起来很厉害的东西,比如说什么 agent 呀,还有 r g 呀,其实都是在这些基础之上搭起来的。所以我们先把这几个最基础的概念搞明白,后面的内容你就会发现,哎,原来都是这么一回事儿。嗯,那在讲具体的概念之前,我们先快速看一下背景。大家看这张图 是不是有点眼花缭乱?这里面密密麻麻的全是各种大模型的名字, gpt 啦,拉玛呀,还有千问等等。你们不需要去记每一个名字,这张图就告诉我们一件事,从二零一九年到现在二零二六年,大模型的发展速度是爆炸式的。 你看,从最早的 gpt 三,到后来的叉 gpt, 再到现在的 gpt 四、拉玛三,几乎每隔几个月就有新的更强大的模型出现。这种快速的迭代,就是我们今天能讨论所有这些应用的前提。可以说我们正处在一个技术浪潮的中心。好, 背景了解完,我们再看一下这个浪潮的核心 l o m 它到底是个什么东西?我们来聊一下 s i 人民的本质。其实在最开始,语 言模型干的事特别简单,就是文字接龙,你给他床前明月,他就能给你接上光,就这么简单。但是很有意思的事情发生了,当模型的参数规模越来越大,数据越过越多,达到一个临界点之后,他突然就开窍了,能理解指令,能推理了, 甚至能写代码了。这种现象,学术界管它叫涌现,而涌现日后的大模型,我们就称之为 l l m, 也就是大语言模型。虽然它看起来智能,但是我们得清醒地认识到它的本质。大家可以看下面这个图, 我们可以把它想象成一个关系,我们用户是老板, l m 呢,是我们的员工。这个员工啊,他能力很强,但是有个非常核心的限制,他只能够一问一答,不能够主动追问。你给他一个任务,他做完就完了,不会说老板。各地方呢,我不太明白,你能详细再说一下吗?而且 他无论表现的多么聪明,他最底层的工作方式啊,依然是在预测下一个词。这点非常重要,是我们理解后面所有问题的关键。那么 面对这样一个一次性的超级员工,我们该怎么用才能把它的价值最大化呢?这就引出了我们下一个话题。既然 l l m 只能一问一答,那我们作为老板,就得想办法把每一次提问的效率提到最高。那具体又怎么体效呢?首先,我们得学会更好的下达指令。我给 l m 的 每一次提问,专业术语叫做 prompt, 也 也就是提示词一个高。这样的提示词其实可以分为两个部分,一部分呢是 context, 就是 上下文,相当于你给员工布置任务时的背景信息。比如说,我们现在呀,要为一个年轻用户群体做推广,就是 context。 那 另一部分呢,是 instruction, 就是具体的指令。比如,嗯,请根据这个背景写三条广告语,你看他就把背景和指令分清楚, a n m 的 回答质量会高很多。这算是第一个技巧。但很快我们又遇到了新的问题,刚才我们也说了,来完他不能够连续的互动,聊完一句他就失忆了,这在实际使用中非常的不方便,对吧?那怎么办? 工程师们想出了一个非常巧妙的办法,既然他记不住,那我们就帮他呗,把之前的对话,把之前的对话历史全部打包 在进下一次提问的 context 里面。比如说,你第一轮,你问他北京天气怎么样,他回答了第二轮,你想问,那上海呢?你就得把第一轮的问答也一起发给他,变成第一轮北京天气怎么样? 回答晴天。第二轮,那上海呢?这样一来, let them。 看到完整的对话历史,他就能够假装自己还记得之前的内容。这一部分被特意保留下来的对话历史,他有一个新的名字,叫做 memory 记忆。所以你看, memory 本质不是什么神秘的技术,它就是一段特殊的,包含了历史对话的一个 context。 甚至为了节省空间,我们还可以让 n l m 自己把涌长的历史对话去总结成几句话,再放进 memory 里面,这就是更进阶的用法了。好了,到这里关于 n l m 是 什么 form? 怎么用? context 和 memory 又是怎么回事儿?我们就全部拆解完了。你会发现这些概念其实并不复杂,核心都是为了解决 a l m 自身的一些局限性,接下来我们就可以在这些基石之上进行一些能力的扩展了。这一章我们要讲的这些,其实都是在给 a l m 装手装脚, 让他从一个只会聊天的大脑变成一个能动手办事的员工。什么意思呢?我们先看一个问题, l m 有 个特别致命的短板,就是他不上网,你问他今天北京天气怎么样,或者昨天苹果公司股价多少,他要么瞎编,要么告诉你我的知识,截止到某年某月某日,为什么? 因为他训练完就断网了,脑子里装的全都是旧数据。那怎么办呢?很简单,让他去查查的话呢,有两种主流的方式, 一种叫做 search, 就是 搜索,你可以理解成写个小程序,代替人去谷歌或百度搜一下,然后把结果喂给 l m m。 比如说你问最近有什么新发布的手机程序,自动去科技网站抓几条新闻,再让 l m 总结给你听。这个过程呢, nm 它本身没有变,只是多了一个外挂搜索引擎。第二种方法是 r r g 解锁增强生成。听起来很高大上,其实逻辑也是一样的,只不过呢,不是搜全网,而是搜你自己手里的文档或数据库。比如说你们公司的内部的产品手册啦, 还有客服记录以及合同模板等等,你把它们存进向量数据库里,当用户提问时,系统先语义匹配,找到相关的段落,在塞进 prompt 里,给 给这个 a n m。 你 看,不管是 search 还是 r g, 核心思路都是一样的,把外部信息搬进 context 里,让 n n m 基于最新最准的数据回答问题,这对我们实际工作意味着什么?举个例子,如果你是个电商运营,用 r g。 接入商品库和促销的规则, n n m 就 能够实时回答这款衣服打折后多少钱, 库存还有多少,而不是靠记忆瞎猜。不过呢,我们说的这个 search 和 i r z 虽然有用,但是有一个问题就是还得靠人来触发。比如你想查天气,你得先告诉 lan, 你 去查一下天气,然后他说我需要调用天气, a p i, 你 再手动执行,这太麻烦了,对吧?于是有人想了个办法,干脆写一个中间程序,专门负责 t i m 来跑腿。这个程序就叫做 agent 智能体。再看这个流程图,用户不再直接跟 a m 对 话,而是交给我们的 agent。 agent 像是一个管家,他知道什么时候该让 a m 思考,知道什么时候该调用工具,比如说搜索工具、 打数据库的工具,还有发邮件的工具, l m 负责动脑, toos 负责动手,人就负责传话加调度。早期的一些 agent, 可能就是多加了几行 prompt 而已,后来慢慢发展成独立的程序模块。那本质是什么呢?就是一个自动化的协调器,它减少了人类反复干预的次数,让整个流程更加顺畅。想象一下, 只需要说一句,帮我订一张明天飞上海的机票, agent 就 能自动调用航班查询笔架、支付接口,最后把确认单发给你,全程都不需要你插手,这就是 agent 的 价值。好了, 现在有了 agent, 也有了好多工具,但新问题又来了,大家沟通容易乱套啊。这里其实有两个不同层面的问题,需要两个不同的解决方案,它们是方声、 calling 和 mcp, 大家千万不要把它们混为一谈。首先看左边方神拷领函数调用,这是大模型自身的一种能力,你想啊,模型是个大脑,光想没用得,能够把想法变成程序能听懂的指令。方神拷领就是规定 l m 必须按照特定的格式输出, 通常呢是 jackson。 这就有点像是前后端约定接口文档一样,前端不能随便传数据,后端也不能随意返回格式。方神拷领就是 l m 和 a j 之间的 api 器约,解决的是沟通混乱的问题。但是 每接一个新工具,比如你要查数据库,要读文件,工程师都得专门写一堆代码去适配,特别麻烦,而且工具之间数据不通。这时候右边的 m c p 就 起作用了。 m c p 全称是模型上下文协议, 不是模型的能力,它是一个通用的连接协议,你可以把它想象成 ai 界的 usb 接口。它定义了两个核心操作,第一个是托尔斯,告诉 agent 我 现在有哪些工具可以给你用。然后第二个呢,是托尔斯 call, agent 说我要调用那个叫做 getweather 的 工具,嗯,参数是北京,那托尔斯就可以执行并且返回结果。有了 mcp, 只要工具的开发商遵循这个协议,做一个。嗯, mc server, 任何支持 mcp 的 模型或应用都能够直接插上,用不用重复开发? 更重要的是, m c p 还能够传递上下文信息,比如说把用户之前的对话历史、当前的任务背景一起传给工具,让工具做出更智能的响应。所以啊, m c p 解决的是工具藕合的问题,让工具变得可插拔、可扩展、 可空想。所以呢,方胜拎是 a m 对 agent 说的标准口令,确保意图不被误解。那 m c p 是 agent 对 兔子发的标准公单, 确保工具能被统一调度,两者配合,才能让整个系统从各自为战变成协同作战。我们前面讲的这些都不是为了炫技,而是为了让 ai 真正落地,变成我们能用的生产力工具。 ok, 我 们解决了 ai 能干活的问题。 接下来第三章,我们会讲到交互形式的演变, long chain, workflow、 skills, 还有 sub agent。 不要被这些词给吓到, 其实它们都是为了解决一个共同问题,当任务变得复杂的时候,如何让它干得稳、管得住?先看上面这几个图标,左边是命令行 c i l i, 中间是编程工具 id, 右边是现在流行的通用的桌面助手。我们可以明显地感受到, ai 的 外表越来越好看,入口呢,也越来越低。以前你得会敲代码才能够用,现在点个图标说句话就能搞定。像 call、 code 尔巧巧、 minus 这些产品,底层架构其实都差不多,但用户体验天差地别。但是无论这个界面有多漂亮, 他们都有一个统一的致命缺点,面对复杂的长流程的时候,极其的不稳定。举例子,比如说,你想让他把一份英文的 pdf 翻译成中文,再转成 markdown 存起来,这听起来简单, 但中间涉及提取、翻译、格式化、保存几个步骤。如果全靠 agent 自己发挥,他可能第一步就选错工具,或者是翻译一半忘了格式要求。最要命的是,他每做一次都要重新推理整个流程,非常的浪费, tock 成本很高,这里有个很关键的洞察。其实呢,提取 pdf 和保存 markdown 这两步啊,完全是确定性的,根本就不需要 ai 插手,写几个固定的脚本就能搞定,又快又稳。只有中间这个翻译的这个环节需要 ai 的 智能。所以呢,我们的思路应该是,该固定的固定, 该智能的智能,别让 ai 去干那些他不擅长也没有必要干的脏活累活。具体怎么做呢?这就引出了流程固化的三个眼镜阶段。为了避免 a 制的每次都自由发挥,人们尝试了三种办法。第一种,纯代码,这是最彻底的方案,直接把整个流程写成代码,完全不让中间智能体插手。 优点是最稳定,缺点是没有灵活性,改了需求就要改代码。第二种是朗颤,这是一个专门为程序员设计的框架,他把 prompt 记忆工具都封装成了组建,你可以像搭乐高一样, 用代码把它们串起来,这可比纯手写代码方便多了,但是呢,还是得懂编程。那第三种, workflow 工作流,这是照顾非程序员发明的一个第一代码方式,你在界面上拖拖拽拽连连线就能把流程画出来,门槛极低,跌误人员也能用。听起来很完美,对吧?但是这里有个新的瓶颈, 就是排列组合的爆炸。你想,如果输入格式有这三种输出呢?又有这三种,你得画多少个工作流?三乘三等于九个,如果再加几个选项,比如说是否压缩,是否加水印, 那组合数直接爆炸,为所有可能的排列组合去画工作流,既不现实,维护起来也是噩梦。而且啊,如果你在代码里面写一堆的 excel, 来判断用户想要哪一种流程,又会破坏那一种,我说一句话,你就懂得一个无缝的体验。所以呢,我们需要一种更聪明的方式,既能附用能力,又不需要预设所有的流程。这就是我们要讲的最近非常非常火的概念, skills 技能 use, 它是一种标准化的能力封装单元。大家看这个图,当用户下达一个执行任务的 指令的时候,系统不是让 a 阵从零开始响,而是先去加载一个对应的 skill 点 md 文件夹,这个文件夹里面有什么呢?在下面这个代码块必须有一个 skill 点 md, 这里面写着这个技能的核心元数据,它是干嘛的?需要什么输入? 产出什么?有哪些流程限制?这就好比给 agent 发了一本操作手册,还可以有 script, 放一些可执行的 python 或者是 bash 脚本,比如说刚才说的提取 pdf 这种确定性的操作就放在这里。还有呢, references 和 assets, 放参考文档、模板、 图片等静态资源, agent 在 执行的时候可以随时查看。这样的好处是什么呢?好处就是不管是谁开发的这个 skills, 只要符合这个结构, agent 都能看懂,能调用。通过 skill 点 m d, 我 们可以告诉 agent, 在 这个任务里,你只能做这三件事,别的千万别乱碰。而且呢, skills 是 很灵活可复用的,今天做翻译用这个 skill, 明天做总结,还用这个 skill, 不 用重复开发。简单来说, skill 就是 把确定的流程和必要的约束打包成一个插件, agent 拿到任务之后,先插上对应的插件,然后在插件划定的圈子里面发挥智能,这就实现了灵活性和可控性的一个完美平衡。不过,即使有了 scale, 当任务特别大、特别复杂的时候,会出现一个上下文爆炸的问题。大家看左边的图,如果所有事情,比如说写代码、修 bug、 查资料、做分析,都塞进主 a 阵的一个上下文窗口里,很快就会挤爆模型,记不住前面的信息,注意力分散, 甚至会把不同任务的线索搞混。怎么解呢?当然是分而治之,引入 sub agent 子智能体,把大任务拆解成小任务,每一个小任务都交给一个独立的 sub agent 去处理。比如说主 agent 负责统计,他说这个项目需要代码审查、调试, 然后呢,还需要数据分析和网页的调研,然后他召唤出这四个子智能体,每个子智能体都有自己独立的 sub agent contacts 子上下文。 sub agent 的 本质是什么呢?注意,它并不是创造了四个新的大脑,它仅仅是做了一个上下文的分区,就像是你在浏览器打开了四个标签页,每个标签页跑不同的网页,互不干扰,关掉一个,其他的还在。这样做的核心目的只有一个, 那就是确保子智能体它的上下文不会污染主智能体,实现信息隔离,调试时的报错日制,不会干扰写代码的思路,调研时的海量网页内容,它不会挤占核心任务的内存,这样一来,无论任务多么复杂, 系统都能保持清晰稳定且高效。好,那我们第三章的核心思想就是不要试图用一个超级大脑解决所有问题,而是要构建一个分工明确、各司其职的一个协助系统。最后我们就来拨开所有技术外壳,回答两个终极问题, agent 到底是什么? 以及它最终会变成什么样?先看这一张终极 pk 表,左边这个红色箭头很重要,从上到下是从刚性稳定到柔性灵活的光谱。首先,纯代码在最上面,它是完全写死,固定逻辑 步都不能错。优点呢是最稳定,缺点是毫无灵活性,改一个需求就得重写。然后呢是 workflow, 通过拖拽格式化,边看流程,业务人员也能够上手。但是他有一个致命伤,一旦遇到如果用户要 a 格式就走这一条路, 要 b 格式就走这一条路的这种分支流程图就会变得像蜘蛛网一样乱。未来他可能会被封装成基础的能力包, 逐渐被边缘化。第三个是 skills, 这是目前最适合普通人的方案,既有预设脚本,保证稳定性,又留给 agent 的 一定的自由发挥的空间。但我认为啊,它只是一个过度产物,因为怎么说呢,它的结构还是太过于 人工设计感,未来会被更直觉的方式取代。那最底下是纯 agent, 完全交给大模型自由发挥。听起来好像很酷,实则最不可控,最费钱,每一次执行都像开盲盒车啃,消耗还巨大。所以你看, 没有完美的方案,只有当前阶段最适合的选择。而我们的目标就是找到那个既稳又灵的甜蜜点。那既然这么多方案都有,更有优劣,我们能不能问自己一个更根本的问题,这些技术的背后到底有没有一个统一的本质?现在我们抛开所有框架、工具和协议, agent 的 本质到底是什么? 答案可能让你惊讶, agent 其实就是我们和大模型之间的一个提示词的包装器,你看左边,它自动帮你 夹上下文。呃,搜索网络,查知识库、读技能文档,这些都是为给大模型更多的背景,让他别瞎猜。那右边更关键,他把那些确定性的逻辑外包给了传统的程序,比如说,如果文件是 pdf, 就 调 o c r r 引擎,如果是 word, 就 直接解析。像这种 excel, 根本就不需要 ai 参与,交给代码跑得更快更准。所以 ag 呢,并不是一个全能大脑,而是一个聪明的管家,他知道什么时候该自己思考,什么时候该喊程序员写的脚本来帮忙。最后一句点睛之笔, ag 呢,是由不需要智能的部分构成的。什么意思啊?意思是 真正有价值的地方,恰恰是那些不用问大模型的地方。我们用固定程序解决重复劳动,让大模型只专注于他擅长的创造性的部分。最终的目标从来都不是炫技,而是两个朴素的愿望, 就是节省人类时间,降低使用的门槛。那你想想,为什么 a 阵一定会进化?它的驱动力来自哪里?我们来看这个天平,左边是技术优雅性和 token 成本,右边呢,是用户的便利性。结果很明显,便利性碾压一切。过去我们总纠结这个架构够不够优雅, 这次调用花了多少 token。 但现实是,只要用户觉得好用,哪怕背后是一团乱麻的代码,哪怕一天要烧掉几百美元的 token, 市场也会买单。而且呢, tokyo 成本正在快速下降,今天你觉得很贵的推理费用,明天可能就微不足道了。想象一下,当你能在本地的笔记本电脑上跑一个媲美 gpt 四的模型的时候, tokyo 这个词本身都会消失。就像我们现在不会说我的硬盘用了多少 kb 吧,只会说还剩多少 g。 还有一个很重要的规律,叫做 便利性至上定律。我们参考 spring boot 和 uv 的 经历, rain boot 出现之前,甲方开发要配一堆的车命,同样的,在 uv 出现之前,拍洒虚拟环境的管理让人头秃。它们都不是技术上最先进的,但都是最容易用的。所以啊, 任何技术无论多么精妙,只要让用户多点一次鼠标,多记一个命令,就会被淘汰。最后,我们来聊一下那个最近刷屏的名字, open cloud。 它凭什么这么火呢?难道它的技术比 cloud code 更先进吗?其实扒开底层来看, 它和 cloud code 在 技术上几乎没有本质区别。那它的赢在哪呢?赢在它做对了三件事,却彻底改变了用户体验。第一,你不用打开复杂的 id, 直接在各种社交软件里面就能指挥它。第二,它支持定时任务,它能像秘书一样每天早上八点自动发邮箱, 而不是只会被动地问答。第三,格式化 skill 管理,你可以像装手机的阿皮一样,给他一键添加新功能。就是这三点,第一次让普通人觉得,哇,这不是一个冷冰冰的代码工具,而是一个能真正帮我干活的一个智能体。所以 基于 opencloe 成功,我们可以大胆预测 agent 的 终极形态,未来一定会出现打包好的超级 agent, 到时候所有复杂的 m c p 协议配置, sub agent 的 分工调度,通通的都会被隐藏在后台,用户根本不需要知道背后发生了什么, 只需要说一句,帮我安排一下,下周我要出差,剩下的全都交给 agent, agent 会走到这一步,零配置,开箱即用,越用越懂你。这不是科幻,这是正在发生的现实。 ok, 这期视频就到这里,我们下期再见。

哈喽,同学们大家好,我是木贤,本期视频为同学们分享 harmony 的 computer user 的 使用教程,我们来了解一下背景, harmony 的 它通过去集成了一个叫 c u v driver 的 库,它就可以去操作 mac 电脑了。这个是 harmony 的 官方文档的说明,就是本次它支持的这个 computer user 仅限于 macos, 如果你是其他的操作系统暂时还不支持 好,然后他怎么去实现的呢?其实他就是通过这个 c u v driver 他 去提供的 m c p 来让这个哈密斯的对应的大模型能够去调用对应的 m c p 工具,从而去实现操作我们的电脑。然后我们来看一下这个 c u v driver 这个库, 这个目前是在 google 上面开源的, store 有 十七 k。 这个 cuv 给同学们解释一下为什么叫 cuv, c 的 话对的就是 computer u 就是 user a, 自然就是 agent, 就是 给 agent 提供了 computer user 的 这个能力 好,然后在文档里面其实我们可以看到就是这个 c u v driver, 它就是提供给 mac os 去用的,所以说自然 port 这边它就仅限于去支持 mac os 好。 然后本次给朋友们重点要去分享的就是它这个 工作原理,就是这个 cv driver 它的工作原理,以及我们使用 harp 机的去操作电脑时的一些实战的技巧。我们现在了解一下这个工作原理,其实这个工作原理它是比较简单的, 我们知道 harp 处理器它是集成了 mcp 的 功能的,所以它自然就能够去操作 mcp, 而这个 cv driver 它就提供了对应的 mcp, 所以 说 harp 处理器和 cv driver 就 通过 mcp 就 给建立起来联系了。然后就是 cv driver 它凭什么能够操作电脑来? 其实这个 cv driver 它不是因为它绕过了 macos, 而是它把 macos 开发出来的能力都给集成进来了,来去操作这个电脑 就包含了 icc b l t a p i, 对 应的就是 macos 提供的这个辅助功能,我们来看可以看一下,比如说我们在我们的设置里面,我们来搜索隐私和安全,我们就可以看到对应的有辅助功能,然后我这边的话已经把这个 cv driver 已经给它开启起来了。 这个辅助功能开启之后,对应的其实在 windows 上面也有类似的功能, windows 上类似的叫讲述人,就是他会把你的这个电脑,你当前打开这个界面,他长什么样,比如说我当前这个界面 在两边是空白的,中间有文字的描述,我的文档就类似这样子,通过语言的描述把你当前这个 ui 给你描述出来。 仅仅通过文字的描述,你担心这个屏幕长什么样?肯定还是不够的,因为很多时候很多 ui 它是文字描述是不够的,比如说一些视频剪辑软件,或者一些比较复杂的这个表格操作啊,这些就是通过 ui 的 描述是不够的。所以说还有一个 就是 macos 暴露出来的录屏的这样一个功能,我们同样的可以在这个里面看到,我们来搜索这个隐私和安全。这个下面 你可以看到有录屏和系统录音,就是比如说我们去用一些远程软件,比如说像向日葵啊,或者说 two disc 的 一些软件,它就会要求我们把这个功能给打开,其实本质也是把我们这个屏幕给录下之后,然后我们就可以去点击屏幕对应的位置去操作我们的电脑, 所以说借助于它重点就是这两个功能。但还有一些比如说窗口进程的投递,这些系统能力它全部给整合起来了,所以说这个 c u v driver 它就能够去操作我们的电脑,并且它还做了一个事情,就是把这些操作能力都封装成了 a t 的 能够使用的就是这样的一个步骤, 就是我们可以通过去截屏,然后截屏之后找到元素的这个位置,比如说这个元素它可以去点击,或者这个元素它是一个输入框,可以去输入文字就等等的这些操作,然后找到这个元素的,所以之后我们就可以去执行对应的操作,比如说去 鼠标点击或者敲回车啊这些,然后最后就会去验证这个操作,就整理下来就是 a 镜头的这个工作流,就查找我们店了这个工作流, 然后这样的话 ai 它既可以去读取 ui 的 数,并且可以去调用这个控件的动作,本质就是这两个能力, ui 数通过 x c b 二 t a p i 提供,然后调用控件就是结合 screen recording, 因为它读到屏幕之后,它可以去点击对应的所有的位置, 然后也可以借助于截图做视觉定位,做结果的验证。从前半部分来看,我们可以知道就是因为他要进行视觉的定位,还有就是结果的验证,所以他就肯定要这个大模型能够去理解视觉, 因此 computer user 如果要做通用的 computer user, 最好接入支持图像理解的多模态大模型,其实也不是说最好,就是应该是必须要接入, 必须要借助支持图像的一个大模型,它才能去做世界定位和结果验证。成人本的模型可以做辅助规划和分析,但是单独使用就会受到限制,那这个是它的工作原理, 那下面呢?我们来开始进入到实战环节来去实际看一下。首先的话我们需要升级哈密斯的版本,这个我们可以跳到哈密斯的 get 哈卜这边,它的描述 就是你得升级到大于等于这个版本的 harryson 的 就是零点一四这个版本,它对应的发布日期是二零二六年五月十六号这个版本在这个下面的描述里面,我们这里可以看到它就支持了 computer user 的 这个能力。 好,这是第一步升级,然后之前我给同学们分享过了 hermes 的 安装以及升级的教程,然后所以说这边如何去升级 hermes, 我 就不展开讲解了,我们可以打开我们的终端,通过 hermes 干大 v 可以 看到我当前这个版本就是满足条件的,现在我们继续来回到文档, 就是我们 hermes 满足之后,下面我们就可以去安装 cpu driver, 直接执行 hermes 提供的这样一个 computer user 的 命令,直接去执行 好,因为我这边已经安装过,所以说比较快,并且他提示我已经安装了,然后他就会提示我们需要去保证,就打开我们的系统设置,然后个人和隐私去把 cpu driver 对 应的这两个权限给打开,那同学们看到这个不要着急啊,就说你会觉得这个操作比较复杂,其实没有关系, 因为你再去使用这个 cpu 抓板,他只要触发了这个操作的时候,他就会弹出这个弹簧出来,那你去给他设置对应的权限就可以。好,然后下面是我们可以去查看我们安装的这个状态。 好,这个 status 这边我们可以看到已经处于 excel 的 状态,就我们就安装好了。安装好了之后,下面我们就可以通过 c u driver status, 你 可以检查你的 c u driver 是 否已经处于 running 的 状态,如果说它不是 running 的 状态,那么去执行这个 service, 把它给启动起来就可以了。我们看到我这边已经启动起来了,所以说 就重新再启动,就不会再发生任何的变化了。这个是安装仪检查我们的 c u driver, 那下面我们就可以来开始使用 computer user 了,使用之前要给同学们多讲一些东西了,就是我们使用 computer user 就 也也不是说那么多 简单,就是需要给同学们去讲一些技巧,这个技巧我把它沉淀为了一个 scale, 并且这个 scale 我 已经提前安装好了啊,这个 scale 也会直接给到同学们,我们通过 scale sniff grape computer 给同学们来看一下,对应的就是我去写了一个 computer user helper 的 这样的一个 skill, 我 已经把它安装到我的 harness 这个 default 这样一个镜头下面了。好,那么这个 skill 讲了什么呢?这边给同学们来看一下。 这个十六的核心就是我们用来限定和指导马克威斯的操作,根据操作类型去选择最合适的技术再执行啊。这边有很多内容,我就不带同学们一个一个看了,我们直接拿到下面这个表格,这边给同学们来看一下。 就是举个例子,比如说我们去打开一个应用,这个打开应用通过 c u driver 能不能实现呢?是能实现的,怎么实现?就是它会去读到你这个电脑的 u i, 然后比如说你要打开 wps, 那 么就点击这个 wps 就 去打开了,但是 有没有更快的方式来?其实有的,我们直接通过 open 干 a 指定我们用的名字,这个反倒是比 c u java 还要更快的,因为你没有去执行视觉的这个识别,以及去点击这个操作,这个直接通过 open 命令一含就可以实现,所以说我们就不需要通过 java 去 执行那其他的类似的,比如说我们要激活一个应用,我们要让应用去全屏,这些我们都不建议 去执行 c u a driver, 而是直接用最快的这种方式去操作。那什么情况下我们要使用 c u a driver 来,比如说我们要读起 u i 数,要点击按钮,菜单输入框这些,那么我们就要用到 c u a driver, 所以 说我的这个 skill 呢,就是 会分析用户的这个操作的诉求,然后给它执行对应的动作的时候,就会优先去选择最合适的操作的时候就说没有安装。我的 这个看屁了,用着黑粉的话,他就一味的去盲目的使用各种技术,这个我也是在这个地方踩了很多坑,就是执行了一个操作,执行了很多秒,最后还没有去完成啊。这个这个朋友们可以看到,我这边的就是这个操作花了很久的时间,但是没有完成, 然后就是建议直接通过聊天通道来去管理 computer user, 这样它不会导致光标输入、聚焦位置这些发生变化。因为如果说我们直接在这个终端里面去操作 hermes, 比如说来给同学们演示一下哈,好,我们直接终端里面输入 hermes, 那这个时候,比如说我们直接让他帮我们打开浏览器,帮我打开谷歌浏览器,然后在浏览器输入框 里面输入 b 站链接,好,就是这个操作,那这个操作因为我本身是在当前的这个 harmless ui 里面去操作的, 那这个时候因为你要操作浏览器,所以说这个时候他又跳到了其他的这个界面上,比如说我们可以了,刚刚我没有操作这个是他自动跳转过来的,跳到浏览器这边,然后下面就我们在这个时候你看,比如说我们通过这个终端里面又跳回来,并且他会询问我们各种权限,好,这个权限我给同学们来截个图啊,这里 再截个图给他定到这里啊,因为这个地方如果说我们六十秒不去允许这个操作,他就会超时了,所以说我先把这个图定下来, 然后给他们最大的这边我已经把对应的这几个权限什么意思给他们来梳理了一下。首先第一个就是允许一次,就是允许这个 come on l, 那 下一次执行 come on l 他 还会继续去问。第二个就是允许在这个绘画里面去操作,比如说我们这个地方后面再来一个 come on l, 他 一般就不会再问了。不像第一个每次都还要去问, 那对于其他的动作,比如说点击啊,输入啊滚的这些动作,那肯定是还会问的,只是说这个 come on l 他 不会再问了, 那 come on l 是 什么意思啊?其实就是比如说刚刚我们可以看到让他帮我们打开浏览器,如果在浏览器里面我们输入 come on l, 我 们我们可以发现就是把这个光标直接聚焦到这个浏览器的输入框里面去输入,所以它会提示我们需要这个权限。好,然后第三个就是 我们直接就永久的去加入白名单,这个是我比较推荐同学们去设置的,就如果说你在 通过终端里面去操作哈密斯的时候,他寻觅你这个权限,你就直接选择第三个,他这个的字面意思是永久加入白名单。在这个 computer user 的 场景里面,我分析了它的原码,它的实际的效果更接近一点就是你在本次运行哈密斯的期间,你后面任何的这个操作, 就包括你的这个 key, 就是 键盘嘛,然后点击 click, 然后这个 type type 就 type script, 就 打字去输入,它就是滚动,这些操作它都不会再问了,就说你就直接去允许一次,那后面就都不用允许了,这个是要同学们,同学们去做这个操作了。 第四个单就是去否定你的权限单,就是不不让他允许执行这个操作,这就是我们在这个中单里面去执行这个 哈密,随机的就插上电脑就有很多的这些材料框框的一些限制没有那么方便,所以我就比较推荐同学们直接就是我们通过聊天通道的方式去操作。好,那下面呢?我现在把这个截图给删掉了, 下面我们就来通过聊天通告的方式来去管理 computer user, 好, 我直接在手机上面进行操作。好,这边我就比如说我这边就直接进入到牛魔王的这样一个对话里面,因为这个就是我绑定的 default harness 的 这个 agent。 好, 然后我来给他说 帮我打开我电脑上的谷歌浏览器,好,直接来发送给他。 好,我们可以看到这边有对应的返回消息,这个时候你可以看到我这边手势没有做任何的操作的,我们等他去操作我的电脑。 好,这里我们可以看到就是已经触发了两个 skill, 一个是 computer user 的 skill, 一个是我们自己实现的, ok, 我 们可以把这个电脑它已经帮我们打开了,还是比较快的哈。然后现在我们再给他下载一个任务,就是在浏览器里面输入 b 站的链接,然后打开 b 站的网页, 在浏览器的链接输入里面输入 b 站的链接,打开 b 站。 好,其实这个其实它属于浏览器自动化的一个操作,但是我们可以通过 computer user 的 方式,同样的是能够实现的。 好,我们等待一会儿啊,等它去执行。好,这个其实同学们可以看到就是这边操作一步,它就会把这个日字给打出来,就这个也是我们 computer user helper 这个 skill 里面给写进去的,就操作一步就要把单行的 操作的信息给输入出来,这样方便我们用户看到他当前执行的是哪个操作。 好,我们稍等一会儿啊。 ok, 我 们可以看到这个 b 站也已经成功的去打开了。好,这个时候比如说我们再来给他下载一个任务,关于视觉的, 在 b 站里面搜索程序员儿目前查看他最新的五条视频,并且把他最新的,并且把他最新的这五条视频的名称发给我。好,然后我们再来发送。 ok, 我 们来看一下这个效果啊,这个时候其实我们可以看到它有点偷懒了,它就并没有去直接在这个页面里面去操作,而是直接走它内置的这个浏览器里面直接去搜索了。啊,我们那这个操作我们先给它结束一下, 那我们直接给它结束, 直接执行这个 stop 就 可以结束。 然后我们现在让他做另外一个事情,帮我打开电脑上的 wps 软件,来这里走一个。 好,我们可以看到他很快就帮我们把这个 wps 软件给打开了, 这边它也提示了它去已经找到最新的五条视频的标题,因为它这个地方它是直接走它内置的浏览器跳转过去,没有直接走我们操作电脑这种方式,所以我们直接给它停了,现在我们给它下到了另外一个任务。好,然后现在我们让它帮我们创建一个 excel, 点击新建按钮,帮我创建一个 wps 的 空白的 excel。 好, 直接走一个。好,它这边提示它会通过 g u i 帮我们在 wps 里面点击新建,创建一个空白的 excel。 好,这个时候我全程这个手是没有去操作的。好,注意,我们其实看这个里面就是我们要把应用置到最前面,这个是非常关键的,因为他去截图的时候,你要把你的应用放到最前面,这样才能更方便他去截到图, 我们可以让它找到了新建按钮,现在它点进去这个步骤啊,你可以看到其实对于人来说是很简单一个操作,但是对于 wps 它就没有那么的方便了。好,它找到了表格了,现在它要继续点击创建表格, 好定位到空白表格这个地方,一个日期里面可以看到它是在分析这个页面它是什么页面,然后再用,然后它再根据这个判断决定走什么操作。 ok, 我 们可以看最终它完成了把我们新建的一个空白的表格好,然后这就是 computer user 的 演示,就整体而言它是能做到 computer user 这个操作的, 但是就是每一个步骤其实并不是那么的快,有一部分原因就是我当前录制是用这个四 k 画质的,同给同学们去录制,所以说这个 他再去结合到我这个画面去识别画面的时候,这个图片比较大,就导致他推你的速度比较慢,所以就会整体而言执行的速度会慢一些。 然后另外的话就是目前就 computer 这一块我觉得还有很长的路要走,就是稍微一些复杂的画面,一个就是要么执行失败,要么就需要等很久, 后面 computer 又有一些更新的操作,也会及时给同学们更新上来,然后同学们有关于自己的一些想法,也非常欢迎在评论区留言讨论。好,我们本期视频就到这里,我们下期视频再见。


x u curve 科研曲线绘图与动画导出点击选择数据文件开始导入 c s v, 导入后左侧会生成变量列表,先指定 flow time 为 x 轴, 通过查找和替换,可以把变量名整理成更清晰的 head 曲线。 勾选多组 hat 到袜,左右侧就会生成对应的多取线图。 坐标轴与样式页中可以设置坐标范围、刻度线宽和字体 图例位置,边框、列数和配色都能实时调整,方便匹配论文或 ppt 风格。 点击绘制成图后,曲线按时间逐步展开,用来展示数据演化过程。 最后点击导出指定格式,保存成视频动图或高清图片。 micro agenda 桌面日历任务挂件 打开后就是月式图,任务直接按日期显示在桌面上,在日期格里直接输入计划内容会留在对应日期。右键任务可以标记完成,设为重要也可以编辑或删除。 背景主题可以随时切换,透明度和格子高度也能直接调节。 切到年事图后,可以快速总览全年安排和任务数量。 需要常驻桌面时,可以打开开机自启。有改进建议或发现问题,欢迎在 geekhub 提交预数。

可能很多人还不会真正激活手机 a 键,现在给大家演示一下,直接打开 a 键 t 发一个在吗?他会告诉你他刚上线,不知道是谁,需要认识一下,你需要给他个名字,然后告诉他怎么称呼你。 我这就给大家直接按我自己的演示了,然后他他就会写入自己的身份和你的关系。点击工具调用,可以看一下他写入的详细内容。这里可以看到他自己默认用了机器人的表情图标, 他的性格灵魂。 下面还需要你告诉他你现在在的时区。 切换一下页面,查看一下聊天页面的 a 帧 t 信息有没有更新。已经看到贾维斯的标题和输入框了,再重进一下,看下启动动画和菜单栏 有没有更新,都已经更新为贾维斯名称了。由于它用的默认的机器人图标,我想让它换个其它图标,最后大家可以根据自己的喜好让它更改 emoji 图标。

接下来我们进入丛林,构建企业级 ai agent 系列的第三篇工具调用,让 agent 拥有双手的魔法。 先说 agent 的 五个核心高级能力,第一是动态工具选择与路由,这是 agent 从理论家变成实践者的关键一步。 传统 agent 只能回答问题,而工具调用让 agent 能根据需求自动选择并调用外部工具。 比如用户说帮我查一下北京的天气, agent 能自动识别需要调用天气, a p i 说帮我写一段 python 代码,能自动调用代码生成工具。这种动态选择基于意图识别和工具描述匹配,让 agent 具备了知道该用什么工具的能力。 第二是参数提取与格式化,这是 agent 与工具之间的翻译官。用户说,帮我定一张明天去上海的机票。 agent 需要提取出目的地、上海日期、明天等参数,并按照工具要求的格式传递给 api。 这种能力通过结构化输出实现,让 agent 能准确理解用户的意图,并将其转化为工具可执行的指令。 第三是工具执行与结果处理,这是 agent 的 动手能力。 agent 调用工具后,需要处理工具返回的结果。如果是天气, a p i。 需要解析 j s o n 数据,并生成用户友好的回答。如果是代码生成工具,需要检查代码的正确性并执行。 这种能力让 agent 能完成从思考到行动的闭环,真正解决用户的问题。第四是多工具协同与工作流编排,这是 agent 的 团队协助能力。 比如用户说帮我查一下上海的天气,然后根据天气推荐合适的衣服。 agent 需要调用天气 api 查天气,再调用推荐工具推荐衣服,最后将结果整合输出, 这种多工具协同,通过工作流编排,实现让 agent 能处理复杂的多步骤的任务。第五是工具安全与验证,这是 agent 的 安全意识。 agent 在 调用工具前需要验证参数的合法性,检查工具的权限,并在工具返回异常时进行错误处理。这种安全机制通过输入验证和异常捕获实现,让 agent 能安全地使用工具。 重点讲讲这东西在现有框架里怎么集成,主要有三种模式,第一种是 open ai function calling 原声模式,将工具描述定义为 jason steamer 大 模型,作为影视的工具选择器。第二种是 lan chain lan graph 的 工具链模式,工具调用作为节点存在, agent 根据状态选择调用不同的工具。第三种是 diffos 的 格式化工具配置,工具调用被封装为标准组建,让搭建变得简单。 再说说完整落地流程,一共十步,第一步,定义工具。第二步,注册工具。第三步,意图识别。第四步,工具选择。第五步,参数提取。第六步,参数验证。第七步,工具调用。第八步,结果处理。第九步,错误处理。第十步,日记记录 客观聊聊优缺点。核心优势有四个,扩展能力、边界、提高准确性、提升效率。多工具协同局限,也有四个,工具依赖参数提取难度、安全风险、成本问题。 最后总结一下适用场景,它适合做企业及助手。多工具编排的复杂 agent, 特别是金融、医疗这种需要准确数据的领域,以及现有 agent 只能回答问题无法执行任务的场景。 一句话总结,工具调用是 agent 从聊天机器人走向智能体的必经之路。没有工具调用的 agent 就 像没有双手的人,只能说不能做。 构建稳健的工具调用系统是让 agent 具备实践能力的关键。做 agent 这套机制必须得懂。
![Obsidian接入免费Agent|轻量知识体系 Obsidian接入Agent [Code Buddy],批量处理轻量任务,高效模块的组合调用,本地处理Obsidian,替代cladue code ,帮助构建个人的llmwiki体系 。
#agent平台 #obsidian #codebuddy #知识管理 #llmwiki](https://p3-pc-sign.douyinpic.com/tos-cn-i-dy/426e596950204eaab64cef4a32a7d606~tplv-dy-resize-origshort-autoq-75:330.jpeg?lk3s=138a59ce&x-expires=2096568000&x-signature=SLAfkvx8yAxb0KvzF%2Fbzjjw1rw0%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=cover&biz_tag=pcweb_cover&l=2026061204412380F82CE96C16643D7446)
我们经常可以看到 colloquial 在 不同场景下的使用,很多 abc 用户的话,也借助 colloquial 实现一个自然语言管理这个笔记的效果。 colloquial 是 呃 isropican 公司开发的 ai 智整体系,实际上它的对标产品有很多,就比如腾讯旗下的 嗯 terry i, 还有 coates 轻量级的代码 agent, 还有阿里旗下的千玺 corkerwork, 然后还有腾讯旗下边的 workbody。 我目前用的是 wordbody 代替 cloud code 的 接入 abc, 给大家做一个展示,因为 cloud code 的 从能力拆解上面 是很强的,包括一些复杂项目的重构,服务端的开发、脚本维护、运行命令行深度编程,上下文能力非常强,属于程序员级别的一个工具。我目前的工作没有那么重量级,也没有那么复杂的强度,可以使用轻量的工具来代替,从而实现自然语言调用。 ai 大 模型 实现一个本地管理能力。要实现这个功能的话,我们要在库包地中接入大模型和接入 ocden, 要进行一个 m c p 的 配置, 像库包地的话,支持的国产大模型包括 deepsea 和智普,我选的是智普的 g m 四点六 v flash 模型,那配置步骤的话,是我们在嗯智普官网上先注册一个账号获得 api, 然后选择我们的一个模型 配置,之后我们在终端做一个测试中终端测试成功之后,我们就可以使用这个 m c p, 然后 o c d 配置的话是我们在 o b 中下载一个第三方软件,叫做 local rise api 我 们,然后我们就可以看到 api 和 url, 然后在选择 url 的 时候,我们选择 m c p 后缀的一个选项 呃,然后再选择这个非加密的 m c p 服务地址。同样同样的,先在终端进行调试, 然后如果过程中出现问题的话,很那可能是 api 的 问题。然后我们可以 reset crypto 重置 api, 重置后填写新的 api, 在 终端进行重新测试。测试成功之后,我们把这个 mcp 配置到酷狗里中。 我们先点开这个设置齿轮,然后点开 mcp 进行设置。我们可以看到我的 mcp 配置成功之后,绿灯的显示像表示功能已经就绪。接下来可以看到 o b 的 配置界面,有十六个工具,我一一介绍一下。 what list 是 显示目录下的一个文件。 what read 是 呃读取文件的内容,包括原数据、标签属性。 what write 是 创建文件或目录内容。 what append 是 文件末尾最佳内容。 what patch 是 在某个呃标题板块或内容下精准处理内容。 what delete 删除文件。 what move 是 移动或重命名文件。 what what get document map 是 获得这个文件的结构目录。 active file get pass 是 获得当前文件的路径。 paradict notecap 是 获得这个周笔记的一个路径。 search simple 是 一个上下文的一个简单搜索。 search query 是 一个权威的增强搜索。 tag list 是 列出库中的所有标签。呃及使用。 comment list 是 列出 obsidian 所有的命令,并且添加 id 进行标记。 comment execute 是 执行这个命令的 id。 open file 是 打开文件, open open spike 是 打开说明书。整体上也是包括文件的增删,改移,还有命令行的一个使用。但真正强大之处是在于组合的一个操作, 像呃乐高积木一样,可以拼凑出各种可能性,像精准的一个定位和处理的话,我们就可以精准提取这一章的内容,然后为 ai 而不是长文档,为 ai 节省一些算力和时间, 这种操作话脚本也是很难做到的。然后数据查询和分析的话,一次性查询呃符合条件的一个文件列表,然后进行一个 ai 的 一个操作,而不是代码的一个单独渲染,这样的话表现是更加直观的管理,也更方便工作流的一个自动化的话,我们每天 做的一些内容或者模板,或者说执行的一些命令,把它一个自动化处理, 然后像知识库的一个重构和整理。就是在知识库重构上面我还是比较有想法的,其实早在四月份我就看到过卡帕斯的一个知识管理体系,像是 l m v k 一个结构,但是还是有些混乱。理论体系还是挺成功的,我们就可以在 a 阵的平台中呃 将这个理论体系进行本地化,结合自己使用习惯进行个人化处理。

当被面试官问到如何去使用当前 gs 来实现一个多工具 agent, 多工具 agent 包含哪些工具呢?比如说多 agent 包含,呃,天气查询计算器,还有呢搜索等等啊,并且还要你能够保证返回最终整合的结果,看你有没有清晰设计这个 agent 的 框架的思路。 遇到这个问题呢,不要慌啊,先分析它的考察点。第一点呢,其实就是我们前面就跟大家强调过智能体,智能体其实就是一个循环调用,不同模型匹配出来的一些工具,就是一个智能体,对吧,可以这样去简单理解。那么所以对于考察点来说,第一个点,这个问题考察的其实就是 agent 的 架构设计, 包含什么呢?从模型到规划,再到记记忆存储啊,就是上下文存储,再然后到工具调用,叫 tools calling, 这就是标准的 agent 架构设计的要点,分为这样几部,再然后考察一个点是什么呢? react 模式, react 思考,行动观察,循环 思考,行动观察,循环啊,那有了这些基础以后,你就能够自定义工具, 自定义啊,自定义工具了,自定义一些什么工具呢?天气查询工具,计算器工具,搜索工具等等等等,只要你想到的那些工具,你都可以去自己去定义啊,自定义工具, 再然后呢,多个工具能够协调,并且呢并且结果整合,这些都是由智能体来做的哈,好,这是考察要点,先掌握 agent 架构设计,再掌握 react 模式,再掌握如何去自定义工具,最后掌握多个工具之间的协调,并且呢,结果整合如何去做 好?那我们现在来看到具体的具体思路,先理解 agent 的 核心架构, agent 的 核心架构呢,围绕这样几个点啊,第一个最核心的部分就是 智能体所对应的模型,核心是模型啊,然后呢三个支撑点,规划、记忆和工具调用。 所以说其实 agent 它的整体的执行的过程和架构的话,我们可以总结为这样几步。然后呢,在 long chain js 里面, agent 的 执行循环 react 框架呢,它遵循的是思考行动,观察整个循环机制,这就是大家在回答面试官这个问题的时候重点梳理啊,给大家放在这了, 一个核心,三个支撑什么呢? agent 等于大模型加规划加记忆加工具调用,那你就记住它就完了个那个不管是像 codex 还是 cloud, 它其实都是在这个基础上去做的调优和优化,包括大家现在听说的什么 harness engineering, 它其实也是在这个基础上去做的改造和优化 啊。好,那么首先呢,我们在设计这个 agent 的 出场流程的时候,我们先要知道,比如说用户输入问题以后, agent 呢,会将这个问题拆解成 不同的这个小的子问题。然后呢,包括你目前已经有的那些工具列表有哪些?这时候基于 react 的 指令模板呢,来组合并且完成出实化发送给大模型,模型会根据当前的信息进行思考。最后呢,输出下一步的行动计划,比如说要去调什么工具啊,要观察什么样的结果等等。 当然在我们的 note 键里面呢,它其实已经内置封装了工具调用啊,所以我们不需要去额外还要给到它什么我有什么工具什么处理不需要这个我待会给大家去看最终的演示代码,演示代码看完之后大家就知道了啊, 用户输入问题后,等到最终模型一步一步的把答案输出来,这是整个结论,大家要需要掌握的它的整个过程啊, react 模式整个过程是什么样子的? 这部分掌握以后呢?在工具设计层面,你需要去自定义工具,比如说你可以先做一个基础工具,在基础工具上你实现了 run 方法,什么 a run 方法就是异步执行方法啊,然后呢,给每个工具呢定义一个基础的数据,比如说他必须要有名称,必须要有描述等等这些信息, 这些信息呢可以基于大模型来去做决策啊,比如说我现在要查询天气的话,那么我就可以去直接调我封装好的天气的工具,而这个天气的工具呢,他又 本地啊,在本地其实又是调的远程天气的 api, 这样呢就能够在我们的智能体中间来访问明天或者未来天气数据了。 这是工具的设计层面,那多个工具的协调呢?我们需要设计合理的工具选择策略,让大模型啊来根据你的输入,根据你的工具工具列表来选择应该得到什么样的工具来执行。那这个呢,其实在 nink 那 一层啊, nink 它已经帮我们屏蔽掉了这个复杂度了啊, nanq 其实屏蔽了 什么复杂度呢?它不需要你去给大模型指定说你有什么样的工具列表,然后呢怎么去执行它?没有,它自己去内部已经帮你做了,而它做的处理的是什么呢?它能够去建立一套完整的工具的分类体系,然后呢再根据你的提问 能够自动的去适配来选择合适的工具,等到后续再来执行这个工具,当欠中间他帮我们一起解决的问题啊。好,那么结合这整个机制呢,就能够去回答这个问题,怎么样去实现一个多工具的智能体, 怎么样去封装自定义的工具来实现一套清晰的 agent 架构?当然如果说后续啊,我们还要去设计不同的整合策略啊,比如说你的这个拼接的话,不是简单拼接,而是要通过有这种对应的工具优先级来去拼接。 还呢,比如说我们可以通过内容摘要来拼接,这些都是需要在 agent 中来实现相应的处理逻辑的啊,这是多工具的 agent 执行的话,它需要留这个处理的一些具体的细节。呃,同学们也可以呢,基于 codex 或者是 cloud code, 或者是呢基于 open cloud 来去了解一下它们这种通用型智能体在执行的过程中代码是怎么样的。 那在这个里面主要是的话,其实就是考察大家在 agent 的 核心架构层和 react 循环机制层的积累啊。另外呢,自定义工具会不会定义,再就是工多工具的整合方法,以及在链签里面来实现一个 agent 整个流程是什么样子的? 好,我们把整合的知识点给大家梳理一下,最终呢我们来看对应的代码施力,这个代码施力呢,会详细给大家去说明如何去自定义 工具,如何去构建 react agent, 然后呢如何去使用这些工具,如何去调用这些工具好,这个代码呢,我们可以一步一点一点的来看,先看到自定义工具,这部分我们可以基于当前提供给我们的 tool 来定义一个,比如说计算器工具,那这个计算器工具呢,对应的 名称描述和入参都需要有啊,有了这个入参以后,接下来在这个 expression 里面呢,就能够拿到这个 需要去被执行的计算的表达式,然后我们就可以去计算这个表达式,得到这种效果啊,得到这种效果,好,那我还可以呢查天气,假设我们现在有一个假的天气预报啊,就是假的,我们其实可以在这里呢调用真实的,因为这本身其实就是一个异步的。 那么我们在这呢可以定义一个 getweather 的 工具,来查询城市的天气信息。这个 schema 呢,就是来给到你一个 city 的 入餐和 date 的 入餐,就比如说北京,然后呢今天的天气或者明天的天气,或者后天的天气啊,有了这些入餐进来模型呢,会去识别你的一个提示词,看你的 城市在哪,看你的日期是多少啊,最后把城市和日期 c 到你的日期是多少就可以了。 好,这是天气的工具。然后呢还有 rag 的 工具, rag 工具呢,其实就是去读取你的 rag 里面的信息,当然我们这里是默克的啊,这里按理说应该要去知,真正去匹配你的 向量检测和你的知识库,在这儿来生成数据。信息得到之后呢,再返回,回去,那 query and topkey 默认返回多少条获得,获得以后把工具呢集成进来,这就是一个工具集,多工具工具集以后,我们接下来就可以基于 non graph 呢,来构建基于 react 模式的智能体,它是基于编和节点来组织的,那刚好呢,其实对应到我们这一套,呃,这个 non graph 和我们这里的内低费 ai 应用引擎编排的实战很类似,很接近啊。那大家如果说学习这部分的话呢,能够掌握的点学下来以后,不仅能够去用 nunchin, 你 还会自己去写一个类似于 nunchin 的 工具啊,你还能自己去写一个类似于 nunchin 的 工具,这就是价值点。 好,那我们定义好了这些方法以后,包括呢?节点,那这就是智能体节点,叫 agent node 节点,然后呢,我们再把这个节点加入进去,那我们前面一直在说调用循环,调用循环,到底什么是调用循环呢?这里就是一个调用循环, 调用循环来看是否还有下一个工具要调用,有的话继续调,没有的话就终止了,那 return 一个 end 就 表示在这儿终止,否则如果你的调用的工具还有,那就会一直调用,一直调用,一直调用,直到把你所有的工具调用为止才结束,这就是叫循环调用 好,循环调用完以后,最后构建完整的一个状态图,这就是一个调用状态图,从节点到边,大家从这里可以看得出来啊,从那里开始 start 到 agent, 也是从开始节点到 agent 的 节点, agent 节点,再到循环节点,循环节点,再到工具节点,工具节点再完,完成最终的这个 return 啊,在这里 return 好, 那如果说我们在执行过程中需要有记忆功能,那我们就需要设置一个叫 memory server, 专门来去记忆 记记忆的内容,把它存进去。最后我们在用的话呢,就可以这样来用,比如说我们要计算一个表达式,我们就可以问请问计算它等于多少?那这个时候呢?其实这一部分内容就接下来会归我的工具来执行,计算出来结果。 天气问题的话可以基于我的天气工具,知识库问题可以基于我的知识库的那个工具来完成。那如果我们要去做多人对话,并且呢自动去记住上下文的话,我们可以基于 run agent, 那 上海呢?这个时候他其实就知知道你在问天气,问上海的天气,因为你看北京天气怎么样,再然后 他说那上海呢?他就会自动去看你的上下文,看他之前说过北京今天天气怎么样,那自然而然他会联想到是上海的天气怎么样,他自动去 推导出来,你问的是上海天气怎么样,然后呢执行给出你最终的结果,这就是一个标准的多工具 agents 开发的流程,市力代码以及完整的考察点和解析思路分析。

面试官问如何设计一个可靠的 a 证工具调用流程?这个问题不仅考察技术深度,更能看出候选人是否具备生产级项目的实战经验。在面试中,我发现很多候选人对工具调用的理解还比较初级,他们知道要用方式拷领,但对于其中的风险和挑战缺乏深入思考。 当我问到具体的异常处理和安全防护时,大多数人都无法给出令人满意的答案,这暴露了他们可能缺乏真实的生产环境经验。 真实的生产环境远比想象的复杂,我自己在项目中就踩过无数的坑。一个健壮的工具调用流程绝不是简单的调用 api, 而是一个需要从准确性、安全性、性能和稳定性四个方面综合考量的系统工程。 接下来,我将逐一拆解这四个关键点。首先是准确性大。模型的幻觉问题。众所周知,它可能会编造参数或格式错误。我们的对策是双管齐下, 第一,通过系统提示词强制模型使用,方胜靠格式。第二,对返回的结果进行严格的 steam 校验。就像这张图展示的,我们会预先定义好每个工具的参数结构,任何不符合规范的调用都会被拒绝,从而保证了输入的可能性。其次是安全性,这是绝对的红线, 我们不能信任任何来自模型的调用请求。所有调用都必须经过一个专门的权限审查服务,这个服务会检查用户身份、 agent 的 权限范围以及调用参数是否安全。 就像操作系统的文件权限管理一样,我们要确保 agent 只能在被授权的范围内操作,防止任何潜在的破坏性操作。 接下来是性能问题。想象一下,如果有大量用户同时使用 agent, 而 agent 又频繁调用一个耗时的数据库查询工具,很容易导致服务雪崩。 我们的解决方案是后端做并发控制,限制同一时间的调用量。同时,对于非实时的任务,我们会使用消息队列进行一步处理,让用户立即得到反馈,而后台慢慢执行。这样既提升了用户体验,又保证了系统的健壮性。 最后是稳定性,我们调用的外部 a、 p、 i 数据库等服务都可能出现故障,因此必须有兜底策略。我们为所有外部调用设置了严格的超时时间,一旦超时就立即返回友好提示。更进一步,我们引入了垄断机制, 当某个服务持续失败时,系统会自动熔断,暂时停止对它的调用,避免整个系统被拖垮。这张熔断器状态机图就很好的展示了这一机制。总结一下,一个可靠的 agent 工具调用流程,需要从准确性、安全性能和稳定性四个方面进行系统性设计, 这不仅仅是技术问题,更是经验和工程能力的体现。在面试中,能把这些细节聊透的候选人通常都具备丰富的实战经验。那么大家在实际项目中都遇到过哪些关于工具调用的坑呢?

儿子,这个 qq 怎么打不开了?用 mars 什么 mars? 就是 电脑上那只带着红色围巾的马,你把它打开, 然后呢?我用手机遥控它帮你修 a few moments later 嘿,真的好了,当你不小心让家人的电脑进入这个 mars, 然后让你的手机也同时有一个。这个时候你可能还不知道,你从此拥有了个全家都能用的 ai 一 整。比如我老爸,电脑上的软件打不开了,只需要点手机上这个图标,然后再给一段指令, 你就能在手机上用嘴遥控这个智能体,时刻看着它远程帮你修复问题。注意看,它不是那种去网上搜一堆答案,然后给你一堆没用的建议。它是操作系统层级的,获得授权之后,去掉本地的 share explorer, 直接检查软件的安装目录和关键文件,然后逐步排查定位异常,直到帮你搞定。还有更离谱的, 我媳妇想找个格式转换工具,结果网上搜半天,不是广告就是收费,要么还要上传文件泄露隐私。我直接在手机上给 marvis 一个指定, 帮我在电脑上搭一个本地格式转换网页,用于各种音频格式转换成 mp 三,它就能在电脑端自动创建项目,安装依赖启动服务,最后直接生成一个本地可用的格式转换网站。更牛的是,它里面有个技能广场,可能你曾经听过 guitar 上有很多厉害的开源 skill, 但是不知道怎么用, 而 marvis 直接把各路大神的 skill 内置进去,像这种数据分析的,发票处理的行业,研究的都是开箱即用, 瞬间把普通人接触 ai 的 门槛给踏平了。曾经有某个国产 ai 工具确实好用,但是你付钱了它也不给你用,因为它跑路了。现在更强的选手来了,而且现实每天有一千万免费托管,随便造,根本用不完。这一波可以充了。

模型要变成 agent, 先接上现实。第一讲只讲一个东西,最小 agent 循环。它解决的问题很简单,模型怎么从只会回答变成能调用工具继续做事? 单独的语言,模型只能生成文本,它可以告诉你运行 pastes, 可以 告诉你读哪个文件,可以建议你改哪段代码,但命令不会自己执行,文件不会自己打开测试结果也不会自动回到模型眼前。所以最小 agent 要做的第一件事就是形成闭环,用户给任务 模型判断下一步,模型请求工具程序执行工具工具,结果回到模型,模型继续判断这条链路,接上模型才开始真正行动。这个循环里有四个核心对象, messages, tools、 stop, underscore reason, tool、 underscore result。 理解这四个就理解了最小 agent message 是 现场记录,用户目标在里面,模型上一轮判断在里面,工具调用在里面,工具返回结果也在里面,模型每一轮都根据这个现场继续推理。 没有现场记录,模型只能猜 tools 是 行动接口。这一讲只给一个工具 bash, 它只有一个输入 command。 这等于告诉模型,你可以请求程序执行一条 shell 命令,但必须按结构化格式发出来。 工具不是建议工具,是可触发的动作。没有工具,模型只能说你可以运行这条命令。有了工具,模型可以发出我要运行这条命令。程序在执行或拦截 stop 下划线。 reason 是 刹车,如果它是 tool use, 说明模型还要行动程序执行工具,然后进入下一轮。如果不是 tool use, 说明模型不再请求工具,循环结束没有这个退出条件, agent 不知道什么时候停。 tool 下划线, result 是 观测结果 工具,执行完结果不能只打印在终端,必须包装成 tool result 再放回 messages, 这样模型下一轮才知道命令输出是什么, 报错是什么,文件有没有生成,测试有没有通过。所以最小 agent 的 原理就是 messages 保存现场, tools 提供动作 stop 下滑线, reason 控制循环, tool 下滑线, result 返回现实结果模型在这个闭环里反复判断,这就是 agent loop 后面所有能力都是在这个循环上叠加。 更多工具是扩展行动接口任务系统是保存长期目标,上下文压缩是管理现场记录,多 agent 协助是让多个循环交换状态,但第一步不变,先让模型能看见结果再决定下一步。

兄弟们,你们要的利用网页转 a b i 接入 hermes 调用工具指南来了。如果是 windows 用户安装这个 excel, 安装完之后点击打开,首先就是我们选择了这个模型,本身就要具备调用工具的能力, 也就是我们的 function q 的 能力,点右侧这三个点,然后进到我们的管理模型里面,看看我们所接入的这些模型是否都是具备调用工具能力的。然后就点到我们的模型管理里面的最后一个工具调用,这里我们来看看。这里已经给我们设置好了一些可以注入提示词的一种 工具调用的方式,注入配置这里我们也可以选是始终注入还是根据他自己的判断来注入,这里我选择的是始终注入。协议的格式也有两种,一种是括号的格式,一种是我们的 xml 的 格式,括号的格式的话就稍微要通用一些,而 xml 的 格式的话就更加严谨一些。 这里的话我们把起用工具调用的解析开关打开,那关键的就是这个地方的提示词设置,这里的话我们根据自己的要求去把工具调用的这个提示词给它粘贴上去, 然后点击保存。那现在来到我们的 house 里面,我们只需要修改一下配置文件,让他去主动去理解 x m l 传过来的一些工具调用的指令,然后他就可以去执行了。这里我们拿个例子来演示一下, 还是查看我们当前的本机上的桌面有哪些文件。见证奇迹的时刻到了,很快他就正确的查出了我们整个桌面上的目录,调用了我们查询目录的工具。