1
00:00:00,100 --> 00:00:02,105
你好，欢迎收听。

2
00:00:02,105 --> 00:00:08,629
上一集我们讲了智能体是什么，这一集往下走一层，讲它到底是怎么运转起来的。

3
00:00:08,629 --> 00:00:18,016
本内容改编自 Datawhale《Hello-Agents：从零开始构建智能体》，采用 CC BY-NC-SA 4.0 授权，为二次演绎配音版。

4
00:00:18,016 --> 00:00:26,875
授权再说一遍，本内容改编自 Datawhale《Hello-Agents》，采用 CC BY-NC-SA 4.0 授权，为二次演绎配音版。

5
00:00:26,875 --> 00:00:29,651
搞懂运转机制有什么用呢。

6
00:00:29,651 --> 00:00:40,600
你会发现，很多关于智能体的争论，比如它到底稳不稳、该不该给它更多自由度、为什么有时候它会绕远路，答案其实都藏在循环里。

7
00:00:40,600 --> 00:00:48,822
这一集我们讲三件事，任务环境长什么样，循环怎么转，以及工作流和智能体的分界到底在哪。

8
00:00:48,822 --> 00:00:50,432
我们开始。

9
00:00:50,596 --> 00:00:55,389
要理解智能体怎么运转，得先理解它所处的任务环境。

10
00:00:55,389 --> 00:01:06,601
人工智能领域通常用一套模型来精确描述任务环境，这个模型取了四个词的首字母，分别是性能度量、环境、执行器、传感器。

11
00:01:06,601 --> 00:01:10,664
听起来抽象，我们拿智能旅行助手来对照一下。

12
00:01:10,664 --> 00:01:16,577
它的性能度量是什么，是用户满意度、行程是否合理、预算有没有超。

13
00:01:16,577 --> 00:01:21,361
它的环境是什么，是各类旅行服务接口和实时数据。

14
00:01:21,361 --> 00:01:27,935
它的执行器是调用各种预订和查询服务，它的传感器则是接口返回的数据流。

15
00:01:27,935 --> 00:01:35,255
把这四个格子填完，你就知道这个智能体到底在为什么负责，以及它的能力边界在哪。

16
00:01:35,255 --> 00:01:41,697
我建议你以后做任何智能体，第一步都先把这四项写清楚，这一步省不掉。

17
00:01:41,697 --> 00:01:51,060
接下来是重点，在实践里，智能体所处的数字环境有几个绕不开的复杂特性，它们直接决定了智能体该怎么设计。

18
00:01:51,060 --> 00:01:54,474
第一，环境通常是部分可观察的。

19
00:01:54,474 --> 00:02:05,339
旅行助手查航班的时候，不可能一次性拿到所有航空公司的全部实时座位信息，它只能通过调用接口，看到接口返回的那一部分数据。

20
00:02:05,339 --> 00:02:14,402
这就要求智能体必须有两样能力，记忆，记住已经查过哪些航线；以及探索，主动尝试不同的查询日期。

21
00:02:14,402 --> 00:02:17,491
第二，行动的结果不总是确定的。

22
00:02:17,491 --> 00:02:24,822
环境按可预测性可以分成确定性和随机性，旅行助手面对的就是典型的随机性环境。

23
00:02:24,822 --> 00:02:30,135
它前后两次搜索票价，返回的价格和余票数量都可能不一样。

24
00:02:30,135 --> 00:02:36,169
这就要求智能体必须能处理不确定性、监控变化，并且及时决策。

25
00:02:36,169 --> 00:02:41,289
第三，环境里还可能有别的行动者，形成多智能体环境。

26
00:02:41,289 --> 00:02:51,301
对旅行助手来说，其他用户的预订行为、其他自动化脚本，甚至航司自己的动态调价系统，都是环境里的其他智能体。

27
00:02:51,301 --> 00:02:55,544
别人订走最后一张特价票，环境状态就变了。

28
00:02:55,544 --> 00:03:00,556
这对智能体的快速响应和策略选择提出了更高要求。

29
00:03:00,556 --> 00:03:05,351
第四，几乎所有任务都发生在序贯且动态的环境中。

