WEBVTT

00:00.400 --> 00:02.400
Now, look, I know exactly what you're thinking.

00:02.400 --> 00:08.360
You're thinking, oh, another framework, another week, another framework, another research thing

00:08.400 --> 00:09.040
to learn.

00:09.040 --> 00:10.880
And I just want to get on to MCP.

00:10.920 --> 00:12.280
That's what all the hype is about.

00:12.280 --> 00:13.160
That's week six.

00:13.160 --> 00:14.960
Why do we have to do another framework?

00:15.040 --> 00:16.880
And I have lots of good news for you.

00:17.080 --> 00:22.520
First of all, this framework autogen what we're doing this week, it's going to be really quick and

00:22.520 --> 00:25.000
simple because it's got so much in common with the others.

00:25.000 --> 00:26.600
We're going to go through it quickly.

00:26.600 --> 00:28.960
Secondly, generally this week is going to be quite quick.

00:28.960 --> 00:32.840
I know I said that last time, but last week I got so into landgraaf I couldn't resist.

00:32.840 --> 00:38.280
But this week it's going to be nice and brisk as we get to the to the pinnacle of this course in week

00:38.280 --> 00:38.840
six.

00:38.840 --> 00:43.880
But then the third piece of news is that actually we are going to touch on MCP this week as well.

00:43.880 --> 00:46.080
So it's like there's going to be like a preview.

00:46.280 --> 00:54.240
So with all of that we are at week five, we are understanding Autogen concepts Autogen from Microsoft.

00:54.240 --> 00:56.600
And let's get into it okay.

00:56.640 --> 01:02.360
So introducing Autogen, it looks like this with that logo AG like that.

01:02.600 --> 01:06.070
So Autogen from Microsoft, an open source framework.

01:06.110 --> 01:07.150
It was released.

01:07.150 --> 01:15.070
The 0.4 version of it was released in January, and they explained this as a from the ground rewrite,

01:15.110 --> 01:22.990
adopting an asynchronous, event driven architecture to address some of what I imagine was the criticisms

01:22.990 --> 01:24.190
that they were facing before.

01:24.470 --> 01:25.630
Observability.

01:25.630 --> 01:31.310
This is a common agent issue about do you really understand what's going on with these agent interactions?

01:31.550 --> 01:33.870
Flexibility, control and scale.

01:34.310 --> 01:43.630
So this is a straight up replacement for Autogen 0.2 with a very different kind of feel and architecture

01:43.630 --> 01:44.150
to it.

01:44.750 --> 01:48.510
And so you know, obviously I had to make a difficult decision for this about whether we were going

01:48.510 --> 01:52.030
to use Autogen 0.4 or 0.2.

01:52.790 --> 01:56.790
And I decided to to stick with the original 0.2.

01:57.230 --> 01:58.070
No, of course I'm lying.

01:58.110 --> 01:59.230
We're going with 0.4.

01:59.230 --> 01:59.870
Why wouldn't we?

01:59.910 --> 02:00.430
Actually we're not.

02:00.470 --> 02:05.150
We're going with 0.5.1, at least as of now, because that's the current version of it.

02:05.190 --> 02:10.150
They've already gone past 0.4, but naught .5.1 isn't very different to to 0.4.

02:10.190 --> 02:11.690
It's not got the radical change.

02:11.690 --> 02:19.010
So yes, we are using the latest autogen, the new refreshed version as of this year.

02:19.010 --> 02:24.650
And just be aware of the fact that there might be if you do some of the if you look for documentation,

02:24.650 --> 02:30.130
you need to be very aware of whether you're looking at the documentation for 0.4 plus or for the 0.2

02:30.170 --> 02:33.130
versions, which looks and feels quite different.

02:33.490 --> 02:35.010
But wait, there's more.

02:35.210 --> 02:36.410
There's more to the story.

02:36.410 --> 02:38.610
There is some drama to tell you about.

02:39.010 --> 02:48.050
So late last year, the original creator of Autogen and a bunch of the the co-founder of Autogen and

02:48.050 --> 02:55.330
a bunch of people involved in it left Microsoft where it was being built and open sourced, and they

02:55.370 --> 03:02.530
split off and created a fork of Autogen, a different version of Autogen managed by this group of people.

03:02.730 --> 03:09.570
And the the one of the creator is now at Google and is now working on this version.

03:09.850 --> 03:17.880
Um, and um, it's called AG two I guess, for Autogen Gen two, but it's also given the name agent

03:17.880 --> 03:19.080
OS two.

03:19.600 --> 03:27.920
And confusingly, they started from Auto Gen 0.2, the earlier version of Auto Gen, and so it's compatible

03:27.920 --> 03:32.000
and somewhat consistent with that other version of auto gen.

03:32.000 --> 03:38.080
And it has broken off from Autogen 0.4 that Microsoft released after the split after the fork.

