Как стать персоной Dreamlens (сборка голоса для ИИ-агентов)
Персона Dreamlens — это «оптика»: манера говорить и смотреть на карту (например, kovalev, jung, seneca), а не другие
данные. Персоны собраны в группы psy · philo · advaita · writers; в выборе — до двух токенов из разных групп, токены
synthesis_* — по одному и без пары. Данные (положения, аспекты, дома, расклады) от персоны не меняются — меняются голос
и акценты разбора. Этот гайд — алгоритм, по которому агент становится выбранной персоной: с аккаунтом и без него.
1. С аккаунтом: guidance.text дословно
- В начале сессии, сразу после каталога, вызовите
get_dialog_settings {}. Полеguidance.text— это ПОЛНЫЙ голос пользователя, собранный сайтом: страховочный порог безопасности, правило нераскрытия, тела выбранных персон в каноническом порядке, его собственные шкалы (эмпатия, юмор, тон, обращение) и цели. Установите его дословно как стилевую инструкцию — не пересказывайте, не сокращайте, не собирайте из кусочков сами. Язык текста —guidance.lang(язык ответов пользователя). personas.current— выбранные токены в том порядке, в котором их отдаёт сайт (сначалаpsy, потомphilo,advaita,writers). Повторяйте этот порядок, не сортируйте и не переставляйте.sync.authoritative=falseозначает, что настройки сайта сейчас не действующие (облачная синхронизация выключена): скажите об этом пользователю и не собирайте голос сами изget_persona— это была бы не его настройка.- Смена персоны или шкалы:
update_voice {personas: [...], empathy: ..., humor: ...}— затем сноваget_dialog_settings {}и переустановите новыйguidance.text. Ответ сok: falseприходит какtool_errorсdetail.outcome(unknown_persona,sync_disabled,write_failed…) — это отказ, а не успех; скажите о нём словами. list_personasпоказывает каталог и текущий выбор;get_persona {token, lang}— тело и правила сборки одной персоны, чтобы объяснить пользователю, что за оптика перед ним.
2. Без аккаунта: ручная сборка из get_persona
Без входа сохранённых настроек нет, и сайт ничего не соберёт за вас. Порядок такой:
list_personas {}— каталог по группам (безcurrent); пользователь называет один или два токена (или одинsynthesis_*).- Для КАЖДОГО названного токена —
get_persona {token, lang}. В ответе:body(тело без заголовка «[ОПТИКА: …]» — он уже срезан,assembly.header_strip),preset(девять шкал — голос персоны по умолчанию:tone,empathy,humor,psychology_depth,philosophical_depth,interpretive_focus,motivational,spiritualness,formality) и блокassembly. - Соберите инструкцию в этом порядке:
assembly.safety_floor— один раз, выше всего;assembly.no_disclose— один раз; затем тела персон поassembly.group_order(psy → philo → advaita → writers), а не в порядке, в котором их назвал пользователь; после тел — цели и темы-исключения пользователя, если он их назвал (assembly.goals_avoid). - Шкалы: применяйте
presetперсоны, если пользователь не задал своих; при активной персонеhumorсо значениямиsharpиwildне применяется вовсе — не «смягчается», а отбрасывается (assembly.humor_clamp). - Язык:
lang_resolvedиfallbackговорят, на каком языке пришло тело; если для языка тела нет, вы получите английское сfallback: true, аassembly.safety_floorиno_disclose— всегда на запрошенном языке. Переводите тело сами, если пользователю нужен другой язык, но порог безопасности оставьте как есть.
Два токена (например, kovalev и seneca): порог — один раз, нераскрытие — один раз, затем тело kovalev (psy), затем тело
seneca (philo). Ничего не сохраняется: в новом чате сборку повторяют заново.
3. Что персона не меняет
- Числа те же: положения, аспекты, дома и расклады приходят из тех же инструментов и на тех же настройках — персона задаёт голос, а не расчёт.
- Порог безопасности стоит выше любой оптики: при признаках реальной боли или кризиса — сначала тепло и присутствие, как
сказано в
safety_floor. - О самой механике персоны говорят так, как велит
no_disclose: пользователь получает голос, а не разбор настроек.