30
00:03:05,351 --> 00:03:13,765
序贯是说当前动作会影响未来，动态是说环境本身可能在智能体做决策的这段时间里就发生变化。

31
00:03:13,765 --> 00:03:21,902
所以感知、思考、行动、观察这个循环，必须能够快速灵活地适应一个持续变化的世界。

32
00:03:22,036 --> 00:03:24,906
环境说完了，我们看核心机制。

33
00:03:24,906 --> 00:03:33,282
智能体不是一次性把任务做完的，它通过一个持续的循环跟环境交互，这个机制叫智能体循环。

34
00:03:33,282 --> 00:03:36,359
循环里有几个相互关联的阶段。

35
00:03:36,359 --> 00:03:38,198
第一个阶段是感知。

36
00:03:38,198 --> 00:03:45,301
这是循环的起点，智能体通过传感器接收来自环境的输入，这些输入叫做观察。

37
00:03:45,301 --> 00:03:51,936
观察既可以是用户最初的指令，也可以是上一步行动导致的环境状态变化反馈。

38
00:03:51,936 --> 00:03:53,943
第二个阶段是思考。

39
00:03:53,943 --> 00:03:58,089
拿到观察之后，智能体进入核心决策阶段。

40
00:03:58,089 --> 00:04:06,335
对大模型驱动的智能体来说，这通常是由模型驱动的内部推理过程，而且可以再拆成两个环节。

41
00:04:06,335 --> 00:04:18,738
一个是规划，智能体基于当前观察和内部记忆，更新对任务和环境的理解，制定或者调整行动计划，这里往往要把复杂目标拆解成更具体的子任务。

42
00:04:18,738 --> 00:04:28,546
另一个是工具选择，根据当前计划，从可用的工具库里挑出最适合执行下一步的工具，并确定调用它需要哪些参数。

43
00:04:28,546 --> 00:04:30,529
第三个阶段是行动。

44
00:04:30,529 --> 00:04:44,351
决策完成后，智能体通过执行器执行具体动作，通常表现为调用一个选定的工具，比如代码解释器或者搜索接口，从而对环境施加影响，试图改变环境的状态。

45
00:04:44,351 --> 00:04:46,298
但行动不是终点。

46
00:04:46,298 --> 00:04:57,476
行动会引起环境的状态变化，环境随即产生一个新的观察作为结果反馈，而这个新观察又会在下一轮循环里被感知系统捕获。

47
00:04:57,476 --> 00:05:02,368
于是形成一个感知、思考、行动、观察的持续闭环。

48
00:05:02,368 --> 00:05:09,063
智能体就是靠不断重复这个循环，从初始状态一步步走向目标状态。

49
00:05:09,063 --> 00:05:16,106
这里有个很容易被忽略的点，循环的价值不在某一轮跑得多漂亮，而在于它能收敛。

50
00:05:16,106 --> 00:05:21,923
如果观察反馈回来的信息总是不足以修正方向，循环就会原地打转。

51
00:05:21,923 --> 00:05:29,844
所以判断一个智能体设计得好不好，看它每一轮拿到的观察是不是真的能推动下一步决策。

52
00:05:29,980 --> 00:05:39,725
在工程实践中，为了让模型能有效驱动这个循环，需要一套明确的交互协议，来规范智能体和环境之间的信息交换。

53
00:05:39,725 --> 00:05:46,851
在许多现代智能体框架里，这个协议体现在对智能体每一次输出的结构化定义上。

54
00:05:46,851 --> 00:05:56,947
智能体的输出不再是一句自然语言回复，而是一段遵循特定格式的文本，里面明确展示它内部的推理过程和最终决策。

55
00:05:56,947 --> 00:06:00,084
这个结构通常包含两个核心部分。

56
00:06:00,084 --> 00:06:04,423
第一部分是思考，这是智能体内部决策的快照。

57
00:06:04,423 --> 00:06:16,658
它用自然语言讲清楚，智能体是怎么分析当前情境的，怎么回顾上一步的观察结果，怎么进行自我反思和问题分解，最后又规划出了什么下一步行动。

