Pull to refresh
2K+
43
Иван Новиков@stranger777

Редактор-переводчик

0,4
Rating
44
Subscribers
Send message

Вот только нейронка это инструмент и с практикой приходит понимание как лучше всего общаться с нейронками. Тот же клод матерные посылы понимает в разы лучше простого диалога, я даже спецом проводил эксперименты на эту тему ("перепроверь результат" и "перепроверь результат блядина" дают разные результаты по глубине).

Потому что учился на человеческих текстах. А мы понимаем друг друга точнее, когда общаемся грубо. Не потому, что грубость — это хорошо, а потому, что грубость — это указатель на значимую неточность до применения грубости. Она указывает модели на необходимость переосмысления ответа на каждом шаге, кроме прочего. Это замена длинного: "Ты ошибаешься на каждом шаге рассуждения, прими это", амортизация галлюцинаций.

Кстати о птичках. Всё хочу поделиться, но это не пройдёт нормально даже постом, запрос для LLM:

Редакторский язык разметки для IT-литературы (РЯР-IT)

Версия 4.0 — расширенная, профессионально обоснованная

1. ФИЛОСОФИЯ ЯЗЫКА

РЯР-IT — контекстно-независимый, жанрово-осознанный, когнитивно-ориентированный инструмент редакторской разметки.
Он не привязан к языку программирования, уровню читателя или цели книги.

Язык фокусируется на пяти уровнях качества текста:

Уровень Критерий Источник структурный соответствие жанру «техническая глава» ГОСТ 7.0.97–2016, Swales 1990 логический ясность, непротиворечивость, последовательность Розенталь, §170 языковой грамматическая, орфографическая и пунктуационная корректность Лопатин, Розенталь стилистический нейтральность, отсутствие штампов и книжностей НКРЯ, ОРФО когнитивный управление нагрузкой на читателя Sweller 1988, Plain Language Movement

Изменение контекста (язык, аудитория, цель) не требует изменения самого языка разметки.

2. СИНТАКСИС

!тип: содержание
  • ! — обязательный префикс

  • тип — одно слово из закрытого списка (см. §3)

  • : — строгий разделитель

  • содержание — кратко, конкретно, без оценок, на русском языке

Примеры:

!сочетаемость: «задачи по программированию» — нарушение лексической сочетаемости (НКРЯ)
!нагрузка: предложение из 22 слов — превышает порог читаемости (Plain Language: ≤20 слов)
!жанр: заголовок-вопрос — недопустим в технической литературе (ГОСТ 7.0.97–2016, п. 5.3.2)

3. УНИВЕРСАЛЬНЫЙ СПИСОК ТИПОВ

3.1 Контекстно-независимые типы (всегда применимы)

Тип Описание Источник грамматика нарушения морфологии и синтаксиса (падежи, согласование, управление) Розенталь, §34–78 орфо орфографические ошибки или нестандартное написание Орфографический словарь РАН (Лопатин) пунктуация ошибки в постановке знаков препинания Розенталь, §89–128 лексика неуместная лексика (жаргон, архаизмы, непояснённые англицизмы) НКРЯ, ОРФО стиль отклонение от нейтрального технического стиля (разг., канц., книжн.) Розенталь, «Справочник по стилистике» штамп клише учебной или публицистической речи («желающих научиться», «будет интересна как тем…») Шанский книжность архаичные или излишне возвышенные обороты («путеводитель», «проследовать») ОРФО сочетаемость нарушение норм лексической/стилистической сочетаемости Ахманова; НКРЯ повтор тавтология, плеоназм, смысловое дублирование Розенталь, §197 ясность фраза требует пояснения для неподготовленного читателя Plain Language Principle амбиг двусмысленность, допускающая разные интерпретации ГОСТ 7.0.4–2006, п. 6.1 логика противоречие, скачок в рассуждении, неверный вывод Розенталь, §170 структура нарушен порядок изложения или композиционная целостность ГОСТ 2.105–95, п. 4.3 мотивация отсутствует объяснение «почему» Zobel, «Writing for Computer Science» термин неточное, неединообразное или неопределённое употребление термина ГОСТ 7.0.4–2006 жанр несоответствие жанровым нормам технической главы (вопрос в заголовке, рекламный тон) Swales, ГОСТ 7.0.97–2016 нагрузка >20 слов в предложении, >2 вложенных придаточных, >3 новых термина в абзаце Cognitive Load Theory