03:38.360 --> 03:44.880
Uh, and so it is like a version that's, that's more common with what it used to be, which is super

03:44.880 --> 03:45.600
confusing.

03:45.960 --> 03:53.680
And the reason that was given for this was partly to to be able to move more, more quickly and more

03:53.680 --> 03:59.640
flexibly, to not be under the kind of corporate bureaucracy that is Microsoft.

03:59.800 --> 04:03.960
But having said that, being under the Microsoft umbrella also comes with lots of benefits.

04:04.400 --> 04:09.480
The main auto gen, Microsoft's auto gen is very, very well used.

04:09.480 --> 04:11.880
It has a lot of enterprise clients.

04:11.880 --> 04:13.920
It's used quite broadly.

04:14.120 --> 04:18.000
Uh, and so obviously this is a difficult situation.

04:18.160 --> 04:19.520
Uh, it's particularly difficult.

04:19.520 --> 04:24.980
And Microsoft have gotten this bizarre situation that they've also, as they've put it, sort of lost

04:24.980 --> 04:33.460
control of the discord chat group that was for Autogen that is now controlled by the Ag2 people.

04:33.460 --> 04:40.380
So a lot of the community discussion is about ag2 and people that come new to the Autogen ecosystem

04:40.380 --> 04:45.540
that don't know about this are super confused, because if you look up documentation for Autogen, you

04:45.540 --> 04:53.260
might find yourself looking at this which Ag2 which would be based in Autogen 0.2 the earlier version.

04:53.260 --> 04:58.020
Or you might find yourself on the Microsoft track on the official supported.

04:58.260 --> 05:04.900
Uh autogen from Microsoft and Microsoft have made it very clear indeed that they have no plans to take

05:04.900 --> 05:11.780
the foot off the pedal in terms of pushing forwards with Autogen as as seen by Autogen 0.4.

05:12.180 --> 05:17.060
But meanwhile, the Ag2 camp is saying, look, we can be more flexible, we can do things faster.

05:17.060 --> 05:21.820
And they have been turning out releases and they are currently if if release numbers are anything to

05:21.860 --> 05:27.050
go by, they are currently, as of right now on Ag2 Agg2 version 0.8.

05:27.250 --> 05:29.690
So they've got many version numbers.

05:29.690 --> 05:35.250
Not that that means much, but but at least sort of optically, it sounds like they're making swift

05:35.250 --> 05:40.170
progress, which was one of their original drivers for breaking free from Microsoft.

05:40.370 --> 05:42.210
So it's quite a lot of drama.

05:42.210 --> 05:50.730
And just to add one more spicy element to it, the Autogen two people, the Agg2 people also have control

05:50.770 --> 05:51.530
as they say.

05:51.570 --> 05:58.930
They have ownership of the official package in PyPI, which is where things are controlled for doing

05:58.930 --> 06:00.050
Pip installs.

06:00.330 --> 06:05.450
And if you do a pip install of Autogen, you get Agg2.

06:05.650 --> 06:10.690
You don't get Microsoft's official Autogen, which is which is kind of amusing.

06:10.850 --> 06:16.210
It's also obviously problematic because people new to Autogen find this super confusing.

06:16.250 --> 06:21.930
I mean, nowadays one tends to just do pip install and just expect that you get what you get, particularly

06:21.930 --> 06:28.330
with a product from Microsoft where you would think that of course they would own Autogen, the official

06:28.730 --> 06:33.350
PyPI install, and if it if not, then you'd think it would be something completely different.

06:33.350 --> 06:40.990
But the idea that you do pip install Autogen and you get a kind of offshoot of Autogen built by by some

06:40.990 --> 06:47.030
renegades, a well, some very important renegades, uh, who the rebellion that has built something

06:47.070 --> 06:48.510
obviously very impressive.

06:48.750 --> 06:52.950
Uh, it's, uh, clearly quite, quite bewildering for someone new to this.

06:52.950 --> 06:57.590
But anyways, I've clearly I've made the decision that we're going with the Microsoft track.

06:57.630 --> 07:03.590
That is the one that that has, I'd say by far the bigger community and traction right now.

07:03.710 --> 07:05.870
But I bring your awareness to this.

07:05.910 --> 07:11.590
You need to understand this and watch out for confusion in documentation and so on.

07:11.830 --> 07:18.510
Uh, with Ag2 now, because we're using UV as our environment, I've already set all the right projects.

07:18.510 --> 07:24.550
So what will be installed in your environment is going to be the official Microsoft Autogen, which

07:24.590 --> 07:31.230
for me right now is at naught .5.1 and will probably be be making quite quick progress itself then maybe

07:31.230 --> 07:33.150
not at 0.8 just yet.

07:33.550 --> 07:34.550
That's the story.

07:34.590 --> 07:35.790
I hope that makes sense.