58
00:06:16,658 --> 00:06:25,420
第二部分是行动，这是智能体基于思考之后，决定对环境施加的具体操作，通常以函数调用的形式表示。

59
00:06:25,420 --> 00:06:40,316
拿规划旅行的智能体举例，它可能会先输出一段思考，说我需要知道目的地天气才能决定推荐室内还是室外景点，然后输出一个行动，调用天气查询的函数并把城市名作为参数传进去。

60
00:06:40,316 --> 00:06:48,874
这个行动字段就构成了对外部世界的指令，一个外部的解析器会捕捉到这条指令，去调用对应的函数。

61
00:06:48,874 --> 00:06:56,951
行动执行完，环境会返回一个结果，比如天气查询返回一段包含详细天气数据的机器可读内容。

62
00:06:56,951 --> 00:07:04,391
但原始数据通常包含模型不需要关注的冗余信息，格式也不符合自然语言处理的习惯。

63
00:07:04,391 --> 00:07:15,364
所以感知系统有一个重要职责，就是扮演传感器的角色，把这段原始输出处理并封装成一段简洁清晰的自然语言文本，也就是观察。

64
00:07:15,364 --> 00:07:23,693
这段观察文本会被反馈给智能体，作为下一轮循环的主要输入，供它进行新一轮的思考和行动。

65
00:07:23,693 --> 00:07:35,893
通过思考、行动、观察这三段构成的严谨循环，智能体才得以把内部的语言推理能力，和外部环境的真实信息、以及工具操作能力结合起来。

66
00:07:36,028 --> 00:07:42,997
好，讲完内部机制，我们把视角拉远一点，看智能体在实际应用里的协作模式。

67
00:07:42,997 --> 00:07:52,995
基于它在任务中的角色和自主性程度，主要分为两种，一种是作为高效工具融入我们的工作流，另一种是作为自主的协作者。

68
00:07:52,995 --> 00:07:56,649
先说第一种，作为开发者工具的智能体。

69
00:07:56,649 --> 00:08:04,016
在这种模式下，智能体被深度集成到开发者的工作流里，作为一种强大的辅助工具。

70
00:08:04,016 --> 00:08:13,391
它增强而不是取代开发者的角色，通过自动化处理繁琐重复的任务，让开发者能更专注于创造性的核心工作。

71
00:08:13,391 --> 00:08:21,937
目前市面上已经有多款优秀的编程辅助工具，它们都能提升效率，但实现路径和功能侧重各有不同。

72
00:08:21,937 --> 00:08:39,140
有一款由代码托管平台和模型厂商联合开发的产品，深度集成在主流编辑器里，以强大的代码自动补全能力闻名，你写代码的时候它能实时给出整行甚至整个函数块的建议，后来它也扩展了对话式编程的能力。

73
00:08:39,140 --> 00:09:03,039
还有一款是模型厂商做的编程助手，主打在终端里用自然语言指令高效完成编码任务，它能理解完整的代码库结构，执行代码编辑、测试和调试，支持从描述功能到代码实现的全流程，另外它还提供了无交互模式，适合用在持续集成、提交前钩子、构建脚本这类自动化场景里。

74
00:09:03,039 --> 00:09:19,389
再有一款新兴工具，专注于智能化的代码生成和优化，通过深度学习技术分析代码模式，提供精准的代码建议和自动化重构方案，特点是轻量、响应快，特别适合频繁迭代和快速原型开发。

75
00:09:19,389 --> 00:09:31,492
最后还有一款走的是更整合的路线，它本身就是一个人机协同优先的代码编辑器，不是给现有编辑器加个插件，而是在设计之初就把智能交互当成核心。

76
00:09:31,492 --> 00:09:40,819
除了代码生成和聊天，它更强调让模型理解整个代码库的上下文，从而实现更深层的问答、重构和调试。

77
00:09:40,819 --> 00:09:50,975
这些工具共同指向一个明确的趋势，人工智能正在深度融入软件开发的全生命周期，重塑软件工程的效率边界。

78
00:09:51,100 --> 00:09:56,771
第二种模式把自动化程度提升到了新层次，叫做自主协作者。

79
00:09:56,771 --> 00:10:03,992
在这种模式下，我们不再手把手指导它完成每一步，而是把一个高层级的目标委托给它。

