Практычныя прытамулкі: як выкарыстоўваць GPT-Live-1: стварыце агента голасу, які слухае падчас
Практычныя прыказкі: як выкарыстоўваць GPT-Live-1: стварэнне голасовага агента, які слухае пад час роботы з контрактамі, пераказамі та слотамі для коду для команд, якія викорыстоўваюць гэты патэрн.
У гэтым карыце парадку перакладзены ўсі элементы, пры якіх з сыр'ёў ствараецца рабочая система для інструкцыі «Як выкарыстоўваць GPT-Live-1: стварыць голасовага агента, які слухае пад час розмовы». Акцэнт ставіцца на практычныя крокі, чысткія пераконтрацыі і код, які можна проста дадаць у репазітарый без неабясненых спадчыных параметраў. У стадіі агульнага перакладу неабходна з'явіць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры перадзмене коду. Аперацыйныя працавнікі должны магчымае перадзначыць крок з вядомай точкі контролю, не падозрываючы прыхованы стан системы. Конфігурацыю трэба залічыць паза кодам прыкладнення. Файлы сераўіса, хранільнікі секрэтных дадзеных і флагі функцыяй должны знаходзіцца ў аднам месцы, якое працавнікі можуць пераглядаць, не чытаючы весь код системы.
Што такое GPT-Live-1?
Калі працюеце над стадзіяй «Што такое GPT-Live-1», спачатку запісайце умовы кантракту: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список дапамагае заліцьваваць правдзівасць пазнейшых змян у коде. Документавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцці і обробка некоректных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Стварайце контрольныя пункты пасля дорогіх крокаў. Програма не должна зноў выклікаць той самы кантакт з LLM, калі аператар перапрыбуе пазнейшы вузел.
Галоўная ідея: Голас, які гаворыць, і мозг, які думае
Калі працюеце над стадзіяй «The Big Idea A», спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Валіце маленькія, тэставаныя елементы замест вялікіх скрыптав. Калі якісь крок неяксамоўвае, неяксамоства павінны адносіцца да адной адпаведнасці, а не да заплутанага ланца. Зробіце пераканальванне пасля дорогіх крокаў. Програма не павінна зноў выклікаць той самы вызов LLM, калі аператар праканае пазнейшы вузел.
Пачатак: ваша першая голасовая сесія
Калі вы працуеце над стадзіяй «Пачатак: ваш першы крок», спачатку запісайце угоду: неабяжлівыя данні, сигнал успеху і тое, што выканаецца у разе частковага невыпалення. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Спрэцьвуйце да гэтай стадзіі як да угоды межа даннімі і перакананымі выходамі. Дайце назвы элементам, задаць тэсты на успех і не падзеўляйце частковым завершэнням без паведамлення. Зробіце перапытку пасля дорогіх крокаў. Система вярнення не павінна зноў выклікаць той самы календар LLM, калі аператар прабуе зноў запрацаваць з пазнейшым вузлом. Калі вы працуеце над стадзіяй «Пачатак: ваш першы крок», спачатку запісайце угоду: неабяжлівыя данні, сигнал успеху і тое, што выканаецца у разе частковага невыпалення. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Зберагаце настройкі паза кодам прыемлівача. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функций павінны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабяжлівага чытання всей структуры.
Шаг 1: Зберагаеце ваш ключ API на серверы
Шаг 1 «Зберагаеце ваш ключ» працюе найкраща, калі яго розглядаюць як меркаваны элемент. Запісаўце адна ідеальная транскрыпцыя, адзін прыклад неудачы і прыметкі па поверненню да пачатковага стану пры розширэнні масштаба. Дакументавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкі контроль і обработка некоректных паведамленняў є часткай продукту, а не етапамі далейшага доўнелення. Зберагаеце стан графа ў простам і типаваным формате. Вкладныя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакоююць працу пасля перарываў.
Шаг 2: Пачніце сесію
Этап 2 «Пачатак стадыі» працюе наякраўней, калі яго спрыяваць як вимерную паверхню. Зафіксавайце адна «золатая» транскрыпцыю, адин прыклад неудачы і запіс пра вярнэнне да поперадньага стану пры розшырэнні масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісьць крок не выконваецца, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзервавайце стан графа ў простам і типізаваным формате. Вкладныя структуры маскуюць інфармацыю пра тое, який вузол запісаў які поле, і спакоююць продовжэнне выконання пасля перерываў.
{
"type": "session.start",
"session": {
"model": "gpt-live-1",
"instructions": "Be concise and ask before taking an external action.",
"audio": { "output": { "voice": "marin" } },
"delegation": { "type": "client" }
}
}
Этап 3: Перадача аудыю у обох направленнях
Этап аудыя-практыкі Step 3 працюе наявнасцю, калі яго спрыяваць як меравальную паверхню. Зберагачыце адны ідеальны транскрыпт, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштаб. Спрыявайце гэты этап як кантракт между вхіднымі дадзеннямі і перакананымі выходнымі рэзультатамі. Даўайце назвы артыфактам, задаюце критэрыя успеху і не прымайце часткова завершаныя рэзультаты без паведамлення. Храніце стан графа ў простым і типаванам формате. Вярнутыя структуры дадзення маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спаказваюць продаж чыннасці пасля перарываў. Этап аудыя-практыкі Step 3 працюе наявнасцю, калі яго спрыяваць як меравальную паверхню. Зберагачыце адны ідеальны транскрыпт, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштаб. Храніце настройкі за межамі коду прыемлівача. Файлы сяродавішча, хранальнікі секрэтных дадзенняў і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць без неабходнасці чытання всего графа.
Этап 4: Чытанне транскрыптаў
Для 4-го крока, пры чытанні этапу, паказваюцься вхідныя даны, адпаведальныя за крок і критэрыі завершэння пры змяне коду. Аперацыйныя працавнікі должны магчымаць перзапуск кроку з вядомай точкі контролю, не спрабоўваючы здогадвацца пра схованы стан. Неабходна задокументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкія перакрыцця і обробка некоректных паведамленняў є часткай продукту, а не чымсь, што дадаецца пазней. Неабходна людзкая затверджэнняе для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны прадукцыі. Працэс складання коду не ўзроўнаважваецца з повнасцю бізнес-функцыяў.
5-й крок: Правільна яго завершыць
Для стадіі «Закрыць, крок 5» неабяжна прадзефінаваць вхідныя даны, адпраўніка кроку і крэтыяры завершэння пры зміне коду. Аперацыйныя працавнікі павінны магчымае перзапускаць крок з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выканаецца, прычына нехасабності павінна вказываць на адзіну адпраўнічую функцыю, а не на заплутаны процес. Неабяжна ўключыць людзкую апраўдку для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе виробніцтва. Компіляцыйныя налашчэння не ўзначаюць павнасці бізнес-процэса.
Перадача роботы на бэкенд
Для пераходу задачі на наступны ўрадзень неабходна перад змянай коду адначасова визначыць вхідныя даны, адпаведальнага за выкананне крока і критэрыя завершэння. Аператары должны магчымае перайсці на гэты крок з вядомага пункта контролю, не спрабоўваючы здогадвацца пра захаваны стан. Спрыяйце таму, каб гэты ўрадзень вучыніўся контрактом межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даўце назвы всім элементам, визначыце критэрыя успеху і не падтрымайце бесшумнае частковае завершэння задачы. Забезпечыце людскія атестаціі для тых крокаў, якія выкалічваюць грошы або зменяюць даны, выкарыстоўваные у працэсе виробніцтва. Компіляцыйныя налашчэння не є адпаведнікамі пачатковай цэлесообразнасці задачы. Для пераходу задачі на наступны ўрадзень неабходна перад змянай коду адначасова визначыць вхідныя даны, адпаведальнага за выкананне крока і критэрыя завершэння. Аператары должны магчымае перайсці на гэты крок з вядомага пункта контролю, не спрабоўваючы здагадвацца пра захаваны стан. Зберагачыце налашчэння параду з коду прыкладнага програмнага забезпечэння. Файлы сераўіса, хранільнікі секрэтных данных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаючы весь код.
Варыянт А: Дэлегаванне адпаведзей
Калі працуеце над стадзіяй дэлегавання адпаведзей па Варыянце А, спачатку запісайце контракт: неабяжлівыя даннэ, сігнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі список пераканальвае ў тым, каб пазнейшыя змены коду былі чыстымі. Документавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкія контралі і обработка некоректных паведамленняў ёсць частью продукту, а не пазнейшым дапрацоўкам. Зробіце пераканальну пазначку пасля дорогіх крокаў. Система вярнення не павінна зноў вырахоўваць адплата за той самы вызов LLM, калі аператар перапрыбуе пазнейшы вузел.
"delegation": {
"type": "responses",
"responses": {
"model": "gpt-5.5",
"instructions": "Use tools when current information is required.",
"tools": [{ "type": "web_search" }],
"tool_choice": "auto"
}
}
Варыянт Б: Дэлегаванне кліентам
Калі працюеце над стадзіяй делегавання кліента па варыянце B, спачатку запісайце контракт: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага нявыпання. Такі список пераконтроўкі дапамагае заліцвачваць змяны ў кодзе пазнейша. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, прычына нявыпання павінна вказываць на адну адпаведальнасць, а не на заплутаны ланцужок задач. Зробіце пераконтроўку пасля дорогіх крокаў. Програма не павінна зноў выкарыстоўваць той самы вызов LLM, калі аператар праканае пазнейшы вузел.
{
"type": "session.commentary.append",
"delegation_id": "item_delegation_123",
"content": "Table for 4 is confirmed at 7:30 pm Friday."
}
Калі гэта коштуе
Калі працуеце над стадзіяй «Які ўскладнення?», спачатку запісайце угоду: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контролю дапамагае заліцьваты змяны ў кодзе чыстаюсь. Спрэцявачыце гэтую стадзію як угоду межа даннэмі і перакананымі результатамі. Дайце назвы артыфактам, задацьте критэрыя успеху і не падтрымвайце тыхі частковыя завершэння. Зробіце контрольны пункт пасля дорогіх крокаў. Система вярнення не павінна знову вырахоўваць кашты за той самы вызов LLM, калі аператар прабуе зноў запрацаваць пазнейшы вузел. Калі працуеце над стадзіяй «Якіў кашт?», спачатку запісайце угоду: неабяжлівыя даннэ, сігнал успеху і тое, што выходзіць у разе частковага невыпання. Такі список контролю дапамагае заліцьваты змяны ў кодзе чыстаюсь. Зберагачыце настройкі паза кодам прыемліка. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцыйяў павінны знаходзіцца ў аднам месцы, куда аператары можаць аудытаваць іх, не чытаючы весь граф.
Частка, якую пры публікацыі запуску праігнораваюць
Этап запуску працюе найкраща, калі яго розглядаць як вимерную паверхню. Запісаце адна «золатая» версія дадзеных, адзін прыклад неудачы і запіска працэй павернення да пачатковага стану пры розшырэнні масштаба. Дакументавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія контраліны і обработка некоректных паведамленняў ёсць часткай продукту, а не элементамі пазнейшага доўнеравання. Храніце стан графа ў простам і типаваным формате. Вкладаныя структуры дадзеных маскуюць інфармацыю пра тое, який вузел запісаў кожны поле, і спакоююць працэю пасля перарываў.
Перарывы не анулююць виконаную роботу
Прыем перарываў не абрывае выконання этапа, і ён працуе наяўней, калі расследжваецца як мерыемая паверхня. Запісаўце адна «золатая» транскрыпцыю, адин прыклад неудачы і прымітку па вярнэнню да пачатковага стану пры расшырэнні масштаба. Валіце маленькія, тэставаныя елементы замест большых скрыптаў. Калі якісьць кроку не выходзіць, прычына неудачы павінна вказваць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Рэзультаты графа павінны быць простымі та з адзінаковым типам дадзеных. Вярсткаваныя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакойваюць працу пасля перарываў.
«Прыйнята» не значыць «пачута»
Этап «Прынятага не чувацца» працюе наякша, калі яго спрыяваць як меравальную паверхню. Зафіксавце адны ідеальны прымер, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Спрыяйце этапу як даговору между вхіднымі даннымі і паўнастацэннымі выходамі. Дайце назвы артыфактам, задаце критэрыя успеху і адмовіцеся ад тых падчасных завершэнняў, якія не зафіксаваны. Храніце стан графа ў простам і типаваным формате. Вкладзеныя блокі маскуюць інфармацыю пра тое, який вузел запісаў канкрэтны поле, і спакшуюць возз'яджанне пасля перерываў. Этап «Прынятага не чувацца» працюе наякша, калі яго спрыяваць як меравальную паверхню. Зафіксавце адны ідеальны прымер, адзін кейс неудачы і запіс пра вярнэнне да пачатковага стану перш чым расширваць масштабы. Храніце настройкі параду ўнутры коду прыемлівача. Файлы сяродавысці, хранальнікі секрэтных данных і флагі функций должны знаходзіцца ў аднам месцы, куды аператары можаць аудытаваць іх без неабяжнага чытання всего графа.
Ціфры кэндзя-тестаў нават не саступаюцца між сабою
Для прагматычных показнікаў неабходна перад зменай коду задаць вхідныя даны, адпаведальнага за крок і критэрыя завершэння. Аператары должны магчымае перадзваніць крок з вядомай точкі контролю, не спрабоўваючы здогадвацца пра схованы стан. Неабходна задокументаваць як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкіе перакрыцця і обробка некоректных паведамленняў є частью продукту, а не яго пазнейшай дапрацоўкі. Неабходна людзкая затверджэння для тых крокоў, якія выкарыстоўваюць грошы або зміняюць даны праўдзівай роботы. Працэс складання коду не є адпаведніком повнай бізнес-готовасці.
Тыхі контексты не ўтвараюць безпечных месцаў для секрэтнаў
У контексте Quiet, дзе няма сцэны, перш чым зменіць код, неабяжна адзначыць вхідныя даны, адпаведальнага за крок і критэрыі завершэння. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрюючы прыхованага стану. Лепш выбіраць маленькія, тэставаныя елементы замест амаль неканчатых скрыптав. Калі крок не выйшоў, прычына неудачы павінна вказываць на адзін конкрэтны аспект, а не на заплутаны процес. Неабяжна працаваць з апраўданнем чалавека ў тых випадках, калі выконваюцца витраты чы зменяюцыся даны для працы. Компіляцыйныя налаштаванні не ўзроўнаўцяюцься з пачатковым станом бізнесу.
Калі яго вжываць, а калі — ня
У стадії «Календар змашчэння» неабяжна практыкаваць апранаванне інпутаў, выявіць адпаведальную особу за крок і задаць критэрыя завершэння прычыму змянам у кодзе. Аператары павінны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы схованы стан. Спрыяйце гэтай стадіі як даговору межа інпутамі і падтверджанымі выходамі. Даўце назвы артыфактам, задаць перакананні ў успеху і адмовіцеся ад тыхнай частковай рэалізацыі без паведамлення. Забяжна ўключыць людзкую апрацоўку для тых крокаў, якія выкарыстоўваюць грошы чы зміняюць даны праўай працы. Компіляцыйныя налашчэння не ўзроўнаваны з абсягамі бізнес-працы.
Хораша адпаведнасць
Для стадіі правильнага адаптавання неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і критэрыя завершэння пры перадзеіснавленні коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не прабуючы спадарожваць схованы стан. Запісвайце час выконання і кост токена або запыту праза функцыйнальныя рэзултаты. Відразлівасць коста з самага пачатку запобегае неспакоўным рахункам, калі процес пераходзіць з дэмавайнага режыма ў спяльныя сераўры. Заставіце людзкую апрацоўку для тых крокаў, якія выкарыстоўваюць грошы або зміняюць даны ў працэсе. Компіляцыйныя налашчэнні не ўзначаюць павнае адпрацоўкі задачы з точка зору бізнеса.
Падумайце два разы
Для стадіі «Парадоксавайце два разы» неабяжна падзець вхідныя даны, адпаведнага адпаведальнага за крок і крэтары выходу пры змяне коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю, не падозрываючы схованы стан. Конфігурацыю трэба залічыць праз аплякацыйны код. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцыйяў должны знаходзіцца ў аднам месцы, якое аператары можаць пераглядаць, не чытаяўшы весь лянцуг. Прызначыце людскія апраўды для рэласаў, якія витрачаюць грошы або зменяюць даны ў працэсе. Падключэнне праз час компілявання не ўзроўнаўваецца з полным адпрацаваннем бізнес-процэсаў.
Вывыкі
Для стадіі Take Aways неабяжна практыка адзначыць вхідныя данні, адпаведальнага за крок і крэтырыя выходу пры перадзеіснаванні коду. Аператары должны магчымаць перзапуск кроку з вядомай точкі контролю, не падозрываючы схованы стан. Неабяжна аддактуваць дакументацыю як пра успішны, так і пра патэнтны ход роботы. Перапрыбуткі, людзкія пераказы і обработка некоректных паведамленняў ёсць часткай продукту, а не пасляднім дапрацоўкам. Неабяжна застаўляць людзкую аправу для тых крокаў, якія выкарыстоўваюць грошы або зменяюць данні ў працэсе вырабніцтва. Працэс кампайлявання не ўзроўнаважваецца з полным адпрацоўкам бізнес-функцыйяў.
Чэк-ліст для эксплуатацыі
Стадія чэк-ліста для эксплуатацыі працюе наякшэ, калі яе спрыймаюць як мерыемую плошчу. Перад расширэнням масштаба неабяжна зафіксаваць адну ідеальную транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану.
Запісваць часы выканання і косты токенаў аб запытоў разам з функцыйнальнымі рэзултатамі. Відкрытыя данні пра косты з самага пачатку запобегаюць неспакойным рахункам, калі ход роботы пераходзіць з дэмаверсіі ў спяльныя среды.
Зберагаюце стан графа ў простам і типаваным формате. Вкладаныя блобы маскуюць інфармацію пра тое, який вузел запісаў якое поле, і спакошуюць продовжэнне роботы пасля перерываў.
Калі дозволяе бюджет, дадзіце тэст на перакананне, які працюе з критычным шляхам у CI за дапамою фікстураў, а не реальных платных API.
Конфігурацыю трэба зберагаць паза кодам прыкладнай програмы. Файлы сераўнавання, хранільнікі секрэтных данных і флагі функцыяй должны знаходзіцца ў аднам месцы, куда аператары можуць аудытувать іх без неабяжнага чытання всего графа.
Зберагаюце стан графа ў простам і типаваным формате. Вкладаныя блобы маскуюць інфармацію пра тое, який вузел запісаў якое поле, і спакошуюць продовжэнне роботы пасля перерываў.
Перш чым апранаваць стек, заморозьце версіі, зафіксуйце ідеальны транскрыпт для критычнага шляху і паказваце крокі для атрыбутавання. У спакульнаванных сераўнаваннях неабходны ліміты швайнасці, перакананні ў прыналежнасці і чыстае вялоўнік для змены секрэтных данных. Валіце надзейнасць працы над красавім разовым дэманстрацыйным прыкладам.
Запіскі для пакета 6b66574ee670: не класты ключі прадаўцоў у репазітарыю, задаць максымальны тэрмін дзейнасці токена на кожную сесію, а таксама зберагчы транскрыпціі празаўсюды з фікстурамі для ацэнкі, каб пазнейшыя замены моделяў заставаліся пораўнанымі.