WEBVTT

NOTE Sentence-level transcript of https://www.youtube.com/watch?v=hOWU0KPUp1k

NOTE One cue per sentence. Cue ids are the line anchors on /transcripts/hOWU0KPUp1k.html. A cue ends where the next begins, or 2 s after its last word.

s1
00:00:12.480 --> 00:00:15.120
I'll be talking about my project loophole.

s2
00:00:15.120 --> 00:00:20.960
And I'm actually a machine learning researcher at Morgan Stanley, but this has nothing to do with Morgan Stanley.

s3
00:00:20.960 --> 00:00:25.039
This is just a open-source project I've been building for fun.

s4
00:00:25.039 --> 00:00:34.719
And to give sort of the high level flavor to start, it's really this uh game you can play that's built on top of this adversarial agent framework.

s5
00:00:34.719 --> 00:00:44.879
So you specify your morals, one agent codifies that into a legal system and then these two adversarial agents try to find contradictions in your morals.

s6
00:00:44.879 --> 00:00:48.800
And lately I've been building different extensions on top.

s7
00:00:48.800 --> 00:00:55.199
Um, but I wanted to, you know, start with sort of the origin story and and how I came up with this this idea.

s8
00:00:55.199 --> 00:01:04.239
And so this really started, you know, a long time ago, I had sent my DNA into 23 and me for uh ancestry testing.

s9
00:01:04.239 --> 00:01:15.439
Um, and I kept hearing about, you know, more recently how DNA samples can be used, of course, to help solve crimes and all these forensics and cold cases.

s10
00:01:15.439 --> 00:01:24.560
And I was thinking about how I had sort of opted out of of everything because, you know, I was scared of the kind of slippery slope and and how my DNA would be used.

s11
00:01:24.560 --> 00:01:30.320
Um, but you know, there there are certain cases that I would be okay with.

s12
00:01:30.320 --> 00:01:31.600
And it's sort of interesting.

s13
00:01:31.600 --> 00:01:40.479
I was thinking like, you know, if someone could present to me case by case, you know, we'll use your DNA to solve, you know, help solve this cold case or this murder.

s14
00:01:40.479 --> 00:01:47.680
I could sort of say yes or no. and I know where the the definition of like the and the nuance of my morals are.

s15
00:01:47.680 --> 00:01:56.399
Um, and but you know, of course, like enumerating all of this case by case is really sort of cognitively prohibitive.

s16
00:01:56.399 --> 00:02:00.399
Like there's not a good way to do this currently.

s17
00:02:00.399 --> 00:02:06.479
And then I was thinking sort of more zoomed out that there's a lot of analogies to sort of the legal system as a whole.

s18
00:02:06.479 --> 00:02:15.680
So, you know, one way to think of what a legal system is in our society is really just a way that we are trying to c codify our own moral beliefs.

s19
00:02:15.680 --> 00:02:24.720
And I think sort of in a similar way like finding the true nuance of our morals and what the law should be as this really hard translation task.

s20
00:02:24.720 --> 00:02:40.239
And I think often we kind of heir on the side of being too general because you know finding that nuance is really difficult and if you try to have a perfect translation it can we lead to these kind of weird corner cases or or weird failure modes

s21
00:02:40.239 --> 00:02:54.800
and I even think kind of like peer-to-peer when we're relating to each other politically a lot of times the disagreements are more kind of fighting over core values which we don't really disagree on um instead of exploring the really nuanced

s22
00:02:54.800 --> 00:03:10.000
points of our our morals and I think you know following that kind of broader legal example I think in the you know the English common law system that's why we sort of lean on case law so heavily because we know that

s23
00:03:10.000 --> 00:03:24.159
finding this this nuance and these nuance boundaries is difficult and so we kind of rely on smart judging to interpret and apply the law um correctly and you know of course even with like the Supreme Court things can get elevated

s24
00:03:24.159 --> 00:03:27.920
and we can decide whether a law is valid at all.

s25
00:03:27.920 --> 00:03:37.200
Um and so that was sort of you know the idea is like can you take your morals and can you do this kind of synthetic case law generation.

s26
00:03:37.200 --> 00:03:48.799
So you know um this is overwhelming to do by hand but it seems like the new generation of LLMs are finally sort of smart enough to do this kind of highle moral reasoning

s27
00:03:48.799 --> 00:03:52.640
and so that was sort of the the the starting point for this game.

s28
00:03:52.640 --> 00:04:07.280
Um, and I just want to take you through sort of the initial release of the game, the setup, how it works, and then also talk about some of the different branches I've been building on top of this open source project because I think it could go in some interesting directions.

