背景描述&碎碎念
最近一直在做技术选型类的工作,在Agent方向看了一些框架实现,这样持续了两周之后,就感觉有点儿摸到方法论的意思,趁现在还在这个状态里,先记录一下。
技术调研的方向是AI+Agent,在进行这项工作之前,对AI的了解大概是就是看看微信公众号推文的水平,听过几次技术分享,基本局限在概念认识。
短暂的参加过LLMOps产品的开发,主要是平台MCP功能支持部分的开发,包括MCP协议、MCP SDK支持和平台支持的部分。
因为这次技术调研是为了完成产品Agent的开发,并提供产品的MCP服务,之前产品并无AI方向的尝试。这就导致我拿到的技术调研要求其实完全无法明确,总的来说就一句话:
帮助团队明确我们产品的AI Agent怎么做。
这个要求比较模糊,它没有给出清晰的执行步骤,只有一个目标。
在这里突然就觉得,接收到这个要求的我就很像一个Agent。我的第一步就是把这句话拆解成一个任务执行计划,然后逐步执行逐步校对,直到获得最终的结果。唯一有差别的可能是,大家能容忍Agent偶尔给出不靠谱的结论,但一定不能容忍具体的人给出不可信的结论。
实际上,我也是按照Agent的步骤在完成这个任务,首先分析完成这个目标需要了解的背景知识,然后把背景知识调研拆解成不同的调研任务,和大家不断的确认整体理解一致性、计划拆解认可度,每一步调研结果中对最终目标有帮助的部分。当然,这个大家主要是老板。
考虑到这次review不是一次工作方法论的review,这里就不继续展开了,还是关注一下中心主题,如何快速的学习全新的领域,对这个领域建立比较完整的系统性的认识。
如何快速的学习全新的领域
首先声明,这次一次完全个人学习方法的review,写下来是用于个人方法的总结和提效,没有任何指导指导其他人的意思。
以前有个很喜欢的领导,我那会儿很佩服他的一件事情就是总能快速的学习新的领域知识,并且基于他的学习成果指导我们工作的计划和重点方向,而那会的我在面临一个全新领域问题的时候,基本上只能回答,对不起我不知道。很可惜那会儿没有意识去请教一下如何培养这种能力,不然现在也许会有更好的思路。
不过只要工作生活在继续人就会无法避免的一直面对新的问题,这种能力慢慢也能自然的长出来。
讨论一些常见的方法
看视频
AI时代好像更流行通过视频了解新内容的方法。AI相关的短视频长课程遍布每一个社交平台,课程的发布者从吴恩达这种顶级大佬到不知名的路人甲都有。
那么课程的质量和效果就不能一概而论了,只能先限定视频质量再去考虑是否能选择这种方式学习一项全新的内容。
假设我们只选择内容充实、正确性有保证、对行业方向把握正确的高质量视频作为学习资料,那么存在的问题有:
- 这一类的视频比较难找,如果面临的问题非常具体,那么基本不能找到合适的视频
- 视频内容不可避免的会携带制作者的个人看法,不如直接看发布文档能接触到第一手的信息
- 视频的信息密度比较低,同样的时间看文档或者开源项目可以获得更多的信息
所以如果选择视频作为学习某一个领域的方式,那么需要满足以下条件的时候再考虑开始:
- 能找到行业权威人士的视频课且内容高度相关
- 视频中刚好能解答我所面临的具体的问题
- 视频信息密度很高,有深度,不是overview类型的概览
如果不满足以上条件,或者找到符合要求的视频需要花费大量的时间,看视频都不符合有限时间内快速学习全新领域的学习要求。
如果希望在业余时间了解接触一些新的东西,看视频会是一个很好的选择。
搜索引擎关键字搜索 top N文章阅读
其实无论选择什么方式,搜索引擎在学习的时候都是一个必要工具,看文章也是必要步骤,因此这个方法过程我想review的是,如何快速找到最有价值的文章。
AI之后的互联网其实存在内容同质化严重的事情,同一篇文章会被爬虫反复抓取、洗稿,在不同的地方多次发布,反复阅读这种文章对我们而言无疑是浪费时间。
假如我们快速pass同质化文章,那么就能找到权威信息吗,答案也是否定的。
比如我最近大致学习了一下Agent框架之后就写了自己的学习笔记,我自己的理解都未必准确全面,文章内容也不能保证。那我们搜到的有没有可能是这样的内容,答案是肯定的。
这边有一些简单的经验总结哪些类型的文章有阅读的价值:
- 首先是行业内大佬的技术博客或者技术峰会的分享,如果有完整的文字版是值得阅读的
- 脉络清晰的长文是指的阅读的,
- 大厂公众号的推文,注意鉴别软文,不是软文的话基本都是内部审核过的,是比较有保障的
然后还有很重要的一点,只要不是第一手的资料,对任何的信息都要抱着审视学习的态度,不能全然相信,也不能贸然怀疑。
专家请教
这个算是高阶方式了,一对一请教专家必然是最有效的,甚至上一堂面对面的专家课也比视频课有效,因为这种方式会提供给大家提问的机会,提问的机会是非常宝贵的。这里不考虑能不能找到专家的问题,只考虑如果能找到专家,怎么让沟通的过程最有效。
最重要的是:想好你打算问什么问题。
这些提前准备的问题能否串联起你对这个领域的认识,如果考虑到不让这场请教对专家变得特别无聊,那么还需要准备一些具体的、有讨论价值的,或者你查不到只有专家才能给你指点的问题。
从这个角度来看,专家对谈比较好的发生时机是我们完成了对新领域的初步认识,有了一些不太完整但基本成型的知识结构,并且找到了自己目标落地过程中可能会遇到的问题,这会使专家对谈效益最大化。
如何快速构建对新领域的认识
上面讨论了一些常见步骤之后,能看出来了解一个新领域最重要的也是最靠前的任务,形成对这个领域的初步认识,到达能提出问题的阶段。
拿我接到的这个任务举例子,如果想要给出Agent工程化落地的方案,我首先需要了解Agent在工程上需要完成哪些事情,这些事情的难点是什么,有什么比较好的业界实践。如果无法理解前面的这些问题,现在即使给我一次专家请教的机会,我也没办法有效的提出自己的问题,只能浪费机会获得一次概念交流。
所以接下来讨论,如何快速的构建初步认识。
基本步骤大概是这样的:
- 找到新领域的基础理论定义,通常包括:
- 教科书解释或者基础论文,比如在学习LLM绕不过LLM定义和Attention is all you need,在Agent这个论文就是LLM Powered Autonomous Agents;
- 明确新领域的发展脉略,关键发展节点和关键节点对应的变化
- 找到该领域的代表性作品,通常包括:
- 行业领先地位公司或者组织的文档、产品
- top产品的白皮书,产品体验
- 开源工程的结构分析,代码阅读(仅适用于技术)
- 技术生态中最活跃的产品
- 不同产品中在设计中如何解决关键问题
完成以上这些步骤基本能对这个领域有一些初步的认识,中间有一些问题需要注意:
- 在阅读的过程中,初始的学习曲线非常陡峭,不能说一眼看上去啥都看不懂,那也是能看懂的不多,这时候可以把领域内的专有名词单独记一下,坚持读两三篇,基本就能理解了;
- 除了上面的文章之外,技术博客、技术论坛配套的文章或者PPT也值得一读,但是这个阅读要放在读完base的信息之后,不然即使作者写错了你也感觉不到问题;
- 选文章的时候要非常注意文章的质量,最好选口碑比较好的专栏、公众号或者作者;
- 技术框架调研不要跑偏
技术框架调研跑偏问题
技术框架调研跑偏问题是指在阅读开源框架代码的过程中,没有一直把注意力放在框架解决了哪些问题,有哪些概念设计贴合当前领域问题这两件事情上,而是关注了框架的技术实现,精巧的设计模式,特色的注解定义,功能完善的demo等等。
我时常会犯这个错误,比如经常会从一个关键入口一路跟踪框架对事件的完整处理过程。
这种跟踪方式不能说是有问题的,当我们选好框架准备深入理解框架设计的时候,这个方式非常好用。
但在选型调研阶段,这个动作会让我在细节上消耗太多的时间,产出降低。
- 现在的开源工程通常都有比较好的功能实现,Top的开源工程很少有隐藏的致命问题,即使有也很难在调研阶段发现,细读每一行代码不太有价值;
- 选型更关注high level的设计,具体功能的支持,社区活跃度,现有工程亲和度、性能、稳定性等,关注细节就会使在这些问题上的投入降低,或者整体时间变长;
- 一旦关注代码细节,初次试图全流程debug的过程必然会遇到一些问题,之后注意力发散,不得不解决很多当前阶段并无价值的问题;
- …..
这个部分完全用于自省,我在调研Spring AI 框架的时候在example工程改造上花了很多时间,但那部分投入对最终结论影响很小,是个教训。
及时讨论
这是最后一个部分了,文章似乎有些太长了。
及时讨论有两个好处:
- 如果调研过程太长,及时讨论是很好的过程管理手段,保证这件事情始终在运行的轨道上
- 相关人可能也在接触这类信息,讨论有助于开拓思路;即使大家都接触此类信息,讨论过程有助于我们发现自己逻辑不自洽或者理解失误的地方,把参与者当小黄鸭来review我们的思路也是很有价值的;
总结
快速学习一个新领域的方法:
- 首先阅读最基础最权威的文章,对领域有客观的整体的了解;
- 关注权威组织、Top公司在此领域的论述,了解发展趋势和领先的产品;
- 关注开源工程实现中和领域关键问题相关的部分;
- 筛选阅读的内容、框架调研关注目标,保证精力投入的产出比;
- 及时讨论,不断review想法,做好进度管理;