You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 1f34686
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: fern/gpt-live/design.mdx
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -88,6 +88,13 @@ Start each piece of work as soon as its inputs are known, and use the conversati
88
88
- A time can be chosen only after the open times are known.
89
89
- A booking can be announced only after the booking tool confirms it.
90
90
91
+
<divclassName="gpt-live-illustration">
92
+
<imgclassName="gpt-live-art-light"src="../static/images/gpt-live/dependency-cairn-light.svg"alt="Stacked stones show the dependencies for booking: service, location and date support open times, a chosen time and caller agreement. The name can be gathered independently."loading="lazy" />
93
+
<imgclassName="gpt-live-art-dark"src="../static/images/gpt-live/dependency-cairn-dark.svg"alt="Stacked stones show the dependencies for booking: service, location and date support open times, a chosen time and caller agreement. The name can be gathered independently."loading="lazy" />
94
+
<imgclassName="gpt-live-art-light-compact"src="../static/images/gpt-live/dependency-cairn-light-compact.svg"alt="Stacked stones show the dependencies for booking: service, location and date support open times, a chosen time and caller agreement. The name can be gathered independently."loading="lazy" />
95
+
<imgclassName="gpt-live-art-dark-compact"src="../static/images/gpt-live/dependency-cairn-dark-compact.svg"alt="Stacked stones show the dependencies for booking: service, location and date support open times, a chosen time and caller agreement. The name can be gathered independently."loading="lazy" />
96
+
</div>
97
+
91
98
The useful test for any question during a lookup is whether the outstanding work still answers the caller's need after they reply. In this example, the lookup tool returns every open time for the requested day and location. So if the caller says "afternoon, ideally after three" while that lookup runs, the result still covers it, and the assistant can filter. If the caller says "Actually, can we do Riverside instead?", the running lookup no longer answers the request, and a new one is needed.
92
99
93
100
That's why the example lookup returns the whole day rather than taking a time-of-day argument. When you design your own tools, return enough to answer the likely follow-up questions without another round trip, as long as the result stays short.
@@ -293,6 +300,13 @@ Existing squads and assistant handoffs aren't supported with GPT-Live. See [Migr
293
300
294
301
The speaker hears the caller's voice, but the reasoner works from the transcript, and a transcript can contain mistakes. A name, reference number, or date that's slightly wrong in the transcript becomes a wrong tool argument.
295
302
303
+
<divclassName="gpt-live-illustration">
304
+
<imgclassName="gpt-live-art-light"src="../static/images/gpt-live/name-prism-light.svg"alt="One spoken name branches into three possible spellings, with Siobhan highlighted."loading="lazy" />
305
+
<imgclassName="gpt-live-art-dark"src="../static/images/gpt-live/name-prism-dark.svg"alt="One spoken name branches into three possible spellings, with Siobhan highlighted."loading="lazy" />
306
+
<imgclassName="gpt-live-art-light-compact"src="../static/images/gpt-live/name-prism-light-compact.svg"alt="One spoken name branches into three possible spellings, with Siobhan highlighted."loading="lazy" />
307
+
<imgclassName="gpt-live-art-dark-compact"src="../static/images/gpt-live/name-prism-dark-compact.svg"alt="One spoken name branches into three possible spellings, with Siobhan highlighted."loading="lazy" />
308
+
</div>
309
+
296
310
For anything the task depends on, have the assistant read it back before acting:
297
311
298
312
> **Caller:** It's under Siobhan.
@@ -341,6 +355,13 @@ what they say.
341
355
342
356
A consistent personality doesn't require a constant pace.
343
357
358
+
<divclassName="gpt-live-illustration">
359
+
<imgclassName="gpt-live-art-light"src="../static/images/gpt-live/pacing-dunes-light.svg"alt="A single voice moves through closely spaced waves into wider, more spacious rhythms."loading="lazy" />
360
+
<imgclassName="gpt-live-art-dark"src="../static/images/gpt-live/pacing-dunes-dark.svg"alt="A single voice moves through closely spaced waves into wider, more spacious rhythms."loading="lazy" />
361
+
<imgclassName="gpt-live-art-light-compact"src="../static/images/gpt-live/pacing-dunes-light-compact.svg"alt="A single voice moves through closely spaced waves into wider, more spacious rhythms."loading="lazy" />
362
+
<imgclassName="gpt-live-art-dark-compact"src="../static/images/gpt-live/pacing-dunes-dark-compact.svg"alt="A single voice moves through closely spaced waves into wider, more spacious rhythms."loading="lazy" />
363
+
</div>
364
+
344
365
| Moment | Delivery to aim for |
345
366
| --- | --- |
346
367
| The caller knows what they want | Short questions and concise answers |
Copy file name to clipboardExpand all lines: fern/gpt-live/migrate.mdx
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,6 +74,13 @@ You can also migrate by hand through the API: create a new assistant with the GP
74
74
75
75
A classic assistant has one prompt that covers both how to talk and how to do the work. GPT-Live has two. The speaker prompt shapes the conversation and says when to delegate. The reasoner prompt holds the procedures and tool rules. Neither sees the other, so rules that affect both belong in both, worded for each role.
76
76
77
+
<divclassName="gpt-live-illustration">
78
+
<imgclassName="gpt-live-art-light"src="../static/images/gpt-live/split-prompt-light.svg"alt="Prompt instructions separate into speaker and reasoner bundles. One shared rule branches into both."loading="lazy" />
79
+
<imgclassName="gpt-live-art-dark"src="../static/images/gpt-live/split-prompt-dark.svg"alt="Prompt instructions separate into speaker and reasoner bundles. One shared rule branches into both."loading="lazy" />
80
+
<imgclassName="gpt-live-art-light-compact"src="../static/images/gpt-live/split-prompt-light-compact.svg"alt="Prompt instructions separate into speaker and reasoner bundles. One shared rule branches into both."loading="lazy" />
81
+
<imgclassName="gpt-live-art-dark-compact"src="../static/images/gpt-live/split-prompt-dark-compact.svg"alt="Prompt instructions separate into speaker and reasoner bundles. One shared rule branches into both."loading="lazy" />
82
+
</div>
83
+
77
84
For example, a classic prompt for an appointment assistant at Example Service Studio, a fictional business, might read:
Copy file name to clipboardExpand all lines: fern/gpt-live/testing.mdx
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -100,6 +100,13 @@ Callers notice two kinds of delay, and they have different causes:
100
100
101
101
Measure them separately. The call's messages and your service's logs have timestamps for delegations and tool calls, and the recording shows when the caller heard each part.
102
102
103
+
<divclassName="gpt-live-illustration">
104
+
<imgclassName="gpt-live-art-light"src="../static/images/gpt-live/two-delays-light.svg"alt="Two intervals begin at the same moment: a short interval to the first reply and a longer interval to the result."loading="lazy" />
105
+
<imgclassName="gpt-live-art-dark"src="../static/images/gpt-live/two-delays-dark.svg"alt="Two intervals begin at the same moment: a short interval to the first reply and a longer interval to the result."loading="lazy" />
106
+
<imgclassName="gpt-live-art-light-compact"src="../static/images/gpt-live/two-delays-light-compact.svg"alt="Two intervals begin at the same moment: a short interval to the first reply and a longer interval to the result."loading="lazy" />
107
+
<imgclassName="gpt-live-art-dark-compact"src="../static/images/gpt-live/two-delays-dark-compact.svg"alt="Two intervals begin at the same moment: a short interval to the first reply and a longer interval to the result."loading="lazy" />
108
+
</div>
109
+
103
110
When the task takes too long, try these, one at a time, and check that the outcome is still correct after each change:
Copy file name to clipboardExpand all lines: fern/gpt-live/tools.mdx
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,13 @@ A tool's inputs and results shape the conversation as much as the prompts do.
30
30
31
31
**Return enough to answer the likely follow-up.** The example lookup takes a service, location, and date, and returns every open time for that day. If the caller adds "ideally after three" while it runs, the result still answers the request, and the assistant can filter it without another lookup. A different day or location changes the request, so it needs a new lookup. Keep results short even when they're complete.
32
32
33
+
<divclassName="gpt-live-illustration">
34
+
<imgclassName="gpt-live-art-light"src="../static/images/gpt-live/whole-day-light.svg"alt="Available times are 10:30 AM, 2:30 PM and 4:00 PM. The after-3-PM region highlights 4:00 PM within the same result."loading="lazy" />
35
+
<imgclassName="gpt-live-art-dark"src="../static/images/gpt-live/whole-day-dark.svg"alt="Available times are 10:30 AM, 2:30 PM and 4:00 PM. The after-3-PM region highlights 4:00 PM within the same result."loading="lazy" />
36
+
<imgclassName="gpt-live-art-light-compact"src="../static/images/gpt-live/whole-day-light-compact.svg"alt="Available times are 10:30 AM, 2:30 PM and 4:00 PM. The after-3-PM region highlights 4:00 PM within the same result."loading="lazy" />
37
+
<imgclassName="gpt-live-art-dark-compact"src="../static/images/gpt-live/whole-day-dark-compact.svg"alt="Available times are 10:30 AM, 2:30 PM and 4:00 PM. The after-3-PM region highlights 4:00 PM within the same result."loading="lazy" />
38
+
</div>
39
+
33
40
**Echo the request details.** Include the date and location in each result. When the caller changes their mind during a lookup, the earlier result may still come back, and the details make it easy to recognize as out of date.
34
41
35
42
**Say what didn't happen, as well as what did.** "Availability only. Nothing has been booked" helps the assistant avoid overstating a lookup.
0 commit comments