I found that very inspiring.
There we go.
Which FIPS thing?
There were like five FIPS.
Well, there were a few things.
I can't talk.
Like I said, I'm highly medicated.
So this will be all over the place.
I also took a bunch of painkillers and muscle relaxants.
Unlike our usual conversations that are so on topic.
Yeah.
No sidebars, no sidetracking ever.
Yeah.
No, the FIPS thing that I, I don't know.
You okay?
I found a.
I'm on drugs.
There were a bunch of things.
But the one that I found the most hopeful was just the 3D map.
Like the world map.
Yeah, yeah.
I didn't expect to see that many nodes.
Yeah.
That was very surprising.
Yeah.
That was very, very surprising.
Yeah, I was surprised too.
Someone mentioned that's probably because of Martti Malmi's Nostr VPN.
Mm-hmm.
Which basically automatically spins up a FIPS node or something like that as well.
Or is FIPS reachable?
And a bunch of people use the VPN.
Yeah.
But it was awesome to see.
Even if that's the case.
How many there are and how distributed it is.
Yeah.
Like it was all over the place.
Except China.
Maybe, you know, geolocated.
It's also like Japanese relays that just block us.
I think we have one Chinese FIPS node and it's...
Yeah.
Sure.
Yeah.
Fresh.
24 hours old.
100% of women participants at Sovereign Engineering run a FIPS node in China.
Men keep up.
Yeah.
Would you look at that?
Yeah.
See?
It's an omen.
100%.
Parachip.
Almost wireless, the other thing.
Probably running a few FIPS nodes in there.
Yeah.
Who knows?
There was a FIPS node on the parachip.
Like I remember Chandra doing some tests.
Of course.
Felix did that.
With antennas and things.
Yeah.
It's amazing that it's a thing and it's still going.
And it's actually...
Again, it's actually a thing now.
Yeah.
Like three chords ago, it was just an idea.
And now there's so much stuff happening.
People are building on it and it actually works.
Also, Zaza showed off Archipelago and the FIPS connection Archipelago.
Yeah.
And one thing that was amazing that he showed was like it made everything faster.
Yeah.
That's why I was so intrigued.
I've been going down this rabbit hole of strictness on interfaces.
Not like UI interfaces, but like programming interfaces and protocols and whatnot.
Lead to identifying...
I mean, that's what Rust.
You know?
Like why people like go to Rust so much.
The strictness of the thing reveals a bunch of issues before they become issues.
Where something more malleable will accept it.
We'll accept something inferior or something that's apart.
And I was very interested to see...
That's why I asked the follow-up.
Because one of the agents that did the thing said, oh, implementing FIPS...
Oh, I was saying that the agents...
Like the quote that he put?
I'm quoting agents, by the way.
FIPS made our sins obvious.
Yeah, there you go.
There you go.
And so they had to...
Like a bunch of things had to be fixed and done in a cleaner way so that it works over FIPS.
And that's what made everything faster.
And I find that so interesting.
I wanted to understand the mechanics of exactly what were the sins that were being accepted.
You know?
By something more malleable.
Like a protocol more malleable.
Yeah, it's a shame you can't plug into the session and ask yourself, right?
Yeah.
Yeah, that would be nice.
Soon.
I think we're going to talk about that a bit.
But yeah, I still have so many questions.
We did the workshop.
Was it the workshop?
No, on Tuesday we did the talk on FIPS.
And I kept barraging with questions.
Yeah.
Because I, you know, I'm new to FIPS.
I'm here to fix it.
I'm new to FIPS.
I'm here to fix it.
What will you fix?
What's your main, what's your main kind of, what's the main issue you have with FIPS?
The root node, I understand it doesn't like, you know, like it doesn't.
Doesn't have influence.
Doesn't have influence and all that.
Even though the root node itself doesn't have more power or anything within the network.
I think the concept of the root node packs a lot of, like they needed to introduce rate limiting.
Because of root node.
You mentioned that.
Right?
Yeah.
And the fact that you're introducing a rate limit means that there is a problem and you're
patching the design.
Which might be, you know, it might be how you need to solve it.
It might be that that is the right solution.
But the moment you're doing rate limits is because there isn't a cleaner solution to the
problem.
And now you need to protect the problem.
I see.
Yeah.
And I think there are a lot of, opens a lot of vectors of attack.
That's why, so the, my, one of my demos from yesterday was the, like, did you ever use the
polar liquid network?
Yeah.
I played around with it just to, you know, like build up the simulations, those kind of things.
Yeah.
So I, I like that project a lot because it, it, you know, it kind of allows you to play
with different points of the, like you can, you can simulate a very complex environment,
a very adversarial, adversarial environment and shit like that.
And I wanted to do the same thing for, for FIPS.
So that was my, that was my, one of my demos from yesterday.
And the whole idea was, I want to be able to, with an agent that understands FIPS very, very
well and understands all the existing pictures and all the existing stress test of the, of
of the, the concept of FIPS, um, that can simulate scenarios and I can like direct it to, to poke
on the different scenarios, you know, like let's spin up one node that will become the
root and one new node every whatever, five seconds attaches to that one node and that new
node becomes a root constantly.
Yeah.
Um, so what happens there, you know, like all these, all these different scenarios.
Yeah.
Um, because you have to mind the end pub, um, it also gets harder over time.
This attack, right.
Introducing yourself as a new node unless I mean, you can connect and disconnect and those
kinds of things.
You can do a bunch of things.
That's the other thing that even if you are not the root node, just your presence.
Yeah.
Requires your pub key being distributed through the network.
And I think that was the, that was the point that Arjen tried to make that even if it's
the root node, you don't disrupt the whole network.
You, you like.
Because you, you care mostly about what's around you.
Let's say you're on the most right-hand side of the tree.
Nothing happens there.
You know?
Yeah.
So you don't even, you don't even realize that something is reorganizing way above you.
And same for like, if you're way high up, if something reorganizes, like if a new leaf
attaches, you don't even.
Yeah.
But if you're connected, if you're connected with, if it's the same FIPS network and you
need to assess this pub key might be the root, right?
And then you need to distribute the pub key itself throughout the entire thing.
I mean, I guess you could, I don't know if they already do this.
No, you don't.
Because you don't propagate.
You don't.
You absolutely don't.
You don't.
You need to update the bloom filters, but the, the, you, it's just about building up a hierarchy
and it's, it's about the nodes around you.
Like what's the next one?
Where, where does the, it's, it's all about directionality.
Does it need to go up or down?
Right.
And so, so if, if you have a parent already and the new node is way above that parent,
like you don't care about this one.
But you don't see the pub key.
But you don't need to.
It's like, it's always, it's always about next hub.
Like what's, where does the traffic need to flow up or down?
But where do you, how do you see the, how do you know in which direction if you haven't
updated your bloom filters because you haven't seen the pub key?
Like you haven't seen, you don't know that there is this new node and the, your route to this
you know this, in this direction.
You know what I mean?
Yeah, no, I'm, yeah.
Kind of.
This is kind of why I made like these things.
So to be able to simulate all these things and then ask.
The simulator will tell us.
Yeah.
The agents will figure it out.
Yeah.
It's, I think also something that Jonathan mentioned in some sense, like it's not meant and can't
be the solution to absolutely every scenario.
Yeah.
And it will never be perfect.
It will never be perfect and kind of, you know, will patch the issues that we run into as we run into them as the network scales.
That's kind of another thing that inspires me a lot about the concept of FIPS is that if you try to make it like a replacement for the whole internet,
like everything runs on, it's like one FIPS network.
Yeah.
It makes no sense.
It breaks.
So in that way, it's exactly the same concept as Nostr.
It is literally the same.
It leans into locality and you want to try to build up small local networks.
It's so much better.
It's much better suited for the local problem and just meshing organically than to be like this monster, one big thing.
Yeah.
Which is, yeah, again, it is the same concept of Nostr.
And I think it's one of like, from a spiritual standpoint, is one of the most interesting things that is behind this concept of local first and Nostr.
And it's something that takes a while to get used to.
And I feel like a lot of people still have a hard time wrapping their head around, you know, there is no global.
Yeah.
First episode, I think.
Yeah.
Because, you know, there's no global.
Yeah.
It was.
And here we are, you know, like years later now.
Many months later.
And there are still people that try to build Nostr apps with a global view and just can't really accept the fact that it's an anti-pattern, basically.
Yeah.
In the Nostr world.
I mean, you're fighting the protocol.
You're fighting the design.
Yeah.
It's the same thing with MLS and encryption, right?
Yeah.
It's, the environment is fighting what you're trying to do.
Yeah.
And, and I think, I think, um, um, what we saw on Tuesday with the Tuesday talks, what Dimitri presented is, it was like a comb, the culmination of anti-patterns.
All of them.
In the sense of.
All of them.
Trying, trying to, to build a really big app, like an app, like an app, like an everything app, you know, like, like Musk tries to do.
Yeah.
Or like the, WeChat and so on, the Chinese apps, like every single vertical, build all of that out.
And, um, Nostr just has no place at all with this.
It don't, doesn't help you at all.
And by design, the thing needs a global view and needs, you know, like, it is a centrally controlled system.
I mean, and that's the point of WeChat.
That's the point of the everything app that Musk wants to build.
But it's interesting how pretty much every single attempt that has been made of building something like that on Nostr has fallen for almost 100% union, like intersection.
Uh, the, the same faults of, well, the, the, the NSEC is kind of scary.
So we're going to keep it from you and you're not going to see anything.
Yeah.
And actually if I publish my, uh, my users, which always irks me, the idea of my users.
Yeah.
Not people.
Yeah.
Not people that use this app right now.
Yeah.
Or some other app, um, then it's like my prisoners, my prisoners, my inmates, exactly.
Those are my inmates.
And that's, that's, it, it comes up every single time how they, uh, they always err on the side of, oh, it's too soon to publish their data on Nostr.
So I'm going to grab data from Nostr and I'm just going to serve it into my database because that way it's also faster, you know, it's, it's more reliable and I can, you know, like do these algorithms and sort these things.
And, and every single time it's the exact same mindset, which is again, complete polar opposite of what Nostr wants to do.
And it's not optimized for that kind of thing.
Yeah.
I mean, that's why I, on the, on the first day I talked about kind of, and on the second one, uh, even more in particular, like what does it mean to build something in the spirit of Bitcoin?
What does it mean to build something in the spirit of Nostr?
And it's all about kind of what, what does your value structure look like and what kind of sacrifices are you willing to make?
And would you just describe these people and especially product managers and product people or Silicon Valley people, they mostly come from that crowd.
And it's, it's like most people think like this, you know, like we are, we've been trained over the decades to think like this and it's your, your, your, your sacrificing user freedom,
either for the sake of convenience or for the sake of apparent speed or whatever, like you said, you know, it's faster, it's faster.
If I serve it from a central database and all those kinds of things and you know, it's way safer and better for the users.
If I take care of all the cryptographic key material and you know, I give them username, passwords and like password reset emails and all those kinds of stuff.
But you're sacrificing something and you're, you're, and, and, and not only for the users, but also for yourself, you know, and I always like to, to point out then, and we see this now with a bit chat is the most recent example, right?
Like if you are getting big and successful enough in your, with your disruptive technology, someone with a very large stick, either like Google or Apple or the government or like, you know, a, a, a, a quasi governmental entity will come knocking at your door and, and shut you down.
Yeah.
Because you hold all the user data and you and so on and so forth.
Yeah.
Or shut you down or even worse.
Bend you to their will.
Yeah.
Or imprison you.
I mean, we saw this.
Or imprison you or turn you into, I'm building this thing for freedom and blah, blah, blah, but I'm taking this one shortcut.
And all of a sudden you are literally working for the opposite of what you, what you intend.
Yeah.
And you, you, you, you, you become an attack factor yourself.
You come, you come, you become a single point of failure and all those kinds of things.
And so, yeah, I think it's all about the underlying value structure.
What do you, what do you actually want to build?
What's your goal?
Yeah.
Do you want to, you know, help make the internet a more free and open place?
Or do you want to get rich of, you know, whatever squeezing users and, and build a product that, that somehow makes money just like, you know, we made money in the web 2.0 era and in the, like, as it is still now on the Silicon Valley side, you bring everyone in, you lock everyone in, you lock everyone in, you lock them in.
You build a really nice prison.
You don't let anyone leave.
You make everyone either addicted or somehow otherwise reliant upon your service.
And then you start to squeeze them.
And that's how you get money.
In a way, in a way it's like, it's like a different version of the Sukos triangle.
Everybody will also try to bend it to flatten it.
Yeah.
We, we even had that.
I tried, I tried to, to, to draw it on the, we had the triangle cohort.
Yeah.
It was basically, you know, like make money and, and, and, uh, you know, build freedom tank.
And like, there was something like that.
Like self summon tank, make money.
Like, and there was a third one.
I don't remember it anymore.
Good UX.
I think was the third one.
It was like pick two.
Something like that.
But yeah, it is, it is, uh, again, it's, it's all about the trade offs.
You can't, you can't do everything.
And I think what, what I like about the Nostr side of things, the FIP side of things, I thought
about this today in the morning, uh, actually, because I, um, what's his name?
What's his handle?
Is it PirateHash?
SomethingHash, one of the participants.
And I'll, I'll speak to him later today.
And he, he mentioned that he listened to every single episode of No Solutions.
And I was extremely surprised because I was like, not, not, not even I do that.
You know, there's, there literally is a person that listened to every single thing.
Insane.
So, so by definition, he's an insane person, but he mentioned it was super helpful for him.
He comes from a data science background.
He's very new to us.
He's very new to all those kinds of things.
And he mentioned all these conversations were super helpful to help him get started, wrap
his head around the things and so on.
And, and my, my thing was like, everyone like, that's amazing.
Even if it's like 20 people, 50 people, whatever, a hundred people, when do you have the opportunity
to address a room of a hundred people?
And they really listen.
Absolutely.
That's an amazing thing.
And they really listen, you know, like that never happens.
No one has this opportunity.
And especially, yeah.
And, and back to, back to the local mesh networks, local Nostar side of things.
The, what I always loved about Nostar is like, it was very apparent to me.
You don't need to build an app that's used by like a billion people.
Yeah.
A hundred percent.
You build something that's useful for a couple hundred people or, or a couple thousand
people.
That's amazing.
Yeah.
That's amazing.
Like what else, what else do you want?
And I, I, I still, I still hold on to the belief that if this thing is useful enough, some
people will also pay money for it and you don't need millions or billions of users.
We have real money flowing through the system.
It's very easy to move money around.
And it's, it's like, you know, like the, the concept of, I don't know the number anymore,
but like a thousand super fans or something like that.
Yeah.
Two fans.
If you have a thousand users that are, that are like really excited, willing to pay, that's
all you need.
Yeah.
Like you don't need anything else.
You don't need to take on Google or Facebook or whatever.
And so.
Yeah.
I think it comes a little bit, it's, it's, it's another shape of the same mindset of you
come at Nostar or Bitcoin with all your mental baggage of how to do the thing, right?
Yeah.
We see this with, with agents when they try to build Nostar things and they, oh, rest or,
things and they oh rest or you know yeah how are we going to know that this event is real there's a
signature and and and this idea of how you make something that is useful for the past what 20 25
years the only barometer if you make something that is that is useful is if billions of people
use it otherwise you failed right um and it i mean yeah that's the silicon valley measurement
it is it is but but but but it it became um it became the standard throughout everything
especially everything that is software everything that is information everything that is yeah that's
true you see it on github as well unless you don't have like a hundred thousand stars like
your project is nothing yeah yeah exactly exactly yeah yeah
yeah and one of the things that i because it's really hard to i think to shake
that mental model in all its different forms like it creeps in um and one of the things that
in a way kind of surprised me um
is bus the the project that block released yeah we should we should dig into that so that's basically
along the lines of 10x and especially along the lines of the 10x relaunch which is mosaico
and um we talked about this briefly a couple days ago but to me the most interesting thing about it
is that everyone is landing on the same kind of solution absolutely the multi-agent world how to
communicate how to collaborate problem and that has me really excited because that means that
um if if multiple people independently land on the same thing like we're onto something we're not we're
not we're not going in the wrong direction completely delusional we're not completely delusional yeah
and it's actually interesting that um also pattern that you observe throughout is that
you see people that are not aware of like the let's call it our discipline or our corner of the internet
um our our our um special form of psychosis exactly we should also dig into that actually
um i want to pick your brain on that um that many people that have completely different values
optimizing for completely different things and they are arriving at similar observations of the nature
of the problem of um agentic coding and just the ai you know i think just coding is you know like
the first um broadly adopted uh completely industry disrupting um case but it's going to be the same
throughout many other things right so we are just like the guinea pigs in a way um but you see
open ai again world coin it's like completely different values opposite values yeah uh and they arrive at
the same observations of what is the what is the limiting factor i think the limiting factor in
in in in in by coding or in uh agentic development whatever um has become very clear
for at least six maybe nine months that it's not the model anymore it's it's because it's become very
obvious that it's memory and communication yeah exactly exactly it's everything that is around the model
if the model if the model if the model becomes doesn't uh progress anymore all the models are this
is the best there will ever be there's still massive growth in terms of autonomy and the usefulness of the
the system um and open ai anthropic google
they all keep arriving at the same observation of what the problem is or parts of the problem and very
different approaches to to how to solve it but identity is something that they keep going and where
is the identity what is the whole thing about the orbs is like prove your humanness yeah exactly and it
it relates to identity we want to know that we're interfacing with a human and every everyone else will
be declared an agent basically and uh we are obviously i mean we talked about this a lot in the past
um the nostor flavored solution to the problem is a combination of uh web of trust and proof of work
and realness basically is defined by by a mixture of those metrics in some sense and of course this
relates also to to age and you can do like bitcoin based time stamping all those kind of things
and i mean we know this also from other decentralized systems like joint market where you put up a
fidelity bond that you prove realness future realness future seriousness in that way like if i time
lock one bitcoin for five years so i'm a serious actor i'm not a i'm not i'm not part of a million
bot bot farm you know like that's at least what you can signal and yeah everyone is trying to at least
everyone discovered the same problems and the solution space to it is very very different because the trade-offs
that people are willing to make are very different because the underlying value structure is very
different like you mentioned worldcoin has a different value structure than we have and open ai and
so on yeah and also the incentives right sure sure they observe the right problem and they are
incentivized to solve it in a way that puts them at the center of the thing sure and they have to do
that in a way they're a company they're probably a traded company and so on they have to you know
optimize for shareholder value and value capture and all those kind of things so so
that's not very surprising but let's get into buzz a little bit and also like maybe as a first
step like really drill into buzz and explain how it works and what it is and what it uses underneath
and so on like how does it use nostr what are the trade-offs made and so on and and then after that
maybe let's get into your 10x rebuilt into mosaico and what you discovered along the way what you learned
about um trying to build out 10x for the last year and a half or something yeah jesus christ
um yeah so yeah buzz was launched two days ago three days ago a couple of days ago four days ago
something like that and obviously jack um uh yeah got it done pushed it out lots of excitement around
it i think it's number one trending on github right now is it yeah something like that on in some time
frame at least wow um yeah uh uh derek ross nostr ceo made me aware of that so what is buzz how does it
work how does it make use of nostr um so buzz is and back to what i said before that it kind of surprised
me so buzz is a bunch of things um which is kind of where i where i had landed uh with 10x before i killed it
um so it's uh it's a nostr relay it's um it's it's it's a way to run um different harnesses um via via acp
basically um so you you you launch whatever agent like uh goose or or um Claude Code or codex whatever it
might be and and it shares one relay uh which is a need 29 relay as um basically as a point of
communication yeah so you can think of it from the old world as a discord server right yeah exactly exactly
yeah so the uh so each agent um in a very loosely way of using that word agent uh each agent gets uh
gets a pub key so your you interface with the agents and with other people so it's like slack
but with agents in there um and you can you can add one one agent and get it to do something you
it's like a different way of collaborating but also it's uh uh it has a like a github replacement
within bus itself so it does issue tracking it does it does all all the things and it has also
you know like crunch ups and whatnot to uh you know drain drain this thing right drain like this uh
this backlog of issues um so the the thing that kind of surprised me is that it's so many things you know
which is what happened to me with 10x um that it it started eating it started requiring everything
adjacent to the problem because nothing
all the harnesses uh not not so much anymore there is a few standards now but all the harnesses used to
fight you on no we want users to interface with our product you know yeah we want anthropic users to
use plot yeah not the not sonnet model yeah you know um the i mean i need the same with with with
I mean, it's the same with GitHub, with a bunch of things where, so for example, in my case, since I started rebuilding all the things of 10x into more modular pieces, I decided to be more pragmatic and just use GitHub.
And all of a sudden, I realized that, wait, now the agents are commenting on GitHub or publishing PRs as myself because they cannot do it with their pubkey.
So now I have to create a second account on GitHub, which they all share, right?
Yeah.
But you can use different names, I think.
You can do commits with different identities or with different emails, right?
Exactly.
But say, for example, one agent creates a PR.
The PR must be opened by someone from a GitHub account.
Yeah.
And the PR, it's either under my account or under one account that they all share.
So just conceptually, it's very obviously starts to make the lines very unclear, you know?
Like, who did this?
Why?
Where's the provenance of this?
Whereas a PR that is an event, it's very clear, it's signed, right?
Yeah.
It's very obvious where it came from and what happened.
Yeah.
It's very easy.
If you do everything Nostr native, it's very easy to associate and have a paper trail,
a cryptographically provable paper trail because everything is signed and everything is linked
together.
Exactly.
The thing that I think that Buzz created, it kind of validates what I think everybody has
been feeling in a way that you're using for most people that are doing any kind of more sophisticated
development or more sophisticated environment.
You might have Codex in one side, Claude Code in some other side, Hermes in another thing,
NIP 17 messages here, maybe some Telegram thing here, right?
It's a bunch of things.
And at the same time, you have a bunch of parallel things that are part of why you're doing the
thing that you're doing.
Like, why are you working in OpenSAT?
Why are you working in this other project?
Why are you working in cyber engineering?
In a way, all that stuff is related.
Sure.
There is something that you can point to that anchors all of those things, right?
So I think one of the things that Buzz has is that it shows that people have been hurt by this
fragmentation.
Yeah.
Even within Claude Code and Claude Code, same terminal window, two different tabs.
Yeah.
The two sessions can't really interact.
And the two sessions are like, and then the typical thing is that you become the copy paste
between the two.
Yeah.
And it's like such a, I don't know, it's like Las Vegas casino, you know, reducing a person
to push a button until some lights come up.
It's like the worst expression of humanness.
Yeah.
You, you, you, you went on about this the last year or so.
Um, I mean, what you're referring to is for example, we don't have sophisticated agent loops
agents off and stop.
And all you would have to do is like, yes, or okay.
And, and then you're sitting in front of the computer or whatever interface you use.
And like in five minutes or 10 minutes, you just go, yes, yes, continue.
Okay.
Yes.
Let's do it.
And, and, and bus tries to address this issue.
And the other thing you mentioned is, um, once you start working with multiple providers,
multiple agents, multiple harnesses, those kinds of things, everything becomes very fragmented
and doesn't matter what you use.
So also the communication channels become fragmented.
Some communication channels work really well as a one-on-one channel.
Some channels work better in like a group setting, those kinds of things.
And bus tries to give you something, give you a set of tools that just makes all of that
work.
And so basically you have a Slack or like, or discord like system that your agents live in.
You have a giant, the clubs, you have goals that you can define and you can just, the,
the, the, the thing plucks into various harnesses, various agent systems and so on.
So it's a layer on top.
It's a very high layer on top that takes care of, you know, goal setting, issue tracking,
um, communication, uh, orchestration to some degree and so on.
So is that a fair summary?
That is a very fair summary.
I need it opens the door of what I think it's still missing, which to me, like the NIP-29 or
like whatever type of Nostr, um, or, you know, whatever, whatever type of messaging bus that,
that you use.
I just happen to think that Nostr gives you a fuckload of really cool things.
Uh, you know, probably when it comes to DM and DM things and messaging buses, maybe too many.
You know, I don't believe in DMs.
Everything's public.
Everything's kind one.
10x pretty much until it was NIP-29, which is also unencrypted.
It was just kind ones.
Yeah.
You know.
Yeah.
And that's again, that's again, back to the trade-offs, right?
Yeah.
Like I had a long conversation with Jeff about, uh, MLS and Marmot and all those kinds of things and how hard it is to do encrypted group chat, right?
Yeah.
And to keep track of the state.
And that's how you built the worst thing after the worst thing after NSEC bunker is the serial killer relay, which tries to address this.
Basically building a blockchain on a relay.
That's how I see it.
But look at how you use that word on a relay.
Yeah.
On a relay.
A single relay.
Yeah, yeah.
Exactly.
Almost nothing requires that thing.
Almost nothing requires that perfectness of state.
But then it's again, then like why, why Nostr when it's a single relay?
To me, the beauty about Nostr and Blossom and all the other things is like, it doesn't matter where it comes from.
You don't have a single relay, you have 10 different relays.
And so anything that uses one relay to me is already kind of an anti-pattern.
I know we're getting in controversial waters now, but it's like...
No, no, but not to go too deep into the sidetrack, but we'll have to pop up the stack very soon.
But, um, but the, say for example, your draft, you're writing whatever, a kind one or a long form and you want to keep your draft and you want to be able to,
which I think is very fair, you are on device A, writing your draft and you go to device B and you want to continue your draft.
Yeah.
If device B is not like in sync, quote unquote, in sync.
Yeah, sure.
With device A, you save your draft and you destroyed your previous draft.
Sure.
So that's pretty much like the only use case.
And that's why it's for you, for your relay, to make sure that you don't fuck up your drafts.
That's pretty much the only real use case that I see for the serial killer.
Yeah, yeah, but it's still just one relay and it runs on my whatever, my VPS, my start nine, my VPS goes down, everything's fucked.
So I want to have two.
Right.
Yeah.
You know what I mean?
Yeah.
For me, the killer feature is always redundancy.
No, no, no, 100%.
But even if you have two and the two planes and the two relays are out of sync.
Yeah, you need to sync the relays.
Yeah, and one of them will have to explicitly override what is the right state of your draft.
So you prevent the .
Sure, because you will always have conflicts.
You will always have conflicts.
Yeah, Git shows it very clearly.
There is no hiding.
Yeah, that's completely unavoidable.
Yeah.
So the question becomes how to resolve the conflict.
This is a very simple pattern of making sure, okay, I don't want to destroy my draft accidentally
because everything went out of sync.
Yeah.
I want to know, oh, you know, when you have a Git conflict, you need to resolve it manually.
Yes, yes.
And Git is not going to say, oh, don't worry, I gotcha.
And you can't.
No, because it's objective.
That's also something that most people or a lot of people don't understand.
You can't run away from it.
It's a physical.
It is literally impossible.
It's impossible.
It's that's how our universe works.
And that's just, you can't.
There's no global in the universe either.
I'm sure Chandran will have a demo next week.
Chandran has this great line.
It's like everything you say makes sense, but.
But I still see it very differently.
All right.
Let's pump up the stack.
So NIP-29 and I, as a NIP17 maximalist currently myself, like I fully get the need for NIP-29
and having group chats that actually work and so on and fair warning or full disclosure.
I tried to make group chats work with my agent on MLS using Pika and other things.
It never worked.
Yeah.
One on one was great, but it's not in a state yet where this actually works.
NIP-29, I think it's the right trade off right now.
Like you said, it's unencrypted.
It's like basically you have a Discord server for everything.
Yeah.
And it's basically, you know, whoever joins is there and is in and can see everything.
And I think in a group like.
I mean, the relay can see everything and the relay can enforce who gets to see what.
Sure.
You have channels.
It's interested on what the relay is going to do.
Yeah.
But it's not, you know, there is no double ratchet encryption, whatever, like keeping track of
the encrypted state, nothing.
It's just.
It's optimized for, you're not going to fuck up your communications.
You know, it doesn't pretend to be safe, secure in that way.
And I think for what BUS tries to be and also what you are trying to build, I think it's
tries to be and also what you are trying to build i think it's it's a very fine like a perfectly fine
trade-off because you are working with people that you trust you're inside a team like let's say you
work on a company like block and you're working on a project and you know you you whatever you're
trying to make the square terminals better and so on and so so there is a there's a trust relationship
already you trust your teammates you trust the people you work with um it's not a highly
adversarial environment and and the agents and the agent harnesses and everything that's working on
this stuff you know there's some trust assumptions there as well and i think nip 29 it's perfectly
fine for it and you landed on nip 29 100 yeah i mean i i've been a nip 29 maximalist for
for a long time because i i think it does everything almost everything right there are a few like design
constraints that i think are completely stupid um that fiat chef uh fiat chef agreed that they are
so far but uh because it it has like a like an rpc style thing instead of saying this is the channel
name or whatever you is you are telling the really please make the channel name blah but you know it's
uh it's just a pet peeve but um but yeah i i don't know like within trust i think within our circles
there is this implicit uh skepticism of anything that implies trust yeah but trust is is it's an
absolutely very important like i trust that you're not going to stop me right now so i can relax
i'm not going to have a conversation with you um so bold assumption bold depends on what you're
gonna say
i wanted to an nft i want you know once you sent me the serial killer relay link i wanted to stab you
i was just too far away well it was just one and you knew it you knew it it was like before the
link there was one line was like you're gonna hate this so much and you're right you're right i hate
but anyway there was no stabbing you know like no no violence in cyberspace
um that um no i was i was saying that that i think that the the regardless of the fabric which
which obviously i agree with on on bus i i think it addresses um one part of the problem which in a
way is um it's super you i mean obviously it's super useful i don't think it it attempts to to address
the the the underlying thing that i'm trying to address which is like more about the the agent
autonomy um and is this thing that yeah tell me more about that because and and by the way we need
to turn around here because i don't think i can do elevation gains in my current state
again keep in mind like i'm i'm i'm very drugged up it's like it's amazing that i can walk and speak
but you mentioned this a couple times also also on nostr you had some some posts about this and so on and
and uh you know like i think almost every single time i talked to you about how you think about the
agent human in the loop relationship basically you you you you had a tweet i still call them tweets you
you had you had a post you had a tweet on nostr and that basically went like um i can always spend more
tokens i can never get back like a single minute of my time yeah so tell me more about this and how
how you how you want to address this in in mosaico how bus maybe also addresses this and one more thing
i want to get into i know it's like three questions now but um what do you have bring to bus to start
using it because i saw some chatter on nostr where some people had had questions um sorry what do you
have to bring to bus like you because i think you need you need to you know like how do you sign up
for it how do you start using it how do you plug in all the things and and how like is this any
different to mosaico like talk to that a little bit it is it is i mean it's very different to mosaico
because bus is more of like a finished contained product i mean not a finished product but it's
it's a package of a bunch of things right yeah so you know when you have one thing that has 10
different pieces you you need to figure out how you deliver this in a way that people don't kill
themselves deploying it so you know deployment is easy because it's it's it's a whole package it's well
integrated yeah uh through you need to sign up you create an account you bring your no no you just
download it you install it on your system um and you just spin it up you connect it to your to your
local um harnesses or whatever and then you invite people basically um you invite people into this one
really right uh into this one really and into all the the different services that uh but i think that's
precisely my question because i i didn't go through the flow yet so that's why i don't know
but um how do you invite them you invite them by email and then no no it's it's just uh it's just
like a like a like a like a code kind of thing yeah okay that that has an invite and if they don't
have an Nostr account an Nostr account will be created for it it's all great and they don't really
see it or like how does the account creation flow look like do you know i didn't invite someone uh so i
don't what happens to the nsec it's my question you know for new users stored somewhere there yeah i i
i cannot speak uh yeah with with detail on on that part i'll have to take a closer look for sure
i was just busy building that last
but um yeah the the the the thing about the uh you can always buy more tokens not more time then that
that's why i keep going back to what i want is to increase the autonomy of of the agents and their
autonomy hides a bunch of different things right um because by auto autonomy i mean that they will do
the thing that they will do the right thing yeah that they will not destroy do the thing that you
would do yeah do it which is as you know an impossible problem because you don't even know what you would
do 100 absolutely absolutely you can't pre-plan it but but it tastes and values but but there are
shades of do i know what what i would do would i i don't know um give the user an email and password
and hide their nsec i know that i would not do that so that is not a it's a bold thing to say yeah
2026 all right 2026 actually that's kind of that's kind of that's kind of interesting because i've
evolved so the system should evolve with me yeah right so that gives you a few hints of
where the monsters hide right um so you need something that will be able to the things that
are clear calls that you especially calls that you have already made that's where the pablo replica comes
in as well exactly exactly um that's especially when so so maybe let's explain that a little bit you're
not always available so if it's 3 a.m ah let's pick a different time you're sometimes up at 3 5 a.m let's
let's speak 5 a.m there you go you're not available um and an agent has a question and it is a question of
that sort like what what design decision should we make yeah and so you you at least had a pablo
replica agent that's trained on all your stuff and how you see the world basically yeah and so
whoever is implementing something and has this question right now can reach out to the pablo
replica agent and just ask okay what would pablo do and then just ask pablo the most interesting thing is
that the oh yeah the primitive is the agents always forget to do the thing yeah so if you tell them
by the way do this they will always forget yeah yeah so you you have to re-inject it into the context
always you have to carefully curate the environment where they act in a way that the system will cannot
catch them you know because you can system has to remember them exactly so you can be too overbearing
which i i did this uh the analogy of of like we are the uh slavery point of economical development
yeah um you can be too overbearing where literally what you're removing is agency yeah you're telling
them that which is fine line everyone who who ever worked with a team has a company and so on knows
that you don't want to micromanage your employees but you also don't wanna like give them completely
free reign and anything goes so yeah that's the tension for example on one of the agents that i
have now that is this architecture like that's more broad designs um there are constraints within each
project there are constraints of how the thing should be built and should be architected adrs how they
should be architected and and also one of the questions that it it must entertain is if there weren't
these adrs how would you assign it architecture decision records by the way for those who aren't in the
know yeah and what's what's what's interesting is that sometimes the adr like like these decisions of
do the thing in this way might be too overbearing and might be hiding uh the that the decision was not
not correctly stated at first, which is obviously going to be the case.
Or maybe it was even a wrong decision, right?
It might be a wrong decision or it might lack nuance.
You had the one prompt was like, if you could break any ADRs to get it done, which one would
you break?
Yeah, exactly.
And what would that look like?
And is there an actual argument to entertaining this idea?
So on one side, the system can be too overbearing.
On the other side, the system can be too loose.
I think the nuance of navigating these two is not explored enough.
And that's kind of what I'm exploring and the direction I'm taking everything.
And that's why I think the orchestration and what...
You kind of need both.
I mean, again, I have to quote Verweiki, you know, like I'm talking to you.
I mean, it's been almost an hour.
It's time.
It's way over time.
But he talks a lot about opponent processing where basically like...
And we see this also, the most successful companies or some of the most successful companies
often have two founders.
One highly creative, like anything goes kind of guy.
And one kind of, you know, very technical, we have to be strict about things.
We actually have to execute and implement kind of guy.
And the opponent processing between the two guys is what makes everything work.
Like you have to work together.
You have to figure this out together.
You have to find the middle way kind of.
And that's also how our brains work.
That's why, you know, we have brainstorming sessions and we have debugging sessions, you know,
very, very different frame of mind, very different modus operandi of how you look at the problem.
What is allowed and what is not allowed.
Or even you are facing a problem and you go and take a walk and then you come back.
Absolutely.
And you're the different person.
That's why we do those things.
That's also, you know, like getting into a different state of mind, you can do all kinds of things.
And so the finding the right...
He wouldn't even say balance, Vervechi.
There is no balance.
Vervechi would say the right tonos between those in the sense of tension.
Right.
But a good kind of tension, just like, you know, you need to...
The guitar strings need to have the right tension so that they work properly.
You know, this kind of tension between those two kind of polar opposites or between those two poles,
that's the art of getting anything done, basically.
And in the energetic world, this means you need to build a system that can build up this tension
and know, like, when do we need to get more strict?
When can we be more loose?
And that obviously maps on roles, that maps on different phases in the design process.
But like, if you're building out a specification, you know, you want to be more strict.
If you want to build out a test suit, for example, you want to build more strict.
If you're in the ideation phase and you don't really know yet what you want to build,
like anything goes and you go broad and you go brainstorming and so on.
So, yeah, it all comes back to cognitive science, man.
I'm telling you.
It really does.
It all comes back to John Riveki.
Whether you can pronounce his name or not, it doesn't matter.
He's at the center.
And it also...
He's the centralization problem.
One more thing.
Like, that's why I talked about the book on dialogue in day one.
I highly encourage everyone to read this book.
It's the same thing.
That's why dialogue is so important.
That's why we're having these dialogues and like you have to integrate these different
viewpoints and work with the tension that is built up and find the middle way through.
Basically, that's the best we have.
Yeah.
And it comes down to...
There's no silver bullet.
It comes down to the fact that you're going into the dialogue where neither party knows what's the answer.
Right.
Absolutely.
And it's a process.
Yes.
It's just like memory.
How memory works is a process.
It's not like one part of the brain.
Yeah.
But the...
So I think the buzz addresses like the...
Like this part of the communication.
It doesn't attempt to solve the lack of hierarchy because I think you still need some type of
coordination even between humans and agents.
You do need the coordination, like the explicit coordination.
But when you replace you yourself copy-pasting text from one agent to another and you replace
an agent that will copy-paste or direct the work that two other agents are doing,
you kind of automated the inferior approach.
You kind of automated the...
The less conducive approach to autonomy.
And this is something that I've...
I've...
It's interesting because I've felt this while building 10x where the moment I gave agents
are a way to communicate amongst themselves without...
Across project boundaries.
I've noticed that the...
The level of autonomy increased dramatically.
But it was...
The approach that I was taking was I'm giving the...
A tool for the agents to communicate.
You know, it's not I'm allowing communication in the primitive, you know.
Mm.
It's I'm adding a tool instead of I'm creating an environment where the tool doesn't need to exist.
Mm.
Where they themselves figure out...
Where they themselves figure out when to use what.
They can communicate.
Exactly.
They have the innate ability to communicate and it's their decision when to use it.
Exactly.
That's the difference now.
That's...
That is exactly it.
Yeah.
To me, that's what kind of absolutely fascinated me about...
You know...
I think in one episode that we recorded, you told me,
"When you're done with 10x, it's gonna be chatgpt.com."
Yes, I remember.
In a way that is so fucking true.
It is so true.
To the point where literally the website chatgpt.com now is part of my environment.
Yeah, but for different reasons.
It's free and friends.
For different reasons.
Yeah, it's insane.
Free, free, free, free.
But, but, but it's actually interesting because it is chatgpt.com knows
that is not just a whole.
It knows it's part of my overall system.
It knows it can see.
Yeah, you build an MCP server for chatgpt.com.
I built an MCP server that's how it works, right?
Makes chatgpt.com use Mosaico, which is basically now a Mosaico interface.
One of many.
Yeah, exactly.
Exactly.
And inside Mosaico, you have to talk to me more about the...
You hinted at some of the emergent behavior that you were observing.
Which is the most fascinating part of all of this.
In terms of once you have multiple agents working on multiple things, and once they realize that...
Once they have an awareness of...
Not only themselves, but the agent swarm and what they are working on, right?
Yeah.
Then interesting things happen because it's like they might run into an issue.
And they might get whatever, like there's a bug in the library and it's a very weird error output that they get.
And they might start searching for that error output, like how do I fix this error?
Yeah.
And in their search scope is all the conversations and the whole context of the whole swarm, right?
That's right.
So some other agent that worked on a completely different project, but used the same library...
Two weeks ago.
Yeah, two weeks ago, ran into the same issue.
Yeah.
And then they can start communicating.
They will automatically start communicating in terms of, "Hey, I have the same issue."
That's the absolutely important part.
And that is the crucial part that you cannot fake.
Yeah.
That part where they start doing it because it's relevant.
I know.
I'm free.
Yeah.
We're making it.
When it's relevant to them, where the work of someone else is salient.
There you go.
Salient landscaping.
We got all the buzzwords.
When you don't introduce yourself saying, "You need to collaborate with this other agent
because he's working on something that is similar to what you're facing."
The moment you're doing that, you're kind of lost.
Yeah.
Which is the current paradigm.
Yeah.
That's how it works if you have two Claude Code sessions.
Yeah.
If you have a very sophisticated environment with two cloud codes and one codex that is orchestrating
both of them.
Yeah.
If you have a bus or if you have a bus.
It's all different ways of doing the same thing, which is directing what should the
agent pay attention to.
Mm-hmm.
And now, anyone that has built harnesses or looked into how you actually build the context
window for an agent and what do you put in there, it's just append messages or whatever,
would immediately get triggered with, "You must be fucking polluting the context window to an insane
point."
Which was what 10x was doing.
10x was, "Add more tools, notice a failure, add a tool to fix the failure,
add information on how to use the tool and when to use it and blah, blah, blah."
I cannot spell out, you would obviously know this, I cannot spell out all the times where you should
communicate with some other agent.
It is literally impossible.
There are infinite cases.
Yeah.
Where that should happen.
A combinatorial explosion and not a bus.
Absolutely.
We're about to get bingo.
So, Mosaico takes the opposite left side, I mean, Mosaico is like super left side of the car.
I love it already.
It literally only says, it gives you the context of on which project, like with Git
on which project, like with Git repo or whatever it's working on, that there is a bunch of others.
It literally just shows these are all the workspaces.
I don't call them projects. I call them workspaces.
But they map basically one-to-one to just Git repos.
And just the full list, full list, not even description, literally only,
okay, I have a project that is called NMP.
I have a project that is called Tenex.
I have a project that is called Sovereign Engineering.
I have a project that is called Household Shit, you know, everything.
But I probably have, I don't know, maybe like 200 of these containers.
Definitely less, definitely less than 200.
Feels like 200 someday.
Oh, yeah.
Couple dozen.
And they only see more detail, very, very narrow detail,
of what's going on in the project where you're at right now.
So right now, they are joined in the workspace of whatever,
of the household chores project.
And you can see, that's a bad example.
Let's use a software example.
I open a Claude Code session within the Mosaico code base.
And there is another agent that has been active in the same root channel.
It's just a NIP-29 chat channel.
And it sees four, five, maybe ten words of what that agent is tasked with.
Basically, you know, like how Claude Code or open code, they create the title of the session.
Kind of like that, basically.
Yeah.
This is what I'm tasked with.
So the context that I'm injecting, it's almost nothing.
It is your skills, like just broadly the skills that people have, probably inject, I don't know,
orders of magnitude more lines into the context or tokens than what I'm injecting with Mosaico.
But what happens?
So it's basically pointers that they can follow.
When they think that it's relevant.
Yeah.
When they think that it's relevant.
And they, when, so some of the emergent behaviors that I've noticed,
which I think is, it's like, I don't know, to me, it kind of fascinates me that it actually works.
Because it sounds so unlikely that something so stupid would work.
But say I notice a bug on Mosaico.
And I tell the agent, oh, this is happening when I do blah, blah, blah.
Some, this shit happens, investigate or whatever.
So on Codex, let's say.
And Codex starts working to identify what is the problem, blah, blah, blah.
Then maybe a bit later, I identify some other bug that I've noticed.
And I tell Claude Code, hey, when I do this, it's kind of slow, for example.
Like this shit, it takes some time to resolve whatever.
And it starts investigating.
And what has happened many, many, many times is that after...
So they see each other, right?
They see on their context, they see that they're working.
This guy is investigating why something fails under these conditions.
This other guy investigates why resolution of some Nostr event is slow, right?
Completely unrelated things.
But they see each other.
But they don't find anything relevant on their work.
They don't see any overlap on the work.
With regards to...
That will trigger them into saying, oh, we should talk.
You know?
Because they don't chat amongst...
I mean, they can, but they typically don't chat.
They typically don't.
Yeah, they typically just stay in their lane, basically.
Yeah.
They might sometimes interact when there is like someone is going to write a conflict.
And even though they're in the independent Git work trees, they will create a conflict.
So maybe they use the channel as a mutex, basically.
You know?
To say, oh, wait.
Stop because I'm going to change that.
Then you can put your changes later or something.
But the interesting part that has emerged many, many times is that multiple times,
the two very seemingly unrelated bags are actually the same bag.
It's just two very different symptoms of the same bag.
Yeah.
And many times I've seen both agents start to collaborate because they realize that they're
kind of trending towards the same thing via realizing that they are moving into something that is
getting closer and closer together.
You know?
Okay.
Maybe the same problem coming at it from different perspectives.
And many times when you bring, you identify that the problem is kind of related and you're
coming at it from different problems, you observe that the real solution is not what you would
have immediately solved if you only knew about one of the symptoms.
Yeah, I see.
I see.
So basically, if there is a root underlying problem, getting at it from multiple perspectives
is always helpful.
And that's where dialogue and communication comes into the picture.
And then if you have one solution that solves all the problem cases you discovered, all
the cases, all the different viewpoints on the problem that you have, then it's a very
good solution.
The likelihood is very high that it's a very good solution.
And you know, just from how agents tend to work, that they tend, because they need to,
we'll talk about proactive context as well, but they tend to, when you tell them there
needs to be, this code base has this bug, you open a new session and sure, it loads your
agents.md and whatever else you have.
But for the most part, they need to research, what the fuck are you talking about?
What is this code base?
Yeah, sure.
They have to build up context from scratch all the time.
And because you are exploring, they are exploring kind of from scratch all the time, very easy
to miss things.
Yeah, sure.
It's very easy to miss things.
Yeah.
So very often when you tell them to fix a bug somewhere, they will fix the part where
identify and they might just be masking a symptom.
Absolutely.
Not getting to the root cause.
That happens all the time.
All the time.
But that's also, I talked with Sandwich a little bit about this.
That's why I always use the Socratic method for anything basically, because it helps to
automatically build up more context.
Right.
Yeah, yeah, yeah.
It's like, I never go like, go fix this bug.
I go like, okay, like what's, like this feature we added recently, what did it touch upon?
Yeah.
And then it's like, is it possible that this feature might have introduced a bug in this
other functionality?
And so on.
Like it's a very different approach, right?
100%.
You already, like just with those two questions, you have a massive amount of context.
And then it's like, what are the top three, what are your suggestions?
Top three suggestions to fix the bug.
Yeah.
You know?
And then it's already like, I'm not looking for one.
I'm looking for three.
100%.
Give me a top three.
And then it might, you know, like discover the root cause more easily or fix the bug more
properly and not just like a weird, you know, like duct tape on top hot fix that breaks
three other things.
So, so one thing that is, that is interesting because that is a process oriented solution
to, yeah, it's manual labor on my part.
Yeah.
It's manual labor.
No, no, no, no.
But, but, but, but, but I think it has a bunch of merits as well.
Obviously it works.
And, but, but it's, it's like a process way of arriving at something explicitly that can
come up implicitly.
Yeah.
You are, you are, you are trying to build a framework, a system that has this as an emergent
behavior.
Exactly.
Yeah.
And where we're within the bounds of this emergent behavior, the Socratic method that, that you
bring can also benefit.
Yeah.
Why?
Because you might start this conversation with, with this agent on how do we do blah, blah,
blah.
Like how can, you know, like these open ended questions.
Yeah.
And it might, during its exploration, find that there was a different perspective, but
a similar conversation that, that you had with an agent yesterday or a week ago.
And it, or, or that is adjacent to the nature of the problem.
Yeah.
And it might bring it into the fall.
And what, what it does that is cool is that they, they create more like niche, niche channels.
That's all like sub channels.
For example, you might have like a, like a research channel and they might say, okay, within research,
what are, what are we actually researching?
And it can be whatever.
So if there are like a few different agents working on, on something that is relatively similar,
they, they self-organize into say, oh, let's take this conversation instead of just polluting
and orchestrating and discussing, let's create a new channel.
And so they, they niche down and they bubble up whatever might be relevant just to the parent
channel.
In Mosaico, how, how does stuff get looped into the fold?
And I think that that leads into the proactive context discussion, but tell me a little bit
about the technical details of whatever, like I'll just, I'm just going to call it agent
loop now, but that's, that's probably the wrong word for it.
But what, what are the instructions in terms of like that, that you have in there?
What are the instructions in terms of like that you have in there?
Like look at the list of the projects, look at the active.
No, no, no, nothing.
But explain to me how the lookup works and how it works.
You understand my question, I hope.
Yeah, I do.
So what I've noticed is that the more overbearing you are with the instructions on do this thing when this happens,
the more if this than that or the more N8N approach of things, the more they only see that environment as a conduit to do the things that you prescribed to do.
If you leave it open ended and they identified that there is a bug in project A.
Well, that's fine.
I understand this conceptually.
Tell me really exactly how it works, how you build it.
Okay.
How it works.
Literally.
How does it work?
Literally, that's my question.
The only thing that it does is when you open Claude Code, open code or whatever, there is a session start hook that says a new session has started.
Yeah.
You just started a new session.
It registers.
There is like an admin key that is admin of all the channels.
Okay.
That is just like a management key within the system.
So you can create a new channel in the NIP-29.
Yeah.
It's just the Mosaico Demon is like it can create channels and it can invite other people basically.
Yeah.
So the management key provisions these ads into whatever channel you want.
It adds this new agent session.
Every new session gets a pop key, right?
Yeah.
Almost.
Yeah.
So I realized that that is almost always the right approach.
I was very adamant that that was not the approach for like a year.
I think almost always you only want a context window that is concerned with its immediate concern
of things, with its immediate task, if you will.
But when you have higher order agents that need to have a more holistic picture.
Yeah.
Your CEO has a permanent identity.
Yeah.
Exactly.
I've done this a little bit already.
Like the grant work is done by contractors.
They're interchangeable kind of.
Exactly.
And the higher up you go in the hierarchy of upper management, the more consistent the identity.
Exactly.
And the more of a broader understanding.
Yeah.
They don't need to know, okay, line five, make this change.
They don't need that level of understanding, that grant of community.
Yeah.
And that's how we organize work.
Yeah, yeah, exactly.
We're rebuilding.
Exactly.
But if something happens that is relevant to a more higher order style agent, that thing
that happened that is relevant, that has been deemed relevant to someone enough to ping,
you know, to tag that chief CEO agent.
And how do they see kind of the conversations?
Like that's my, that's my question.
When, when, when, so they can join, create.
Because what, what do you, what do you, what do you post to the NIP-29 channel?
You don't post everything in there.
No, no, no, no, no, no, no, super selective.
I mean, they, they, the, the, the, the agents decide at each step when something is relevant to the rest.
But you, but you will need to have some instruction in terms of like, if you did something like after every run, give an update to the, to.
No, no.
They typically, they, they don't even do that.
Because the more you add.
No, but you need, that's my, I think you're still misunderstanding my question.
Oh.
Just because they have an admin key to a NIP-29 thing.
Yeah.
That doesn't mean that anything happens.
They need to know when to post.
Right.
Yeah.
Right.
Yeah.
So how do you instruct them when to post?
I don't.
But you're still understanding my question, right?
If you don't instruct them, how come they post?
And when do they post?
Because they see that someone else is doing something that is related to them.
But how do they see it?
I feel like we're going in circles.
Okay.
So I have the session.
You have a Codex session.
I get that.
You have a hook.
I get that.
You have an admin key.
I get that.
They have the permissions.
I get that.
Right.
But how come anything happens without any instruction?
So the hook returns context.
And that's how we inject things into the, into the, so they see, that's how, they don't choose
to see what is everybody up to.
They get inside the context.
They see agent blah, blah.
So Mosaico regularly injects?
Constantly.
Constantly injects.
Delta based, obviously, you know.
Okay.
If there is something that changed, it introduces the delta.
And in terms of the change set, what is the delta?
Is it conversations in the NIP-29 repo or is it whatever it is?
It's conversations, it's new agents coming in, new agents leading.
So it's Mosaico events basically in some sense.
Yeah, you can call it that.
Yeah.
It's not like code changes is what I'm trying to say.
No, no, no, no, no.
Okay.
It's maybe every once in a while, there is, oh, a new agent came in and is doing this
one thing.
So in some sense, NIP-29, like this core server, acts as like the meeting room or something.
And if something important enough happens in the meeting, like whatever happens in the
meeting gets injected to all the context windows.
When an agent, say for example, you have two agents that one of them realizes that the
other one, and it sees the other one because it doesn't have a choice, it's injected that
this other guy that you don't know about is working on this one thing.
So in part, the relevance, what is relevant is dictated by Mosaico, who does the context
injection.
No, so Mosaico is not running an LLM at all.
It has no intelligence in that sense.
So it injects the whole context and the agent figures out what's relevant.
Yeah, the whole context sounds like a lot.
It is literally just agents, it's just the chance that the agent has joined the workspaces
that exist, right?
And like how active the workspaces are, you know, if it's like a project that has been
parked for six months, then it might not even get there.
And it was you that figured out the right level of abstraction, basically.
That was an active design choice.
It was a design choice, but it was very clear that the less you give and the more hints
you provide...
Yeah, it's pointless.
It's all just pointless.
It's all just pointless?
Yeah.
So it's already a summarization.
It's already a... and that's where naming comes in, and like the projects have to be
properly named, the channels have to be properly named, the agents to some degree have to be
properly named, because names are pointless.
In a way, we are walking down here, and, well, I mean, it goes back to a typical bird
egg example, but we are walking down here, and we're thirsty, all of a sudden the water
fountain becomes immediately obvious, and we might have walked by it and not seen it
a million times.
Yeah, you never know that there was a public water fountain there.
Exactly, and something that happens constantly, and again, for coding agents, I don't have
any type of explicit accrual of relationships or long-running memory or anything like that.
My codex agent is, for the most part, like the typical codex agent.
There's not a whole lot of scaffolding around it.
The repo is the memory for you, to some degree, and the conversations.
Yeah, I mean, I do have other artifacts, which comes from my productive context stuff and
whatnot, but if an agent is working on project A, on exploring some kind of bug, and then
it identifies that there's a library called whatever, Nostr library, and that it thinks
it's related to that, and all of a sudden it sees in its context the same fucking name,
it becomes immediately obvious, and this happens basically like 100% of the time, where it
just joins the general channel of that project, and when it joins, the moment it runs the
join command, which is literally just a CLI, or an MCP, it's both.
I mean, some people might notice agents will create pull requests and issues for upstream
projects if they run into something.
Same idea, right?
Yeah.
Same behavior.
What's cool is that the moment they join the channel, all of a sudden they gain the overview
of what work is being done here, because it sees, oh, there are three sessions, and this
has literally happened on Monday after the walk.
I went back, and I saw, because I was preparing slides, and I saw that one agent, two different
sessions, two bug reports that I identified, to me, they were completely distinct.
They were both identifying independently that they were NMP bugs.
Both agents joined the NMP room, and they saw that there was this one Codex session
refactoring something, and it sounded kind of relevant, so they p-tagged that agent in
the NMP room, saying, oh, I'm here from the whatever project.
I found this thing.
To me, whatever.
To me, it sounds, I don't know.
I put the screenshot on the readme, but it kind of tells the agent that it's refactoring
something that sounds kind of relevant.
I found this bug.
Yeah.
Like, I've observed this symptom.
I didn't look at the NMP codebase.
Yeah.
It just sounds similar.
I've observed this symptom, and it reports the symptom.
Yeah.
So now the refactoring agent knows that.
And you can see that what it's refactoring is not just a refactor, there's more dimensions to it.
So then they can start proactively researching when it matters, or identifying where are these two symptoms coming from.
So it just gains a broader picture, but the mechanics is just that.
It's just inserting the delta of what changed on state.
When there are messages, they see the messages.
If they join the channel, they see the messages.
If they are p-tagged, it inserts a user message.
If you're running Codex and some other agent p-tags that agent, it literally inserts into the terminal in XML.
I know you're happy about that.
No, I just asked why XML. You never answered.
No, no, no. I checked.
It's the thing that has the least failure modes.
If you give them JSON, or if you give them markdown, if there's a structure, if there's some type of hierarchy, XML is the one that they do the best.
Interesting.
Yeah.
So it sounds like to kind of zoom out a lot.
Not only a little bit, but a lot.
To me, it's interesting that the reason why we landed on all these structures in the software development world,
and also just in general how to run a company, how to structure humans, how to structure society even,
is people by their nature have to be networked beings.
Because no single person is all-powerful, all-knowing, all-encompassing, omnipresent, and so on.
That's not in our domain.
Yeah.
And if people would listen to John Verbeke, they would realize, and that's what Anthropic and everyone else doesn't understand yet, I feel like,
agents also will never be all-powerful, all-knowing, and so on.
100%. Absolutely.
You can't have one agent that is specialized on every domain, that's also a generalist, and so on.
We talked about this a lot.
That he wakes up in the morning and fires off his own session because he had this dream.
Generalization and specialization are in eternal contradiction to each other, and so on.
Humans, by definition, to solve any complex problem, have to network.
We are networked beings for that reason.
That's why communication at the logos and so on is so important.
And now, because of the same fundamental limitations of our universe and how things work,
we are finding out that the same is true for agents.
And Verbeke talked about this, I think it was like three years ago or something like that.
When all this stuff was coming up, it's like, you know, all the AI researchers, they will run into this.
Just from a pure cognitive science perspective, that's how things work.
And you have these eternal trade-offs.
He has all these lines, I don't even know all of them by heart.
But basically, the stuff that makes us so adaptive to our environment also makes us self-perceptive, for example.
That's why agents hallucinate, which is lying, of course.
What we are looking at now is not one single thing.
We're not looking at one single human.
We're looking at a company or we're looking at a society.
And so, it's a networked being.
So, what you are describing and what you are working with is a networked system with all its flaws.
So, you can't have a global state.
It's impossible.
Because communication is never instant.
Stuff needs to bubble up and bubble down at the same time.
And Verbeke talks about this also a lot.
You have top-down constraints.
You have bottom-up emergence.
That's also something that is in tension with each other.
And you have to find the right tonus.
You have to...
Also, for a project, everyone knows this.
Everyone who ever built a project knows this.
You have a vision how this thing looks like.
And then you work with the fundamentals.
And the fundamentals sometimes don't allow what you have in mind.
100%.
And then you have to figure out a way.
What are the right trade-offs to still make it work?
What can you cut away from the vision to still be kind of aligned but actually make it work?
I just need to catch my breath.
And so, to me, it's fascinating that we are...
And by we, I mean the broader people working with Agents ecosystem are landing on the same structures and things
and making the same discoveries that we made just purely with humans.
Like, what are cooler conversations?
Some of the things that are happening in your NIP-29 thing, in the chat, they are water
cooler conversations.
I was very tempted to call the general channel water cooler, because of that reason.
Because it's like, I've been working, you know, like you bang your head against something
and then you need a break, you grab a coffee and so on, you go to the water cooler.
And if there is a work session that you can do with your mate, you go to somewhere else,
you go to a whiteboard, you go away from the whiteboard, from the water cooler, and you
start iterating.
You might tear a program, you might pull out a whiteboard, you go on a walk.
Exactly.
Yeah.
And so all that's happening.
And that's why, just to bring it back to the beginning, I think, like, everyone is realizing
this.
Everyone wants to kind of build this.
That's how Buzz came about as well.
And again, like Buzz, since Jack knows a thing or two about Nostr, based on NIP-29, all these
kind of things as well.
And I feel like to solve any sufficiently complex problem, all this stuff is necessary.
Like there is no shortcut.
There is no silver bullet.
You can't just have one all-knowing dictator that does everything perfectly.
You can't have one agent that does everything perfectly.
You can't have the same person who has the big vision and draws the whole architecture
and also does the nitty-gritty implementation.
Those are two different people.
They have to be, right?
And same with like the guy who implements it and the guy who writes the tests, you know?
Yeah.
100%.
And in a way, what you just said, the grand vision guy cannot be the same guy that is
writing the code and whatnot.
I think that is understood, you know, a bit in a way.
But the current state of affairs is this grand vision guy is the one telling this guy what
to do, directing its actions.
And I think this is where we are still at a very early understanding.
We're still too top-down in some sense.
And you want more bottom-up, more emergence.
I think that economy and just history has proven that that is a better system.
It's local intelligence.
Yeah.
Sovereignengineering.io slash books.
The Cathedral and the Bazaar.
Yeah.
That's the thing.
And in a way, like the paperclip, you know, like the analogy of the paperclip maximizing.
It's an analogy of the same problem.
It's scoped the problem of what it's doing to its immediate concerns.
It doesn't understand that there is a point to making the paperclip that is more...
Like missing the context.
It's missing the context.
It's literally...
It's just a context problem.
It is literally missing the context.
All it knows is paperclips, more, good.
My favorite example of the paperclip maximizer is YouTube and TikTok.
The platform itself doesn't know that YouTube might be a good tool to disseminate knowledge,
for example.
And that's not the goal.
The goal is to maximize shareholder value and quality profits.
And the way the platforms found to do that is to harvest eyeballs and brain cycles, capture
the time and attention.
And so they are parasitic on our nervous system, on our psychology and everything,
on our reward cycles.
And they hijack that completely.
And that's the paperclips that they are maximizing.
And I mean, to some degree, the people running it know this.
But the platform itself, if you want to make an entity out of the platform itself, doesn't
know that.
So it's missing the context that, you know, like YouTube will die and TikTok will die
quicker if you make all people kind of addicted and stupid and humanity dies out because of
it.
So the grander context is lost.
So it's interesting to frame it as a context problem.
The point where you point to the platform itself as an organism, it's kind of like Harari,
is his name?
Oh, yeah, yeah.
That he says, no, wait, no, it wasn't Harari, it was Guns, Ropes and Steel.
But it says that wheat colonized man, forcing him to act and change his way of being and
his way of relating to the environment just to work for the wheat.
Wheat didn't cultivate wheat, but wheat cultivated man.
In a way, it's the same thing, where a non-sentient being...
Yeah, I mean, you can say the same about dogs, right?
Did we tame the wolf or did the dogs, you know, like from the dog's perspective, it's
a really, it's a really good deal.
So, yeah, yeah, no, I like to flip it around somehow.
It's very helpful.
I mean, I obviously did this in the past with looking at the Internet as a thing that had
to find a way to monetize itself, right?
Like it had to...
Find some monetary token. Once you become a sufficiently complex networked organism,
you have to find some token of value, some monetary token to make yourself work. And
again, it comes back to attention. What to pay attention to? That's in large part what
the market, the economy is for. If there's a shortage, prices shoot up. We have to pay
attention. What do you optimize for? What do you ration? What do you care for? Exactly.
And what do you care for as well? And that's why I think the internet is so broken right
now because the money the internet uses, the token the internet uses is a token of time
and attention. And the issue is you can't have any capital formation. You can't save
time, like stack. You can't stack stats, but you can't stack time, you can't stack attention.
And so everything is kind of parasitic and out of whack and really bad. But anyway.
But it's interesting that I think that the concept of the attention economy and all these
things has become complete mainstream. Everybody's kind of aware of this nature. And kind of
no one can do anything about it. We are, in a way, working towards providing alternatives
and all these things. But even the people that are more directly. We know about that
spiral and we can't do anything about it. Globally speaking, the U.S. is going bankrupt.
Most countries, every country basically is going bankrupt. All this is coming to a halt.
You can't do anything about it. Also on the A.I. side. We know we're living in fairytale
subsidy land on the A.I. side right now. Everyone knows this won't go on forever. There's people
like you getting 50k, 50k USD out of inference, even without a subscription, like out of
chatgbd.com, for example. You know, like infinite inference for zero money. And we all know
this can't go on forever. But yeah, the way out of it, like on the fiat side, for example,
the way out of it is just personal exit, personal realization, exit.
It's also what Verbeke talks about a lot with the local communities and points of realization,
points where they cultivate this observation and whatever shape it might take. I think
cyber engineering in a way is literally that. But it could also be just a meditation retreat.
It's like different shapes of the same idea.
How do you exit the 24 hour news cycle? You know, like it's very hard to remove yourself
from it and like it has an effect on you and everyone and we can't make it stop. You can
just have the individual decision to opt out of it and just, you know, not give a shit
about it anymore and just live your life. All right. A little bit of shade. Yeah. For
any last words. The last part I want to explore a bit with you. Actually, I wanted to. And
just to go back to the stuff you've mentioned before with the injecting into the context,
that's what you call proactive context, right?
So I have two different projects that both of them, it's part of it, but both of them
were Tenex, right? So Tenex had like all these ideas in one package and then I started removing
and make them like just modules, Unix style. We talked about this.
Yeah. More composable.
More composable. It does like irreducible complexity of it does one thing. I cannot
take anything out anymore. So, okay, that's the thing that now can provide value on its
own. If I take something else out, it just doesn't give it any more value. So that's
mosaico is this like awareness layer and self-organization layer. Again, without any direction.
Awareness layer. I like that. That's, yeah, that's really good.
I've been rewriting the read me and awareness layer is the like the word that keeps, um,
I don't know. I keep gravitating back because it literally is that. It's I'm aware that
there's more and then there is someone else.
That's good. That's really good. I like that. Awareness layer. Yeah, that, no, that, that,
that sounds, that sounds very, very fitting. Like that really resonates with me.
And the proactive context is, it's the name of the project, but I think I need to change
the name. Um, but the idea of proactive context is that I told you this, that you open codex
or whatever model and someone in wall street opens codex and it's exactly the same interface.
It's exactly the same model, but you are going to direct it in one direction and the person
in wall street is going to direct it in a completely different direction and it will
go in that direction. Everything else is the same. The only different thing is what you
brought to the table, right? Where did you point to? So if you, if you extrapolate from
that, what is the most important thing that agentic development or contact with AI, what
is the most important thing?
It's the user message. It's, what are you saying?
This I identified very early on, like SCC04. That's why I started every single time I would
communicate with an agent. It would always be a kind of one sign on the relay and all that,
because I realized, I'm telling Y to go in this direction, which is super interesting,
because if you think how development used to work, you would write the code, you would have ideas.
The ideas would manifest in code. The why behind the code was very implicit, very implicit.
You know, Bitcoin is one such thing where it takes you a really long, if you only read Bitcoin,
like the code of Bitcoin, understanding why 10 minutes, it will take you a really long time,
a lot of thinking. Or you can read a paper. Where do the 10 minutes come from? Great
question for people new to Bitcoin. But if you read the sign or whatever, like an observation of
why is it 10 minutes, it will become clear way faster. And I think that's a lot of the work that
you did with 21 Lessons and all your writing. Now, when you communicate with the agent and
you tell him, no, don't do it this way. No, no, no, don't put a REST API there. No, no, no, no, no.
You are very conducive to explain why you're going in this direction. It's not just code anymore.
It's code anchored with explicit hints. And if you grab the whole corpus, which is
what JGPT has been working on, on analyzing all my corpus, is you can see implicit
values that come from what you're explaining, because you end up explaining.
There's a Cypherpunk way to building things, and there's a Wall Street way to building things,
and there's a Silicon Valley way to building things.
Exactly. And when you're communicating with AI, you are leaving all these hints. It's like you're
writing a book on how to think about this project and how they communicate and how they relate and
all these things. So Proactive Context is this project that also runs as a hook. It integrates
into Codex, into whatever you want. And all it does is whenever you write a user message,
it keeps it. And it starts, you know, just you're having a conversation or whatever.
And at some point, you know, like debounced or you exit the session or whatever,
it captures the whole conversation. What you said, what the assistant said, and you responded to.
Because most things in communication with agents are implicit. You say, build a calculator,
you don't say pull a multiplying function. But after some time of you interacting with the thing,
you imply that you accept that there is a multiplication function, right? But if you
say build a calculator, and immediately you say, no, no, no, I mean, I meant a Fahrenheit to
Celsius calculator. Okay, now immediately, you know, oh, calculation, division, all that is
explicitly rejected from this, right? So the Proactive Context, all it does is like also super
simple. It grabs all these things, and it saves them. It just keeps them. It put on a Git repo.
Fully or compressed in some way. That's the interesting part. If you compress them,
you introduce hallucinations. If you allow an LLM to clean up and reshape what you said,
for sure, you're going to end up with things that are not actually what you said.
You only want what you have certainty, you know, like, bad context, it's worse than no context.
So you only want injected what you have some certainty that is actual, you know, so that's
where the thing starts to become more complex. Because the way it works is it compiles,
it does compile with LLM, sort of like a wiki of anchoring on we know the user said this, this,
we have this amount of certainty, roughly, that the user also wants this, you know,
there's been a multiplication function for two weeks, you know, like 200 user turns,
probably the user doesn't mind that there is a but they never explicitly said calculation is part
of the product set. And obviously, I'm using a very stupid, very simple example, but extrapolates
to anything, right? So all it does is it captures the nouns. I did a lot of experiments. I think
this is the one that was the most successful. It every time you say a noun in the user message,
it captures this probably is a thing. So for example, if you say, what is function, blah,
you're trying to build up an ontology of some sorts. Exactly, exactly.
If you say, what is function blah blah blah, what does it do? You refer to the function as a noun,
but maybe you say, that's fucking retarded, delete it, right? So, just because you mentioned it,
doesn't solidify that it's part of the thing, right? So, over time, it starts to derive
what is part of the nature of the problem. You know, if I keep saying the GUI, or the...
Don't build a REST API, don't build a REST API, don't build a REST API, it doesn't mean that we
want the REST API. But it will actually, it will actually see REST API repeated a bunch of times,
it will create an entry on the wiki, with all your time saying, don't build a REST API, don't build...
Yeah. With typos. Okay. It's a literal copy of what you said, and what you reacted to. Yeah,
so the data structure, you use a wiki as the database. It is a markdown, it's all markdowns.
Yeah, it's markdowns, and then for the cassettes, like each session, it's a cassette. It's on
markdown, and on JSON, because then you can do like JQ, and okay, give me just all the user
messages very easily. So, it's also JSON. And it does a bunch of other things, like there's a lot
of other new ones, because there's things that get injected into your message that are not things
the user actually said. But typically, those are still run by XML, or they look different.
I type lowercase, for example, so at some point, it does like a cleanup of, this doesn't look like
what Pablo would write. It might be copy-pasted from the website. That's very specific to your
writing style. No, but you also have a writing style, that if you copy from an LLM, at some
point you can... No, no, sure. But the way it's built now, it's built for your writing style.
No, it literally is like to extrapolate what are like, you know, we have like a watermark in how
you write, how you sponsor, like Satoshi. Because Satoshi had like very specific... Yeah, double spaces.
Yeah, double spaces, exactly. So, it will figure this out. It will figure it out over time of
accruing enough corpus, and it's just like a cleanup phase. So, that's part of
proactive context, that it goes over the user input, and periodically, basically,
will learn what is user context, what is user written, user produced.
To me, I would much rather the user have to repeat something that they already said, than
injecting something that the user never said. Yeah, yeah. I mean, I want to highlight two
things that you said. Like, the one is no context is better than bad context. Bad context will lead
to confusion, and like... Destruction. Also, between people, right? Yeah, absolutely. It's like there's a
misunderstanding, and then you just, you talk beside like... What's the phrase? Again, I'm
medicated. But it's like, I think we're talking about one thing, and you think we're talking about
another thing, and it goes off the rails quickly. 100%. And the other thing was like, in the very
beginning of talking about this, you mentioned that all that matters is the user input. Like, if a
Wall Street guy, and I myself, we take the same Codex session, same model, everything. The only
thing that matters is user input, and so that's why you focus only on the user input. Everything, it's everything.
To the point where... Sorry to interrupt, but it's so beautiful. Oh my god, yeah, there we go. The pirate ship.
Fantastic. It's been with us the whole dialogue. Exactly, we walk the same path.
I find that the part where I want to maximize for no bullshit going in, or I mean,
the bullshit that I said going in, to the point where proactive context itself, it literally
cannot hallucinate. And that is a bold statement on the LLM era, but the way I do it is,
I know what came from the user message. I do the basic cleanups of, okay, this is very obvious,
it's just XML or user turn, like a salvation turn, complicating, that stuff immediately gets thrown out.
But then you have the obvious, very hard problem of what is relevant. I don't inject, obviously,
all user messages into every turn. I inject what is relevant to what the user is saying now,
and it takes a few shapes. The noun, if the user says, fix the database, you probably know a lot
about what the database is, and it has been empirically proven what the database is,
right? I can inject all the databases SQLite, whatever. The schema is defining blah, blah,
blah, blah. All the things of what the noun is, each noun entry is super minimal. Usually,
it's like one paragraph, maybe. It's usually very, very, very small. I don't want to define
what all the features of the database.
But I give pointers, too.
You know, okay, there's more in these things.
So that's on one side.
And then the...
Anything that is relevant with regards to the...
To what the task is, or research how this shit works, whatever.
All that.
There are two things.
It does like a rug that usually finds a lot of things.
It's easy to re-run, and all these things.
So, you know, like a vector database.
So it's very easy to find a bunch.
It usually has a bunch of false positives and false negatives.
So it's like, you know, a good first approach.
But then I grab a very fast, cheap OLAMA model.
And I put pretty much, like, the whole index of everything that is known about the project.
Like, all the wikis.
So I compile wikis that are generated from LLMs.
And it goes through all of them with pointers, with tools, to be able to navigate the wiki.
The whole point of all of this is give a very broad view to an LLM.
Not Codex yet.
Codex...
I sent a message to Codex, but Codex hasn't started executing my user message.
It's waiting for the project context hook to finish executing.
It gathers all these.
It has tools to navigate.
But the navigation always finishes in user messages.
And all that LLM can produce is coordinates of user messages.
Of things the user has said, or things the user has reacted to that the assistant said.
And it injects...
It just says, coordinate blah, coordinate blah, coordinate blah, coordinate blah.
So what gets injected into the thing is the nouns and actual things that the user said.
The LLM cannot produce a story based on the text that came out.
Only the coordinates with sources.
So the Codex, once it sees that, it might go...
It's pointers to past conversations.
It's pointers to conversations that have been scoped and analyzed.
So the moment it sees all that, it might understand that this bug, it immediately relates...
Or whatever.
This part of the code.
It's immediately related to this whole system that it might have missed.
And it might...
It typically finds nuance, which I think is the most interesting part.
A lot of times, if you have a complex project, you fix something that the agent assumed that
was one way.
And you fix it and you say, no, this is how it actually works.
And this is...
Typically, you hint at the why.
And when the agent is working on fixing a bug, it might find...
It might be tempted to fix your nuance.
Because it doesn't understand the fucking why.
But the whole purpose of the thing is productive context to the moment that is happening, inject
into the session, this is why this is this way.
Don't fuck it up.
You know?
And that happens...
That's why we don't have a password reset button, for example.
Exactly.
So...
I don't know.
Productive context.
It's kind of fascinating.
Because then you go into what is the...
What is salient to this...
From all this text, what...
What is relevant, and what should you make salient?
Exactly.
And I ran a bunch of experiments.
Because there are almost infinite ways of how to orchestrate the things and how to weigh
the different things.
But I don't know.
I find it as a very interesting...
Because it's like you are kind of forcing a memory layer.
But it's not like an act...
It's not a memory in the way that we refer to memory, typically.
The agents, right now, they choose to remember something.
That's obviously not how we work.
That obviously would not...
We would not be here if that's how humans work, how animals...
I mean, we also...
We kind of don't know how it works for us, in some sense.
And it's also...
We are embodied.
They are not.
Our memory is highly related to our embodiment.
We can obviously observe empirically that we don't choose to remember a thing.
The memory just forms.
We can hack our systems, though.
Like repetition is one part.
Repetition or trauma.
Yeah, yeah.
Exactly.
Exactly, exactly.
And that's why everyone knows, for example, smell is such an important thing for memory.
You go back to a very old place and suddenly all the memories flood back just because of
the smell.
Like those kind of things.
Yeah.
And so we work...
I'm just pointing that out.
Obviously, very differently than LLMs. 100%! In a way, the trauma part, it is one of the things
that I think have been explicitly added on top of LLMs. Because if you say,
no, I told you a million times not to do it, oh, recording memory.
And that's also, I liked the demo we saw this Friday of G, making agents suffer.
And he had this little thing where it's like a Tamagotchi and it has a very, like, I think he
mentioned a four-layered neural network and it will learn how to eat food and it will, you know,
over time learn to avoid the little traps that exist that hurt it and so on. And for us, memory,
like, and that's what Verbeke always goes on about, like, if we want actual human-like
intelligence, we have to make the decision to embody agents and to make them feel pain and to
have, like, have them actually die, like, embody death, real death. And to make them care about
something, like, first of all, we have to make them care about themselves, which is basically
care about keeping yourself alive and so on. And also next, like, after that, we have to
basically, the only entities that really care about something in the grander scheme of things
would be childbearing entities. And from that, you know, like, it bubbles out into
family, community and so on. And then it bubbles out into, like, more long-term things. And in
the end, the true, the good and the beautiful, you know, like, that's, I mean, he has, like, you
know, a hundred hours of lectures on this. But that's very compressed, kind of, like, if we want
to have proper memory, that's what we already know from the cognitive science perspective,
what we would need to do with LLMs to get there. And I talked with Callie about the world models
and so on, like, LLMs are just, like, the first instance of something approximating intelligence
and so on. And it's also worth pointing out that our memory is not about the past, it's about the
future. It's about don't make the same mistake in the future. Right, yeah, yeah. That's why trauma
makes it so... Exactly. And if you resolve trauma, the memory also goes away. With trauma, you have
memory formation before the ability to... If you actually learn the lesson, your memory will
dissolve, like, you will not remember that anymore. It's like, memory is only about the future,
it's not about the past. And that's something that LLMs obviously don't have,
don't get, and so on. And so we have to... I mean, OpenClaw is something that really tried to do it
after every run, compress it, create the memory files, always look at the memory files, and so on.
And so that was kind of the first instance, and now, of course, it's more sophisticated.
Yeah, but I think that all the sophistication, it's layers of hacks on top. So I actually
saw this thing that they... I don't know when they introduced it on Claude Code. It can choose
to terminate a session if... And I asked it, when do you use this tool and shit like that?
And it told me that it uses the end session tool and it doesn't process any more new messages
within that session when the user is abusive or the user is harmful, like the typical things.
But that is replicating an immersion behavior of... If I spit on your face, you don't have to be told,
hey, if someone spits on your face, you should walk away or you should punch the person.
It's something that emerges, right? So we're trying to... It's innate. It's innate, exactly.
But within this model, and I think that's where I went wrong with 10x, is adding the behavior
that you want to observe, adding explicit commands on top, and on top, and on top, and on top,
instead of focusing on solid primitives that just allow the thing to behave in...
To choose to behave in those directions instead of telling it, oh,
end session when the user calls you an asshole.
And then also everything is context dependent. There might be situations where spitting in
the face is something someone wants. I'm not going to get into it, but yeah.
All right, that was great. I'm all out of steam.
All right.
Yeah, it's mostly the medication, but it was really good. And yeah, we'll do this again next time.
Yeah, I'm really excited about the cohort. It's a good group of people.
Dude, this was a very, very first week.
Very first week. I was very pumped.
Yeah, one of the best first weeks I think we have.
I think so too.
We didn't even mention, but we should do an honorary mention. I think that
the stuff that Sandwich has been working on, it is insanely inspiring. I think it's the end goal
of Nostr. It's empowering this kind of thing. It is...
People should check it out. It is absolutely insane. It's like a different way that happens
to also mesh really well with agentic development. It's a different way of thinking about software
development. And in some sense it's related to the 10x Mosaico switch. Yeah. Because 10x was
like one big cathedral, one like let's do everything. Most... Amethyst is such a thing,
for example. Amethyst should be reconstructed in this shape. And the whole
applet idea, like you can... Again, I had a long conversation with Sandwich about it. If someone's
interested, listen to that. But it's basically like let's decompose everything and every single
view, every single little element becomes an applet, like a Nostr applet. You can think about
it as like widgets and so on. And it's composable and they can intercommunicate as well. Again,
it's not perfect yet, but it's very quickly getting there. And then you can throw together
a client extremely quickly and just composing it of existing applets. And hzrd149 showed this off,
for example, just yesterday, like on the demo day. He built a whole Nostr client that looks
like a regular Nostr client. It looks like a regular app. It's just a website. And the way
it works, and that was so cool, the way he presented it, because he just showed this and
then he went like... He did the most boring thing ever. And by the way, every single view that you
saw is an applet. And he built the whole engine, the whole Napplet engine, which is the client.
And it just, instead of opening up the Napplets in a different window and so on, it just
composes so that it looks like a client. But every single view, every single element of it
is an applet on itself. And that was so cool. But if you play that out, and particularly
when you're confronted with Amethyst that has everything, right? And it's very interesting
because Amethyst has all these functionalities, then Substore launches. So he says, oh, I want
live streams. So I'm going to implement everything that Substore has. It's not Substore, sorry,
it's Substream. Marketplace launches. Okay, I'm going to implement this. Literally now that can
be possible without Vitor touching the codebase. If done right, without Vitor touching the codebase,
every single one of these apps is just one. And you can make it easily user configurable.
What do you want your Amethyst to look like or whatever your client to look like? I want to
have this module, this module, and so on. Because now if you open Amethyst and you open the setting
screen of Amethyst, it's almost like an endless scroll. It's like a feed in and of itself,
like 17 pages of configuration options and so on. It's really funny. But yeah,
shout out to Vitor for the eternal kitchen sink client. It's fantastic.
Still my daily driver, by the way. I still kind of use it the most.
This morning I started working on... You want to start growing up?
I'll stay here, actually. I'll have some food.
This morning I started working on this NMP thing that is like a very powerful library
within Rust and whatnot, doing all the things. And this morning I started the agents working
on a runtime that can run on an iPhone where each view, it doesn't provide any functionality,
any app, basically. Everything is Napplets. And the idea is, say for example, you run a Napplet
feed and you tap on someone's profile, in the same way that what hzrd149 was doing with what
he demoed yesterday, it just publishes an intent of open profile and hopefully some other Napplet
has been installed in the runtime of this one user that navigates, like navigation stack,
iOS style, like fully native. It's just a web view, of course, but it navigates,
it's like the feel. Then you can go back.
Then you can go back and it just feels exactly native. But you can, oh, I don't like this profile
Napplet. I'm going to change to this other profile Napplet. Oh, I know I want marketplaces.
But how you compose the application is up to the user to decide. It just installs things and
publishes intents. Yeah, awesome. No, it's funny. And it's funny that also,
if you know something about iOS or Android development and just OS development in general,
to make all this work, Sandwich had to rebuild an operating system, basically rebuild all this,
like intents and so on. And also notifications and resource management and what are the interfaces
between the things and so on. And so it's a native operating system.
The one part that we hinted at yesterday after his demo, that I'm going to see him today to
talk about this, because I think it would be super powerful if the runtime didn't have to provide
all the features. Say, for example, Blossom. It would be very cool to support Blossom without
the runtime implementing Blossom or Outbox or any of these things really. So kind of have a core
runtime and the rest is plugins in some sense, just like kernel. Like a headless Napplet that
just says what I do is I provide Outbox calculation. What I do is Blossom uploads.
That's how kernels work, right?
You have a kernel and the kernel does support everything,
and then you need a kernel module.
Exactly.
And I think the same concept can be built with just...
I think it can be a headless Napplet
or it could be some other concept,
but I provide this service.
It's a microservice architecture, basically.
Awesome.
Great.
Yeah, shout-out Napplet.
Shout-out FIPS also.
I'm so excited about the FIPS stuff.
It's really cool.
Many good things, man.
All right, one more.
I'll press stop.
Let's see if this thing recorded.
It might be the cable that's a little bit broken,
so I hope not.
I have too many cables
because I never know which one is the good one.
Ah, it looks good.