The need
Sourcebot's chat answers are great for engineers but can be too dense
for PMs and VPs on our team. The same question ("how does service X
work?") needs a different shape depending on who's asking — concept-level
without code for a VP, full implementation detail for an engineer.
Today the agent has one voice for everyone.
Proposal
Add a Chat Preferences page in Settings where each user configures how
Sourcebot talks to them. Two parts:
-
Six response-style dimensions, each a radio with 3 levels:
- Depth: Full detail / Concept-level / One-paragraph summary
- Code visibility: Show snippets / Describe in prose / No code at all
- Vocabulary: Jargon OK / Define terms / Business framing
- Citation density: Every claim / Key claims / Just sources at end
- Output structure: Headers+code / Prose+bullets / TL;DR + 3 key points
- Diagrams: When useful / Often / Almost always
-
Custom instructions — a free-text field (1000 char limit) for
anything the dimensions don't capture. E.g. "use product analogies",
"cite service owners alongside file refs", "I'm new to the codebase
so define unfamiliar acronyms".
Preferences are stored per-user on the User model. The agent reads them
at request time and renders a <user_preferences> block in the system
prompt that biases responses accordingly.
Bias is soft, not a hard rule. If a user with "no code" set asks "show
me the function", the agent should still show the code. Safety, citation,
and diagram-generation requirements stay above user preferences.
Open questions for the team
- Anonymous users — sign-in-only in V1 sounds right, but flag if you'd
prefer a localStorage path for anon
- Naming: "Chat Preferences" or "Custom Instructions" — the latter
matches ChatGPT/Cursor convention but is narrower
Future considerations
- Preset buttons that fill the radios (PM preset, Engineer preset, VP preset)
- Per-thread override (this chat needs VP-style, override my defaults)
- Per-message override (just this once, be verbose)
- Org-admin default preferences for everyone in the org
The need
Sourcebot's chat answers are great for engineers but can be too dense
for PMs and VPs on our team. The same question ("how does service X
work?") needs a different shape depending on who's asking — concept-level
without code for a VP, full implementation detail for an engineer.
Today the agent has one voice for everyone.
Proposal
Add a Chat Preferences page in Settings where each user configures how
Sourcebot talks to them. Two parts:
Six response-style dimensions, each a radio with 3 levels:
Custom instructions — a free-text field (1000 char limit) for
anything the dimensions don't capture. E.g. "use product analogies",
"cite service owners alongside file refs", "I'm new to the codebase
so define unfamiliar acronyms".
Preferences are stored per-user on the User model. The agent reads them
at request time and renders a
<user_preferences>block in the systemprompt that biases responses accordingly.
Bias is soft, not a hard rule. If a user with "no code" set asks "show
me the function", the agent should still show the code. Safety, citation,
and diagram-generation requirements stay above user preferences.
Open questions for the team
prefer a localStorage path for anon
matches ChatGPT/Cursor convention but is narrower
Future considerations