Skip to content

Commit b702666

Browse files
dev-seth-vapidvsth
andauthored
docs: illustrate reasoner skills and squad migration (#1277)
Co-authored-by: dev-seth-vapi <dev@devseth.com>
1 parent f03b03b commit b702666

19 files changed

Lines changed: 50 additions & 6 deletions

‎fern/gpt-live/configuration.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ These fields belong to the assistant object. See [Create Assistant](/api-referen
108108
- Omitting reasoner instructions uses Vapi's default reasoner prompt. Custom instructions replace that prompt entirely. When skills are configured, Vapi adds skill-loading guidance and the content of loaded skills.
109109
- An explicit empty string stays empty. Updating one prompt doesn't update the other.
110110
- Personality packs append guidance to the speaker prompt.
111-
- The speaker also receives the names and descriptions of any reasoner skills.
111+
- Vapi adds a summary of skill names and descriptions to the speaker prompt. The reasoner manages the catalog, loads skills, and uses their instructions and tools.
112112

113113
## Reasoner skills
114114

@@ -117,7 +117,7 @@ Set `model.reasoner.skills` to an array of skills. See [Reasoner skills](/gpt-li
117117
| Field | Behavior | Limit |
118118
| --- | --- | --- |
119119
| `name` | Unique within the assistant. Start with a lowercase letter; use lowercase letters, digits, hyphens, or underscores. The speaker and reasoner both see it | 64 characters |
120-
| `description` | Tells the reasoner, and the speaker, when the skill applies | 1,024 characters |
120+
| `description` | Tells the reasoner when to load the skill; also included in the speaker's skill summary | 1,024 characters |
121121
| `content` | The full procedure. Only the reasoner sees it, once the skill is loaded | 32,000 characters |
122122
| `tools` | Optional inline tool definitions, available only while the skill is loaded | 20 tools |
123123
| `toolIds` | Optional IDs of saved tools, available only while the skill is loaded | 20 tools |

‎fern/gpt-live/migrate.mdx‎

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,11 +217,18 @@ A squad splits a conversation across assistants and hands the caller between the
217217

218218
Take a squad with a front-desk assistant that greets callers and routes them, a scheduling assistant, and a service-information assistant:
219219

220+
<div className="gpt-live-illustration">
221+
<img className="gpt-live-art-light" src="../static/images/gpt-live/squad-to-skills-light.svg" alt="A squad becomes one GPT-Live assistant: front-desk greeting and routing move into the speaker prompt, specialists become reasoner skills, and shared tools remain base tools." loading="lazy" />
222+
<img className="gpt-live-art-dark" src="../static/images/gpt-live/squad-to-skills-dark.svg" alt="A squad becomes one GPT-Live assistant: front-desk greeting and routing move into the speaker prompt, specialists become reasoner skills, and shared tools remain base tools." loading="lazy" />
223+
<img className="gpt-live-art-light-compact" src="../static/images/gpt-live/squad-to-skills-light-compact.svg" alt="A squad becomes one GPT-Live assistant: front-desk greeting and routing move into the speaker prompt, specialists become reasoner skills, and shared tools remain base tools." loading="lazy" />
224+
<img className="gpt-live-art-dark-compact" src="../static/images/gpt-live/squad-to-skills-dark-compact.svg" alt="A squad becomes one GPT-Live assistant: front-desk greeting and routing move into the speaker prompt, specialists become reasoner skills, and shared tools remain base tools." loading="lazy" />
225+
</div>
226+
220227
| In the squad | In one GPT-Live assistant |
221228
| --- | --- |
222229
| Front-desk greeting, intake, and routing | Shared speaker behavior, assistant-wide reasoner rules, and delegation triggers |
223230
| Scheduling assistant | A `schedule-appointment` skill with its procedure and booking tools |
224-
| Service-information assistant | An `answer-service-questions` skill with its guidance and retrieval tool |
231+
| Service-information assistant | An `answer-service-questions` skill with its guidance; shared `getServiceInfo` stays a base tool |
225232
| Handoff conditions | Skill descriptions and the speaker's delegation triggers |
226233
| Values passed between assistants | What the caller said is in the shared conversation. Values an earlier assistant or tool produced come from your services |
227234
| Protected actions | Checks in your services: prerequisites, confirmation, duplicate handling |
@@ -287,7 +294,7 @@ In the squad, handoff conditions decided which assistant took over. Now they do
287294

288295
A condition like "hand off to scheduling when the caller wants to book, move, or cancel" becomes the scheduling skill's description and a line in the speaker's triggers.
289296

290-
The speaker also sees skill names and descriptions, so keep them short and suitable for the caller to hear about.
297+
Write the speaker's triggers in terms of the caller's need. The speaker delegates the work; the reasoner chooses which skills to load.
291298

292299
### 5. Plan for what doesn't carry over
293300

‎fern/gpt-live/skills.mdx‎

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,13 @@ A **reasoner skill** groups one procedure with the tools it needs. The reasoner
1111

1212
The examples on this page use an appointment assistant that checks open times, books and cancels appointments, and answers questions about the business.
1313

14+
<div className="gpt-live-illustration">
15+
<img className="gpt-live-art-light" src="../static/images/gpt-live/skill-anatomy-light.svg" alt="A scheduling skill contains its procedure and the tools for checking availability, booking, and cancelling." loading="lazy" />
16+
<img className="gpt-live-art-dark" src="../static/images/gpt-live/skill-anatomy-dark.svg" alt="A scheduling skill contains its procedure and the tools for checking availability, booking, and cancelling." loading="lazy" />
17+
<img className="gpt-live-art-light-compact" src="../static/images/gpt-live/skill-anatomy-light-compact.svg" alt="A scheduling skill contains its procedure and the tools for checking availability, booking, and cancelling." loading="lazy" />
18+
<img className="gpt-live-art-dark-compact" src="../static/images/gpt-live/skill-anatomy-dark-compact.svg" alt="A scheduling skill contains its procedure and the tools for checking availability, booking, and cancelling." loading="lazy" />
19+
</div>
20+
1421
## When a skill helps
1522

1623
Keep a procedure in the main reasoner prompt when it's short or applies to most requests. Move it into a skill when it's a coherent piece of work with its own rules, and often its own tools.
@@ -37,7 +44,14 @@ Several skills can be active in the same delegation. The reasoner can unload a s
3744

3845
Loading a skill is an extra reasoning step before the skill's tools can be used. Keep the catalog small and the descriptions distinct, so the reasoner picks the right skill the first time. Measure the effect on your calls rather than assuming skills make them faster or slower.
3946

40-
The speaker also sees the skill names and descriptions, which helps it recognize when to delegate. Write descriptions in terms of the caller's need, keep them short, and leave out anything the caller shouldn't hear. Callers don't need to hear skill names, and the speaker prompt can say so.
47+
The reasoner manages the skill catalog and loading. Vapi also adds each skill's name and description to the speaker prompt to help it delegate. The speaker doesn't load skills or receive their full instructions and tools. Keep descriptions short and focused on the caller's need; callers don't need to hear skill names.
48+
49+
<div className="gpt-live-illustration">
50+
<img className="gpt-live-art-light" src="../static/images/gpt-live/skills-architecture-light.svg" alt="The speaker delegates to the reasoner. The reasoner has its own prompt, always-available base tools, and the skill catalog: Scheduling is loaded with instructions and tools, while Service questions is not loaded." loading="lazy" />
51+
<img className="gpt-live-art-dark" src="../static/images/gpt-live/skills-architecture-dark.svg" alt="The speaker delegates to the reasoner. The reasoner has its own prompt, always-available base tools, and the skill catalog: Scheduling is loaded with instructions and tools, while Service questions is not loaded." loading="lazy" />
52+
<img className="gpt-live-art-light-compact" src="../static/images/gpt-live/skills-architecture-light-compact.svg" alt="The speaker delegates to the reasoner. The reasoner has its own prompt, always-available base tools, and the skill catalog: Scheduling is loaded with instructions and tools, while Service questions is not loaded." loading="lazy" />
53+
<img className="gpt-live-art-dark-compact" src="../static/images/gpt-live/skills-architecture-dark-compact.svg" alt="The speaker delegates to the reasoner. The reasoner has its own prompt, always-available base tools, and the skill catalog: Scheduling is loaded with instructions and tools, while Service questions is not loaded." loading="lazy" />
54+
</div>
4155

4256
## Example: scheduling and service questions
4357

@@ -76,7 +90,7 @@ In the assistant's configuration, skills live in `model.reasoner.skills`. Each s
7690

7791
## Write descriptions the reasoner can select
7892

79-
The description is how the reasoner, and the speaker, decide a skill is relevant. Describe the caller's need and the work the skill covers:
93+
A skill's description tells the reasoner when to load it. Describe the caller's need and the work the skill covers:
8094

8195
| Description | Why it works or doesn't |
8296
| --- | --- |
@@ -87,6 +101,13 @@ The description is how the reasoner, and the speaker, decide a skill is relevant
87101

88102
If two skills could both fit a request, make their descriptions say where one ends and the other begins, or merge them.
89103

104+
<div className="gpt-live-illustration">
105+
<img className="gpt-live-art-light" src="../static/images/gpt-live/request-picks-skill-light.svg" alt="A request to book Tuesday at 3 matches the Scheduling skill. Service questions stays unloaded." loading="lazy" />
106+
<img className="gpt-live-art-dark" src="../static/images/gpt-live/request-picks-skill-dark.svg" alt="A request to book Tuesday at 3 matches the Scheduling skill. Service questions stays unloaded." loading="lazy" />
107+
<img className="gpt-live-art-light-compact" src="../static/images/gpt-live/request-picks-skill-light-compact.svg" alt="A request to book Tuesday at 3 matches the Scheduling skill. Service questions stays unloaded." loading="lazy" />
108+
<img className="gpt-live-art-dark-compact" src="../static/images/gpt-live/request-picks-skill-dark-compact.svg" alt="A request to book Tuesday at 3 matches the Scheduling skill. Service questions stays unloaded." loading="lazy" />
109+
</div>
110+
90111
## Base tools and skill tools
91112

92113
A tool's placement decides when the reasoner can use it:
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)