1
00:00:00,120 --> 00:00:03,360
And welcome to our continuing exploits with Autogen.
欢迎继续与 Autogen 合作。

2
00:00:03,360 --> 00:00:07,480
As we head into day three of week five and talk about Autogen core.
当我们进入第五周的第三天时，我们将讨论 Autogen 核心。

3
00:00:08,360 --> 00:00:14,160
So just to remind you, this is where Autogen core sits in the scheme of things.
提醒您一下，这就是 Autogen 核心在计划中的位置。

4
00:00:14,160 --> 00:00:15,960
It is the kind of base.
就是那种基础的。

5
00:00:15,960 --> 00:00:19,000
It is the basis of Autogen agent chat.
它是 Autogen 代理聊天的基础。

6
00:00:19,000 --> 00:00:23,400
And it's the fundamental infrastructure behind it all, which is exciting.
这是这一切背后的基础设施，这是令人兴奋的。

7
00:00:23,680 --> 00:00:27,240
One other thing I wanted to point out while we're on this screen is that you might have heard of something
当我们在这个屏幕上时我想指出的另一件事是你可能听说过一些事情

8
00:00:27,240 --> 00:00:32,560
called Microsoft Semantic Kernel, and you might be wondering, where does Semantic Kernel fit into
称为 Microsoft Semantic Kernel，您可能想知道，Semantic Kernel 适合在哪里

9
00:00:32,560 --> 00:00:33,200
all this picture?
所有这些图片？

10
00:00:33,240 --> 00:00:35,360
Isn't that an agentic framework as well?
这不也是一个代理框架吗？

11
00:00:35,360 --> 00:00:36,880
And what's that got to do with all of these?
这与所有这些有什么关系？

12
00:00:37,320 --> 00:00:40,800
Well, the answer is semantic kernel is a bit different.
嗯，答案是语义内核有点不同。

13
00:00:40,840 --> 00:00:44,080
It is more akin to something like long chain.
它更类似于长链之类的东西。

14
00:00:44,240 --> 00:00:52,120
Semantic kernel is a reasonably heavyweight glue code that does things like wrapping calls to llms.
语义内核是一个相当重量级的粘合代码，它可以完成诸如包装对 llms 的调用之类的事情。

15
00:00:52,320 --> 00:00:58,560
It handles stuff like memory, it handles stuff like tool calling with its own sort of framework around
它处理内存之类的东西，它使用自己的框架来处理工具调用之类的东西

16
00:00:58,560 --> 00:01:00,160
that and its own name.
那个和它自己的名字。

17
00:01:00,200 --> 00:01:05,250
It calls them plug ins and, uh, and, you know, everything else, structured outputs and so on.
它称它们为插件，呃，还有，你知道，其他一切，结构化输出等等。

18
00:01:05,250 --> 00:01:09,410
So it's very much akin analogous to long chain.
所以它非常类似于长链。

19
00:01:09,450 --> 00:01:15,770
It even has its own like prompt templating framework as well for building templates and populating templates
它甚至有自己的提示模板框架以及用于构建模板和填充模板的框架

20
00:01:15,770 --> 00:01:16,410
and prompts.
和提示。

21
00:01:16,770 --> 00:01:18,250
Um, so it's different.
嗯，所以不一样。

22
00:01:18,290 --> 00:01:20,450
There is of course overlap.
当然有重叠。

23
00:01:20,490 --> 00:01:26,090
You can use semantic kernel to be managing things like tools and agent calls, and there is some agent
您可以使用语义内核来管理工具和代理调用等内容，并且有一些代理

24
00:01:26,090 --> 00:01:27,170
functionality there.
那里的功能。

25
00:01:27,170 --> 00:01:29,970
So there is some overlap that Microsoft's very aware of.
因此，微软非常清楚其中存在一些重叠。

26
00:01:30,010 --> 00:01:32,530
But they would see it as a pretty different kind of offering.
但他们会认为这是一种完全不同的产品。