3.2 Контекстно-зависимые типы

Тип Описание Требует уточнения код замечание к программному коду язык программирования имена неочевидные идентификаторы почему неочевидны типы выбор типа данных язык, система переполнение риск integer overflow диапазон значений погрешность ошибки округления источник (float, деление) практика несоответствие реальной практике олимпиадная / промышленная / академическая голос несоответствие аудитории какая аудитория подразумевается

4. ПРАВИЛА УСТОЙЧИВОСТИ К ИЗМЕНЕНИЯМ

  1. Не упоминать язык программирования в типе — только в содержании.

  2. Не предполагать уровень аудитории — формулировать как общее замечание.

  3. Ссылаться на общие принципы, а не частные правила:

    • вместо «нарушает PEP 8» → «нарушает общепринятые практики именования»

    • вместо «в C++ так не делают» → «в системном программировании это считается небезопасным»

  4. При неизвестном контексте — формулировать как вопрос.

  5. Избегать субъективных оценок — только объективные критерии.

5. ИСТОЧНИКИ И АВТОРИТЕТЫ

Область Источники Лингвистика и нормы Розенталь, Лопатин, НКРЯ, Ахманова, Шанский Техническое письмо Zobel «Writing for Computer Science», Strunk & White ГОСТы 7.0.4–2006, 7.0.97–2016, 2.105–95 Международные гайды Google/Microsoft Developer Documentation Style Guide Когнитивные и жанровые основы Swales «Genre Analysis», Sweller «Cognitive Load Theory», Plain Language Movement

6. ЗАКЛЮЧЕНИЕ

РЯР-IT v4.0 — профессиональный, научно обоснованный, автоматизируемый инструмент, позволяющий:

  • ✅ выявлять речевые ошибки, включая нарушения сочетаемости и употребимости,

  • ✅ контролировать жанровую адекватность,

  • ✅ снижать когнитивную нагрузку,

  • ✅ обеспечивать соответствие издательским и международным стандартам.

Язык масштабируется от школьных учебников до enterprise-документации и не требует обновления при смене контекста.

© Редакторский стандарт РЯР-IT, версия 4.0

Особенно мощно работает, когда сегментируешь, как в инструментах перевода, и просишь перевести на редакторский язык (потому что самая естественная задача LLM — перевод).

Самое главное: решение при таком подходе точно остаётся за человеком, текст просто размечается предупреждениями, а думаешь сам. Хотя печально, что сам текст запроса модель написала не по правилам.

Прямо сейчас делаю на нём инструмент. Иногда его нужно пинать братом: разжёвываниями от Qwen 3.6. Пример. Жаловался на ошибку БД, что это баг sqlx (мол, биндинг типов не работает). И что в новой версии не поправили (попросил насильно обновить зависимости). А тип строковый, база, я ему не поверил. Оказалось аффинность типов.

Теперь в QWEN.md стоит жёсткая напоминалка, что дока дороже форумов, спека дороже предположений и тому подобное. Настраивать надо, в общем, например, просить не идти на упрощения. Навыки пинать нужно, память. Субагенты работают не очень. Но в общем и целом очень даже инструмент.

И даже не из-за гениальности. Просто кто действительно думает, тот сначала подумает. Разве что энергопотребление им резать, что нереально.

В комнате лежало яблоко. Пришёл один Коля и съел целое яблоко. При делении яблока на одного Колю так и получилось одно яблоко после деления на одного Колю.

Яблоко/1 = яблоко.

В комнате лежало яблоко. Но за ним никто не пришёл. Никакого Коли или Пети. Не говоря о нуле, приближениях, хитрых равенствах из института, можно сказать, что деление попросту не состоялось как операция, результат поистине не определён. Как решите — сообщите компилятору о своей философии.

В рамках школьной математики можно просто запретить, в институтской математике ввести 1/0 = бесконечность (если Коли нет, то неподелённое яблоко бесконечное в том смысле, что вообще никому не достанется, останется для Николаев неисчислимо огромным).

Итого с философской точки зрения прав стандарт. То есть результат зависит от цели разработки компилятора, а по факту именно не определён.

Другое дело, что практичнее кидать исключение, дать разработчику управлять ситуацией тоньше.

Вот я беру код:

