WEBVTT

00:00.120 --> 00:03.360
And welcome to our continuing exploits with Autogen.

00:03.360 --> 00:07.480
As we head into day three of week five and talk about Autogen core.

00:08.360 --> 00:14.160
So just to remind you, this is where Autogen core sits in the scheme of things.

00:14.160 --> 00:15.960
It is the kind of base.

00:15.960 --> 00:19.000
It is the basis of Autogen agent chat.

00:19.000 --> 00:23.400
And it's the fundamental infrastructure behind it all, which is exciting.

00:23.680 --> 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

00:27.240 --> 00:32.560
called Microsoft Semantic Kernel, and you might be wondering, where does Semantic Kernel fit into

00:32.560 --> 00:33.200
all this picture?

00:33.240 --> 00:35.360
Isn't that an agentic framework as well?

00:35.360 --> 00:36.880
And what's that got to do with all of these?

00:37.320 --> 00:40.800
Well, the answer is semantic kernel is a bit different.

00:40.840 --> 00:44.080
It is more akin to something like long chain.

00:44.240 --> 00:52.120
Semantic kernel is a reasonably heavyweight glue code that does things like wrapping calls to llms.

00:52.320 --> 00:58.560
It handles stuff like memory, it handles stuff like tool calling with its own sort of framework around

00:58.560 --> 01:00.160
that and its own name.

01:00.200 --> 01:05.250
It calls them plug ins and, uh, and, you know, everything else, structured outputs and so on.

01:05.250 --> 01:09.410
So it's very much akin analogous to long chain.

01:09.450 --> 01:15.770
It even has its own like prompt templating framework as well for building templates and populating templates

01:15.770 --> 01:16.410
and prompts.

01:16.770 --> 01:18.250
Um, so it's different.

01:18.290 --> 01:20.450
There is of course overlap.

01:20.490 --> 01:26.090
You can use semantic kernel to be managing things like tools and agent calls, and there is some agent

01:26.090 --> 01:27.170
functionality there.

01:27.170 --> 01:29.970
So there is some overlap that Microsoft's very aware of.

01:30.010 --> 01:32.530
But they would see it as a pretty different kind of offering.

01:32.530 --> 01:37.890
Autogen is is a high level more, very much more agent focused.

01:37.890 --> 01:44.970
All of this is is very much focused only exclusively on the world of building autonomous agent applications,

01:44.970 --> 01:51.450
where semantic kernel is more about stitching together calls to llms, generally for business purposes.

01:51.610 --> 01:55.970
Well, I hope that gives you some some context there and explains why we're not looking at semantic

01:55.970 --> 02:00.290
kernel for this course, because that's more something you might do alongside looking at long chain

02:00.290 --> 02:01.210
or something like that.

02:01.570 --> 02:02.010
Okay.

02:02.050 --> 02:02.730
Onwards.

02:02.970 --> 02:06.290
So what is Autogen core exactly?

02:06.370 --> 02:09.090
Well, well, here's a here's a story.

02:09.290 --> 02:14.770
So it is an agent interaction framework that that is how they describe it.

02:14.770 --> 02:16.130
And that's what it is.

02:16.610 --> 02:18.410
It is agnostic.

02:18.450 --> 02:24.770
It doesn't care about the platform, the product you're using to actually code your agents.

02:24.930 --> 02:30.290
The actual abstraction you have around agents, you could be just calling LMS directly, or you could

02:30.290 --> 02:32.570
be using an abstraction around them.

02:32.610 --> 02:34.290
Some some framework, some glue.

02:34.610 --> 02:37.450
Either way, doesn't matter to Autogen core.

02:37.490 --> 02:40.290
It is just about agents interacting.

02:40.450 --> 02:47.490
If you wish to use, uh, the agent chat framework as your agent abstraction, that works well, and

02:47.490 --> 02:48.250
that's what we'll do.

02:48.290 --> 02:50.970
And they're clearly somewhat designed for each other.

02:50.970 --> 02:56.410
And we know that that, uh, that agent chat is built on top of a autogen core.

02:56.650 --> 02:59.530
So, so that makes sense, but it doesn't require it.

02:59.770 --> 03:02.460
Um, a bit like Landgraf doesn't require Lange chain, but.

03:02.460 --> 03:07.060
But it helps if you use Lange chain because there's lots of similar kinds of of thinking there.

03:07.100 --> 03:11.380
So in some ways it is actually similar positioning to Landgraf.

03:11.380 --> 03:17.180
Landgraf, you could argue, is also about interactions between agents, although very much thinking

03:17.180 --> 03:23.180
of things in terms of the graph of operations and dependencies, the node graph that now we know so

03:23.180 --> 03:30.900
well, uh, but similarly, you could argue Autogen core is about interactions between operations.

03:30.900 --> 03:33.660
That's, that's what it, it, it thinks about.

03:33.700 --> 03:37.020
And similar to Landgraf, Autogen doesn't care.

03:37.060 --> 03:41.020
Autogen core doesn't care about how you've implemented your agents.

03:41.020 --> 03:43.300
So there's definitely some parallels there.

03:43.580 --> 03:52.300
Um, but the big difference is that Landgraf is all about this idea of robustness and repeatability.

03:52.500 --> 03:58.820
This this idea of being able to replay back in time everything that's been built around Landgraf is

03:58.820 --> 04:06.060
for that purpose, you can tell, Whereas it seems to me that the kind of the driving force behind autoencoder

04:06.420 --> 04:13.300
is more about building a kind of environment where agents can do things like, like interact with each

04:13.340 --> 04:20.060
other, where agents that could be in very distributed places, they could be all over the place and

04:20.060 --> 04:22.060
they could be very diverse.

04:22.060 --> 04:25.540
They could be written in different languages, they could use different abstractions, but they one

04:25.540 --> 04:27.820
could be written in JavaScript and one in Python.

04:28.020 --> 04:34.980
It could be from all sorts of different shapes and sizes, and they're all able to play nicely in the

04:34.980 --> 04:40.500
auto gen core world, because auto gen core takes care of the interactions between them, it takes care

04:40.500 --> 04:43.820
of creating them, and and it takes care of messages between them.

04:43.820 --> 04:48.060
So that's that's the kind of thesis behind auto gen Core.

04:48.180 --> 04:51.820
And arguably Landgraf also thinks about that kind of thing.

04:51.860 --> 04:53.700
I think it's just a different emphasis.

04:53.900 --> 04:55.860
This is the real emphasis of auto gen core.

04:55.860 --> 05:00.860
It's about the interactions and supporting diverse interactions.