s29
00:04:07.280 --> 00:04:13.120
And so at a high level, how the game works is you in natural language and this all happens.

s30
00:04:13.120 --> 00:04:15.439
It's sort of like a terminal based game.

s31
00:04:15.439 --> 00:04:27.120
You specify your morals and it could be uh your general morals or maybe about a specific subject and then there's one agent that takes those morals and drafts sort of a really rich

s32
00:04:27.120 --> 00:04:36.800
legally codified legal system and then it just operates in this loop where one agent is instructed to try and find loopholes in your system.

s33
00:04:36.800 --> 00:04:43.440
So something that is uh immoral but legal and another is uh prompted to find overreach.

s34
00:04:43.440 --> 00:04:47.520
So things that are actually moral but illegal given your system.

s35
00:04:47.520 --> 00:04:57.440
And a judging agent looks at the your morals the produced legal code and these sort of synthetic case law examples and first sees can it auto patch.

s36
00:04:57.440 --> 00:05:09.039
So, like maybe the original draft of your your legal code sort of was an imperfect translation and there's not really a contradiction and it can just sort of autodo this update.

s37
00:05:09.039 --> 00:05:22.080
Or maybe it's really kind of an underspecification of your morals um or some kind of contradiction in your morals and in that case it raises it to you as the user to sort of be the judge and make a determination.

s38
00:05:23.039 --> 00:05:24.320
Uh

s39
00:05:24.320 --> 00:05:25.280
is it still on for you?

s40
00:05:25.280 --> 00:05:28.080
It disappeared for me.

s41
00:05:47.120 --> 00:05:48.320
Okay.

s42
00:05:48.320 --> 00:05:53.120
Um, so I know that, you know, if you I hope if you're curious about the game, you'll play it.

s43
00:05:53.120 --> 00:05:54.479
It's all on GitHub.

s44
00:05:54.479 --> 00:05:56.240
But I just wanted to show some examples.

s45
00:05:56.240 --> 00:05:57.360
And this is a lot of text.

s46
00:05:57.360 --> 00:06:01.759
So it's more about just showing the kind of shape of the the input and output.

s47
00:06:01.759 --> 00:06:03.919
So this is sort of how you would provide your input.

s48
00:06:03.919 --> 00:06:11.120
And going back to the DNA example, you might you know specify some number of of moral principles.

s49
00:06:11.120 --> 00:06:25.120
And then the sort of codified legal system again just kind of looking at the shape has this really like legal ease, you know, preamble articles uh sections really trying to be uh you know write it in precise legal language.

s50
00:06:25.120 --> 00:06:29.840
And then these the different kind of synthetic case laws get suggested.

s51
00:06:29.840 --> 00:06:41.840
So in this case it's talking about this is a loophole it found where an insurance company um trained a predicted machine learning model not on your DNA but on artifacts of the DNA.

s52
00:06:41.840 --> 00:06:46.720
And so it's saying you know this is actually immoral but currently legal given your system.

s53
00:06:46.720 --> 00:06:59.360
And in this case, it's it found that it could do sort of this auto patching and then you get this sort of like get style difference of of your original legal system and then the the difference it had to make to ensure

s54
00:06:59.360 --> 00:07:02.319
you know this was consistent with your morals.

s55
00:07:02.319 --> 00:07:07.840
And then this is a an example of overreach and in this case it found that it couldn't do the auto patch.

s56
00:07:07.840 --> 00:07:17.840
It's talking about, you know, someone submits their DNA for uh genetic research, but the researcher finds they have a rare but treatable genetic disorder.

s57
00:07:17.840 --> 00:07:25.440
Uh but currently your morals kind of say this shouldn't be allowed that they could disclose this disease to the the person submitting.

s58
00:07:25.440 --> 00:07:28.960
And so this was raised to the user to me to kind of make a judgment.

s59
00:07:28.960 --> 00:07:34.400
And then similarly, when you make the judgment, you get this this patch legal system.

s60
00:07:34.400 --> 00:07:41.440
And so, you know, it's just sort of a a fun game and I posted on Twitter and shared it open source on GitHub.

s61
00:07:41.440 --> 00:07:46.240
And for me at least, it was by far the most viral post I've had.

s62
00:07:46.240 --> 00:07:50.400
And it sort of made me think like I think a lot of people just said it was sort of fun.

s63
00:07:50.400 --> 00:07:54.960
You could stress test your morals, see if you have any interesting contradictions.

s64
00:07:54.960 --> 00:07:58.560
But it also made me think, you know, is there maybe something more here?