/* Optimized memcpy for scanlines */
static inline void fast_memcpy_line(uint32_t *dst, uint32_t *src, int width) {
  /* Use 64-bit copies for better performance */
  uint64_t *d64 = (uint64_t *)dst;
  uint64_t *s64 = (uint64_t *)src;
  int count = width / 2;

  for (int i = 0; i < count; i++) {
    d64[i] = s64[i];
  }

  /* Handle odd pixel */
  if (width & 1) {
    dst[width - 1] = src[width - 1];
  }
}

И спрашиваю Qwen3.5-Plus:

Нет ли багов?

Частица ли оставляет место для манёвра, право сказать, что багов нет. Не искать баги, которых не существует, основываясь на наших текстах с "ой, и правда...". Получаю такой список:

  1. Выравнивание: Приведение uint32_t* к uint64_t* вызовет краш на ARM, если адрес не кратен 8.

  2. Strict Aliasing: Доступ к памяти через несовместимый тип — неопределённое поведение (UB).

  3. Отрицательная ширина: int width позволяет записать данные до начала буфера (buffer underflow).

Я не специалист в Си и, к сожалению, даже не могу сказать, какие предупреждения здесь галлюцинация, а какие — избыточность. Но элементарный здравый смысл подсказывает, что:

  1. Тип аргумента функции лучше не делать уже, чем тип переменной в функции, чтобы потом преобразовывать.

  2. Возможно, отрицательная ширина копирования памяти имеет какой-то смысл, мне неведомый, но, в любом случае, читать код с таким копированием в обратную сторону неудобно.

К чему это я? Мне кажется, что человек, который навайбкодил ось с таким кодом и не сделал к ИИ элементарных запросов по качеству кода, в лучшем случае — провокатор. О сокращении избыточного кода (с перечислением букв или islower) вообще молчу.

То есть куда интереснее было бы посмотреть на проект, где человек утверждает:

Я навайбкодил, но ИИ у меня работал в качество. Я скормил ему MISRA, Google Style Guide, OWASP и пр., аккуратно составлял запросы и т. д.

И вот в таком тексте почувствовать реальную разницу между искусственным и естественным.

Поправил, спасибо. Пока уточнял, нашёл глобальное решение, если везде уместны ANSI‑строки:

Dapper.SqlMapper.AddTypeMap(typeof(string), System.Data.DbType.AnsiString);

Проблема старая.

Выход на самом деле есть. Неприятный, но есть. У ОРФО 2016 и в ещё вордовскую его эпоху прямо в редакторе: «Слова нет в словаре». Т.е. нужно выносить на уровень проверки орфографии, в каждый редактор. А идеально (в идеальном же мире) прогрызть что‑нибудь в государстве, чтобы они не только словари выпускали, но и государственные инструменты проверки, библиотеки, API‑шки и тому подобное. Кассы внедрили же. Пусть... следят за языком.

Весьма и весьма неприятная новость, которая уже не новость. И это при том, что я не сторонник избыточного калькирования. Ведь слова управленец и менеджер — это разные слова. Управленец управляет, а менеджер управляется [с манежем]. И эти тонкости происхождений не устранить априори. Перевод навсегда обречён быть неточным.

И ладно бы только это. При всём неприятии избытка англицизмов, надо понимать, что во многих случаях они продают лучше. Звучат короче, впечатляют глубже. Это — снижения продаж на ровном месте.

И ладно бы только это! Можно зайти с другой стороны: пополнять нормативные словари. И тогда буквально русский язык станет богаче. Но что делать переводчику, который столкнулся с принципиально новым словом?.. С неологизмом? С новейшим сленгом, одного слова для которого в русском языке пока не появилось, потому что слово пришло оттуда, а переводить как‑то надо?.. Естественный подход — кальку взять. И что, сразу бежать приколачивать её в русский? Когда оно нормой не стало ещё вообще нигде...

Спасибо. Что ж, я построю свой перебор с учётом номера статьи и пропусков. Мда…

При составлении заголовка и мысли не было употреблять отсыл к ложному авторитету. Были мысли а) подчеркнуть научный подход: статья совсем не похожа на типичное исследование ИБ, где уязвимость выворачивается наизнанку, это куда более статистика, наблюдения, с которыми работают именно учёные; и была мысль б) получить оригинальный заголовок, при оригинальности соответствующий действительности.