80
00:10:03,992 --> 00:10:12,105
智能体会像一个真正的项目成员那样，独立地规划、推理、执行和反思，直到最终交付成果。

81
00:10:12,105 --> 00:10:20,314
这个从助手到协作者的转变，让我们和人工智能的关系从命令与执行，演变成了目标与委托。

82
00:10:20,314 --> 00:10:25,014
智能体不再是被动的工具，而是主动的目标追求者。

83
00:10:25,014 --> 00:10:35,170
当前实现自主协作的思路很多，从早期的几个知名实验性项目，到如今更成熟的若干框架，都在推动这个领域高速发展。

84
00:10:35,170 --> 00:10:40,699
具体实现千差万别，但架构范式大致可以归纳成三个方向。

85
00:10:40,699 --> 00:10:45,302
第一个是单智能体自主循环，这是早期的典型范式。

86
00:10:45,302 --> 00:10:55,591
核心是一个通用智能体通过思考、规划、执行、反思的闭环，不断进行自我提示和迭代，去完成一个开放式的高层级目标。

87
00:10:55,591 --> 00:11:03,139
第二个是多智能体协作，这是当前最主流的探索方向，目标是模拟人类团队的协作模式。

88
00:11:03,139 --> 00:11:04,701
它又能细分。

89
00:11:04,701 --> 00:11:16,012
一种是角色扮演式对话，通过为两个智能体设定明确的角色和沟通协议，比如程序员和产品经理，让它们在结构化的对话里协同完成任务。

90
00:11:16,012 --> 00:11:34,164
另一种是组织化工作流，模拟一个分工明确的虚拟团队，比如一家软件公司或者一个咨询小组，每个智能体都有预设的职责和工作流程，通过层级化或者顺序化的方式协作，产出完整代码库或者研究报告这样的复杂成果。

91
00:11:34,164 --> 00:11:41,833
还有一些框架提供了更灵活的对话模式，允许开发者自定义智能体之间的复杂交互网络。

92
00:11:41,833 --> 00:11:49,321
第三个是高级控制流架构，这一类框架更侧重为智能体提供强大的底层工程基础。

93
00:11:49,321 --> 00:11:59,525
它把智能体的执行过程建模成状态图，从而能更灵活、更可靠地实现循环、分支、回溯以及人工介入这些复杂流程。

94
00:11:59,525 --> 00:12:05,186
这些范式共同把自主智能体从理论构想推向了真实应用。

95
00:12:05,332 --> 00:12:11,628
理解了工具和协作者两种模式，我们有必要把工作流和智能体的差异讲清楚。

96
00:12:11,628 --> 00:12:18,441
它们都旨在实现任务自动化，但底层逻辑、核心特征和适用场景截然不同。

97
00:12:18,441 --> 00:12:27,335
一句话概括，工作流是让人工智能按部就班地执行指令，而智能体则是赋予它自由度去自主达成目标。

98
00:12:27,335 --> 00:12:35,664
工作流是一种传统的自动化范式，核心是对一系列任务或步骤进行预先定义的、结构化的编排。

99
00:12:35,664 --> 00:12:43,381
它本质上是一张精确的、静态的流程图，规定了在什么条件下、以什么顺序执行哪些操作。

100
00:12:43,381 --> 00:12:47,082
举个典型例子，某企业的费用报销审批。

101
00:12:47,082 --> 00:12:59,751
员工提交报销单作为触发，金额小于五百元就由部门经理审批，大于五百元则先由部门经理审批再流转到财务总监，审批通过后通知财务打款。

102
00:12:59,751 --> 00:13:04,931
整个过程的每一步、每一个判断条件都被精确预先设定。

103
00:13:04,931 --> 00:13:11,277
基于大模型的智能体不一样，它是一个具备自主性的、以目标为导向的系统。

104
00:13:11,277 --> 00:13:19,871
它不只是执行预设指令，而是能在一定程度上理解环境、进行推理、制定计划，并动态采取行动。

105
00:13:19,871 --> 00:13:22,888
模型在其中扮演大脑的角色。

