# Voice Dictionary — парные формулировки (модель → Олег) > **Назначение:** словарь для эмуляции голоса Олега. Слева — как написала бы модель (причёсанный натив или generic-дефолт). Справа — как написал/оставил Олег. Цель при генерации текста под его именем: узнавать левую колонку как «не его» и тянуться к правой. > > **Источник:** реальные парные правки из чатов проекта (Lucky Hunter / XPN Q1-Q2, Plata, Salmon, Miratech, Faye, Web Engineer/Robert, Ecommpay), плюс эталоны из voice-анализа. Каждая строка — фактическая пара, не выдуманная. > > **Как читать пометку «он принял» / «он откинул»:** «откинул» = я предложил левую, он вернул правую (чистейший сигнал голоса). «он принял» = он написал правую, я предложил левую, он согласился — но правая всё равно его естественная рука, и для эмуляции цель — она. > > Дополняет `voice-profile-oleg.md` (там правила), здесь — конкретные пары. --- ## 1. Глаголы действия: я тяну к «native verb», он — к простому/системному | Модель (левая) | Олег (правая) | Что меняется | |---|---|---| | I've built this pattern in several places | I've implemented such scenarious in serveral places | он берёт `implemented` + указатель `such scenarious`, не «built this pattern» | | picks the best-matching component by score | select a best matching component based on a score system | `based on a score system` вместо `by score`; постпозиция вместо компрессии | | fills its props from a compact component schema | fills props based on compact component schema | дроп артикля (`props`, `compact component schema`) + `based on` | | I built a harness around these steps | I also created a harness around these steps | `created`, не `built`; вводное `also` | | the chatbot that helps users create and modify page nodes | the chatbot that assist users in creating/modifying page nodes | `assist` (его опорное слово), drop -s, `in creating/modifying` | **Вывод:** не апгрейдить его глаголы до «сочного» нативного. `implemented / created / assist / orchestrates` — его база. Декоративные `picks / crafts / leverages` — чужие. --- ## 2. Постпозиция «from / based on» вместо компрессии | Модель (левая) | Олег (правая) | Что меняется | |---|---|---| | autonomously selecting components via a scored, filtered candidate pool | autonomously selecting components from a registry of 200+ from a scored, filtered candidate pool | двойное `from ... from ...` подряд — он так пишет, я бы свернул | | My relevant experience comes from PrimeUI | I see the relevant experience in what I've been doing at PrimeUI | **он откинул мою.** Калька с русского, оставил сознательно (русскоязычная команда = signal «свой») | **Вывод:** обоснование и источник он навешивает в хвост через `from` / `based on` / `in what I've been doing`. Не переворачивать в «X comes from Y». --- ## 3. Длинные цепочки через запятую, без точки с запятой | Модель (левая) | Олег (правая) | Что меняется | |---|---|---| | Each step reads the previously generated content, picks the best-matching component by score, **and** fills its props from a compact component schema. | Each step reads the previously generated content, select a best matching component based on a score system, fills props based on compact component schema. | я добавляю `and` перед последним блоком и причёсываю согласование; он нанизывает три глагольных блока через запятую без `and`, с плавающим -s | | it orchestrates around 20 agent tools **that access** the DB, UX layer, component registry, **and so on** | it orchestrates around 20 agent tools accessing DB, UX, component registry etc | он: `accessing` (не `that access`), `etc` (не `and so on`), drop артиклей в списке | **Вывод:** не разбивать его комма-цепочки на отдельные предложения и не вставлять `;`. `etc` он любит больше, чем `and so on`. --- ## 4. Самохарактеристики → двоеточие-заголовок | Модель (левая) | Олег (правая) | Что меняется | |---|---|---| | I'm a direct match | My day-to-day stack: [перечисление] | **он откинул мою.** Не заявляет «я подхожу», даёт фактам говорить через двоеточие-заголовок | | My day-to-day stack matches yours | [конкретные claims по годам на каждую технологию] | **он откинул мою** (Miratech): «слишком casual», заменил на годы-на-стек | | The core of the role is the work I've been doing | [открывашка сразу в свою работу, не пересказ JD] | **он откинул мою** (Miratech): я пересказал JD обратно работодателю — он ведёт сразу со своего | **Вывод:** он не пишет «I'm a great fit / matches yours / the role is what I do». Вместо самооценки — `My day-to-day stack:` + факты. Письмо НЕ открывает пересказом вакансии. --- ## 5. «Поэтичное» / гладкое → короткое конкретное | Модель (левая) | Олег (правая) | Что меняется | |---|---|---| | Multi-tenant and white-label is not new to me | [короткие конкретные предложения про Tipico: mobile app, web portal, casino team, betting widgets как consumers одного бэкенда] | **он откинул мою** (Miratech): «слишком поэтично», заменил на конкретику с named-сущностями | | Built the AI layer containing some independent AI flows | [назвать 4 потока: content writing, page generation, chatbot, sitemap generation] | vague `some ... flows` он сам потом раскрыл в число — но изначально склонен к vague, тут я подталкивал к конкретике | | Happy to dig into specifics on a call | Open to chat if it's a fit. | его закрывашка — короче и суше, без «happy to dig» | **Вывод:** где я сглаживаю в обтекаемую фразу — он рубит на короткие предложения с именами систем. Закрывашка короткая: `Open to chat if it's a fit.` --- ## 6. Связки и переходы | Модель (левая) | Олег (правая) | Что меняется | |---|---|---| | So, the content team ran experiments... | Content team ran experiments... | **он откинул `So`** в начале связки. Принцип: связь из содержания, не из слова | | Furthermore / Moreover / That said | [нет связки, новое предложение / двоеточие] | он не использует gluing-переходы в начале | | — (em-dash на вставке) | : или , или отдельное предложение | em-dash на parenthetical он не ставит, я ставлю | --- ## 7. Грамматические подписи (его рука — сохранять дозированно, НЕ «исправлять») Это правая колонка как есть — то, что я по привычке вычищаю, а для его голоса часть надо оставлять: | Модель причёсывает в → | Олег пишет → | Статус | |---|---|---| | PrimeUI is **an** AI-based platform | PrimeUI is AI based platform | drop артикля перед составным сущ. — **оставлять дозированно** | | with a focus on **high** design quality | with a focus on hi design quality | `hi`→high — фонетика на скорости; в followup ок, **в cover letter чистим** | | I've worked on it from scratch **for over a year** | I've been working on that project from scratch during more than one year | `during more than one year` — калька, его ритм; **оставлять в неформальном** | | picks the best-matching component (3 л. -s ровно) | reads... select... fills (плавающий -s) | согласование плавает внутри фразы — **дозированно ок** | --- ## 8. Чистые ошибки (правлю всегда — это НЕ голос, это опечатки) Эти правки он принимал без споров. Они отделяют «голос» (сохранять) от «брак» (чинить): | Олег написал | Правка | Тип | |---|---|---| | splitted to: | split into: | irregular verb, грамматика | | serveral / scenarious | several / scenarios | опечатка | | exelent | excellent | опечатка | | clients communication | client communication | мн.ч. в атрибутиве | | regulator approvements was | regulator approval was a critical step | несуществующее слово + согласование | | has signed Deel account | have a Deel account (W-8BEN on file) | глагол/артикль | | tested for a compatibility | tested for compatibility | лишний артикль | | Senior AI Engineer . (пробел перед точкой) | Senior AI Engineer. | типографика | **Граница:** `splitted`, `exelent`, `approvements` — чинить (брак). `AI based platform`, `assist users`, `I see the relevant experience` — НЕ трогать (голос). --- ## 9. Опорные слова правой колонки (тянуться к ним) Из его текстов, не из моих: **harness, orchestrates, registry, flow, loop, score / scored, from scratch, assist, such / these / that** (указатели), **etc**, **based on**. Дефолты модели, которых он не использует: leverage, robust, seamless, crafts, dig into, a direct match, So/Furthermore/Moreover в начале, em-dash на вставке. --- ## 10. Эталон целиком — одна пара для калибровки ритма **Моя версия (left, причёсанный натив):** > PrimeUI is an AI-based platform that generates production-level codebases for client websites, with a strong focus on the design quality of components and pages — I've worked on it from scratch for over a year. The core of page generation is a planner agent that iterates section by section across a page, autonomously selecting components from a registry of 200+ via a scored, filtered candidate pool. Each step reads the previously generated content, picks the best-matching component by score, and fills its props from a compact component schema. I built a harness around these steps with validation and a retry system. **Его версия (right, target voice):** > PrimeUI is AI based platform for generation production level codebases for clients websites with a focus on hi design quality of components and pages. I've been working on that project from scratch during more than one year. The core of pages generation is a planner agent that iterates section by section across a page, autonomously selecting components from a registry of 200+ from a scored, filtered candidate pool. Each step reads the previously generated content, select a best matching component based on a score system, fills props based on compact component schema. I also created a harness around these steps with validation and retry system. Разница на одном абзаце: я ставлю артикли, em-dash, `and` перед хвостом, апгрейжу `created→built` и `assist→helps`, сворачиваю двойное `from`. Он держит drop-артикли, комма-цепочку, постпозицию `based on`, плавающий -s, `from scratch during more than one year`.