Апелляции к авторитету, то есть утверждения, что раз исследование проделал физик, то оно безупречно, здесь нет. Более того, был некий риск реакции «Где физика и где ИБ?» — а это противоположно созданию ложного авторитета. Наконец, научная работа по физике у автора есть, а вот коммитов в ядро, как верно заметили, нет… Значит, автор действительно больше физик, чем CS/CTF.

Добрый день. Статья была на Хабре? Только что пересмотрел заголовки 140 переводов с 6 января и ничего подобного не нашёл. Возможно, что-то упустил мой RSS-клиент, крутится не круглые сутки. Но он зафиксировал даже дубль от BotHub. По второму вопросу можно написать автору: jenny@pebblebed.com. Контакты в конце, предпочитаю оставлять.

P.S. Нашёл урезанный обзор на Comss.

в которой все актеры правильно произносят финскую фамилию Ха́рконнен

На самом деле даже сами герои вовсе не обязаны произносить эту фамилию одинаково. В реальном мире, например, есть договор с ударением на третий слог и договор с ударением на первый слог, из диалекта, либо по ошибке.

Иными словами, неверное произношение может быть не только ошибкой редактора при работе с текстами для актёров, но и намеренным искажением от героя. Которое выражает, например, лёгкое пренебрежение, неприязнь. Это зависит напрямую от задач подачи. Если хотелось сделать книжную, возвышенную экранизацию — это унификация. А если хотелось быть ближе к человеческой реальности — за ударениями следить не нужно.

Конечно же, очень хорошо, когда великую книгу экранизируют книжно и аккуратно. Я лишь хочу сказать, что как критерий качества конкретно это может и не работать.

Кладу в закладки, перечитывать.

На Хабре это логично. Вы имеете в виду, что от такого заголовка ожидаете полного разбора про управление чем-то крупным и сложным?

Лет несколько назад неотрывно от компа, пару дней подряд, писал важный текст — выжил только на кофе. Не растворимом, конечно: он бы меня добил вообще. А первое, что сделали с кофемашиной — взяли её тончайший помол и приготовили мааааленькую чашку эспрессо.

Вкус поразительный, очень много оттенков, и это при жуткой горечи. Горечь сладкая, горечь жгучая, горечь тонкая, горечь кремовая, горечь вяжущая... И с такой чашечки потом бегаешь полдня, стимулятор сильный. Ну, как и системы управления, которые сами по себе разгоняют.

Отсюда вопрос: сколько чашек кофе заменяет одна система управления? :)

Здесь сказывается английский язык, привычка переводить accurate словом точный. Или желание соригинальничать. :) и да, это ошибка сочетаемости.

причастие

Это прилагательное-глагол. Действующее прилагательное. Например, гонимый. Это прилагательное, потому что отвечает на вопрос "какой?". И это действие, потому что его гонят. Дрожащий — причастие, потому что он дрожит.

Деепричастие — это наречие-глагол. Дрожа от холода, например. Отвечает на вопрос "каким образом?" (наречие) и что-то делает, то есть дрожит.

Зачем это знать? Например, чтобы точно не ошибиться с формальными правилами постановки запятых, где всё чётко прописано: что, когда и как выделяется.

То, что называют «способностями к языкам», – это порой забытый подвиг какого-то учителя русского, который проявил где-то умение, где-то настойчивость и внедрил-таки в детский мозг эту операционную систему, категориальный аппарат для работы с языком.

Нет. Я это говорю как человек, который научился читать в 4 года. А выговаривать букву р научился раньше сестры, которая на три года старше и развивалась нормально. Её же усилиями учился читать, то есть педагогической системы там не было. Там было желание больше не читать брату вслух. :)

Любые способности — это всегда микс врождённой расположенности и работы над собой. Что такое врождённая расположенность? Это когда многие вещи быстро понимаешь сам, их просто не надо объяснять. Врождённая грамотность — это, по сути, начитка и способность быстро понимать принципы языка (не прошитость языка сразу "из коробки", а именно быстрое понимание). Быстрое понимание — это уже, в свою очередь, про стартовые данные мозга: где какие нейронные связи сложились первыми.

1
23 ...

Information

Rating
2,748-th
Location
Белорецк, Башкортостан(Башкирия), Россия
Date of birth
Registered
Activity