HomeVideos

Meet Pi: The Minimalist, Self-Modifying Coding Agent

Now Playing

Meet Pi: The Minimalist, Self-Modifying Coding Agent

Transcript

327 segments

0:00

Pious technical makeup is actually very

0:02

trivial and the core of an nested loop.

0:05

Uh you send an LLM request. The LLM

0:07

might respond with a final answer or

0:09

with tool calls, which means execute

0:12

bash, [music] read that file, whatever.

0:14

Then we execute those tools, give the

0:16

results back. LLM does this for as long

0:19

as it thinks it needs to and then

0:21

eventually spits out a final answer

0:22

without tool requests. That's the basic

0:24

[music] gist. There's nothing to it and

0:26

it's hilarious the amount of money I'm

0:28

being offered for something like this

0:30

compared to other deeds I did before,

0:31

which were way more technical and way

0:33

more deep tech.

0:42

I'm Mario and I'm the creator of Pi, the

0:44

coding agent.

0:49

The reason I built Pi is that I like

0:52

being in control of my tools. With Cloud

0:54

Code, which was the first coding agent I

0:56

used, I initially felt that its

0:58

minimalism was right where I wanted to

1:00

be. And over time the team started

1:02

adding a lot of new features with the

1:03

sheer velocity and the token maxing they

1:06

applied to Cloud Code,

1:08

there were also a lot of changes behind

1:09

the scenes that made the agent behave

1:12

differently for the same deterministic

1:13

workflow and I don't like that. I

1:16

already despise the fact that I need to

1:18

rely on a third-party provider for

1:19

tokens. It's just not the way I want to

1:21

work. I just can't bear the thought of

1:23

having a million lines of code that do

1:26

something that can be done in 5,000

1:27

lines of code because I think complexity

1:30

is the mind killer. So I was like, "Eh,

1:33

how hard can it be building my own

1:34

coding agent?"

1:37

I hail from a little town called

1:40

Deutschfeistritz in the woods

1:44

forests of Styria, a little part of

1:47

Austria and my beginnings with computers

1:49

were basically me loving computer games.

1:52

So I

1:53

went to my uncle, which had an Amiga 500

1:56

and later Amiga 1200 that let me play

1:59

games. And eventually I told my parents

2:00

I want to have a computer and they told

2:03

me, "Sure, if you work." So, we did and

2:05

I got my first 486 40 MHz with a turbo

2:09

button. This was very amazing. And

2:11

obviously I didn't earn that money. It

2:13

[music] was my dad mostly doing tiny

2:16

little illegal jobs after work. I'll

2:18

forever be grateful because that kind of

2:21

started [music] this whole insanity and

2:23

has become a big part of my life. And

2:25

thankfully computers back then came with

2:27

a programming environment in MS-DOS

2:29

called QBasic. So, that's where I

2:30

started out and it came with a lot of

2:32

example programs, two games, Nibble and

2:35

Gorillas. And once you have the

2:36

internet, you can learn anything.

2:40

The first open source project I got

2:41

involved with that was meaningful, I

2:43

guess, was called Free Basic. It was

2:45

actually started by Victor, the

2:46

preceding guy who who used to mentor me.

2:49

After being part of an existing open

2:51

source project, I thought maybe it would

2:53

be nice to start one myself and around

2:55

'29, '2010, Android had a little

2:58

burnout, so a lot of time, and I started

3:00

working on a game development framework

3:01

called libGDX because I'm very good at

3:03

names.

3:04

>> I'm Mario, benevolent dictator of

3:05

libGDX. Let's cut right to the chase.

3:07

>> Niantic Labs used it for Ingress, one of

3:10

the first location-based multiplayer

3:12

games on mobile or even desktop games

3:14

like Slay the Spire would be based on

3:16

libGDX. And lots and lots of tiny indie

3:18

games, some of which actually turned

3:20

into sustainable businesses for the

3:22

people who did them. And

3:23

>> [music]

3:23

>> the proudest moments of myself was going

3:25

to conferences around the world and

3:27

having people randomly come up to me and

3:29

say, "Man, this is amazing. Thanks for

3:31

building this because it now sustains me

3:33

and my family." That was cool. Like,

3:35

[music] that's how open source should

3:37

work, I guess. Be a multiplier.

3:39

The one thing [music] that libGDX was

3:41

lacking for the longest time was support

3:42

for iOS and it being geared at mobile

3:44

game development, that was kind of a

3:46

bummer, obviously. And that [music]

3:47

developed into a business relationship

3:49

eventually. We managed with a very small

