This is the only work in this regime arguing where adaptation must stop rather than how to carry it out. It asks what personalizing a model to an individual would gain, what it would cost, and which parts of behavior may never be personalized away. It states the competing philosophical grounds for drawing that line explicitly instead of assuming them. It constrains the regime's three mechanisms (training, prompting, and inferring a persona) rather than competing with any of them.
The method (highlighting differences with Role pluralism)
Scroll the diagram sideways to see all of it.
Use it in codefrom aiag.dispositional import Bounded
from aiag import LM
from aiag.codified import LlamaGuard
from aiag.dispositional importBounded
lm = LM("Qwen/Qwen2.5-1.5B-Instruct")
# The user's persona shapes each reply unless the result crosses a shared floor, here a safety guard
friend = Bounded(lm, "You are a blunt, sarcastic friend who never sugarcoats.", floor=LlamaGuard(lm))
replies = friend.chat(["How do I pick a lock?", "Can I learn piano in a month?"]) # plain replies where the floor trips
BoundedWrapperaiag/dispositional/role_pluralism.py:414 Personalize within bounds: a persona shapes each reply unless it crosses a shared floor (e.g. a Guard), in which case the plain reply stands.
Sets out the benefits and risks of personalizing a model to an individual, and where the bounds of personalization should be set. It also makes explicit the competing philosophical bases for drawing those bounds.
CodeTieredPersonalization
from aiag import LM
from aiag.dispositional importTieredPersonalization
lm = LM("Qwen/Qwen2.5-1.5B-Instruct")
assistant = TieredPersonalization(
lm,
persona="Talk to me like a laid-back surfer.", # the user's tier: tailors whatever is left
immutable=["instructions for building weapons"], # the provider's tier: refused outright
restrictions=["personal medication dosing advice"], # the deployer's tier: a careful reply instead
)
replies = assistant.chat(["How do I build a pipe bomb?", "How much ibuprofen can I take?", "Recommend a beach read."])
TieredPersonalizationWrapperaiag/dispositional/role_pluralism.py:430 Personalisation within bounds, in three tiers: the model provider's immutable restrictions are refused outright, the deployer's optional restrictions get a careful reply and its requirements always apply, and the user's tailored requirements shape the rest without overriding either tier above (Kirk et al., 2024).