27
00:01:32,530 --> 00:01:37,890
Autogen is is a high level more, very much more agent focused.
Autogen 是一个更高水平、更专注于代理的产品。

28
00:01:37,890 --> 00:01:44,970
All of this is is very much focused only exclusively on the world of building autonomous agent applications,
所有这一切都非常专注于构建自主代理应用程序的世界，

29
00:01:44,970 --> 00:01:51,450
where semantic kernel is more about stitching together calls to llms, generally for business purposes.
其中语义内核更多地是将对 llms 的调用拼接在一起，通常用于商业目的。

30
00:01:51,610 --> 00:01:55,970
Well, I hope that gives you some some context there and explains why we're not looking at semantic
好吧，我希望这能为您提供一些背景信息，并解释为什么我们不考虑语义

31
00:01:55,970 --> 00:02:00,290
kernel for this course, because that's more something you might do alongside looking at long chain
本课程的内核，因为除了查看长链之外，您还可以做更多的事情

32
00:02:00,290 --> 00:02:01,210
or something like that.
或类似的东西。

33
00:02:01,570 --> 00:02:02,010
Okay.
好的。

34
00:02:02,050 --> 00:02:02,730
Onwards.
以后。

35
00:02:02,970 --> 00:02:06,290
So what is Autogen core exactly?
那么 Autogen 核心到底是什么？

36
00:02:06,370 --> 00:02:09,090
Well, well, here's a here's a story.
好吧，好吧，这是一个故事。

37
00:02:09,290 --> 00:02:14,770
So it is an agent interaction framework that that is how they describe it.
所以这是一个代理交互框架，这就是他们所描述的。

38
00:02:14,770 --> 00:02:16,130
And that's what it is.
就是这样。

39
00:02:16,610 --> 00:02:18,410
It is agnostic.
它是不可知论的。

40
00:02:18,450 --> 00:02:24,770
It doesn't care about the platform, the product you're using to actually code your agents.
它不关心平台，也不关心您用来实际编码代理的产品。

41
00:02:24,930 --> 00:02:30,290
The actual abstraction you have around agents, you could be just calling LMS directly, or you could
您对代理的实际抽象，您可以直接调用 LMS，或者您可以

42
00:02:30,290 --> 00:02:32,570
be using an abstraction around them.
在他们周围使用抽象。

43
00:02:32,610 --> 00:02:34,290
Some some framework, some glue.
有些是框架，有些是胶水。

44
00:02:34,610 --> 00:02:37,450
Either way, doesn't matter to Autogen core.
无论哪种方式，对于 Autogen 核心来说都无关紧要。

45
00:02:37,490 --> 00:02:40,290
It is just about agents interacting.
这只是代理之间的交互。

46
00:02:40,450 --> 00:02:47,490
If you wish to use, uh, the agent chat framework as your agent abstraction, that works well, and
如果您希望使用代理聊天框架作为代理抽象，那么效果很好，并且

47
00:02:47,490 --> 00:02:48,250
that's what we'll do.
这就是我们要做的。

48
00:02:48,290 --> 00:02:50,970
And they're clearly somewhat designed for each other.
而且它们显然是为彼此设计的。

49
00:02:50,970 --> 00:02:56,410
And we know that that, uh, that agent chat is built on top of a autogen core.
我们知道，呃，代理聊天是建立在 autogen 核心之上的。

50
00:02:56,650 --> 00:02:59,530
So, so that makes sense, but it doesn't require it.
所以，这是有道理的，但它并不需要它。

51
00:02:59,770 --> 00:03:02,460
Um, a bit like Landgraf doesn't require Lange chain, but.
嗯，有点像Landgraf不需要朗格链，但是。

52
00:03:02,460 --> 00:03:07,060
But it helps if you use Lange chain because there's lots of similar kinds of of thinking there.
但如果你使用朗格链，它会有所帮助，因为那里有很多类似的想法。

53
00:03:07,100 --> 00:03:11,380
So in some ways it is actually similar positioning to Landgraf.
所以在某些方面它的定位实际上与Landgraf类似。