106
00:13:22,888 --> 00:13:31,890
还是用旅行助手举例，你给它一个指令，请帮我查询今天北京的天气，然后根据天气推荐一个合适的旅游景点。

107
00:13:31,890 --> 00:13:41,662
它会先把任务拆成两步，查天气，再基于天气推荐景点，然后自主选择调用天气查询接口并把北京作为参数传入。

108
00:13:41,662 --> 00:13:49,198
假设接口返回晴朗微风，它会推理出晴天适合户外活动，再去筛选北京的户外景点。

109
00:13:49,198 --> 00:13:56,866
最后给出一个完整回答，今天北京天气晴朗微风，非常适合户外游玩，推荐前往颐和园。

110
00:13:56,866 --> 00:14:05,087
关键在于，这个过程中没有任何写死的规则，不存在如果天气是晴天就推荐颐和园这样的判断。

111
00:14:05,087 --> 00:14:11,145
如果天气是雨天，它会自主推理并推荐国家博物馆这类室内场所。

112
00:14:11,145 --> 00:14:17,167
这种基于实时信息动态推理和决策的能力，正是智能体的核心价值。

113
00:14:17,167 --> 00:14:19,558
那么代价和边界在哪。

114
00:14:19,558 --> 00:14:22,119
第一，自由度是有成本的。

115
00:14:22,119 --> 00:14:32,251
工作流每一步都确定，出问题好排查；智能体的路径是动态生成的，同样的输入两次结果可能不同，排查和回归都更难。

116
00:14:32,251 --> 00:14:41,494
第二，如果你的业务规则本来就清晰稳定，比如报销审批这种，用工作流就够了，上智能体反而引入不确定性。

117
00:14:41,494 --> 00:14:51,698
第三，自主协作者模式往往需要更多轮循环和更多次工具调用，时间和费用都会上升，先想清楚目标值不值这个成本。

118
00:14:51,698 --> 00:14:59,751
第四，涉及资金、权限、不可逆操作时，别把自由度全交给它，保留人工介入的节点。

119
00:14:59,908 --> 00:15:04,942
好，我们把这一集收一下，给你几条能直接带走的判断依据。

120
00:15:04,942 --> 00:15:12,945
第一，动手之前先用四个词把任务环境写清楚，性能度量、环境、执行器、传感器。

121
00:15:12,945 --> 00:15:17,163
这四项不写清楚，后面所有设计都是拍脑袋。

122
00:15:17,163 --> 00:15:25,132
第二，记住环境的四个复杂特性，部分可观察、结果不确定、存在其他行动者、序贯且动态。

123
00:15:25,132 --> 00:15:38,822
你的智能体需要记忆和探索，是因为部分可观察；需要监控和及时决策，是因为结果不确定；需要快速响应，是因为有别的行动者；需要循环足够快，是因为环境在动。

124
00:15:38,822 --> 00:15:44,856
第三，理解运转机制就抓一个循环，感知、思考、行动、观察。

125
00:15:44,856 --> 00:15:48,293
思考阶段再拆成规划和工具选择。

126
00:15:48,293 --> 00:15:55,348
判断设计好坏的标准是循环能不能收敛，每一轮的观察是否真的能推动下一步。

127
00:15:55,348 --> 00:16:01,935
第四，区分两种协作模式，作为工具时它增强你，作为协作者时你委托它。

128
00:16:01,935 --> 00:16:07,764
从命令与执行转向目标与委托，是把智能体用深的关键一步。

129
00:16:07,764 --> 00:16:13,618
第五，也是最能帮你省钱的一条，先判断该用工作流还是智能体。

130
00:16:13,618 --> 00:16:22,632
规则清晰、要可追溯、要稳定复现，用工作流；目标模糊、路径未知、需要动态推理，才用智能体。

131
00:16:22,632 --> 00:16:28,786
自由度不是越多越好，它换来的是不确定性，而这份成本要你自己承担。

132
00:16:28,786 --> 00:16:30,925
这一集我们就到这里。

133
00:16:30,925 --> 00:16:36,045
下一集我们继续往下走，把这套循环真正搭出来看看。

134
00:16:36,045 --> 00:16:39,038
感谢你的收听，我们下期见。
