Loophole: Adversarial Agents To Stress Test Your Morality — Brendan Rappazzo, Morgan Stanley
Read the talk
Loophole: Testing Moral Rules with Adversarial Agents
Brendan Rappazzo explains how synthetic cases expose gaps between intentions and written rules, then extends the approach to chatbot behavior, contracts, and simulated legislation.
From a talk by Brendan Rappazzo
At a glance
Ideas worth remembering
Test written rules in both directions: search for objectionable behavior they permit and acceptable behavior they prohibit. The same distinction applies to chatbot answers and refusals.
Automatic patches address apparent translation errors; unresolved value questions go to the user. The DNA examples distinguish a restriction that misses derived artifacts from a consent question about disclosing a treatable disorder.
Synthetic cases can clarify a contract before agreement, but clarification does not supply bargaining power or an enforcement mechanism.
The reported Medicare improvement from roughly 50–50 to 52 supporting votes occurs inside a simulation. Likewise, agreement from 500 personas per state depends on unvalidated modeled preferences and representativeness.
A search that finds no further contradictions can support reflection and refinement, but it cannot prove that the resulting moral code is complete or consistent.
A consent question becomes a search problem
Brendan Rappazzo introduces Loophole as a personal open source project, separate from his work as a machine learning researcher at Morgan Stanley. Its initial form is a game built around adversarial agents: a user states moral principles, an agent translates them into a legal system, and two other agents search for contradictions between those principles and the resulting rules.
The motivating example is consent for DNA use. After submitting his DNA for ancestry testing, Rappazzo heard about DNA samples being used in forensic investigations and cold cases. He had opted out broadly because he worried about how permission might expand, yet he recognized that he would accept some particular uses. Presented with an individual murder investigation or cold case, he could make a yes-or-no decision. The difficulty was enumerating all the situations that might matter: his judgments contained nuance that a blanket opt-out could not express, while deciding every possible case by hand would demand too much attention.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Written rules need concrete boundary cases
Rappazzo generalizes the DNA question into a translation problem. In his framing, a legal system attempts to codify a society's moral beliefs. Broad language is easier to write, but it can miss the boundaries people actually care about. Trying to express every distinction precisely can introduce its own corner cases and failure modes. He also suggests that political disagreements sometimes remain at the level of core values, even when the more consequential disagreement concerns how those values apply in a specific situation.
His analogy is the role of case law in English common law: cases give judges concrete circumstances in which to interpret and apply rules, and disputes can escalate to questions about a law's validity. Loophole borrows this pattern by generating synthetic cases against a user's moral principles. Rather than asking the user to anticipate every exception, it asks language models to search for situations that reveal missing distinctions. Rappazzo presents the ability of newer LLMs to perform this kind of moral reasoning as the premise that made the game practical; he does not establish a guarantee that their search will find every relevant case.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Search both sides of the rule
The terminal-based game accepts natural-language principles, either about morality in general or about a specific subject. A drafting agent turns those principles into a detailed legal code. Two adversarial agents then search in opposite directions. The loophole agent seeks an action that violates the user's morals but remains legal under the generated code. The overreach agent seeks an action that fits the user's morals but is prohibited by that code. Here, legal and illegal describe the game's rules, not established real-world law. Testing both directions matters because a restriction can fail by permitting too much or by prohibiting too much.
A judging agent compares three things: the original morals, the drafted code, and the synthetic cases. It first decides whether a case exposes an imperfect translation that it can repair automatically. If the user's principles already support a clear answer, changing the code may be enough. If the case instead reveals underspecified morals or a contradiction within them, the judge escalates it to the user. This separates an editing decision from a value decision: the agent can attempt to make the rules match an existing intention, while the user must resolve questions that require a new moral distinction.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Two DNA cases show when to patch and when to ask
After a brief presentation interruption, Rappazzo returns to examples of the game's input and output. A set of DNA-related moral principles becomes a document with a preamble, articles, and sections, written in precise legal language. That structure gives the adversarial agents explicit rules to test, but the first example shows why detailed wording alone does not settle the intended scope of a restriction.
The loophole concerns an insurance company training a predictive machine learning model on artifacts derived from DNA rather than on the DNA itself. The generated case classifies that use as immoral under the user's principles but permitted under the current code. The distinction between the original data and its derivatives creates the gap: restricting one representation may leave another outside the rule even when it supports the objectionable use. In this example, the judge determines that it can patch the code automatically. The user receives a diff showing the change from the original rules. Rappazzo does not give the exact amendment, so the example supports the need to account for derived artifacts without specifying how the revised rule defines them.
The overreach example requires a different response. Someone submits DNA for genetic research, and the researcher discovers a rare but treatable genetic disorder. The existing principles appear to prohibit disclosing that finding to the person who supplied the sample. The system flags the prohibition as overreach, but the judge cannot resolve it through an automatic patch and asks Rappazzo to decide. The case introduces a question about whether consent for research also permits a potentially beneficial disclosure. Once the user makes a judgment, the legal code is patched. The talk does not state the decision or the resulting exception.
Rappazzo initially shared Loophole as a game for discovering interesting contradictions. He says the response to its open source release and his post about it was unusually large for him, which encouraged him to explore practical applications. He introduces three branches that reuse the idea of testing a formal expression of intent against concrete cases.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Turn chatbot policies into testable system prompts
The first branch applies the framework to constitutions for chatbots and agents. A company describes the moral code its customer-facing assistant should follow and the subjects it should or should not discuss. The drafting step produces a codified system prompt. Adversarial agents then try to induce either a prohibited response or a refusal to discuss something the assistant should address. These are the behavioral equivalents of loopholes and overreach: testing only unwanted answers would miss failures in which the assistant denies legitimate help. Rappazzo describes this branch as an approach to constructing system prompts, without reporting measured improvements or a guarantee that the resulting prompt enforces every rule.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Find disagreements before agreeing to a contract
The second branch concerns ad hoc or decentralized contracts. In the simplest example, a person states how online services should handle their data and privacy, then uses the adversarial game to refine those preferences into a code. That code can be compared with a company's terms of service. Rappazzo uses a hypothetical new Apple terms-of-service document to illustrate the comparison: synthetic cases would expose circumstances in which the company's permitted behavior differs from what the person wants. For a large company, this may provide information rather than bargaining power. Discovering a conflict does not mean the user can negotiate it away.
For agreements between two parties, he imagines each side independently specifying its expectations, such as how contracted work should be paid for and the principles surrounding that arrangement. Each side obtains a stress-tested contract, and the system searches for disagreements before they agree. This could make hidden differences in expectations easier to discuss, particularly across countries or without a shared central authority. The proposed mechanism concerns clarification before agreement; Rappazzo does not explain how it would enforce the contract or resolve a later breach. Greater confidence in the wording therefore remains distinct from assurance that either party will perform.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Simulate votes and revise a bill
The third branch extends the idea to government. Rappazzo acknowledges privacy and logistical problems before sketching two uses. A constituent could compare a refined statement of their morals with a bill or a politician's positions, looking for concrete cases of disagreement. Legislators could test a proposed bill against simulated colleagues before submitting it. Both uses aim to move discussion toward specific applications of values. The government proposal remains aspirational, with the acknowledged practical problems set aside rather than solved.
Rappazzo's implemented experiment models the US Senate. He says he asked Claude to examine senators' voting histories and other public information, infer their moral systems, and run those systems through Loophole to produce codified rules. A user can submit an existing proposed bill or write a new one, and Claude simulates each senator's vote with a leaning and an explanation. These profiles are inferred from public behavior rather than supplied by the senators themselves. The talk gives no comparison between simulated and actual votes, so the output illustrates what the model predicts under its constructed profiles without establishing predictive accuracy.
The simulator also supplies feedback for revising a bill. Rappazzo describes hill climbing: change the bill's language, evaluate it against the senator profiles, and search for revisions that increase supporting votes. In his Medicare example, he recalls an initial split of roughly 50–50 and reports that revisions produced 52 supporting votes in the simulation. That is an improvement according to the simulator's own vote estimates, not evidence that the bill passed in the real Senate. The talk does not specify the search algorithm or the textual changes that produced the result.
Increasing votes is subject to a constraint: revisions should preserve the bill's core principles. Rappazzo describes comparing the bill with each senator's contract to find language changes that do not violate those principles, allowing such changes to be patched automatically. The system can also rank proposed changes by their potential to maximize votes, leaving the user to choose the tradeoffs. This makes the objective more demanding than simply finding popular wording. The user still needs to decide which compromises are acceptable, and the account does not demonstrate how reliably the model distinguishes a wording adjustment from a substantive change.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Scale the experiment to constituents
Rappazzo's next experiment replaces senator profiles with synthetic constituent profiles. His broader aspiration is for people in a state or district to have individual codes against which proposed bills could be evaluated. For the experiment, he uses an NVIDIA dataset of USA personas and takes 500 personas per state. Given each persona, the model drafts morals and a legal contract, then compares bills with those contracts. Rappazzo says the sample is supposed to represent each state's population, but supplies no validation of that representativeness. The resulting agreement measures describe modeled personas rather than directly measured voter preferences.
The proposed feedback loop can measure how closely a bill agrees with the personas' morals and hill climb the bill toward greater agreement. This extends optimization from simulated legislative support to simulated constituent support. Its interpretation depends on whether the personas, inferred morals, and contract comparisons capture what real people would want. Without evidence for that connection, improving the score establishes better agreement within the constructed model, while the ambition of writing laws that better represent a district remains a hypothesis.
Rappazzo closes by returning to the game's immediate value: putting in principles, encountering questions, and adding nuance. He describes reaching a point where the agents can no longer find contradictions and feeling more confident in the resulting moral system. That stopping point is useful feedback from the search, but it does not establish completeness or consistency; the agents may simply have exhausted the cases they can discover. He leaves contracts and legislative drafting as applications he wants to explore, and invites people to try the Senate simulator, fork Loophole, and contribute to the open source project.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Read the complete timestamped transcript
- 0:12
I'll be talking about my project
- 0:13
loophole. And I'm actually a machine
- 0:16
learning researcher at Morgan Stanley,
- 0:18
but this has nothing to do with Morgan
- 0:20
Stanley. This is just a open-source
- 0:22
project I've been building for fun. And
- 0:25
to give sort of the high level flavor to
- 0:27
start, it's really this uh game you can
- 0:30
play that's built on top of this
- 0:32
adversarial agent framework. So you
- 0:35
specify your morals, one agent codifies
- 0:38
that into a legal system and then these
- 0:40
two adversarial agents try to find
- 0:42
contradictions in your morals. And
- 0:45
lately I've been building different
- 0:46
extensions on top. Um, but I wanted to,
- 0:50
you know, start with sort of the origin
- 0:52
story and and how I came up with this
- 0:54
this idea. And so this really started,
- 0:57
you know, a long time ago, I had sent my
- 0:59
DNA into 23 and me for uh ancestry
- 1:03
testing. Um, and I kept hearing about,
- 1:07
you know, more recently how DNA samples
- 1:09
can be used, of course, to help solve
- 1:11
crimes and all these forensics and cold
- 1:14
cases. And I was thinking about how I
- 1:16
had sort of opted out of of everything
- 1:19
because, you know, I was scared of the
- 1:20
kind of slippery slope and and how my
- 1:22
DNA would be used. Um,
- 1:26
but you know, there there are certain
- 1:28
cases that I would be okay with. And
- 1:30
it's sort of interesting. I was thinking
- 1:32
like, you know, if someone could present
- 1:34
to me case by case, you know, we'll use
- 1:36
your DNA to solve, you know, help solve
- 1:39
this cold case or this murder. I could
- 1:40
sort of say yes or no. and I know where
- 1:43
the the definition of like the and the
- 1:45
nuance of my morals are. Um, and but you
- 1:49
know, of course, like enumerating all of
- 1:51
this case by case is really sort of
- 1:54
cognitively prohibitive. Like there's
- 1:56
not a good way to do this currently.
- 2:00
And then I was thinking sort of more
- 2:01
zoomed out that there's a lot of
- 2:03
analogies to sort of the legal system as
- 2:06
a whole. So, you know, one way to think
- 2:08
of what a legal system is in our society
- 2:10
is really just a way that we are trying
- 2:13
to c codify our own moral beliefs. And I
- 2:16
think sort of in a similar way like
- 2:18
finding the true nuance of our morals
- 2:20
and what the law should be as this
- 2:22
really hard translation task. And I
- 2:25
think often we kind of heir on the side
- 2:27
of being too general because you know
- 2:30
finding that nuance is really difficult
- 2:32
and if you try to have a perfect
- 2:34
translation it can we lead to these kind
- 2:36
of weird corner cases or or weird
- 2:38
failure modes and I even think kind of
- 2:41
like peer-to-peer when we're relating to
- 2:44
each other politically a lot of times
- 2:45
the disagreements are more kind of
- 2:48
fighting over core values which we don't
- 2:50
really disagree on um instead of
- 2:52
exploring the really nuanced
- 2:54
points of our our morals and I think you
- 2:58
know following that kind of broader
- 3:00
legal example I think in the you know
- 3:02
the English common law system that's why
- 3:05
we sort of lean on case law so heavily
- 3:08
because we know that finding this this
- 3:11
nuance and these nuance boundaries is
- 3:12
difficult and so we kind of rely on
- 3:15
smart judging to interpret and apply the
- 3:18
law um correctly and you know of course
- 3:21
even with like the Supreme Court things
- 3:22
can get elevated and we can decide
- 3:25
whether a law is valid at all. Um and so
- 3:29
that was sort of you know the idea is
- 3:31
like can you take your morals and can
- 3:33
you do this kind of synthetic case law
- 3:36
generation. So you know um this is
- 3:40
overwhelming to do by hand but it seems
- 3:42
like the new generation of LLMs are
- 3:44
finally sort of smart enough to do this
- 3:46
kind of highle moral reasoning and so
- 3:49
that was sort of the the the starting
- 3:51
point for this game. Um, and I just want
- 3:54
to take you through sort of the initial
- 3:55
release of the game, the setup, how it
- 3:57
works, and then also talk about some of
- 4:00
the different branches I've been
- 4:01
building on top of this open source
- 4:03
project because I think it could go in
- 4:04
some interesting directions. And so at a
- 4:08
high level, how the game works is you in
- 4:11
natural language and this all happens.
- 4:13
It's sort of like a terminal based game.
- 4:15
You specify your morals and it could be
- 4:18
uh your general morals or maybe about a
- 4:21
specific subject and then there's one
- 4:23
agent that takes those morals and drafts
- 4:25
sort of a really rich legally codified
- 4:28
legal system and then it just operates
- 4:30
in this loop where one agent is
- 4:33
instructed to try and find loopholes in
- 4:36
your system. So something that is uh
- 4:38
immoral but legal and another is uh
- 4:41
prompted to find overreach. So things
- 4:43
that are actually moral but illegal
- 4:45
given your system. And a judging agent
- 4:48
looks at the your morals the produced
- 4:51
legal code and these sort of synthetic
- 4:53
case law examples and first sees can it
- 4:56
auto patch. So, like maybe the original
- 4:59
draft of your your legal code sort of
- 5:02
was an imperfect translation and there's
- 5:04
not really a contradiction and it can
- 5:06
just sort of autodo this update. Or
- 5:09
maybe it's really kind of an
- 5:10
underspecification of your morals um or
- 5:13
some kind of contradiction in your
- 5:15
morals and in that case it raises it to
- 5:17
you as the user to sort of be the judge
- 5:19
and make a determination.
- 5:23
Uh
- 5:24
>> is it still on for you? It disappeared
- 5:25
for me.
- 5:47
Okay. Um, so I know that, you know, if
- 5:50
you I hope if you're curious about the
- 5:52
game, you'll play it. It's all on
- 5:54
GitHub. But I just wanted to show some
- 5:55
examples. And this is a lot of text. So
- 5:57
it's more about just showing the kind of
- 5:59
shape of the the input and output. So
- 6:02
this is sort of how you would provide
- 6:03
your input. And going back to the DNA
- 6:06
example, you might you know specify some
- 6:08
number of of moral principles. And then
- 6:11
the sort of codified legal system again
- 6:13
just kind of looking at the shape has
- 6:15
this really like legal ease, you know,
- 6:17
preamble articles uh sections really
- 6:20
trying to be uh you know write it in
- 6:23
precise legal language. And then these
- 6:25
the different kind of synthetic case
- 6:28
laws get suggested. So in this case it's
- 6:31
talking about this is a loophole it
- 6:33
found where an insurance company um
- 6:36
trained a predicted machine learning
- 6:38
model not on your DNA but on artifacts
- 6:40
of the DNA. And so it's saying you know
- 6:42
this is actually immoral but currently
- 6:45
legal given your system. And in this
- 6:47
case, it's it found that it could do
- 6:49
sort of this auto patching and then you
- 6:51
get this sort of like get style
- 6:53
difference of of your original legal
- 6:55
system and then the the difference it
- 6:57
had to make to ensure you know this was
- 7:00
consistent with your morals.
- 7:02
And then this is a an example of
- 7:04
overreach and in this case it found that
- 7:06
it couldn't do the auto patch. It's
- 7:08
talking about, you know, someone submits
- 7:10
their DNA for uh genetic research, but
- 7:13
the researcher finds they have a rare
- 7:15
but treatable genetic disorder. Uh but
- 7:18
currently your morals kind of say this
- 7:20
shouldn't be allowed that they could
- 7:22
disclose this disease to the the person
- 7:24
submitting. And so this was raised to
- 7:26
the user to me to kind of make a
- 7:28
judgment. And then similarly, when you
- 7:30
make the judgment, you get this this
- 7:32
patch legal system. And so, you know,
- 7:35
it's just sort of a a fun game and I
- 7:37
posted on Twitter and shared it open
- 7:40
source on GitHub. And for me at least,
- 7:42
it was by far the most viral post I've
- 7:46
had. And it sort of made me think like I
- 7:48
think a lot of people just said it was
- 7:49
sort of fun. You could stress test your
- 7:51
morals, see if you have any interesting
- 7:53
contradictions. But it also made me
- 7:55
think, you know, is there maybe
- 7:57
something more here? like could this be
- 8:00
um you know have more like practical or
- 8:02
bigger scope implications and so I'll
- 8:05
just talk about three different branches
- 8:06
I'm kind of exploring um the first and
- 8:10
sort of leave leaving the legal area and
- 8:14
really more practical is thinking about
- 8:16
sort of an auto way to make
- 8:17
constitutions for chat bots or really
- 8:20
you know for agents in general where you
- 8:23
know say you're a company and you want
- 8:24
to have a um agent or chatbot that's
- 8:28
customerf facing and you want it to sort
- 8:30
of adhere to a moral code but also have
- 8:33
things it will and will not talk about.
- 8:35
Um I've kind of in one branch formulated
- 8:39
it so you in a similar way write your
- 8:42
morals. You write what the chatbot
- 8:44
should and not talk about and then it
- 8:46
tries to write this codified system
- 8:48
prompt and then you have these kind of
- 8:49
adversarial agents trying to get it to
- 8:52
either talk about something it shouldn't
- 8:54
or refuse to talk about something it
- 8:56
should. And I see it as this sort of
- 8:58
analogy or analogous method to GEA um
- 9:01
but really aimed at kind of building
- 9:03
these codified system prompts.
- 9:07
The uh second use case that I'm I'm
- 9:10
particularly interested in is thinking
- 9:12
of it as a way to sort of do more ad hoc
- 9:15
or decentralized contracts. So I think
- 9:18
in in a simple case say like you can
- 9:22
specify how you want your data or
- 9:24
privacy to be handled online and you can
- 9:27
go through this sort of adversarial game
- 9:29
to get this codified legal system of how
- 9:31
you want your your data handled and if
- 9:34
you go to you know say Apple releases a
- 9:36
new terms of service or something you
- 9:38
can run the um contradictions between
- 9:42
your legal system and between Apple's
- 9:44
terms of service and like surface any
- 9:47
interesting contradictions or like
- 9:49
synthetic cases where this would lead to
- 9:52
a difference between how you know your
- 9:55
morals, what you want and what the
- 9:56
company is doing. And you know in the
- 9:58
case that it's a big company, maybe you
- 10:00
can't really change anything. It's not a
- 10:02
negotiation, but you can at least be
- 10:04
sort of have better information about
- 10:07
the contract you're signing. But I also
- 10:09
think in the case of you know thinking
- 10:11
more decentralized like if you're trying
- 10:14
to have contracts without you know some
- 10:17
central authority kind of enforcing them
- 10:20
and you're trying to maybe do contracts
- 10:21
across different countries. Um, thinking
- 10:25
about like if you can specify your
- 10:28
morals and how you want to like
- 10:30
interface, you know, maybe it's just
- 10:32
like contracted work, how you want your
- 10:34
work to be paid for and and and the
- 10:37
different morals surrounding that. And
- 10:39
the other party can do the same. And
- 10:41
then you both get this kind of stress
- 10:42
tested codified contract. And then you
- 10:46
can kind of find the the disagreements
- 10:48
if there are any and surface them before
- 10:50
you agree. And then you can kind of be
- 10:52
more confident in the the contract as a
- 10:55
whole.
- 10:58
And the last thing and maybe the kind of
- 11:00
more aspirational angle is thinking
- 11:04
about smarter government or more
- 11:06
efficient government. Um I think there
- 11:08
would be a lot of different privacy
- 11:10
issues and logistical issues but sort of
- 11:12
ignoring those for now and just thinking
- 11:14
big picture. I think for voters or
- 11:17
constituents, you know, this could be a
- 11:20
really interesting way if you you
- 11:21
defined your morals, you have this
- 11:23
stress- tested legal code, sort of any
- 11:26
new bill or politician that comes out,
- 11:28
you could kind of run your contract
- 11:31
against theirs and surface, you know,
- 11:33
what are the the cases you would
- 11:35
disagree or or interesting
- 11:37
uh points that are kind of immoral to
- 11:39
you or or a contradiction. Um, I also
- 11:44
think, you know, relating to one
- 11:46
another, it's like a more I think we all
- 11:48
have a lot of nuance in the way we feel
- 11:51
about things and this is a way to kind
- 11:53
of get to that nuance instead of arguing
- 11:56
over just values which is, you know,
- 11:58
often the values are not in
- 12:00
contradiction. And then I think maybe a
- 12:02
little more practically for legislators,
- 12:05
you could imagine um if you want to
- 12:08
propose a bill and you can have like a a
- 12:10
simulation of all the other legislators
- 12:13
and a and a legislative body, you could
- 12:15
sort of stress test it before
- 12:17
submission. And so the the third branch
- 12:20
I've been building on this project is I
- 12:22
I tried to do this for the US Senate.
- 12:26
And so what I did is I first had Claude
- 12:28
go through all current US senators and
- 12:32
look at, you know, kind of all their
- 12:34
voting history and anything else that
- 12:35
was public and build their kind of moral
- 12:38
system and then ran it through the
- 12:40
loophole process to get a codified sort
- 12:43
of legal code.
- 12:45
And then on this system, you can, you
- 12:47
know, take any current bill that's being
- 12:50
proposed or even propose your own and
- 12:52
submit it. And you can have Claude sort
- 12:54
of simulate how each senator would vote.
- 12:57
And so here you can see like a breakdown
- 12:59
of um some senators, which way they're
- 13:01
leaning and sort of their reasoning
- 13:03
behind the vote.
- 13:06
Um and I think you know it's sort of
- 13:08
interesting just to think about like
- 13:11
seeing what you know a proposed piece of
- 13:14
legislation how people would vote but
- 13:16
also this sort of becomes and I think on
- 13:18
theme of the conference its own
- 13:20
verifiable domain or loop and you could
- 13:22
think about even kind of hill climbing
- 13:24
the bill towards um getting like a super
- 13:27
majority or whatever you need it to
- 13:29
pass. And so in this case, like this
- 13:32
this Medicare bill I was testing, you
- 13:34
know, it found that I think it
- 13:36
originally started at like a 5050 vote
- 13:38
and it found ways to hill climb the
- 13:41
language of the bill such that it passed
- 13:43
with um 52 votes. And I think, you know,
- 13:47
this is an example of it can find um
- 13:51
like the sort of the core tenants of the
- 13:53
bill and it can try to find like run the
- 13:56
the bill against each senator's contract
- 14:00
and find is there any way I can change
- 14:01
the language such that I don't violate
- 14:04
sort of the core tenants or morals of
- 14:06
the bill and kind of do those auto
- 14:08
patching that way. And then it can also
- 14:10
find um you know kind of rank order the
- 14:14
changes that would need to be in place
- 14:16
to maximize votes and you as a user can
- 14:18
kind of choose the trade-offs that way.
- 14:23
And then the last thing I I've been
- 14:25
trying out more recently with this
- 14:27
branch is actually looking at, you know,
- 14:29
kind of even bigger picture, like can
- 14:32
this lead to an even more efficient of
- 14:34
government where you have every sort of
- 14:37
constituent in a in a state or whatever
- 14:40
the district is sort of have their legal
- 14:43
code and then you could just submit any
- 14:45
bill and actually measure sort of the
- 14:47
agreement between like the the actual
- 14:49
voters. And so for this, I took the
- 14:52
Nvidia has this really great data set of
- 14:55
USA personas. And so I took 500 personas
- 14:58
per state and it's supposed to be sort
- 15:00
of well representative of the state's
- 15:02
population. Did the same process of
- 15:05
having them given the persona, draft
- 15:07
their morals, draft their sort of legal
- 15:09
contract, and then take any bill you're
- 15:12
interested in and kind of run it against
- 15:14
each state. And you can also, you know,
- 15:16
measure how much people like this bill
- 15:18
or how much it's in agreement with their
- 15:20
morals and then also do this hill
- 15:22
climbing where you kind of optimize the
- 15:24
bill for the people.
- 15:27
And so just to conclude, you know, at at
- 15:30
minimum, I think it's a pretty fun game.
- 15:32
I'm biased, but it's a lot of fun to
- 15:34
just try out different um you know,
- 15:36
things you care about, put in your
- 15:38
morals, see if there's any
- 15:39
contradictions. you know, often it will
- 15:41
raise some really interesting questions
- 15:43
and then once you kind of provide that
- 15:46
nuance, the game, you know, the the
- 15:48
agents won't be able to find any more
- 15:50
contradictions and you can kind of feel
- 15:52
good that you have like a a consistent
- 15:54
nuanced uh moral system. Um, but I I am
- 15:58
interested in, you know, exploring could
- 16:00
this be are there kind of real
- 16:01
applications here for some kind of like
- 16:04
decentralized or better contracts and
- 16:07
maybe even for legislators as a way to
- 16:09
sort of stress test your bills and even
- 16:12
think about how to write um better laws
- 16:14
that are, you know, better for the
- 16:16
people in your district or more
- 16:17
representative of what the people in
- 16:19
your district want. Um, and so this QR
- 16:24
code is to the the Senate simulator. So
- 16:27
I encourage you if you're interested to
- 16:28
play and um the other one is to my
- 16:32
website which has the the full GitHub to
- 16:34
loophole um and please you know play
- 16:37
with it fork it uh I'd love to have
- 16:40
other contributors. Thank you.