00:00
大家有多少是?以前写过代码,现在写代码的,或者是以后可能要写代码,大家举手举手试一下。对,我我我会根据这个来调整一下整个的时间啊。好,谢谢大家,呃。呃,不用看,这些都不重要。第一部分呢,有一些数据,第一部分有一些数据,大家可以看一下,第二部分呢。呃,是讲了一个。牛人吴问答的一些东西,所以呢。还好,这这一部分呢,是关于写智能体会,有一些代码,大家可以一起看一下,对吧,最后一个是。呃,也不重要。所以大家这个这个这块大家知道了对吧,所以就有选择的听一下就好了。好,我们开始啊,呃,这一部分其实挺有意思啊,这是一个美国的调查,就是他选取了23年1月份到25年10月份,他说的是全球1.8亿份招聘信息,但其实这个这个数据主要集中在美国,然后呢,呃,这里面我看几个数据,第一个就是说。
01:09
招聘总量就是二五年啊,招聘总量总体下降8%,然后呢,这里面有个反直觉的东西,就是在美国啊,他这个软件工程师客服这类岗位。没怎么叫。这类岗位没怎么降。我我觉得这可能要么是没有什么太大的冲击,要么就是冲击的时间点还没到,这这可可能是这样的,然后对于冲击点呢,就是说标准化的执行岗位,然后这样会比较有冲击,至于新机遇,后边我们会介绍,然后这里面看几个数字这一类,这一类是降的比较多的看。对领导影响比较小,对吧,对领导的影响是比较小的,然后这些是跟AI和智能体相关的一些岗位,它的涨幅是比较大的。这是一些持平的岗位,然后这儿注意注意这里啊,本来我想把它抹掉来的,后来发现这有个空还是要填上啊,这是网红营销,所以这个东西在国内还是在国外,其实都是通用的,对吧。
02:03
所以这有几个,呃,结论,硬凑出来的结论啊,因为没有个结论好像总是不太好看了。一个东西说AI赋能决策者,让他们不再依赖庞大的执行团队,对吧,冲击执行,但核心创意依赖人。然后这个。这个没办法,他确实短时间内很难替代,因为这是人是一个有感情的动物,对吧,所以。让他来替代这个,这个很难。好,这是刚才说的智能体程序员,在智能体这个时代里面,我们可以有几种选择去做啊,第一个就是说智能体的构建者倾向于单个的智能体,那智能体的编排者就是多个智能体之间的这种协作,那最后呢,就是一个智能体平台工程师,对吧?当然他可能会出现在大上,那会更多一点,如果是一个小的公司,也可能会有你自己的这个智能体的平台,这都是一些可能点。那么最终,其实我们所谓的新机遇就是要从编码者到智能体的设计,就是代码肯定还是要写的,只是取决于你以什么样的角度,以什么样的方式去写什么样的代码。
03:10
对吧,就是刚才说的执行类的工作是一定会被替代掉的,但是如果你写的代码也是执行类的代码,那么被替代掉毫无疑问,但如果你写的代码不是那些偏知情类的代码,那怎么样?会替代掉吗?可能会,也可能不会,也可能这个时间会无限的往后去延。好,所以我我想说的就是他这道题,他不会取代彻底的取代开发者,这个开发者他刚才也解释过了,不是所有的开发者是在呃。有这个加引号的开发者,而他呢,会去提升我们整个开发者的工作上限,那我们怎么来应对这些呢?我们来看一下。这这这个我就不详细说了,这是呃,一篇论文上的一个图,就是智能体,它分感知,决策,思考,还有这个执行,就是这么这么几块在干活。
04:04
这个呢,就是呃,吴文达他提出的四种工作流的模式,反思,工具使用规划和多智能体系协作,至于他的关键能力,这个网上一大堆,我就不详细解释了,然后对于开发者角色转变这块,我我我觉得可能需要稍微提一下,就是对于反思,就是逻辑评估和设计,什么叫做反思,比如说我给大模型一个。提示词,一段提示的,你这个提示是50个字也好,500个字也好,5000个字也好,那只要你不超过他他的这个头文的限制,那么你就可以是一个提示词,然后比如说我让他帮我生成一段什么什么什么样的东西,然后呢,我拿到这个之后生成完了,大家这么干过标我拿着一个大模型去生成完,然后我把它留给另外一个,我说下面是我写的一段东西,你看看这个怎么样,有没有什么问题。这么干过吧,这么干过这个叫什么,这个其实就是就是这种反思。对吧,只是我是用了一个大模型去检查另外一个大模型的问题,那也可以用同一个大模型再去检查他自己,当然这个时候要不要带上下文,取决于你自己,你要不要去让他连续的去看这些东西,对吧?这是一些点,第二个就是说工具使用。
05:12
不解释了,就是在大模型执行的过程中去调检索啊,调什么什么乱七八糟的这些工具对吧。呃。这个是规划,规划呢,他就是说让大模型去做一件事儿,说我要,比如说刚才有个例子,要去哪哪旅行,他要分成哪几步,每一步干什么,对吧,这是个规划,多智能体协作,这个就呃更多了,这个是把智能体赋予了他一些社会性的属性,对吧?很多的智能体要怎么来协作起来。微服务嘛,对吧,微服务好多个微服务怎么来弄啊,他也是写作。呃,简单说一下,反思就是什么要输出,检查、改进,这就是反思他有这样的价值和有这些的挑战。
06:00
工具使用同样是这样,工具使用的价值在哪儿?就是它要突破AI自身的限制,因为新的东西它是没有的,它的训练的数据一定是截止到某一个时间点的,在这个时间点之后的东西它是没有的,对吧?这这是很很麻烦的一件事。所以工具是要解决这个问题,规划就是刚才提到的,但是规划的时候要注意一下,就是。循环全局观,还有上下文的依赖,搞不好就要超过这个它整个这个头盆的限制,这个也这个一定要注意好,一定要呃考虑哈。还有就是呃,多智能起协作。呃,不解释了,就是就是这个什么,跟这个微服务差不多,你只说几百个上千个微服务怎么去搞,怎么去协作,那个怎么协作,智能体就怎么协作。因为这个它的核心是要解决,解决协作,解决协作不是单个智能体内部的事儿,单个智能体内部的事儿是要是在其他的点上。对吧,你所有的在微服务时代遇到的问题,可能在这个时候都会遇到你的通信,你的上下文,对吧,可能好多所有的东西都会遇到你是不是有状态的还是无状态的。
07:08
呃,这是一个反思的智能体的一个例子啊,就是反思的主要是自查和评审,大家看啊,降低幻觉,反思怎么降低幻觉。通常说降低幻觉都要通过red,对吧?你有的自己的知识库,但是反思怎么来降低幻觉,它不是绝对意义上的降低幻觉,它是相对意义上的降低幻觉。就是说我告诉他一件事儿,他给我一个,我问他一个问题,他给我一个,给我一个答案,然后我让他再去检查一下这个答案有没有什么问题。对吧,当然如果他要跑偏,它就会一直跑偏,所以他会把这个幻觉不断的加大,但是如果你的提示,或者你这个这个东西设计的好一点,他可能会在一定程度上去解决一些幻觉的问题。好看这个,呃,就是。我这个例子也仅仅是个例子,我把我实际的东西其实已经简化了很多,我的提示词大概会有一两百行的样子。好像你记的看不清,第一个是一个内容生成,然后根据要求生成一段什么内容,然后会有这么多的这个输入参数,会有这样的要求,它会生成一段内容,这个呢,就是反思,要看他内容是不是准确啊,逻辑是不是有问题啊,对吧?然后是不是符合用户的需求,这有一些参数,然后输出结果,呃,有没有什么改进的建议,如果没有改进建议会输出什么样的一个东西。
08:22
这就是这两个啊,对吧,然后看一下呃。这这这个。这都不重要,这都不重要,这就是创建这个。智能体对吧,这是通过那个launching for接,但是launch也可以,然后这个里。什么?好,这个不太管用啊,大家看一下这这这这个还好吧,主要是0.8和0.3,就是为了它的创造性和它的这个随机性,然后主要是在这儿。看一下这有个循环。这有个循环,然后呢,这个循环里面有几处,第一个我需要调用创建这个去执行生成一个生成,然后生成之后呢,去反思,把生成的这个结果扔进去,让他再去处理,处理之后看看是不是达到这个退出的条件,或者是循环退出的条件。
09:16
如果没有,那就继续再去。继续再执行,再再执行一遍,当然这个一定是要有他的退出条件的,即便最终检查的结果不太合适,那一定要设置一个退出条件,否则你的成本会很高。这是一个简化的例子啊,大概是这个样子,然后第二个就是呃,多智能体协作,多智能协作呢,它主要是协调者去把控全局,然后呢,每一个专家的agent去处理任务,他。做就是这种模块化那个和专业化,然后呃,形成一个群体的智慧,这个呢有几个,比如说研究分析师,他需要分析一个呃什么东西,比如说分析一个研报之类的,第二个呢,就是解决方案,它会有一些他的信息,基于这个分析结果来设计这个解决的方案,然后呃。
10:03
第三个是质量审查,最后一个是协调员。那么对于这几个智能体可以怎么样来使用呢?第一种方式是顺序执行,我先分析,然后根据这个分析结果设计一个方案,然后去评审这个方案,评审之后去最终输出一个结果,这是这是这一种,第二种呢。我仍然是这样,但只是我加了一个循环。我加了一个循环,让。让这。上能能看见吗?我怎么看不见,他让上边让上边这个呃四步去循环的去执行,然后直到某一个推出条件,至于这个退出条件,其实也有很多其他的方式可以可以去呃设计啊,这这是一个最简单的退出条件,然后稍微插一句,大家有什么问题可以随时说,你举手示意我一下好吧。有什么问题可以随时解决?所以呢,到下一个这个阶段的时候,其实呃,我觉得开发者的变化要去懂代码,也要懂人,懂人就是你要懂得交互的这个逻辑,对吧?因为大模型都是在模拟人,所以你要懂得这些东西,然后懂逻辑,也懂语义,语义就是你要设计好你的提示词,你的上下文。
11:17
呃,这些不重要,与建模、任务分解、工具集成、协作编排、人机协同,这个就要看一下伦理和可靠性意识,因为大模型我们写代码是0和1,对吧,永远都是0和1,但是大模型出来的东西是0~1中间的1某个数字。一个是0和,一个是0~1,所以要解决这个可靠性,意识伦理。呃,大家自己理解还是好的。然后这是呃几个场景在AI时代和前AI时代的一个对比,比如说代码生成,错误排查,知识管理和呃探索创新,那么在AI之前和和现在会有什么样的不一样的地方,会有呃这么多这么一些东西吧,当然我就不不详细的展开了,可能大家也都有自己的理解,我这个理解不一定对,也不一定能代表所有的。
12:07
情况。但是我想说的就是说,我们要把呃呃这句话,就是把生产力资源从对于手艺的熟练掌握重构为对于意图的精确描述。对吧,你对于手艺就是你写代码,你写的熟还是不熟,然后接下来就是你要能不能把你的意图描述清楚,这是接下来要面对或者要转变的一个很重要的点。这是一个步骤啊。从写代码到指挥。智能体的一个。算是一个步骤吧,你要明确一个目标,然后呢,明确目标之后做任务分解,然后去确定调用哪些工具,然后做反思反馈,最后如果需要做多智能体协同,其实看起来啊,如果抛开这个里面跟智能体相关的内容,他跟我们在写代码,或者是在之前啊,做整个这个设计的时候,它的逻辑其实是一样的。
13:00
对吧,所以对于面对智能体来说,智能体只是智能体,在战略上你把它当成你的一个工具,Spring也好啊,什么呃,Flex也好,任何一种框架,对吧,这是战略上,战术上来说,怎么解决这个点的问题和。以前我们面临的是不一样的。有几个挑战,技术的挑战不可预测,你不知道他会干什么,这这个很很难的,真的不太确定,然后其他,呃,就是这个协作的成本高,还有比较复杂。认知的挑战,精确的控制代码的所有权到对于结果负责,这个其实真的需要留意一下,你写了代码,你需要对他负责到底,但是这个更多的是对结果结果的责任,对吧?他的结果是什么样的,取决于你给他的东西是什么样的。你让他。朝着什么样的方向去给一个输出。
14:00
呃,职业的挑战,这个其实挺有意思啊,就是。我其实跟一些人聊过,就是你这个怎么来评价这件事儿。对吧,你说用他的8个还是用什么什么东西,其实都不是太合适,所以这个也很也很难,本身对于程序员的这个绩效的评价就是就是一件很难的事儿,再加上这么一个不确定的,从0~1的这么一个东西进来,整个的不确定性会变得更大。好,呃,这是我最近在做的一个事儿啊。这个后面的代码是简化过的,看一下例子,构建一个可以自动分析A股上市公司财报和新闻的智能体,对吧?我们先重点放在新闻上,然后呢,抓取、搜索、分析总结,那智能体要具备这些东西。那我们看啊,规划一个任务是什么样的,两类工具的调用,然后呢,整合结果到反思修正输出,以及最终结果的输出。对吧,这是一个这样一个过程。
15:03
然后呢,这儿就是规划嘛,工具使用反思,就是对应到前面那4点,然后每一步都在做什么。我们接下来往下看啊。嗯。看这这是两个工具。当然这两个工具在最终这个代码里面,我把它的使用方式稍微改了一下,就是为什么要改后,后面我再说,然后看这个,这是个规划,在规划的时候他需要去,呃,把这个东西写清楚,每一步要做什么,然后每一步如果需要会调用什么样的工具,然后这一步要做什么事儿,然后接下来呢,就是报告输出。呃,要输出报告里面包括哪些东西。然后最后是一个,呃,反思这个这个代码不全了,反思。就是为什么要就是把这个。呃,工具这一块给他。处理处理了一下就是。
16:01
对于所有的这个就是。做智能体开发的这个框架来说,比如说在这儿,一般来讲会在这儿加上一个点儿,然后有个处,有个方法,然后呢把这两个类,把这两个类的实例传进去。这个时候呢,智能体在执行的时候,它会自己去分析是不是要去调用这个工具,然后呢,怎么去调用这个工具,调用几次,但是我遇到一个比较麻烦的事儿,就是说我在分析一个一天的那个结果的时候,他把这个工具调用了5次。他自己调用了5次,每一次会返回5条数据,总共返回了25条数据。至于他为什么掉了5次,我也不知道,因为他也不会告诉我他为什么掉了5次。所以。你要想让他自己去调用,比如说在这儿加一个方法,点to,然后把这两个实例传进去,那么你就要承担他这样的后果,他可能会调用多次,因为每一次调用,每一次调用都是要有成本的。每一次调用都是有成本的,比如说这种搜索在全网的检索,那呃,比如说好,他好像叫to里吧,我如果没记错的,好像是这个发音,他可能每个月会提供你1000次的免费调用,你用着用着就没了,因没留神就用光了,然后你付费吗?
17:13
对吧,你只是做一些测试的时候好说,我就是你用这个规矩的时候,他会不会就是说,呃,每次都返回一样的结果,不会不会。它一定不能返回一样的结果,否则它就不是大模型了,对吧,它就是if else, 不会不会的就是也呃,无论是你这个大模型是不是就是大模型,它不会每回每次都返回一样的结果,包括你那个检索工具,他也不会每次都返回一样的结果。因为大模型每一次给他的检索的关键词是不一样的,然后我看过这5次啊,他为什么是5次,比如说第一次我搜了一个,比如说语数科技。他第一次可能搜语数科技,然后什么传感器芯片,他第二次会搜语数科技什么上下游供应链,第三次会搜语数科技什么IPO上市,第4次会搜语数科技什么什么这些东西。
18:01
相当于什么,他是按照他的思维方式,他的想法再去减调用这个工具,这个工,这个调用的过程会不会让整个的结果走偏呢?这个不好说对吧,因为取决于他的这个思维,思维走势是什么样的。如果他的这个思维走势跟我们想要的这个东西是一样的,那么搜的结果越多越好,如果他是偏的,我只想找出来上下游,他把什么什么这个这个什么原理啊,方法呀,什么IPO上市这些东西都搞出来之后,那这个结果就肯定不会太好。这数多了。然后看一下这个主流程,呃,创建几个agent,第一个呢,就是创建一个计划。第二个呢,是执行这个计划,就是啊,这是个计划嘛,他创建,创建了之后呢,还会输出一个结果,这个结果呢,就是这样,我分成要几步,每一步要做什么是吧,这是他自己去规划这件事儿,然后呢,接下来就是按照这个规划去去做这个执行,执行的时候呢,把这两个工具在这儿拗了一下,然后呢,判断如果他。
19:08
就是从这一步返回的结果,就是这个plan,这对字符串里面,它如果有明确的是这个工具的名字,那么我们就去调用这个工具,如果没有,那么我们就不去调用,然后这个input就是整个的这个输入,当然这种方式也有这个方式的问题。你对于调用是控制住了。对吧,但是如果大模型想要搜索更多周边的东西,你是把它这个扩展的这个块儿又给限制死了。对吧,所以就是具体用哪种方式,取决于你的实际场景,或者你想怎么干。然后最后在这里边会生成这个最终的报告。最终会生成这个报告。然后呃,至于为什么都是Java代码,就是我写的多了,习惯了就用这个,实在不行再写Python。
20:06
啊,最后这个为什么是共生而不是替代啊,就是其实替代是一个我觉得是一个短期的视角,比如说20年或者30年以后,你回头再看程,那个时候的程序员,或者那时候刚入行的程序员,他是什么样的,他可能每天面对的就是怎么去跟智能提,怎么去跟大模型打交道,对吧?那想20年前的程序员是什么样的,他可能写代码的时候没有这样或者是那样的一些框架,也没有什么微服啊等等这些东西,他也是在干活。所以每一个时代都会有每一个时代程序员,他的特定的生存环境和他要去学习和使用掌握的这些技术站。所以我觉得替代是一个短期视角,当我们这些人都已经退休的时候,他还会存在替代吗?因为后边的人他就根本没有接触到前面这些东西,所以他就不是替代了,所以这是一个短期视角,那共生才是长期的趋势,所以呃,作为现在的开发者,我觉得要向这个。
21:02
这个这个事情去做转化。然后呢,就是整个智能体把人际关系给改变了,从命令我写代码,就是我要命令继续去执行,然后呢,现在呢,是一种意图的协作,对吧,变成一种语义层的这个设计,然后。程序员的核心竞争力可能不再是写代码,我觉得这个代码应该加个引号吧。因为记住你还是要写代码,你不可能一行代码都不写,至少现在是这样啊,你比如说有一天代码都能够完全生成了,但是我觉得短时间内有一些复杂性的代码还是很难生成的,比如举个例子,比如说。呃,哪个例子。薪资计算。亲自计算,要把什么考勤啊等等这些东西都算进来,然后要算每一个人的基本工资,绩效工资等等这些东西,好,这是这一个,如果你做的是一个通用的,你这个东西要给十几个几十个公司去用,每一个公司他的这个东西都是不一样的,你想想你怎么能够把这个逻辑描述清楚,让他去给你生成一套很好的代码去完成这项功能呢?
22:08
我觉得至少现在可能是做不到,就像阿尔法狗和呃,第一次下围棋的时候,可能他不一定能下得过人,但是时间的发展它可能会做的很好,但是取决于你的描述是不是清楚。其实我觉得这要回到这个问题,就是挑战不是AI有多强,而是我们能能不能构建一个人,尤其是程序员和智能体一个有效的协作模式,就是你把它当成一个工具来用,它就是一个工具,它是辅助你的工具,能够让你写代码的效率更高,能够让你去完成一件事情的效率更高,效果更好,放在这个角度去看的时候,那可能他就是。另一个东西。呃。看一下这个在认知、执行和创造这个里面,人的角色是什么样的智能体的角色,对吧?人是要把控方向的,智能体呢。
23:00
是要生成方案的,最后要去人,要去辅助这个东西去做一些决策,至少现阶段肯定还是这样的。执行定义、设计、提示、调度。然后。智能体要去做这些。最后共生人和机器要一起去解决这个问题,对吧,创造也是一样的。在刚才的例子里面,就是数据收集人是怎么来做的,机器是怎么来做的,然后两边需要做什么去把意图。搞成一样的目标要是一致,这样才能实现最终的这个效果,那其他的也是。类似的东西我就不详细的解释了。然后。在在在在回顾这些之前啊,稍微多说一下,就是说。最近时间我在做这些智能体的时候发现,呃,其实很多时候啊,你要解决两个问题,第一个是你的数据。
24:01
你要分析一些数据,你要解决你的数据来源的问题,第二个就是怎么来分析这些数据,智能体,你怎么样设计这个提示词,举个例子,举个例子来说啊,呃,比如说还是呃,就是这个刚才说那个财经那个例子。财联社它有个电报对吧,它的倾向性是一类的。那华尔街日报呢?华尔街日报它的这个东西又是一样,对吧。格隆会呢,它又是又是一种,就是每一个媒体它都有它自己的侧重点,那么我们如果想分析这一天发生了什么的时候,是不是把这些数据都汇总到一起呢?好,我开始就是这么做的,然后出现了一个问题,把这些数据汇总到一起的时候,它超过了128K。那接下来怎么做呢?分时段,两个小时一段,两个小时一段,这是一种,第二种呢,我每一个比如说财联社的电报,然后格隆汇的,呃,这个包括华尔街日报的,我每一个分头去分析。
25:00
然后再把分析的结果之后,再用另外一个智能体再把它汇总。哪种更好呢?对吧,哪种更好呢?这个不是我说的内容更好,而是取决于你要去看这些数据是什么样的。每一个的数据有什么样的特点,它的分布是什么样的,然后呢,再去选择一个合适的方式,最后我是怎么用的,我是把每一类先去分析,然后呢,最后把这四类的分析结果放在一起,再做一个汇总的分析。为什么这么做?因为每一个媒体他关注的点,它的数据的取向、倾向,数据的来源都是不一样的。有关注国内的,有关注港股的,有关注国外的,就是侧重点是不一样的,所以你对每一类侧重点,你可以针对性的去设计它的提示词,至少前面4个。前面4个来源是4种提示词,最后一个汇总的是第5种,对吧?当然你可以加上反思啊等等其他东西,可以把这个东西做的更复杂,这个取决于你的时间成本。你的。
26:02
调用API的成本。好,再回头看一下这个。啊,冲击对吧,重塑分工,赋能决策。指挥智能体未来的关系。然后智能体原生。云原生嘛,可能会出现这个,可能会出现这个概念,我不确定啊。然后新的开发范式,其实现在有很多人在讨论这个agents,就像AIS出现一样的agent会是什么样的呢?对吧,不确定,这也没有一个明确的结论或者是概念,可能都是会以后长期去探索的。然后这是个人机协作的东西,所以呃,最后一句话就是成为智能体世界的这个架构师,而不仅仅是代码世界的。建造者。所以这个我我觉得是要考验,是要考虑一下的,这个智能体世界的架构师该是什么样子。对吧,每个人都是自己的架构,架构师,当你用智能体的时候,把自己和智能体结合起来,形成一个新的这种架构。
27:01
几个问题啊,大家可以想一想,没有答案,我也没有答案。A, 还真的能自己写代码的时候,程序员该做什么呢?我不知道,至少他现在他还没这样,所以。我也没想,没想清楚,所以先不想了,放一下第二个,我们如何定义智能体的责任和人的判断呢?你出了问题之后,你把你,你能把问题推给智能体吗?你能把推给大模型吗?你写代码都推不掉了,自己写的对吧,每一个bug都是自己亲手写出来的,逃不掉的。工商系统要解决需要什么样的开发范式呢?是A offices呢,还是其他的呢?刚才说,那智能体工作流的4种形式有没有第5种,有没有第6种呢?那随着实践往前去发展,随着实践往前去发展,随着实践往前去发展,可能会有很多的解释和很多的形态和流派,对吧。最后,当AI能形成反馈闭环的时候,开发者是否仍需要去发布版本呢?你发布的是什么版本呢?
28:07
对吧,所以这都是一些需要思考的问题。但是。不要被这些问题困住了,就在原地不动,问题存在,它就是要存在的,带着问题往前去走,走的过程中,有些问题可能自然就解决了,有些问题永远解决不了,解决不了就解决不了,只要不影响你现在的工作,那他就可以先放一放,以后再说。好吧,我的分享就到这里,谢谢大家。
我来说两句