
А вы задумываетесь иногда, что вот хочется что-то сделать такое, чтобы как-то выбиться из общей массы разработчиков? Сейчас придумаю идею, реализую, стану зарабатывать много денег? Все же так думают? Или только я один.
Да вот поэтому я и делаю постоянно какие-то проекты. И да, все они простые и не выдающиеся, но, наверное, главное — не унывать. Утешаю я себя так.
Вот в очередном порыве сделать что-то, родился непонятный проект. Почему непонятный? Да потому что я сам пока не придумал, где его применить или кому он может быть полезен. Зачем я тогда его сделал и пишу о нём? Устал держать в себе. Наверное, есть же люди такие же повёрнутые, кому приглянется проект и будет полезным.
В нём ещё много багов и нюансов, но в целом работает, более или менее.
Давайте расскажу немного о проекте.
Почему ИИ
Во-первых, да, я делаю этот проект с ИИ. И не потому что я не умею программировать, опыта хватает, а потому что когда делаешь проект один — это очень и очень долго, а когда есть инструмент, который ускоряет твои идеи в десятки раз, пффф, да конечно давайте его сюда.
Что это такое
Проект очень узкоспециализированный и связан с ИИ, для полноценной его работы нужны ключи API от Anthropic, OpenAI, Sber, Yandex (можно других добавить, но для меня достаточно). Суть проекта — это «контроль качества переводов на основе ИИ», что-то вроде QA для переведённых текстов с помощью ИИ.
Все мы понимаем, что всё больше и больше людей используют ИИ, даже те, кто пишет комментарии о том, что ИИ плохо и только неудачники используют, сами втихушку используют его. Но ИИ не панацея, они ещё далеки от идеала, и если переводить тексты на другие языки, то часто встречаются нюансы. И таковых много, потому что в каждом языке есть свои особенности и специфика. Блин, я русский язык не знаю в совершенстве, хотя всю жизнь на нём пишу и говорю, машина уж точно не может знать всех нюансов.
Глоссарии
И тут мне пришлось делать очень большую работу, даже с учётом помощи ИИ, время было убито очень много, на создание глоссариев для каждого языка. Они не полные, а такие, как мне на данный момент удалось их собрать. Глоссарии предоставляют языкоспецифичные лингвистические знания, которые помогают агентам проводить более точную оценку качества. Это включает грамматические правила, определения терминов и языкоспецифичные паттерны.
Например, для русского языка мне пришлось создавать глоссарий, который содержит: 6 падежей, виды глаголов, частицы, маркеры регистра, белый список IT-терминологии, автомобильную, таможенную, финансовую, юридическую, логистическую, медицинскую терминологию + языковые ловушки и много-много других уникальных для нашей страны знаний.
Это всё было проделано и для других языков. На данный момент в системе присутствуют: русский, английский, китайский, хинди, персидский. Без ИИ я бы их никогда не наполнил, но если вы думаете, что это так легко с ИИ и каждый сможет, попробуйте, потом давайте сравним, что получится.
Архитектура системы
Что-то я не туда ушёл, что вкратце представляет система:
24 специализированных агента работают параллельно, каждый со своим весом доверия. Результаты объединяются через weighted consensus — это снижает ложные срабатывания на 30–50%.
Определение авторского стиля — автоматически определяет стилистические особенности (плеоназмы Платонова, сказ Лескова, поток сознания Джойса) и не ругает намеренные авторские отклонения.
Адаптивный подбор агентов — система оценивает сложность текста и подбирает оптимальный набор агентов — для простых текстов 2 агента, для сложных — 5+. Автоматическая оптимизация затрат на API.
Профессиональная система оценки — штрафы по severity (neutral/minor/major/critical: 0/1/5/25), веса по категориям (accuracy 1.0, terminology 0.9, fluency 0.8) — как в профессиональной локализации.
Языковые агенты с нативными NLP
Три слоя фильтрации false positives
Что дальше
На этом, пожалуй, пока всё, да, я сделал только CLI-инструмент на Python, может, в следующей статье расскажу больше деталей именно со стороны разработки с нюансами и поиском решений. Пока хотел лишь познакомить вас с проектом.
Теперь готов принимать критику в комментариях, что я сделал какую-то ерундку, проект никому не нужен, я потратил время зря. Это и так понятно, но было оооочень интересно) Ведь если это нравится, значит, уже не зря.
Бонус: история с GitHub
Кстати, на днях проект забанили на GitHub, пытался искать альтернативы, было много проанализировано интересного и не очень, в тройке лидеров оставались GitLab, SourceCraft и от Сбера что-то. Но… всё не то, к сожалению… пришлось доказывать, что заблокировали ошибочно, и проект восстановлен, хоть пока и с ограничениями. Причиной блокировки оказалось сильно много action в CI. Сказали половину убрать и не злоупотреблять)
Совсем забыл, проект называется KTTC — github.com/kttc-ai/kttc
Не знаю почему, потому что.