And welcome to our continuing exploits with Autogen. 欢迎继续与 Autogen 合作。
As we head into day three of week five and talk about Autogen core. 当我们进入第五周的第三天时，我们将讨论 Autogen 核心。
So just to remind you, this is where Autogen core sits in the scheme of things. 提醒您一下，这就是 Autogen 核心在计划中的位置。
It is the kind of base. 就是那种基础的。
It is the basis of Autogen agent chat. 它是 Autogen 代理聊天的基础。
And it's the fundamental infrastructure behind it all, which is exciting. 这是这一切背后的基础设施，这是令人兴奋的。
One other thing I wanted to point out while we're on this screen is that you might have heard of something 当我们在这个屏幕上时我想指出的另一件事是你可能听说过一些事情
called Microsoft Semantic Kernel, and you might be wondering, where does Semantic Kernel fit into 称为 Microsoft Semantic Kernel，您可能想知道，Semantic Kernel 适合在哪里
all this picture? 所有这些图片？
Isn't that an agentic framework as well? 这不也是一个代理框架吗？
And what's that got to do with all of these? 这与所有这些有什么关系？
Well, the answer is semantic kernel is a bit different. 嗯，答案是语义内核有点不同。
It is more akin to something like long chain. 它更类似于长链之类的东西。
Semantic kernel is a reasonably heavyweight glue code that does things like wrapping calls to llms. 语义内核是一个相当重量级的粘合代码，它可以完成诸如包装对 llms 的调用之类的事情。
It handles stuff like memory, it handles stuff like tool calling with its own sort of framework around 它处理内存之类的东西，它使用自己的框架来处理工具调用之类的东西
that and its own name. 那个和它自己的名字。
It calls them plug ins and, uh, and, you know, everything else, structured outputs and so on. 它称它们为插件，呃，还有，你知道，其他一切，结构化输出等等。
So it's very much akin analogous to long chain. 所以它非常类似于长链。
It even has its own like prompt templating framework as well for building templates and populating templates 它甚至有自己的提示模板框架以及用于构建模板和填充模板的框架
and prompts. 和提示。
Um, so it's different. 嗯，所以不一样。
There is of course overlap. 当然有重叠。
You can use semantic kernel to be managing things like tools and agent calls, and there is some agent 您可以使用语义内核来管理工具和代理调用等内容，并且有一些代理
functionality there. 那里的功能。
So there is some overlap that Microsoft's very aware of. 因此，微软非常清楚其中存在一些重叠。
But they would see it as a pretty different kind of offering. 但他们会认为这是一种完全不同的产品。
Autogen is is a high level more, very much more agent focused. Autogen 是一个更高水平、更专注于代理的产品。
All of this is is very much focused only exclusively on the world of building autonomous agent applications, 所有这一切都非常专注于构建自主代理应用程序的世界，
where semantic kernel is more about stitching together calls to llms, generally for business purposes. 其中语义内核更多地是将对 llms 的调用拼接在一起，通常用于商业目的。
Well, I hope that gives you some some context there and explains why we're not looking at semantic 好吧，我希望这能为您提供一些背景信息，并解释为什么我们不考虑语义
kernel for this course, because that's more something you might do alongside looking at long chain 本课程的内核，因为除了查看长链之外，您还可以做更多的事情
or something like that. 或类似的东西。
Okay. 好的。
Onwards. 以后。
So what is Autogen core exactly? 那么 Autogen 核心到底是什么？
Well, well, here's a here's a story. 好吧，好吧，这是一个故事。
So it is an agent interaction framework that that is how they describe it. 所以这是一个代理交互框架，这就是他们所描述的。
And that's what it is. 就是这样。
It is agnostic. 它是不可知论的。
It doesn't care about the platform, the product you're using to actually code your agents. 它不关心平台，也不关心您用来实际编码代理的产品。
The actual abstraction you have around agents, you could be just calling LMS directly, or you could 您对代理的实际抽象，您可以直接调用 LMS，或者您可以
be using an abstraction around them. 在他们周围使用抽象。
Some some framework, some glue. 有些是框架，有些是胶水。
Either way, doesn't matter to Autogen core. 无论哪种方式，对于 Autogen 核心来说都无关紧要。
It is just about agents interacting. 这只是代理之间的交互。
If you wish to use, uh, the agent chat framework as your agent abstraction, that works well, and 如果您希望使用代理聊天框架作为代理抽象，那么效果很好，并且
that's what we'll do. 这就是我们要做的。
And they're clearly somewhat designed for each other. 而且它们显然是为彼此设计的。
And we know that that, uh, that agent chat is built on top of a autogen core. 我们知道，呃，代理聊天是建立在 autogen 核心之上的。
So, so that makes sense, but it doesn't require it. 所以，这是有道理的，但它并不需要它。
Um, a bit like Landgraf doesn't require Lange chain, but. 嗯，有点像Landgraf不需要朗格链，但是。
But it helps if you use Lange chain because there's lots of similar kinds of of thinking there. 但如果你使用朗格链，它会有所帮助，因为那里有很多类似的想法。
So in some ways it is actually similar positioning to Landgraf. 所以在某些方面它的定位实际上与Landgraf类似。
Landgraf, you could argue, is also about interactions between agents, although very much thinking 你可能会说，Landgraf 也是关于代理之间的交互，尽管它思考了很多
of things in terms of the graph of operations and dependencies, the node graph that now we know so 事物的操作和依赖图，即现在我们所知的节点图
well, uh, but similarly, you could argue Autogen core is about interactions between operations. 嗯，呃，但同样，您可以认为 Autogen 核心是关于操作之间的交互。
That's, that's what it, it, it thinks about. 这就是它、它、它所想的。
And similar to Landgraf, Autogen doesn't care. 与 Landgraf 类似，Autogen 并不关心。
Autogen core doesn't care about how you've implemented your agents. Autogen 核心并不关心您如何实施代理。
So there's definitely some parallels there. 所以肯定有一些相似之处。
Um, but the big difference is that Landgraf is all about this idea of robustness and repeatability. 嗯，但最大的区别是 Landgraf 完全是关于稳健性和可重复性的想法。
This this idea of being able to replay back in time everything that's been built around Landgraf is 能够及时重放围绕 Landgraf 构建的所有内容的想法是
for that purpose, you can tell, Whereas it seems to me that the kind of the driving force behind autoencoder 为此，你可以说，而在我看来，自动编码器背后的驱动力
is more about building a kind of environment where agents can do things like, like interact with each 更多的是建立一种环境，让代理可以做一些事情，比如与每个代理进行交互
other, where agents that could be in very distributed places, they could be all over the place and 另一些情况下，代理可能分布在非常分散的地方，他们可能遍布各处，并且
they could be very diverse. 他们可能非常多样化。
They could be written in different languages, they could use different abstractions, but they one 它们可以用不同的语言编写，可以使用不同的抽象，但它们是一个
could be written in JavaScript and one in Python. 可以用 JavaScript 编写，也可以用 Python 编写。
It could be from all sorts of different shapes and sizes, and they're all able to play nicely in the 它可以来自各种不同的形状和大小，并且它们都能够在
auto gen core world, because auto gen core takes care of the interactions between them, it takes care auto gen core 世界，因为 auto gen core 负责它们之间的交互，所以它负责
of creating them, and and it takes care of messages between them. 创建它们，并处理它们之间的消息。
So that's that's the kind of thesis behind auto gen Core. 这就是 auto gen Core 背后的论文。
And arguably Landgraf also thinks about that kind of thing. 可以说兰德格拉夫也在考虑这类事情。
I think it's just a different emphasis. 我认为这只是侧重点不同而已。
This is the real emphasis of auto gen core. 这才是auto gen core真正强调的。
It's about the interactions and supporting diverse interactions. 这是关于交互和支持多样化的交互。