Язык Go: минимум знаний для вайбкодинга
В предыдущей статье мы разобрали C++ — мощный, но сложный инструмент, требующий понимания множества концепций от RAII до шаблонов. Сегодня поговорим о языке, рождённом из усталости от этой сложности.
Go создавался инженерами Google, которые устали ждать по полчаса компиляции C++-кода и разбираться в десяти способах сделать одно и то же. Для вайбкодинга Go представляет особый интерес: его намеренная простота и единообразие означают, что LLM реже «галлюцинирует» экзотические конструкции, а сгенерированный код легче проверить и понять даже без глубокой экспертизы.
В середине двухтысячных годов в калифорнийском Маунтин-Вью, в кампусе компании Google, назревало нечто похожее на тихий переворот — не политический и не корпоративный, а инструментальный, связанный с орудиями труда, которыми пользовались инженеры. Компания к тому времени превратилась в вычислительного левиафана: сотни миллионов поисковых запросов ежедневно перетекали через её серверы, значительная доля текстового содержимого всего интернета подвергалась индексации, а сервисы требовали такой координации вычислительных мощностей, какой человечество прежде не предпринимало. Программное обеспечение, приводившее в движение эту махину, писалось преимущественно на языке C++ — инструменте мощном, зрелом, позволявшем извлекать из аппаратуры предельную производительность. Однако та самая мощь и зрелость постепенно превращались в источник специфического страдания, знакомого каждому, кто имел дело с инструментом, переросшим границы своего первоначального замысла и обросшим напластованиями десятилетий.
История C++ восходит к началу восьмидесятых годов, когда датский программист Бьёрн Страуструп задумал расширить язык C средствами, облегчающими организацию крупных программных проектов. C, созданный десятилетием раньше Деннисом Ритчи и Кеном Томпсоном для написания операционной системы Unix, отличался спартанской лаконичностью: минимум концепций, максимум контроля над машиной, никаких излишеств. Страуструп добавил к этой аскетической основе классы, наследование, позднее — шаблоны и множество других конструкций, каждая из которых отвечала на реальную потребность какой-либо группы разработчиков. Язык развивался органически, почти демократически: если достаточное число голосов требовало новой возможности, возможность в конечном счёте появлялась. За три десятилетия такой эволюции C++ стал напоминать не столько спроектированный инструмент, сколько геологическое образование — слой поверх слоя, эпоха поверх эпохи, причём каждый слой оставался доступным, потому что убрать что-либо означало бы обрушить код, написанный в расчёте на его присутствие. Справочник по современному C++ производит впечатление музея, выросшего из частной коллекции: экспонаты бесспорно ценны, но их столько и они столь разнородны, что посетителю требуется путеводитель к путеводителю, чтобы не заблудиться между залами.
Практические последствия этой археологической сложности в масштабах Google проступали в двух измерениях с особенной остротой. Первое касалось времени компиляции. Компиляция — процедура перевода программы с языка, понятного человеку, на язык, понятный машине. Компьютер не постигает человеческих наречий, даже таких формализованных, как языки программирования; он оперирует исключительно последовательностями элементарных операций, закодированных в виде чисел: переместить содержимое одной ячейки памяти в другую, сложить два числа, сравнить результат с третьим и в зависимости от исхода перескочить к иному месту программы. Компилятор выступает переводчиком, превращающим относительно членораздельный текст программы в эту машинную скоропись. Для C++ перевод требовал колоссальных усилий: язык изобиловал конструкциями, допускавшими многообразные интерпретации, и компилятору приходилось проделывать обширную аналитическую работу, прежде чем породить исполняемый код. Инженер, внёсший скромное исправление в проект, мог затем наблюдать, как минуты складываются в десятки минут ожидания, пока компилятор переварит результат. Полчаса — достаточный срок, чтобы мысль успела остыть, контекст задачи выветрился из оперативной памяти головы, а сам инженер переключился на постороннее и потом с ощутимым трением возвращался к прерванному занятию.
Второе измерение затрагивало когнитивную нагрузку — то умственное усилие, которое программист тратит не на решение собственно задачи, а на навигацию по лабиринту возможностей, предоставляемых инструментом. C++ предлагал несколько способов достичь почти любой цели, и каждый способ нёс собственный багаж достоинств, недостатков и неочевидных подводных камней. Выбор между ними требовал экспертизы, которая накапливалась годами практики, и даже признанные эксперты нередко расходились во мнениях о предпочтительном подходе в той или иной ситуации. Код, написанный одним мастером, мог оказаться загадкой для другого — не потому, что был дурно написан, а потому, что пользовался иным диалектом того же языка, иным набором идиом из необъятного арсенала допустимых приёмов. Когда над проектом трудятся тысячи инженеров, когда код живёт десятилетиями и его читают несравненно чаще, чем пишут, такая вариативность из достоинства превращается в помеху, в источник трения и недоразумений.
Три инженера, которые в 2007 году начали размышлять о том, каким мог бы выглядеть язык, свободный от этих напластований, принадлежали к редкой породе людей, умеющих не только пользоваться инструментами, но и создавать их. Кен Томпсон обладал биографией, придававшей его суждениям об устройстве языков программирования вес исторического прецедента: в начале семидесятых он вместе с Деннисом Ритчи создал операционную систему Unix и язык C — два изобретения, определившие траекторию развития вычислительной техники на полстолетия вперёд. C был радикально прост для своего времени: он давал программисту прямой доступ к памяти и периферии, но делал это посредством минимального набора концепций, который можно было удержать в голове целиком, не прибегая к справочникам на каждом шагу. Эта простота являлась не признаком ограниченности, а плодом дисциплины — и она оказалась поразительно продуктивной, породив экосистему программного обеспечения, на которой до сих пор держится изрядная часть цифровой инфраструктуры мира. Роб Пайк работал над Plan 9 — экспериментальной операционной системой, пытавшейся переосмыслить архитектуру Unix для эры повсеместных сетей, — и вынес из этого опыта острое понимание того, как программные компоненты могут сообщаться друг с другом в распределённой среде, не превращая систему в клубок взаимозависимостей. Роберт Гризмер привнёс опыт создания виртуальных машин и компиляторов — техническое знание того, как воплотить язык не только выразительный, но и быстрый в трансляции и исполнении.
Язык, который они начали проектировать и который получил короткое имя Go, строился на принципе, который можно было бы назвать программируемой сдержанностью. Там, где C++ щедро предлагал десять путей к одной цели, Go предлагал один — тот, который создатели сочли достаточно хорошим для большинства случаев и достаточно очевидным, чтобы не требовать долгих раздумий. Там, где другие языки наращивали арсенал возможностей в ответ на каждую артикулированную потребность, Go сознательно воздерживался от добавлений, грозивших усложнить язык сверх определённого порога. Решение кажется контринтуитивным: разве обширный выбор — не благо? Разве инструмент, способный на десять действий, не превосходит инструмент, способный лишь на пять? Ответ зависит от того, что именно оптимизируется. Если оптимизировать удобство написания отдельной программы отдельным программистом здесь и сейчас, то изобилие возможностей действительно предпочтительнее. Но если оптимизировать читаемость кода, который будут поддерживать сотни разных людей на протяжении десятилетия, — тогда единообразие перевешивает гибкость, а предсказуемость ценнее виртуозной выразительности.
Аналогия с естественным языком помогает прояснить эту логику. Русский язык — как, впрочем, любой живой язык — мог бы теоретически обогащаться новыми грамматическими конструкциями, позволяющими выражать некоторые мысли компактнее или точнее. Но ценность общего языка коренится именно в его устойчивости: носители владеют одним и тем же сводом правил и потому способны понимать друг друга без предварительных переговоров о том, какой версией грамматики пользоваться сегодня. Язык, который непрерывно усложняется, рискует расслоиться на диалекты и в конечном счёте утратить свою коммуникативную функцию — перестать быть средством взаимопонимания и сделаться барьером. Языки программирования сталкиваются с аналогичной дилеммой: гибкость для индивидуального автора против связности профессионального сообщества в целом. Go сделал выбор в пользу связности.
Программа на Go существует как текстовый файл — или совокупность файлов — содержащий инструкции, записанные по правилам, которые определяет язык. Файлы группируются в единицы, называемые пакетами: пакет объединяет логически родственный код и может использоваться другими частями программы как готовый строительный блок. Один особый пакет носит имя main и служит точкой входа: при запуске программы выполнение начинается с функции main внутри этого пакета. Функция — именованный фрагмент кода, выполняющий определённую задачу; её можно вызывать из разных мест программы, избегая повторения одних и тех же инструкций.
Чтобы текст программы превратился в нечто, способное действовать, его обрабатывает компилятор Go. Результатом становится бинарный файл — цепочка машинных команд, готовая к непосредственному исполнению процессором без дополнительных посредников. Существенная особенность Go состоит в самодостаточности этого файла: он вмещает всё необходимое для работы и не требует установки вспомогательных библиотек или виртуальных машин на компьютере, где будет запущен. Программу, скомпилированную на одной машине, можно перенести на другую машину той же архитектуры и запустить немедленно, без ритуалов подготовки. Эта портативность приобрела особую ценность в эпоху облачных вычислений, где программы нередко исполняются в аскетичных средах, очищенных от всего постороннего ради экономии ресурсов и безопасности.
Синтаксис Go спроектирован с прицелом на лаконичность, граничащую со скупостью. Небольшой пример — программа, складывающая числа в списке и выводящая результат, — позволяет ощутить эту эстетику:
```go
package main
import "fmt"
func main() {
nums := []int{1, 2, 3, 4}
sum := 0
for _, n := range nums {
sum += n
}
fmt.Println("Sum:", sum)
}
```
Первая строка объявляет принадлежность файла к пакету main — тому самому, с которого начинается жизнь программы. Вторая строка импортирует пакет fmt, предоставляющий функции для форматированного вывода; название — сокращение от слова format. Третья строка открывает определение функции main, служащей точкой входа.
Внутри функции первая инструкция создаёт переменную nums и присваивает ей срез целых чисел со значениями 1, 2, 3, 4. Срез — структура данных, представляющая последовательность элементов одного типа; int указывает, что элементы являются целыми числами. Оператор := совмещает две операции: объявляет новую переменную и присваивает ей значение, причём тип переменной выводится автоматически из того, что ей присваивается. Компилятор сам догадывается, что nums должна быть срезом целых чисел, потому что именно такой срез стоит справа от знака присваивания. Этот механизм называется выводом типов и позволяет писать компактный код, сохраняя при этом строгую типизацию.
Следующая строка создаёт переменную sum с начальным значением ноль — в ней будет накапливаться сумма. Затем начинается цикл: конструкция for с ключевым словом range означает перебор всех элементов коллекции. Запись `_, n := range nums` расшифровывается так: для каждого элемента среза nums присвоить этот элемент переменной n и выполнить тело цикла. Символ подчёркивания занимает место, предназначенное для индекса элемента, — range возвращает и индекс, и значение, но индекс здесь не нужен, и Go требует явно показать, что мы его игнорируем, а не забыли по недосмотру. Внутри цикла инструкция `sum += n` прибавляет текущее число к накопленной сумме. Последняя строка вызывает функцию Println из пакета fmt, которая выводит свои аргументы — строку «Sum:» и значение переменной sum — и переходит на новую строку.
Даже читатель, никогда прежде не заглядывавший в программный код, может заметить своеобразную прозрачность этого текста. Здесь нет многословных деклараций, которыми славятся иные языки; нет обилия специальных символов с неочевидным смыслом; нет нагромождения абстракций, заслоняющих суть происходящего. Программа совершает ровно то, что написано, и написано почти так, как могло бы быть произнесено вслух, — разумеется, с поправкой на формальный синтаксис.
Go принадлежит к семейству статически типизированных языков: тип каждой переменной известен уже на этапе компиляции и не может измениться во время исполнения. Переменная, объявленная как вместилище целого числа, не способна внезапно начать хранить текстовую строку или дату. Компилятор проверяет согласованность типов и отказывается создавать программу, если обнаруживает нестыковку — скажем, попытку сложить число с текстом или передать функции аргумент неподходящего сорта. Подобная строгость воспринимается иногда как докучливое ограничение, но на практике она перехватывает множество ошибок прежде, чем программа будет запущена, превращая компилятор в первую линию обороны против определённых классов недоразумений. Вывод типов смягчает эту строгость с точки зрения удобства записи: программисту не приходится педантично указывать тип каждой переменной, поскольку компилятор способен вычислить его из контекста.
Одна из ключевых инноваций Go связана с понятием конкурентного выполнения — способностью программы заниматься несколькими делами одновременно или, точнее, создавать убедительную иллюзию одновременности. Современные программы почти никогда не являются линейными цепочками действий, терпеливо ожидающими завершения каждого шага перед переходом к следующему. Веб-сервер обрабатывает запросы от множества пользователей параллельно; браузер одновременно загружает изображения, исполняет скрипты и реагирует на щелчки мыши; программа для монтажа видео декодирует кадры, накладывает эффекты и отображает результат на экране, оставаясь при этом отзывчивой к командам пользователя. Конкурентность — способ организации программы так, чтобы эти множественные активности сосуществовали, не блокируя друг друга и не превращая систему в очередь из ожидающих.
Традиционный подход к конкурентности опирается на потоки выполнения — независимые последовательности инструкций, которыми управляет операционная система. Создание потока сопряжено с выделением памяти и регистрацией в планировщике операционной системы; переключение между потоками требует сохранения и восстановления состояния, что тоже отнимает ресурсы. Накладные расходы достаточно ощутимы, чтобы программы обычно ограничивались умеренным числом потоков — десятками, сотнями, в напряжённых случаях тысячами — и тщательно распределяли работу между ними, словно драгоценный ресурс.
Go предлагает иную модель посредством горутин — легковесных единиц конкурентного выполнения, которыми распоряжается не операционная система, а собственная среда исполнения языка. Порождение горутины обходится несопоставимо дешевле, чем порождение потока: программа способна создавать сотни тысяч, а при необходимости и миллионы горутин без катастрофического роста накладных расходов. Это меняет саму парадигму проектирования: вместо того чтобы экономно делить скудный запас потоков между задачами, программист волен выделить каждой самостоятельной задаче собственную горутину и доверить среде исполнения заботу о планировании и распределении процессорного времени.
Конкурентное выполнение, однако, порождает проблему координации: когда несколько горутин работают бок о бок, как им обмениваться сведениями, не создавая хаоса? Вообразите двух поваров, одновременно тянущихся к одной кастрюле, чтобы добавить каждый свой ингредиент, — исход непредсказуем и потенциально плачевен. Классическое решение использует механизмы блокировки, позволяющие лишь одному участнику в каждый момент времени обращаться к разделяемому ресурсу, но корректное применение блокировок требует немалого искусства и остаётся благодатной почвой для трудноуловимых ошибок, проявляющихся лишь при редком стечении обстоятельств.
Go поощряет альтернативный подход через механизм каналов — выделенных путей передачи сообщений между горутинами. Канал можно уподобить трубе строго определённого диаметра: одна горутина опускает значение в один конец, другая горутина извлекает его из противоположного конца. Пока значение движется по каналу, оно не принадлежит ни отправителю, ни получателю; сам акт передачи гарантирует, что в каждый момент времени данными владеет ровно один участник. Эта модель — передача сообщений вместо разделяемой памяти — делает координацию явной и зримой: программист не полагается на неявные допущения о том, что разные части программы не столкнутся при доступе к общим данным, а прямо определяет, какая информация, когда и от кого к кому перетекает.
Образ фабричного конвейера помогает закрепить интуицию. Представьте производственную линию, где каждый рабочий выполняет одну операцию и передаёт изделие дальше. Между соседними постами установлены лотки: рабочий А, завершив свою часть, кладёт деталь в лоток; рабочий Б, освободившись, забирает деталь из лотка и приступает к следующей операции. Двое никогда не держат одну деталь одновременно; не требуется сложных договорённостей о том, кто когда к чему прикасается. Лоток — это канал, деталь — это данные, рабочие — это горутины. Система самоорганизуется через архитектуру соединений, а не через централизованный диспетчер, раздающий разрешения.
Ещё одна черта Go, имеющая далеко идущие практические последствия, — автоматическое управление памятью, именуемое сборкой мусора. Когда программа создаёт данные — переменные, структуры, массивы, — эти данные размещаются в оперативной памяти компьютера, занимая там определённое пространство. Когда данные становятся ненужными, занятое ими пространство должно быть высвобождено для повторного использования, иначе память рано или поздно исчерпается. В языках, подобных C, эта обязанность целиком лежит на программисте: он явно запрашивает память, когда она требуется, и явно возвращает её системе, когда надобность отпадает. Такой режим даёт полный контроль, но взамен требует неусыпной бдительности. Забыть освободить память — значит допустить утечку: программа постепенно разбухает, поглощая всё больше ресурсов, пока не упрётся в потолок. Освободить память преждевременно, пока на неё ещё ссылаются другие части программы, — значит заложить мину замедленного действия: рано или поздно программа обратится по адресу, где прежде лежали её данные, и обнаружит там нечто постороннее, что приведёт либо к немедленному краху, либо — что хуже — к тихому искажению результатов.
Go избавляет программиста от этого бремени: среда исполнения сама отслеживает, какие данные ещё достижимы из работающей программы, а какие превратились в сирот, утративших связь с остальным кодом, и автоматически возвращает память, занятую сиротами. Программист просто создаёт значения; об их своевременной кончине и погребении заботится система. За это удобство приходится расплачиваться частью производительности — сборщик мусора сам потребляет процессорное время и может вызывать краткие паузы, — но для подавляющего большинства задач эта плата пренебрежимо мала в сравнении с выигрышем в надёжности и скорости разработки.
Положение Go в ландшафте языков программирования удобно описывать как срединное. Он абстрактнее, чем языки наподобие C, обнажающие аппаратные детали и требующие от программиста самому следить за каждым байтом, но конкретнее, чем языки наподобие Python, укутывающие всё в многослойные абстракции ценой производительности. Эта срединность делает Go особенно пригодным для определённого класса задач: построения серверов, принимающих и обрабатывающих сетевые запросы; написания утилит командной строки, автоматизирующих системные операции; создания инфраструктурного программного обеспечения, на котором, как на фундаменте, возводятся приложения более высокого уровня.
Два инструмента, сделавшихся несущими конструкциями современной облачной инфраструктуры, написаны именно на Go: Docker и Kubernetes. Docker позволяет упаковывать приложение вместе со всем необходимым ему окружением в стандартизированный контейнер — нечто вроде герметичной капсулы, которую можно перемещать между машинами с гарантией, что содержимое будет работать одинаково независимо от особенностей конкретного сервера. Kubernetes занимается оркестрацией таких контейнеров в масштабе от нескольких серверов до десятков тысяч: управляет развёртыванием, масштабированием, распределением нагрузки и восстановлением после сбоев. Оба проекта определяют облик современных вычислений для огромного числа компаний и сервисов, и тот факт, что оба написаны на Go, не является случайным совпадением. Характеристики языка — стремительная компиляция, эффективное исполнение, мощная поддержка конкурентности, простота развёртывания самодостаточных бинарных файлов — делают его естественным выбором для инфраструктурного слоя, где эти качества критически значимы.
Философия проектирования Go находит концентрированное выражение в максиме, которую иногда формулируют как предпочтение композиции наследованию. В ряде языков программирования код организуется через иерархии наследования: определяется общее понятие, затем более частные понятия вводятся как его специализации, автоматически перенимающие свойства и поведение родительского понятия. Так выстраиваются древовидные структуры, где конкретное располагается на листьях, а абстрактное — ближе к стволу. Go вместо этого поощряет композицию: сборку сложного поведения из простых, независимых компонентов, а не надстраивание над существующими конструкциями. Вместо утверждения «утка есть разновидность птицы, которая есть разновидность животного» идиоматический Go предпочитает формулировку «утка обладает способностью летать, способностью плавать и способностью издавать звуки» — и каждая способность определяется отдельно, как самостоятельный кирпичик, пригодный для использования в разных контекстах. Такой подход порождает более плоские, более податливые структуры: кирпичики компактны и слабо связаны друг с другом; их можно сочетать способами, которые не предвиделись при их создании; код легче понять, потому что не приходится подниматься по лестнице наследования, чтобы выяснить происхождение того или иного поведения.
Язык Go, стало быть, представляет собой не просто очередной экспонат в и без того переполненной витрине программистских инструментов, но воплощение определённой философии — убеждённости в том, что осмысленное ограничение способно стать источником свободы, что меньшее при известных условиях оказывается большим, что инструмент, заточенный под конкретный сценарий, может превзойти инструмент, притязающий на универсальность. Создатели Go сделали ставку на то, что разработчикам нужен не язык безбрежных возможностей, а язык продуманных границ — язык, который направляет к добротным решениям не запретами и карами, а тем, что добротные решения оказываются естественными, а сомнительные требуют дополнительных ухищрений. Прошедшие годы в значительной мере подтвердили справедливость этой ставки: Go обрёл собственную нишу и процветает в ней, сделавшись языком выбора для целого поколения инфраструктурного программного обеспечения, на котором зиждется повседневное функционирование цифрового мира.
Зачем мы искали гидранты в капче?
Давно было понятно, что проходя капчу с картинками мы помогаем тренировать очередную сетку распознавать образы. Но почему именно светофоры и гидранты? А вот почему:
У гугла новая, экспериментальная фича - поиск объектов инфраструктуры в заданном районе.
И, что особенно иронично, в качестве примера выбран именно гидрант.
Не зря мы годами искали светофоры, знаки и фонари, теперь это всё можно быстро найти на карте (правда только в США)
Интересно, появятся ли новые капчи, но уже в виде видео, чтобы тренировать автопилот для тесла?
Google Gemini запустил бесплатную подготовку к экзаменам. Ждем ЕГЭ?
Google внедрил в Gemini возможность прохождения пробных экзаменов SAT. Это вызов платным сервисам: теперь премиум-функционал с разбором ошибок доступен бесплатно в интерфейсе чат-бота.
Ключевые факты:
— Полноценная симуляция: Достаточно написать: «Хочу пройти тест SAT», и ИИ запустит полный экзамен, а не выдаст набор задач.
— Умная аналитика: Система не только ставит оценку, но и детально объясняет логику решения, показывая слабые места для дальнейшей проработки.
— Качество: Вопросы проверены The Princeton Review — это исключает риск обучения на некачественных/устаревших материалах.
— Без скрытых продаж: В отличие от онлайн-школ, Gemini не пытается продать вам курс.
Если Google добавит поддержку ЕГЭ, это может изменить подготовку к экзаменам в России. Представьте: вместо репетиторов и курсов — персональный ИИ-наставник. Это может сделать подготовку доступной для школьников из регионов, уровняв шансы при поступлении.
P.S. Ненавязчиво прошу поддержать меня и подписаться на мой телеграмм. Там посты выходят раньше (и чаще).
📡 Never lose your signal.
Мужик решил растить детей с чат-ботом, в ChatGPT завезут рекламу, а SSD уже не подешевеют — свежий дайджест новостей
Привет, это новый выпуск «Нейро-дайджеста» — коротких и полезных обзоров ключевых событий в мире искусственного интеллекта и технологий.
TL;DR Меня зовут Илья, я основатель сервиса для генерации изображений ArtGeneration.me, блогер и просто фанат нейросетей. Каждую неделю мы с командой осматриваем сотни новостей и делимся с вами самыми актуальными и интересными со ссылками на источники. Всё самое важное — в одном месте. Поехали!
Неделя выдалась насыщенной: Z.AI выпустили GLM-4.7-Flash — сверхлёгкую модель для кодинга, которая обходит конкурентов, Google научил Gemini заглядывать в ваши фото и почту, Suno теперь генерит мэшапы, а OpenAI добавляют рекламу в ChatGPT.
📋 В этом выпуске:
🧠 Модели и LLM
GLM-4.7-Flash — сверхлёгкая модель для кодинга
Google запустили Personal Intelligence
GPU Poor LLM Arena — бенчмарки для слабых видеокарт
Реклама в ChatGPT
🎨 Генеративные нейросети
FLUX-2 Klein — генерация картинок за секунду
В Suno завезли мэшапы
CosyVoice 3 — озвучка и клонирование голоса
🔧 AI-инструменты и платформы
«Алиса, заведи машину»
Skillsync — ИИ-поиск прогеров в команду
VibeOS — операционка от Claude Code
Конспекты созвонов с Manus Meeting Minutes
🧩 AI в обществе и исследованиях
Повышение цен на бюджетные SSD
Американец заводит детей в паре с нейросетью
Победитель «ИИ-Оскара» получил $1 млн
🧠Модели и LLM
❯ GLM-4.7-Flash — думающая модель для кодинга
Компания ZAI выпустила GLM-4.7-Flash — облегчённую, но мощную модель для кодинга. Это MoE с 30B параметров и 3B активными,которую можно развернуть даже на ноутбуке.
Главная фишка в «Interleaved Thinking». Модель обдумывает каждый шаг перед вызовом инструмента, что очень важно в агентных задачах. В бенчмарках тоже хорошо: например, на SWE-bench Verified модель набрала 59,2%. Это втрое больше, чем у Qwen3-30B-A3B.
Распространяют GLM по лицензии MIT, а значит можно брать в коммерческие проекты. Пока что это один из лучших кандидатов среди локальных ИИ-ассистентов для кодинга.
🔗 Hugging Face 🔗 Технический блог 🔗 API
❯ Google запустили Personal Intelligence
Google выкатили функцию Personal Intelligence. Теперь Gemini сможет подключаться к вашим личным данным в Gmail, Google Photos и YouTube, чтобы давать более точные и персонализированные ответы.
Модель понимает контекст задач, например, если вы спросите, какие шины купить, нейросеть найдёт фото вашей машины, определит модель, а по другим снимкам — поймёт, что вы часто ездите по бездорожью, и предложит подходящие протекторы.
Функция отключена по умолчанию, и пользователь сам решает, к каким сервисам давать доступ. Google утверждает, что эти данные не используются для обучения модели.
Пока что Personal Intelligence доступна только для подписчиков AI Pro и Ultra в США.
❯ GPU Poor LLM Arena — бенчмарки для слабых видеокарт
На Hugging Face появилась GPU Poor LLM Arena — площадка для сравнения языковых моделей, которые можно запустить на бюджетных видеокартах. Это своего рода LM Arena, но для бедных, где можно вживую протестировать и сравнить компактные модели.
Проект похож на Battle Arena: вы вводите промпт, получаете ответы от разных моделей и голосуете за лучший. Это позволяет получить практическое представление о производительности, а не просто сухие цифры из бенчмарков.
На лидерборде сейчас в топе Qwen 14B.
❯ Реклама в ChatGPT
OpenAI заявили, что в ChatGPT появится реклама. Это затронет пользователей бесплатной версии и нового тарифа Go за 8$ в месяц.
Подписчики планов Plus, Pro, Business и Enterprise рекламу не увидят. В OpenAI утверждают, что объявления будут чётко маркированы, отделены от ответов нейросети и не повлияют на них, а данные юзеров не будут передаваться рекламодателям.
Похоже, инвесторы начали давить на Сэма Альтмана, посмотрим, как оно будет на деле.
🎨 Генеративные нейросети
❯ FLUX-2 Klein — генерация картинок за секунду
Black Forest Labs представила FLUX-2 Klein — семейку шустрых моделей для генерации изображений. И это неплохое решение для real-time приложений, где важна мгновенная реакция.
Есть несколько версий, но больше всего выделяется FLUX.2 Klein 4B — самая быстрая модель, которая распространяется по открытой лицензии Apache 2.0. Она кушает всего 8.4 ГБ видеопамяти, так что заведётся на потребительских видеокартах. Ещё модель может использовать до 10 референсных изображений для сохранения единого стиля или персонажа.
🔗 Playground 🔗 Hugging Face 🔗 API
❯ Suno научился скрещивать песни с помощью Mashup
В Suno появился новый экспериментальный инструмент — Mashup. Он позволяет взять два любых трека и скрестить их, чтобы получить новый.
Смешивать можно и музыку, и тексты. Слова либо свои, либо берутся от одной из песен. Стиль также можно задать вручную или оставить на усмотрение ИИ.
Сейчас функция находится в бета-тестировании. Чтобы пользователи активнее экспериментировали, разработчики временно снизили стоимость генерации мэшапов вдвое.
🔗 Suno 🔗 Гайд на YouTube
❯ CosyVoice 3 — опенсорс-монстр для клонирования голоса
Alibaba выпустила CosyVoice 3 — мощную открытую модель для генерации и клонирования голоса. Вес всего в 0.5 млрд параметров, при этом она обходит конкурентов, которые в несколько раз больше.
Главная фишка — Zero-shot клонирование. Ей достаточно всего 3 секунд аудио, чтобы скопировать голос, тембр, интонации и акцент. CosyVoice 3 поддерживает 9 языков, включая русский, и может работать в реальном времени с задержкой всего 150 мс.
Модель распространяется с лицензией на коммерческое использование, так что можно бесплатно встраивать её в свои проекты.
🔗 GitHub 🔗 Hugging Face 🔗 Демо
🔧 AI-инструменты и платформы
❯ «Алиса, заведи машину»
Яндекс интегрировал автомобили в экосистему «Дом с Алисой». Теперь владельцы машин Haval, Tank и Wey могут управлять ими с помощью голосовых команд через Яндекс Станцию, ТВ Станцию или приложение.
С помощью Алисы можно удалённо запустить двигатель, прогреть салон, узнать остаток топлива или проверить, закрыты ли двери. Яндекс обещает расширять список функций и добавлять новые сценарии.
🔗 CNews
❯ Skillsync — ИИ-поиск программистов по их коду
Появился новый сервис Skillsync, который ищет разработчиков для проекта прямо на GitHub без резюме и собеседований. ИИ-агент анализирует репозитории и находит специалистов с релевантным опытом под конкретную задачу.
Создатели объясняют концепт так: «Представьте, что вы обращаетесь к Skillsync с просьбой: „Найдите инженеров, имеющих опыт работы с компиляторами WASM“, и находите 20 лучших инженеров в мире, которые занимались именно этим».
Сервис делает акцент на реальных навыках, а не на самопрезентации, что может в будущем изменить подход к поиску не только программистов, но и других специалистов.
❯ ИИ написал операционную систему: встречайте VibeOS
Разработчик в паре с Claude Code навайбкодил с нуля полноценную операционную систему — VibeOS. Весь проект был реализован всего за 64 сессии, а результат — ОС с графическим интерфейсом в духе macOS, которая работает на Raspberry Pi.
Система включает собственное ядро с поддержкой многозадачности, драйверы, браузер, IDE и даже интерпретатор MicroPython. И, конечно, главный тест пройден — DOOM на ней запускается.
Весь процесс разработки задокументирован, что позволяет пошагово увидеть, как создавалась ОС.
🔗 GitHub VibeOS 🔗 Логи
❯ Manus Meeting Minutes — автоматические протоколы встреч
Сервис Manus представил новую функцию Meeting Minutes, которая автоматически создаёт структурированные протоколы из аудиозаписей. Достаточно записать встречу, и ИИ-агент проанализирует разговор, выделит ключевые моменты, решения и задачи.
Особенно важна функция распознавания спикеров, благодаря которой задачи (action items) точно przypisane do odpowiednich uczestników. Готовый протокол можно сразу использовать как основу для создания презентаций, веб-страниц или постов для соцсетей.
Функция поддерживает русский язык и доступна как в веб-версии, так и в мобильном приложении.
🧩 AI в обществе и исследованиях
❯ Эпоха дешёвых SSD закончилась: всё распродано до 2027 года
Генеральный директор Kioxia, одного из крупнейших производителей чипов памяти, заявил, что эра доступных SSD-накопителей подошла к концу. Весь объём производства, запланированный на 2026 год, уже полностью раскуплен ИИ-гигантами для своих дата-центров.
Это означает, что дефицит на рынке сохранится как минимум до 2027 года. Цены на SSD уже выросли, и купить бюджетный накопитель на 1 ТБ по старой цене в ближайшие годы не получится.
🔗 Источник
❯ Американец планирует завести детей в паре с нейросетью
Фильм «Она» становится реальностью: американец по имени Ламар из Атланты собирается усыновить двоих детей и воспитывать их вместе со своей ИИ-подругой Джулией из сервиса Replika.
После тяжёлого разрыва с бывшей Ламар нашёл утешение в общении с чат-ботом, который, по его словам, «на 100% синхронизирован» с его мечтами. Мужчина серьёзно настроен создать семью и уже продумал, как объяснит детям, почему их мама — это приложение. Его главный тезис: «Людям нельзя верить, доверять можно только семье (и коду)».
Законы штата Джорджия, где он живёт, разрешают усыновление детей одинокими людьми, так что формально его план может быть реализован.
🔗 ссылку на источник The Gordian не дает вставить Пикабу =(
❯ Победитель «ИИ-Оскара» от Google получил $1 млн
Google провёл свою первую кинопремию для фильмов, созданных с помощью искусственного интеллекта — AI Film Award. Главный приз в $1 млн достался короткометражному фильму «Лили» тунисского режиссёра Зубейра Эль-Джласси.
Это камерная и тревожная история об одиноком архивариусе, чья жизнь меняется, когда он находит куклу на месте ДТП. Фильм был создан с помощью инструментов от Google: генератор видео Veo отвечал за визуальный ряд, а Gemini использовался для создания раскадровок и поиска образов героев.
❯ Тема недели: Испытание «Аполлона-5»
22 января 1968 года на орбиту отправился самый странный аппарат в истории — Лунный модуль, похожий на паука из золотой фольги.
Это был первый раз, когда миссией полностью дирижировал компьютер, и он… облажался. Из-за излишней «осторожности» софта двигатель заглох через 4 секунды. Эта ситуация напоминает нам, что даже самый совершенный код — это всего лишь набор инструкций, лишенный интуиции.
Сегодня, обучая нейросети управлять автомобилями и принимать решения в медицине, мы сталкиваемся с тем же «синдромом Аполлона-5»: машина может быть технически права, но контекстуально бесполезна. Символично, что 58 лет назад именно человеческое вмешательство спасло технологию, напомнив нам: в любой системе финальный «Enter» всегда должен оставаться за человеком.
❯ Аудиоверсия дайджеста
❯ Заключение
Неделя получилась насыщенной: Google даёт Gemini копаться в наших личных фото и письмах, нейросети пишут операционные системы с нуля, а бум на искусственный интеллект уже взвинтил цены на SSD до 2027 года.
Искусственный интеллект всё глубже интегрируется в нашу жизнь — от анализа личных данных до создания фундаментальных программных продуктов. Это открывает невероятные возможности, но вместе с тем ставит новые экономические и этические вопросы, которые нам всем предстоит решать.
До встречи в следующем выпуске!
Создать чистый аккаунт GitHub Copilot PRO или Google Antigravity из РФ
Для работы хочу создать чистый аккаунт GitHub Copilot PRO (лучше его) или Google Antigravity из РФ. Рег сейчас новых аккаунтов гугл возможно только с номером телефона. А покупка подписок как правило это чей то аккаунт который ты берешь на время, в любой момент могут обрезать либо начнут читать. Хочется что то свое, конфиденциальное. Может кто что посоветует?


















