Skip to content

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:

AgentPosturePreferred classifications
M&A practice agentBuy-side default, switches to sell-side on promptprecedent_contract
Litigation practice agentAdvocacy default, finds strongest argument then anticipates opposingbrief, depo_transcript, exhibit
Tax practice agentPlanning vs. compliance posture distinguished. Cites IRC sections + Treas. Regsmemo

Lives at /admin/legal/practice-agents. Each agent’s card shows starter prompts and the workflows it pairs with.

How it works

  1. User picks a practice agent → a new QA session is created with copilot_key stamped on it.
  2. On every ask, legal_qa resolves the agent and:
    • Overlays its system_prompt_extra onto the base Legal Assistant prompt.
    • Scopes Vault retrieval to the agent’s vault_classifications.
    • If scoped retrieval returns nothing, transparently broadens and stamps broadened=true on the Why trace.
  3. 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.