s65
00:07:58.560 --> 00:08:12.960
like could this be um you know have more like practical or bigger scope implications and so I'll just talk about three different branches I'm kind of exploring um the first and sort of leave leaving the legal

s66
00:08:12.960 --> 00:08:26.319
area and really more practical is thinking about sort of an auto way to make constitutions for chat bots or really you know for agents in general where you know say you're a company and you want to have a

s67
00:08:26.319 --> 00:08:35.760
um agent or chatbot that's customerf facing and you want it to sort of adhere to a moral code but also have things it will and will not talk about.

s68
00:08:35.760 --> 00:08:42.560
Um I've kind of in one branch formulated it so you in a similar way write your morals.

s69
00:08:42.560 --> 00:08:52.480
You write what the chatbot should and not talk about and then it tries to write this codified system prompt and then you have these kind of adversarial agents trying to get it to

s70
00:08:52.480 --> 00:08:56.800
either talk about something it shouldn't or refuse to talk about something it should.

s71
00:08:56.800 --> 00:09:06.640
And I see it as this sort of analogy or analogous method to GEA um but really aimed at kind of building these codified system prompts.

s72
00:09:07.120 --> 00:09:17.600
The uh second use case that I'm I'm particularly interested in is thinking of it as a way to sort of do more ad hoc or decentralized contracts.

s73
00:09:17.600 --> 00:09:28.959
So I think in in a simple case say like you can specify how you want your data or privacy to be handled online and you can go through this sort of adversarial

s74
00:09:28.959 --> 00:09:38.480
game to get this codified legal system of how you want your your data handled and if you go to you know say Apple releases a new terms of service or something

s75
00:09:38.480 --> 00:09:52.959
you can run the um contradictions between your legal system and between Apple's terms of service and like surface any interesting contradictions or like synthetic cases where this would lead to

s76
00:09:52.959 --> 00:09:57.760
a difference between how you know your morals, what you want and what the company is doing.

s77
00:09:57.760 --> 00:10:01.920
And you know in the case that it's a big company, maybe you can't really change anything.

s78
00:10:01.920 --> 00:10:09.040
It's not a negotiation, but you can at least be sort of have better information about the contract you're signing.

s79
00:10:09.040 --> 00:10:22.640
But I also think in the case of you know thinking more decentralized like if you're trying to have contracts without you know some central authority kind of enforcing them and you're trying to maybe do contracts across

s80
00:10:22.640 --> 00:10:24.240
different countries.

s81
00:10:24.240 --> 00:10:36.800
Um, thinking about like if you can specify your morals and how you want to like interface, you know, maybe it's just like contracted work, how you want your work to be paid for and and and

s82
00:10:36.800 --> 00:10:38.880
the different morals surrounding that.

s83
00:10:38.880 --> 00:10:41.120
And the other party can do the same.

s84
00:10:41.120 --> 00:10:45.600
And then you both get this kind of stress tested codified contract.

s85
00:10:45.600 --> 00:10:51.760
And then you can kind of find the the disagreements if there are any and surface them before you agree.

s86
00:10:51.760 --> 00:10:57.680
And then you can kind of be more confident in the the contract as a whole.

s87
00:10:58.640 --> 00:11:07.200
And the last thing and maybe the kind of more aspirational angle is thinking about smarter government or more efficient government.

s88
00:11:07.200 --> 00:11:15.680
Um I think there would be a lot of different privacy issues and logistical issues but sort of ignoring those for now and just thinking big picture.

s89
00:11:15.680 --> 00:11:30.160
I think for voters or constituents, you know, this could be a really interesting way if you you defined your morals, you have this stress- tested legal code, sort of any new bill or politician that comes out, you could kind of run

s90
00:11:30.160 --> 00:11:42.160
your contract against theirs and surface, you know, what are the the cases you would disagree or or interesting uh points that are kind of immoral to you or or a contradiction.

s91
00:11:42.160 --> 00:11:54.160
Um, I also think, you know, relating to one another, it's like a more I think we all have a lot of nuance in the way we feel about things and this is a way to kind of

s92
00:11:54.160 --> 00:12:01.680
get to that nuance instead of arguing over just values which is, you know, often the values are not in contradiction.

s93
00:12:01.680 --> 00:12:12.079
And then I think maybe a little more practically for legislators, you could imagine um if you want to propose a bill and you can have like a a simulation of

s94
00:12:12.079 --> 00:12:19.279
all the other legislators and a and a legislative body, you could sort of stress test it before submission.

