2025-08-06 00:33:33
在 Agent 使用的模型上,Claude 一直独一档,Deepseek、豆包、Gemini 等模型跟它都有很大差距,很多号称 benchmark 接近和超过 Claude 的实际效果都不行。
K2 出来后在 Agent / Coding 相关的 benchmark 上效果很不错,同时也在一些 Agent 场景上试了下,实际体验是不错的,值得学习下它是怎么做的。
它的技术论文《KIMI K2: OPEN AGENTIC INTELLIGENCE》公开了模型训练过程的一些信息,一起学习下。
K2 几个重点:
分别对应大模型训练三部曲:预训练,SFT,强化学习。论文分别阐述了这三个阶段做了什么。
这部分介绍了训练 K2 基础模型的架构设计、优化器创新、数据增强处理,以及训练的硬件配置和调度。
模型架构遵循 DeepSeek V3 的架构,只是调整了一些关键参数,1.04万亿(1000B) 参数量的 MoE 模型,激活参数32B。
MoE(Mixture of Experts) 架构能做到高性能低成本,基本要成为 LLM 标配。 模型参数量越大,模型在训练过程中能存储的信息量就越多,模型聪明程度越高,这是 scaling law。但参数量越大,使用模型的推理成本就越高。 MoE 架构可以设计参数量很大的模型,但在推理时,每一个 token 都会被路由到到其中几个子模块(称为专家)去处理,只有少量参数参与了计算。 这也是为什么之前 DeepSeek 的成本很低的原因之一。K2 1000B 的参数量级,激活参数 32B,相当于它的推理成本跟 32B 大小的模型差不多。
跟 DeepSeek V3 的差异是调整了一些关键参数,比较细节了,特别提到两个点:
模型架构做的事不多。
预训练阶段 K2 最大的创新点在 MuonClip 优化器,花了较大篇幅介绍。简单从基础概念出发理解下它做了什么:
预训练中有个 token 效率的概念,每个 token 对模型更新的影响越大,token效率越高,数据处理目标提高 token 效率,其实就是提高数据质量。
K2 有 1.5 万亿 token 的数据去训练,极端假设这1.5万亿 token 都是一样的,那模型什么也学不到,token 效率很低,如果 1.5 万亿 token 均匀包含了每个领域多样性的数据,token 效率就高。
K2 做了几个事提升 token 效率:
互联网数据已经用完的情况下,如何在这些数据里清洗重组出多样和高质量的数据,提升预训练效果,是持续可以做的事。
除了常规的高质量标注数据做 SFT,K2 专门针对 Agent 场景创建了一套合成数据的流程,能造出大量高质量的 Agent 对话轨迹数据(trajectory),对预训练模型进行 SFT,让模型学会 agent 任务规划/调用工具/环境反馈相关的套路/格式/规则。
这个流程分三步:
{
//仅示例,非实际定义的格式
name: "financial_db_search",
description: "查询金融数据库中的产品信息,支持股票、债券、基金的基本数据(如代码、名称、价格、发行量)及历史交易数据(如近30天收盘价)",
// 输入参数的JSON Schema定义(约束模型传入的参数格式)
properties: {
type: "object",
required: ["product_code"], // 必选参数
properties: {
product_code: {
type: "string",
description: "产品代码,如股票代码(A股:600000.SH,美股:AAPL)、债券代码(019547.IB)"
},
time_range: {
type: "string",
enum: ["latest", "30d", "90d", "1y"],
default: "latest",
description: "查询时间范围:最新数据(latest)、近30天(30d)、近90天(90d)、近1年(1y),默认返回最新数据"
},
}
}
}
最终造出的数据示例:
//仅示例,非实际定义的格式 <|system|> 你是金融股票专家,可调用工具:stock_quote(查实时行情)、industry_trend(查行业趋势) [{ name: "stock_quote", description: "查询金融数据库中的实时行情", properties: { product_code: { type: "string", description: "股票代码..." }, } }, { ... industry_trend}] <|/system|> <|user|>帮我看看宁德时代(300750)现在的股价和涨跌幅。<|/user|> <|assistant|>需要查询宁德时代的实时行情。<|tool_call|>{"name":"stock_quote","parameters":{"code":"300750","fields":["price","change"]}}<|/tool_call|><|/assistant|> <|tool_response|>{"code":"300750","name":"宁德时代","price":118.50,"change":"+2.3%","time":"09:45"}<|/tool_response|> <|assistant|>宁德时代(300750)当前股价118.50元,涨2.3%(截至09:45)。<|/assistant|> <|user|>那新能源板块这周表现怎么样?适合加仓吗?<|/user|> <|assistant|>用户想了解新能源板块周趋势,需调用行业工具。<|tool_call|>{"name":"industry_trend","parameters":{"sector":"新能源","period":"week"}}<|/tool_call|><|/assistant|> <|tool_response|>{"sector":"新能源","period":"week","trend":"上涨5.2%","hotspots":"储能/充电桩","risk":"政策不确定性"}<|/tool_response|> <|assistant|>新能源板块本周上涨5.2%,储能和充电桩领涨,但需注意政策不确定性。短期可少量加仓,建议持仓不超过总资金的15%。<|/assistant|>
总的来说,通过少部分真数据和大部分合成数据,去造出大量模拟 Agent 对话轨迹的高质量数据,数据量原文说是数以万计,也可能不止。这些数据可以直接用于 SFT,让模型学会 Agent 需要的多轮交互推理、工具调用能力。
这里造数据用到的 LLM,猜测是 claude sonnet 4,算是蒸馏了 claude 的 agent 能力?
强化学习阶段讲了很多策略,核心是通用的给训练环境、造任务、定义奖励模型。对于可验证奖励的任务,有多种不同验证策略,创造和引入大量的任务做训练;对于不好验证奖励的任务,用自我评判的方式去选更好的输出;另外也介绍了算法上的几个小优化策略。
给模型的强化学习搭建了一个训练场(Gym),设计了各种有明确对错标准的任务,让模型在里面学习。
总的来说,就是各种造数据,定义奖励模型,让模型靠近我们想要的结果。
上面基本是能定义好奖励模型的任务,接下来是对不太好衡量结果的任务怎么进一步提升,例如回答有没有帮助、有没有创意、推理深度够不够等。
这种要不就是人类标注数据,要不就是用 LLM 评估结果。K2 这里大致的意思:
这里大意是让 K2 自己对自己的输出好坏进行评判:
介绍了几个算法上的小策略:
预算控制:RL 只看最终结果是否能得到奖励,所以模型会倾向于输出更多的内容,更多的内容意味着更高命中答案的概率,但对很多任务来说是没必要的。K2 对不同任务类型设了输出 token 限制,超出会惩罚,引导模型输出简洁有效的回答。
PTX loss(Pre‑Training Cross‑Entropy) :OpenAI 在 RLHF 提出的,RL 过程中避免模型对原先能力的遗忘,K2 准备了一份高质量数据,训练过程会时不时加入评估,如果模型对这些数据效果变差了,就惩罚,让学习更稳健。
温度衰减(Temperature Decay):温度在大语言模型里是指激进输出还是保守输出,更细的理解是 next token 推理时是直接选概率最高的(保守),还是随机选前面几个(激进多样)。温度衰减是训练前期先激进多尝试不同方向,后期保守收敛,保持输出稳定。
强化学习相关就这些,对 Agent 推理能力起作用的,是可验证奖励模型里的 2-让模型理解复杂指令和 3-输出遵循事实,以及自我评判机制让模型输出推理深度更好。对 Coding 能力起作用的,基本就是编程和软件工程能力。
这些方法应该都多少在各种论文上出现过,但能不能做得好,数据质量怎样,中间有多少细微的策略调整,就看细活了。
整个模型训练基本就这样,其他的内容就剩下各种 benchmark 评估了,不再列。
看完什么感受?
2025-06-05 19:08:09
数字世界的创作和内容,最重要的是程序和视频。程序负责逻辑、互动;视频负责信息的表达、感知。
2024年2月 Sora 概念发布,6月可灵发布,AI 视频开始发展。同年 6月 Claude 3.5 Sonnet 发布,8月 Cursor 接入,AI Coding 开始狂奔。
回想起来只过了一年时间,但已经经历了很多的变化,想探讨一下这两个核心 AI 领域的演化可能性。
AI Coding 短期已经达到生产可用,能显著提升程序员 Coding 效率,长期还是 AGI 本身核心的能力,有现在也有未来,自然是最热门的方向,Cursor / Windsurf / Lovable / Augment 层出不穷。
AI Coding 除了给程序员提效,也开始覆盖到其他互联网从业者,设计师/产品/运营/自媒体 等,让原本不会写程序的人 0 门槛通过 AI Coding 做出 demo 和场景,带来 0-1 的新体验。
但目前这些应用,核心是提效。没有 AI Coding,程序员也能写出一样的程序,产品/设计师等也能跟程序员合作快速做出 demo,从产物的形态/目的角度看,做出来的东西没有本质的变化,只是有了 AI Coding,效率提高了一个级别。
AI 视频过去一年 可灵/即梦/Runway/Veo 等模型持续进化,指令遵循、画面稳定性一直在增强,在一些场景达到了生产可用,提升了 CG 制作、商品广告等视频场景的生产效率。
AI 视频也覆盖到广大自媒体用户,以前需要一个 CG 团队才能做出来的视频,现在一个人可以创作出来,例如橘猫/风格化视频等,给创作者带来 0-1 的新体验,发布到小红书/抖音等平台获利,AI 视频部分代替了基于摄像头实拍的内容,成为新的一种生产力工具。
AI Coding 和 AI 视频作为生产力工具毋庸置疑会带来巨大的价值,也是现在正在发生和快速增长的。
不确定的是,随着能力的持续提升,使用的门槛的持续降低,AI Coding 和 AI 视频的使用人群是否能进一步覆盖更广到亿级大众用户,带来生产力目的以外新的东西,催生新的偏社交/娱乐的内容平台?
从历史上找,有两个可类比的领域:
拍摄
3D打印
从类比上并没有特别适配的案例,但不妨碍 AI Coding 和 AI 视频有自己的大众化和演进路径,我们先看看如果工具要大众化和催生新平台,需要什么条件。
一个工具要大众化,门槛持续降低是必要的但不充分,创作的核心是消费,大部分人有创作欲,但纯粹的创作欲是小众,创作欲更多是社交认同、利益驱动。如果不能分享,大家不会好好拍照,如果没有利益,短视频创作者不会那么多。所以工具要大众化,核心还是创作的内容有高的消费价值,包括消费频次。
但即使人人都创作和分享,也不一定需要新的平台承接,创作产物的形态没有变化,消费场景(硬件/环境)没有变化,原来的社交/内容平台也足以承接。要诞生新的平台,还是得有不同的消费场景或不同的内容形态,导致原来的平台没法很好地承接。我们不考虑新硬件的情况下,主要就看内容形态。
沿着消费价值和内容形态,看看 AI Coding 和 AI 视频的情况。
AI Coding 的产物归类到源头可能就三种:工具、内容容器、游戏。我们拆开来设想一下:
有足够的个性化差异的可交互产品/游戏,是 AI Coding 可能的出圈点。比如,以个人形象为主角的、融入了自身经历的小游戏;比如,一个可以在里面不断做个性化扩建的自由世界,像“我的世界”。如果有这些新的形态,就会催生一个新的内容平台去承接这一类产品。
AI 视频的产物应用涵盖太广,难以细拆,但近期也看到一些大众化和新形态的可能性:
日常心情表达是 AI 视频很能大众化的场景,消费价值和消费频次高,但催生不了新平台,生成的视频都会回到原来的内容/社交平台上。可交互视频这种衍生的形态,才会需要一个新的平台去承接。
看下来无论是 AI Coding 还是 AI 视频,交互 都是新内容形态的关键点。
因为这波 AI 浪潮是生成式 AI,生成的产物都是业界已有的形态,如果只看生成的产物,在没有新的硬件设备、使用环境等其他变量的情况下,只会有生产效率的提升,很难诞生新的内容形态和平台。
生成式 AI 真正独特的地方,是生成的过程。需要用户频繁通过生成产生交互的场景,才会是新的内容场景,才能产生新的内容形态。
AI Coding 和 AI 视频都有在各自领域里通过交互产生新的内容形态的可能。另一种可能是,这两者做进一步的结合,逻辑+画面都实时生成,不断创造的可玩的虚拟世界,可能又能回到元宇宙的概念。
这些新的形态和玩法,可能会像当时 Snapchat 刚出来时大家看不懂,难以理解,但就是能戳中年轻一代的诉求,值得探索和期待。
2025-04-27 18:15:26
是评测,或者说是基准测试(Benchmark)。
因为我们已经有足够的技术方案,只要定义清楚我们要解决的问题(基准测试),就能解决它。
OpenAI 姚顺雨近期提出“AI下半场”的概念,我们已经拥有了
为预训练模型补充先验知识 → Agent为模型补充工具能力→强化学习激发知识的运用,整个方案已经标准化,能很好地泛化,所有场景都适用,能快速攻破一个又一个的基准测试。
重点会变成,我们应该定义什么样的基准测试?我们已经有涵盖数学推理编程等领域非常多的基准测试,经常大模型发布刷分刷得飞起,但对现实世界的影响却并没有那么大。
显然我们应该定义更能贴近现实世界问题的基准测试,只要定义了,用上述方案就能持续优化解决它:基准测试引导收集现实世界的数据→提升预训练模型先验知识→强化学习激发模型往基准测试方向输出。
而定义的基准测试越贴近现实世界,对世界产生的影响和价值就越大。这就是 AI 下半场最重要的问题,也是做好 AI Agent 最重要的问题。(AI Agent 就是目前 AI 的代表,大模型有先验知识和推理能力,Agent 给大模型装上环境感知和行动能力,要解决现实世界的问题,一定需要 Agent)
什么是贴近现实世界的基准测试?
过去大量的基准测试,基本是封闭世界的固定任务,例如数学题、算法题、围棋、游戏,能明确定义问题、规则、答案,定义这样的基准测试是比较容易的,规则和过程都是现成的,推理也可以属于这一类,大模型发展到这个阶段,解决这些问题也是相对容易的。
但这些任务与现实世界大家日常要解决的问题距离太远,并不是现实世界的环境,因为之前缺乏感知和处理现实世界海量复杂规则任务的能力,现在大模型和 Agent 已经初步具备了这个能力。
目前有比较多横切面上单一维度的基准测试,包括 规划能力(PlanBench、AutoPlanBench等)、工具调用能力(ToolBench、BFCL等)、反思能力(LLF-Bench、LLM-Evolve等),也有大统一的通用任务完成能力的基准测试,主要是操作浏览器和操作电脑方面,例如 OpenAI 的 browsecomp (评测复杂信息检索和理解能力),学术界的 OSWorld (评测理解 GUI 操作完成任务的能力)。
但这些横切面或者通用的基准测试,可能并不是用户关心的。AI Agent 要实用,用户角度上更关注的是垂直任务上的能力,例如它能不能帮我写好代码,做好客服,创作出好的故事,给出好的调研报告等。当前行业处于早期,先把基础通用的问题做好基准测试去解决,达到一定阈值后,垂直领域任务上的基准测试才是更重要的。
如果简单分类,可以把这些任务分为两类:目标明确和不明确的任务。
现实中有些任务,有很明确的结果是否正确的定义,能像数学那样有标准答案,但过程中又是需要跟现实环境不断交互。典型的是 AI Coding,程序能不能跑通,bug有没有修复,都是能明确验证的。其他的还有像客服、数据分析等。
这一类是最容易被 AI 突破,但要定义出好的基准测试也不容易。
发展得最好的 AI Coding,在这个领域最权威的基准测试是 SWE-Bench,它已经在尽量贴近现实世界去定义问题,以解决 github 上的真实 issue 为出发点,但它还是很难衡量实际 coding 场景中不同模型的效果。o1、DeepSeek R1、Claude 3.5 分数都在 49% 左右,但实际用起来,Claude 3.5 在可用性上高出一个档次,没有其他基准测试能反应 Claude 3.5 断档的效果,而 Claude 3.7 分数高达70%,但实际体验上跟 3.5 的差距没有分数上差距这么大。除了模型搭配上工具后,windsurf、cursor、trae、argument 等几十个 AI Coding 工具,他们实际效果差异怎样,如何评测衡量,都是不清楚的。
SWE-Bench 只覆盖了 Coding 的一部分,大型项目理解能力、视觉动画开发能力、代码CR、需求理解等,要补的基准测试还有很多,现在也有 SWE – bench Multimodal、AgentBench、SWELancer 这些基准测试在不断推出试图覆盖。
其他领域还没看到有相关的基准测试。
大部分现实世界的任务,都是结果难以明确定义的,不是非黑即白。例如调研报告、旅行规划、简历筛选面试,各种涉及文字/图片/视频创作的场景,比如营销、故事创作、邮件回复沟通等,结果的好坏很多只有人能判断。
Deepseek 年初的一波火爆,除了各项分数刷爆外,其中有一个原因是它输出的中文质量很好,但这个点并没有基准测试能衡量到,因为确实是很难定义什么样的文字是明确的好,跟文化/偏好品味/逻辑性/多样性等都有关系。
图片视频生成也一样,过了一定门槛后,生成的图片怎样才算更好,也是有很多维度和人的主观判断,目前没有基准测试能做到。
如何做好这类任务的评测?
如果要让 Agent 在各个领域上能很好发挥作用产出价值,可能每个领域都有自己的垂类 Agent,也都需要定义自己的一个或多个基准测试去覆盖这个领域,AI Coding 领域跑得最快,已经有多个,像客服、电商、营销、创作、医疗、教育等等每个大课题下都会有小的垂类任务,每一类任务可能都需要一个基准测试,去衡量谁在这个任务上做得最好,去促进这个任务成功率的提升。
如果要做一个垂类 Agent,最值得做的是把基准测试定义好,比较像软件开发的TDD(测试驱动开发),在 AI 时代这种做法可能更重要,它明确问题定义,指引优化方向,提供优化数据,不会受到模型升级的影响,是这个领域 Agent 的重要资产。
大模型基准测试大全:https://github.com/onejune2018/Awesome-LLM-Eval
《Survey on Evaluation of LLM-based Agents》:https://arxiv.org/abs/2503.16416
HAL(批量跑 Agent 基准测试的框架):https://github.com/princeton-pli/hal-harness/
2025-04-07 20:29:23
Browser Use 成为近期的明星项目,两个人的纯技术开源项目,核心代码 8000 行,融资 1700 万美元,让人好奇它具体做了什么,为什么这么值钱。
简单说 Browser Use 让大语言模型对网页的识别和操作的效率、准确度变高了,有利于 Agent 完成任务。
目前要让 AI Agent 完成任务,可以直接让 AI 浏览网页,像人一样去理解页面,执行操作,之前一般的做法主要靠截屏:
而 Browser User 对 web 页面做了结构化处理,翻译成大模型友好的格式,再输入 LLM 识别。举例 Google 首页:
1.Browser use 会在页面上嵌入脚本,遍历 DOM 结构,找出页面上的元素,显式打上标记:
2. 转换为以下纯文本:
[Start of page]
[1]<a Gmail >Gmail/>
[2]<a 搜索图片 >图片/>
[3]<div />
[4]<a false;button;Google 应用/>
[5]<a 登录/>
[6]<img />
[7]<div />
[8]<textarea 搜索;false;q;combobox;Google 搜索/>
[9]<div />
[10]<div 按图搜索;button/>
[11]<input button;Google 搜索;btnK;submit/>
[12]<input btnI; 手气不错 ;submit/>
[13]<a English/>
[14]<a Bahasa Melayu/>
[15]<a தமிழ்/>
[16]<a 关于 Google/>
[17]<a 广告/>
[18]<a 商务/>
[19]<a Google 搜索的运作方式/>
[20]<a 隐私权/>
[21]<a 条款/>
[22]<div false;button/>
[23]<div 设置/>
[End of page]
内容格式极简,关键信息都有,提取了所有可交互元素,模型完全可以通过这些信息“看”和“操作”网页。
例如要执行搜索,模型很容易判断搜索框是索引为[8]的元素,Agent只需要把元素[8]对应的 XPath 拿出来,获取到页面上对应的元素,执行操作就可以。
所以 Browser Use 使用非多模态的模型例如 Deepseek 也可以跑起来,不依赖截图识别。但如果是多模态模型,截图也默认会一起输入模型,提升识别准确率。
Browser Use 核心就是做了这个点,剩下的就是怎样把流程串起来。
核心代码包括四个部分:agent 负责决策和串流程,controller 负责转换决策为具体操作,dom 负责网页分析,browser 负责与实际浏览器交互。
它也用到了很多开源项目和服务:
其他就是一些配套实现了,gif 动图、多种模型调用的 example、test case 等。
一个并不复杂的开源项目,得到市场这么大的认可,事后分析,可能是因为:
有需求,有商业化,有流量,在这个时间点让它很值钱。
2025-03-28 21:50:29
参加了 NVidia GTC (GPU Technology Conference),由于英伟达的地位,这会也已经成了 AI 开发者最大的交流会,很多公司和业内人士都会过来分享、交流,大概写下会议中相关见闻感受。
老黄没提词器洋洋洒洒讲了两个多小时,出了小状况还会开个小玩笑,大佬范很足,也满满的理工男既视感,非常多的数字和未经包装的细节,不过感觉会讲得有些啰嗦。
总的来说,核心论证的是世界对 GPU 诉求会越来越大,而 NVidia 在 GPU 这个领域会持续遥遥领先。
GPU诉求
计算机的核心从 CPU 转向 GPU,上个时代依靠程序员写代码指挥 CPU 执行指令解决问题,构成了现在庞大的 IT 产业,程序员是中心。现在的时代逐渐转变,GPU 生产的 token 逐渐能解决越来越多的问题,能思考,能生成代码指挥 CPU 去执行解决问题,计算的核心一定会转向 GPU,世界对 GPU 的需求只会越来越高。
给 AI 分了四个阶段,Perception AI → Generative AI → Agentic AI → Physical AI,不是很认同,Agentic 和 Physical 都是 Generative AI 的延续,不过无所谓,可以看到 Agentic 这个概念实在是火爆。
Scaling Law 没有停止,Agentic AI 需要深度思考,深度思考有新的 Test-time Scaling Law,越多的 token 输出效果越好需,要多轮理解和工具调用对 token 的消耗更是指数级上涨。
Physical AI 要更好地理解现实世界,声音/视觉/触感,都会比纯文本思考对 token 消耗的诉求更高,像 2G 时代看文字新闻,3G 4G 图片,5G 视频一样。
这两个发展中的领域对 GPU 的需求只会越来越高,Deepseek 做的优化也不足以影响这个需求的增长,这个市场不容质疑。
NVidia 优势
GPU 需求量是高,但未来大家一定会买 NVidia 卡吗?当然。NVidia 这一代 blackwell 算力是 hopper 的 68 倍,下一代计划明年推出的 Rubin 算力是 hopper 的900 倍,一年一迭代,远比摩尔定律快的速度,还做了大量的大规模部署的优化,省电、稳定,号称买越多,省越多,赚越多,竞对看起来会很难追上。这些论述还是挺能让人 buyin 的。
Agent 的相关 session 有接近 200 个,Agent 集合了几个元素:
所以 Agent 相关的 session 大部分都很热门。听完一些的感受:
NVidia 作为领头羊,是希望自己能覆盖 AI 全链路基础设施的,大力在 AI 的每一层都提供了相关框架、服务、能力,这次会议上也有非常多的分享和推广。
其中跟 AI 应用 / Agent 相关的几个基建:
这些基建的声量比较低,国内没怎么见到,不确定海外使用情况怎样。
多个 session 都在推广 NVidia 的 Video Search and Summarization Agent,串联从视频的获取→分割→VLM识别、CV物体识别和跟踪→数据处理存储和RAG召回→用户对话 整个流程,做到可以对视频提供实时分析和报警,也可以自然语言交互查询视频内容,边缘部署,适合用于监控,算是用 NVidia 技术栈做 AI 应用的一个标杆范例。
关注了下视频 AIGC 相关的几个 Session
总体感受,眼花缭乱,人潮纷杂,在开拓视野以外,大会更多是一个社交场所,推广产品/技术/服务,促进合作,这类大会需要的是多创造一些面对面交流的机会。
2025-03-24 15:58:50
参加 NVIDIA GTC 会,其中一场听了 LangChain 的作者 Harrison Chase的分享《AI Agents in Production Insights and Future Direct》,聊了 Agent 当前遇到的一些问题和他的想法,包括 Planing,UX,Memory,Reliability,Deployment,Multi-Agent,也结合我的理解说说这几个课题。
任务规划是 Agent 的核心,这个课题是进展比较多的,业界解决得相对比较好,核心是 o1/r1 推理模型的出现和不断增强,让规划能力上了一个台阶,这也是 agent 能起来的基础。
但模型本身目前解决不了所有问题,还需要工程上的一些策略和串联做优化。例如 Tree of Thought 让任务不是以线性一步步执行的形式,而是生成解决问题的多个节点,多角度思考问题,形成树结构的任务,评估节点的价值,在里面寻找最优解。 Reflexion 会有 Evaluator 对各种反馈(工具调用结果/模型输出/用户指令)进行反思,梳理改进方向,也会把反思结果作为知识库经验,指导后续的任务。
这些策略链路是需要有一个工程流程把他们串起来的,这个工程链路的构建也是 Agent 在 Planing 能不能做好的关键因素,langgraph 和众多 Agent 框架服务都持续在做这个事。
Agent 的交互应该是怎样的?
Devin 多窗口,有聊天框发送指令、又能实时看到 Agent 在怎样用浏览器、命令行、编辑器,是不错的交互。
大部分 Agent 会是后台异步运行的模式,可以让它直接跑在后台,在需要人类给出反馈处理的,用类似邮件 inbox 的方式交互,Agent 发邮件给你等待指示,你回复邮件给输入。
相较于交互界面形态,交互的策略可能更关键。Agent 在执行任务过程中,
如果做每一步都要用户反馈做指示,那是非常枯燥不好用的,如果完全不需要用户反馈,那做出来的东西可能不符合用户预期的概率高很多。模型应该能做好这里的交互策略,但目前还没看到有特别好的实践。
长时记忆是个有意思的话题,杨立昆在对话中也有提到,记忆这个课题是值得研究的方向,现在是缺乏突破和讨论的。
现在的 Agent,普遍都只有知识库 RAG 而没有记忆,记忆不是知识库,或者说知识库只是记忆的一种。
记忆应该跟人类一样,模型能记住和学习交互过程中用户给到的信息和偏好,在每次推理过程中发挥作用。
它跟 UX 相关,如果模型能理解记住用户偏好,用户的反馈交互就可以减少。
它也跟 System Prompt 的优化相关,System Prompt 是激活了模型按某个方向去做推理预测,记忆也应该是在模型推理的过程中发挥作用。
简单做的话记忆可以作为 System Prompt 的一部分去影响模型,更彻底的可能应该是能持续内化到模型内,或者以新的模型架构去做这事。
现在的应用场景还没到记忆是必选项的程度,但要做 AGI 或者要 Agent 好用这块必不可少。
主要是指 Agent 能不能稳定地解决同一个(或同一类)问题。
Agent 跟之前的软件工程不同,受限于模型输出的不稳定,整个系统的可靠性是远不如传统工程的,用户输入同样的或差不多的需求,agent 不一定每次都能解决问题。
模型输出的,一是会受用户对任务描述的影响,可能描述不准确,可能会有歧义。二是受模型本身不够聪明的影响,近期模型能力越来越好,解决了部分问题,但仍是不稳定。
保持 Agent 输出的稳定性,是一个非常需要持续迭代优化的工程,搭一个 demo 容易,持续优化难。
Agent 节点多,需要能看清每个任务节点的详细情况,有问题时知道问题出在哪里,需要有效果评估的测试能力,也需要框架有能力比较方便地在过程中对模型的输出进行评估实时纠错,提升稳定性,这些配套 langchain 相关生态都提供了,NVidia 这次开源的 AgentIQ 框架也基本涵盖了,还有很多框架服务也在做。
Agent 要在线上跑,相关部署基建现在也还没有很完善,它跟传统工程链路还是有一些区别,主要是链路长、耗时长、成本高。提供 Agent 部署的服务应该针对这几个特性做好相关基础设施。
预期后续会有非常多的 Agent 出现,Agent 跟 Agent 之间如果能相互联系,能形成新的智能体,但 Agent 之间 应该怎样通信?
这里的通信不止是把 Agent 当成一个黑盒,给指令 – 输出结果,而是能深入 Agent 内部的通信,上下文共享、中间步骤共享、过程中的协作、用户操作插入等。
目前没有一个标准,各项目都是自己的一套,业界可能需要这样一个标准,能实现把使用不同框架、不同服务上部署的 agent 连接起来。
MCP 是近期在快速发展的标准协议,很有前景,但它只是把工具工具调用标准化了,对 Agent 和 Agent 相关的协作是没有定义的,可能需要另外的协议。
上一篇文章刚好探讨了这个内容,用 Agent as Tool 的方式,把 Agent 当成工具的一种,基于 MCP 去做,好处是架构简单,Agent 可复用性高。
但它只把 Agent 当成黑盒 Tool 去使用,给指令 → 输出结果,Agent 之间更深入的联系是没有的。我们也在尝试,给这个 MCP 子 Agent 输入主 Agent 的上下文,同时这个子 Agent 也可以流式把每步处理过程上下文输出给主 Agent,这样就可以实现 Agent 之间的上下文共享。同时也可以继续做更深入的交互定义,比如子 Agent 与用户反馈交互的流程协议。
目前这些协议都需要自定义,但以 MCP 、 以 Agent as Tool 去定义标准的 Agent 间交互协议,也是可行的,MCP 可以把这套交互协议也定了,可能是 Anthoropic 很好的机会。
上述这些基本是工程上的事情,这次 GTC 很少有人讨论到 Agent 在数据收集/模型调优上的实践,基本是直接使用基础通用模型,但要提升 Agent 的上限,应该是需要专有模型并能支持端到端训练的形态,待探索。