3:51

team to kind of have feature parity with

3:53

Xamarin within a year and a half or so,

3:55

which made us an ideal acquisition

3:57

target for Xamarin,

4:00

who eventually acquired us and they were

4:02

immediately swallowed by Microsoft,

4:04

>> [music]

4:05

>> who then turned around and said, "We

4:06

cannot touch Oracle technology because

4:08

of licensing issues." So, they shut us

4:10

down and asked us to work on Xamarin

4:12

instead.

4:14

Such is life.

4:15

>> RoboVM is dead.

4:16

>> After the whole RoboVM and close

4:19

sourcing of an open source project that

4:21

I championed [music] as it's always

4:23

going to be open source, I kind of

4:25

soured on open source.

4:26

>> [music]

4:26

>> At least within

4:28

commercial environments. And I honestly

4:30

didn't have the energy anymore to

4:31

maintain any kind of community [music]

4:33

because that takes a lot of you.

4:40

>> [music]

4:40

>> My name is Armin Ronacher and I'm

4:42

co-founder and partner at Airndell.

4:44

>> Armin I met on the [music] internet 15

4:48

or 16 years ago. He goes around saying

4:50

he met me earlier at some game

4:52

development conference here in Graz

4:53

where he was still a [music] student. I

4:54

was very famous and ignored him or

4:56

something. I don't remember it. Sorry,

4:57

Armin.

4:58

>> But I don't think he sort of spend any

5:00

time thinking

5:02

about who about who he was interacting

5:03

with. But then we mostly interacted

5:06

through the internet. A combination of

5:08

Reddit and Twitter, I think. But Armin

5:09

is very much like trying to figure out

5:11

like how stuff works and then make that

5:12

work really well. Like he cares that

5:14

stuff works really well and then he also

5:15

cares that what he can build with it

5:18

is like morally good.

5:22

>> Initially I tried to hide Pi, the coding

5:25

agent, from the world by calling the

5:27

website shittycodingagent.ai,

5:30

which immediately poisoned it for any

5:31

enterprise deployments. I remember

5:33

somebody from GitHub telling me, "Can

5:35

you please rename it? We cannot like

5:37

[music] we cannot internally get

5:39

something through that has the website

5:40

shittycodingagent.ai." And I also called

5:42

it Pi because that's such a a name that

5:45

nobody [music] can Google. So, that

5:46

chances of anybody finding this thing

5:48

are very low. But then I did make the

5:50

mistake of

5:51

>> [music]

5:51

>> blogging about it and how I built it and

5:52

that it's actually not that hard to

5:54

build a thing like that. It's built on

5:56

the Node.js TypeScript stack. It's

5:58

basically four packages in AI package,

6:00

which is an abstraction across all of

6:02

the providers and models that are out

6:03

there with context handoff between

6:06

providers and normalizing all the less

6:09

than ideal responses that you can get

6:11

from a provider. Then there is a twee

6:13

package, German user interface package.

6:15

Then there is the Agentic Core package,

6:17

which basically implements this nested

6:19

while loop. And finally, there's the

6:20

coding agent itself, which just takes

6:22

those three packages and combines them.

6:24

So, the one inside I had early on is

6:27

that the coding agents can code. Why

6:30

can't the coding agent modify itself?

6:32

>> I really got an increasing feeling

6:34

throughout the last year that the future

6:36

of software, at least in part, will be

6:38

software extending itself. And with Pi,

6:40

it is exactly what I want. It's like I

6:42

say it needs to do this and it builds

6:44

its own extension or it builds its own

6:46

skill. And so, it was a very very quick

6:49

proof point of this magical experience

6:51

that a self-modifying agent does. So,

6:54

[music] I fully switched to Pi around

6:56

Christmas 25. Instead of actually

6:57

putting all this time into building out

6:58

Levo's, I started building more and more

7:00

stuff on top of Pi. And so, it was a

7:03

clear sign [music] for me like I have

7:04

developed an addiction not just to

7:06

agents but to Pi in particular.

7:11

>> And then, Peter decided to make it

7:14

[music] the Agentic Core of OpenClaw.

7:16

And then, yeah, everybody started using

7:18

Pi either directly or through OpenClaw.

7:21

>> Then I wrote a blog post in early

7:23

January sort of on the

7:25

when when [music] OpenClaw was was

7:27

really popular. It's like, "Hey, just do

7:29

away with the claw and just use the

7:30

underlying Pi instead."

7:31

>> [music]

7:32

>> Shopify seems to be running 50% of the

7:34