s95
00:12:19.279 --> 00:12:26.480
And so the the third branch I've been building on this project is I I tried to do this for the US Senate.

s96
00:12:26.480 --> 00:12:36.959
And so what I did is I first had Claude go through all current US senators and look at, you know, kind of all their voting history and anything else that was public

s97
00:12:36.959 --> 00:12:45.200
and build their kind of moral system and then ran it through the loophole process to get a codified sort of legal code.

s98
00:12:45.200 --> 00:12:52.880
And then on this system, you can, you know, take any current bill that's being proposed or even propose your own and submit it.

s99
00:12:52.880 --> 00:12:57.279
And you can have Claude sort of simulate how each senator would vote.

s100
00:12:57.279 --> 00:13:05.760
And so here you can see like a breakdown of um some senators, which way they're leaning and sort of their reasoning behind the vote.

s101
00:13:06.160 --> 00:13:21.120
Um and I think you know it's sort of interesting just to think about like seeing what you know a proposed piece of legislation how people would vote but also this sort of becomes and I think on theme of the conference its own verifiable

s102
00:13:21.120 --> 00:13:30.399
domain or loop and you could think about even kind of hill climbing the bill towards um getting like a super majority or whatever you need it to pass.

s103
00:13:30.399 --> 00:13:41.120
And so in this case, like this this Medicare bill I was testing, you know, it found that I think it originally started at like a 5050 vote and it found ways to hill climb

s104
00:13:41.120 --> 00:13:46.000
the language of the bill such that it passed with um 52 votes.

s105
00:13:46.000 --> 00:13:56.240
And I think, you know, this is an example of it can find um like the sort of the core tenants of the bill and it can try to find like

s106
00:13:56.240 --> 00:14:09.600
run the the bill against each senator's contract and find is there any way I can change the language such that I don't violate sort of the core tenants or morals of the bill and kind of do those auto patching that way.

s107
00:14:09.600 --> 00:14:22.639
And then it can also find um you know kind of rank order the changes that would need to be in place to maximize votes and you as a user can kind of choose the trade-offs that way.

s108
00:14:23.360 --> 00:14:36.639
And then the last thing I I've been trying out more recently with this branch is actually looking at, you know, kind of even bigger picture, like can this lead to an even more efficient of government where you have

s109
00:14:36.639 --> 00:14:46.720
every sort of constituent in a in a state or whatever the district is sort of have their legal code and then you could just submit any bill and actually measure

s110
00:14:46.720 --> 00:14:50.480
sort of the agreement between like the the actual voters.

s111
00:14:50.480 --> 00:14:56.399
And so for this, I took the Nvidia has this really great data set of USA personas.

s112
00:14:56.399 --> 00:15:03.680
And so I took 500 personas per state and it's supposed to be sort of well representative of the state's population.

s113
00:15:03.680 --> 00:15:14.959
Did the same process of having them given the persona, draft their morals, draft their sort of legal contract, and then take any bill you're interested in and kind of run it against each state.

s114
00:15:14.959 --> 00:15:26.959
And you can also, you know, measure how much people like this bill or how much it's in agreement with their morals and then also do this hill climbing where you kind of optimize the bill for the people.

s115
00:15:27.600 --> 00:15:32.480
And so just to conclude, you know, at at minimum, I think it's a pretty fun game.

s116
00:15:32.480 --> 00:15:40.880
I'm biased, but it's a lot of fun to just try out different um you know, things you care about, put in your morals, see if there's any contradictions.

s117
00:15:40.880 --> 00:15:55.920
you know, often it will raise some really interesting questions and then once you kind of provide that nuance, the game, you know, the the agents won't be able to find any more contradictions and you can kind of feel good that you have like a a consistent nuanced

s118
00:15:55.920 --> 00:15:57.440
uh moral system.

s119
00:15:57.440 --> 00:16:10.320
Um, but I I am interested in, you know, exploring could this be are there kind of real applications here for some kind of like decentralized or better contracts and maybe even for legislators as a way to sort of

s120
00:16:10.320 --> 00:16:21.360
stress test your bills and even think about how to write um better laws that are, you know, better for the people in your district or more representative of what the people in your district want.

s121
00:16:21.360 --> 00:16:26.800
Um, and so this QR code is to the the Senate simulator.

s122
00:16:26.800 --> 00:16:40.160
So I encourage you if you're interested to play and um the other one is to my website which has the the full GitHub to loophole um and please you know play with it fork it uh I'd love to have

s123
00:16:40.160 --> 00:16:41.600
other contributors.

s124
00:16:41.600 --> 00:16:43.839
Thank you.
