Practice agents
Practice agents
Practice-specific variants of the Legal Assistant that overlay a posture-tuned system prompt and scope Vault retrieval to relevant document classifications. Three today:
| Agent | Posture | Preferred classifications |
|---|---|---|
| M&A practice agent | Buy-side default, switches to sell-side on prompt | precedent_contract |
| Litigation practice agent | Advocacy default, finds strongest argument then anticipates opposing | brief, depo_transcript, exhibit |
| Tax practice agent | Planning vs. compliance posture distinguished. Cites IRC sections + Treas. Regs | memo |
Lives at /admin/legal/practice-agents. Each agent’s card shows
starter prompts and the workflows it pairs with.
How it works
- User picks a practice agent → a new QA session is created with
copilot_keystamped on it. - On every ask,
legal_qaresolves the agent and:- Overlays its
system_prompt_extraonto the base Legal Assistant prompt. - Scopes Vault retrieval to the agent’s
vault_classifications. - If scoped retrieval returns nothing, transparently broadens and
stamps
broadened=trueon the Why trace.
- Overlays its
- The rest of the pipeline (knowledge sources, fine-tune, matter-team ACL) is unchanged.
Starter prompts
Each agent card lists 3-4 example questions that work well — click one to fire it. These are intended as demonstrations of the agent’s posture, not as a closed catalog.
Naming note
The internal API path (/admin/legal/copilots) and DB column
(copilot_key) still use “copilot” — that’s a locked contract. Only
the visible labels are “Practice agents” to avoid confusion with
Microsoft Copilot.
Extending
Adding a fourth practice agent is a one-file change —
services/legal_copilots.py registry. No migration. Tenant-level
overrides (firm-specific posture) are roadmap.