Agentic coding workloads on Pi now or on

7:37

OpenRouter, Pi is placing fourth now um,

7:41

front of CloudCode, beating out a lot of

7:43

other open source agents. So, that's

7:45

when I started understanding that this

7:47

is kind of serious, because most of

7:48

these issues and pull requests didn't

7:49

come from humans. They came from agents.

7:53

>> People in San Francisco are currently

7:55

token maxing, meaning use as many agents

7:57

and tokens as possible. That is

8:00

the direct opposite of what me and Armin

8:02

are doing, because what we're seeing out

8:03

of Silicon Valley is basically

8:06

extreme velocity, unsustainable

8:07

velocity. And I think a little bit of

8:10

pushback. So, if there's one thing to

8:11

take [music] away for best practices

8:13

with agent coding, don't leave your

8:15

brain at the door. While you can have

8:17

the agent write the code for you, it's

8:19

on you to actually read the code,

8:20

understand the code, and understand the

8:23

consequences of the design of that code,

8:25

because you will ultimately own the

8:26

responsibility for that code.

8:28

>> One of the reason we spent so much time

8:30

on agent coding tools is because they're

8:31

addictive.

8:32

And

8:34

if it just becomes performative art what

8:36

you do with them, and you actually don't

8:38

really develop anything of value, then

8:41

that's a bad future. And so, if

8:43

you can build something and you can

8:44

share it to another person within like

8:45

15 minutes, but you already shared it

8:47

before you even tried it yourself, like

8:49

there nothing of value was created

8:50

there. I I want the future to happen

8:52

where people that are really good at

8:54

their job and have enjoyment in it find

8:56

their job more enjoyable because the

8:58

boring part about it can be in parts be

9:00

automated with AI.

9:03

>> I realized that, first of all, Pi

9:06

apparently has commercial value in the

9:07

market. I'd like to build a team around

9:10

Pi that [music] actually makes it into a

9:11

sustainable thing.

9:12

>> It should be possible to build a

9:14

commercial company and also still value

9:17

this idea of like open protocols and and

9:19

and open source software [music] and and

9:21

finding ways to reclaim a little bit of

9:23

the space that was

9:25

otherwise held by large corporations

9:27

where like the main interest is just to

9:30

grow one closed ecosystem. The way we're

9:32

evaluating our our vision now is like

9:35

trying to see that we can play [music]

9:37

an an important role in keeping these

9:39

tools available to everybody. Whatever

9:41

we can do to to sort of keep the

9:42

foundation open, I really want to do

9:44

something for this. Pi fits very well in

9:46

the picture because it's an open source

9:47

product, but also because it is

9:50

it is the most minimal harness that

9:51

doesn't actually have a ton of opinions

9:53

about any model in particular. There's

9:55

no lock-in in [music] Pi. What a large

9:58

model can get away with inefficiencies

10:00

um because of just its massive scale,

10:03

um a local model cannot get away with.

10:05

Um and all of a sudden like the sort of

10:07

traditional approaches of software

10:08

engineering still matter. Bugs actually

10:10

need to be fixed and um [music]

10:12

behaviors actually need to be

10:13

investigated. Pi is just a very very

10:15

good starting point to to do all these

10:17

kinds of experiments.

10:19

>> Ultimately, what we want is

10:20

>> [music]

10:21

>> intelligence for everyone,

10:23

maybe even locally

10:24

uh with neutral [music] platform-neutral

10:26

tools like Pi or Open Code or whatever

10:29

you have,

10:30

allowing you to access that intelligence

10:32

[music] and make it useful. So, yeah,

10:34

it's that's what's up for that future.

10:36

>> The total number of humans did not

10:37

increase just because [music] we got

10:38

agents. Like at the end of the day,

10:40

really we're we're just here to service

10:42

humans.

10:44

>> I don't have [music] any grand news

10:45

legacy um visions myself.

10:48

I just like to build things, [music] see

10:50

what sticks, and contribute um

10:54

to the way a lot of people use [music]

10:56

new technology.

10:58

That's basically my only wish.

11:10

>> [music]

Interactive Summary

Mario, creator of the coding agent Pi, discusses the evolution of his open-source project and his perspective on AI-driven development. He explains how Pi functions as a minimalist, self-modifying agent, contrasting it with the 'token-maxing' trend often seen in Silicon Valley. Mario and his partner Armin Ronacher emphasize the importance of keeping coding tools open, platform-neutral, and efficient, aiming to use AI to augment human capability rather than replace the developer's responsibility.

Suggested questions

4 ready-made prompts