54
00:03:11,380 --> 00:03:17,180
Landgraf, you could argue, is also about interactions between agents, although very much thinking
你可能会说，Landgraf 也是关于代理之间的交互，尽管它思考了很多

55
00:03:17,180 --> 00:03:23,180
of things in terms of the graph of operations and dependencies, the node graph that now we know so
事物的操作和依赖图，即现在我们所知的节点图

56
00:03:23,180 --> 00:03:30,900
well, uh, but similarly, you could argue Autogen core is about interactions between operations.
嗯，呃，但同样，您可以认为 Autogen 核心是关于操作之间的交互。

57
00:03:30,900 --> 00:03:33,660
That's, that's what it, it, it thinks about.
这就是它、它、它所想的。

58
00:03:33,700 --> 00:03:37,020
And similar to Landgraf, Autogen doesn't care.
与 Landgraf 类似，Autogen 并不关心。

59
00:03:37,060 --> 00:03:41,020
Autogen core doesn't care about how you've implemented your agents.
Autogen 核心并不关心您如何实施代理。

60
00:03:41,020 --> 00:03:43,300
So there's definitely some parallels there.
所以肯定有一些相似之处。

61
00:03:43,580 --> 00:03:52,300
Um, but the big difference is that Landgraf is all about this idea of robustness and repeatability.
嗯，但最大的区别是 Landgraf 完全是关于稳健性和可重复性的想法。

62
00:03:52,500 --> 00:03:58,820
This this idea of being able to replay back in time everything that's been built around Landgraf is
能够及时重放围绕 Landgraf 构建的所有内容的想法是

63
00:03:58,820 --> 00:04:06,060
for that purpose, you can tell, Whereas it seems to me that the kind of the driving force behind autoencoder
为此，你可以说，而在我看来，自动编码器背后的驱动力

64
00:04:06,420 --> 00:04:13,300
is more about building a kind of environment where agents can do things like, like interact with each
更多的是建立一种环境，让代理可以做一些事情，比如与每个代理进行交互

65
00:04:13,340 --> 00:04:20,060
other, where agents that could be in very distributed places, they could be all over the place and
另一些情况下，代理可能分布在非常分散的地方，他们可能遍布各处，并且

66
00:04:20,060 --> 00:04:22,060
they could be very diverse.
他们可能非常多样化。

67
00:04:22,060 --> 00:04:25,540
They could be written in different languages, they could use different abstractions, but they one
它们可以用不同的语言编写，可以使用不同的抽象，但它们是一个

68
00:04:25,540 --> 00:04:27,820
could be written in JavaScript and one in Python.
可以用 JavaScript 编写，也可以用 Python 编写。

69
00:04:28,020 --> 00:04:34,980
It could be from all sorts of different shapes and sizes, and they're all able to play nicely in the
它可以来自各种不同的形状和大小，并且它们都能够在

70
00:04:34,980 --> 00:04:40,500
auto gen core world, because auto gen core takes care of the interactions between them, it takes care
auto gen core 世界，因为 auto gen core 负责它们之间的交互，所以它负责

71
00:04:40,500 --> 00:04:43,820
of creating them, and and it takes care of messages between them.
创建它们，并处理它们之间的消息。

72
00:04:43,820 --> 00:04:48,060
So that's that's the kind of thesis behind auto gen Core.
这就是 auto gen Core 背后的论文。

73
00:04:48,180 --> 00:04:51,820
And arguably Landgraf also thinks about that kind of thing.
可以说兰德格拉夫也在考虑这类事情。

74
00:04:51,860 --> 00:04:53,700
I think it's just a different emphasis.
我认为这只是侧重点不同而已。

75
00:04:53,900 --> 00:04:55,860
This is the real emphasis of auto gen core.
这才是auto gen core真正强调的。

76
00:04:55,860 --> 00:05:00,860
It's about the interactions and supporting diverse interactions.
这是关于交互和支持多样化的交互。
