В 2015 году дизайнер Golden Krishna выпустил книгу с провокационным названием "The Best Interface is No Interface", где на пальцах объяснял, почему мы слишком увлеклись экранами, кнопками и менюшками — и совершенно забыли про саму задачу, которую пытаемся решить. Идея была в том, что лучший интерфейс — это тот, которого ты вообще не замечаешь, который просто работает где-то на фоне и не требует от тебя бесконечных кликов.

Прошло десять лет, и мы действительно пришли к тому самому "отсутствию интерфейса" — только совсем не так, как представлял себе Krishna, и уж точно не через какие-то ambient-девайсы и IoT-хитрости. Мы просто вернулись в командную строку, потому что теперь там появился кто-то, кто наконец-то нас понимает.

Как мы докатились до такого

Я хорошо помню, как в детстве стоял около компьютера и смотрел на чёрный экран с мигающим курсором — это был DOS, и чтобы запустить какой-нибудь Prince of Persia, нужно было напечатать магические слова вроде cd games\prince и потом prince.exe. Тогда мне это казалось настоящим колдовством, чем-то вроде заклинаний из книжки про волшебников, только работающих.

Потом пришла Windows 95 с её иконками, drag-and-drop и "моим компьютером", и всё стало "интуитивно понятным" — так, по крайней мере, говорили маркетологи, а мы им верили. Командная строка превратилась в нишевую штуку для сисадминов и каких-то странных бородатых мужиков в свитерах, которые принципиально отказывались от нормального интерфейса.

Дальше была мобильная революция с touch-интерфейсами, когда UX-дизайн превратился практически в религию: A/B-тесты оттенков синего на кнопке "Купить", бесконечные споры про меню "гамбургер", мантры про "три клика до цели". Дизайнеры рисовали красивые кнопочки, продакты считали конверсии, разрабы страдали, подключая очередную UI-библиотеку на двести мегабайт — всё ради того, чтобы пользователь "не думал".

А потом случился ChatGPT, и внезапно оказалось, что всё это время мы строили что-то не то.

Почему текст снова победил

Ирония в том, что мы десятилетиями возводили визуальные интерфейсы, искренне веря, что так "упрощаем" взаимодействие человека с компьютером — кнопки вместо команд, выпадающие списки вместо аргументов, визуальные метафоры вместо абстракций. И вот оказалось, что визуальные интерфейсы на самом деле не упрощают, а ограничивают: дропдаун с пятьюдесятью пунктами объективно хуже, чем возможность просто написать "мне нужно X"; обработать тысячу файлов через графический редактор — это отдельный вид мазохизма; а фраза "я нажал туда, потом сюда, потом что-то пошло не так" стала мемом не просто так.

AI-агентам все эти красивые интерфейсы не нужны от слова совсем — им нужен текст, потому что они читают текст, думают текстом, отвечают текстом. Заставлять агента работать через GUI — это примерно как заставить синхронного переводчика общаться исключительно эмодзи: теоретически возможно, но зачем?

И тут выяснилось, что CLI и TUI — эти, казалось бы, артефакты из восьмидесятых — оказались идеальным форматом для коллаборации человека и AI: всё логируется и воспроизводится, можно скриптовать и автоматизировать, контекст не теряется между сессиями, и даже работает по SSH на сервере в пяти тысячах километров от тебя (привет из Иркутска, где до московских серверов 50мс латентности, а до AWS во Франкфурте — все 150, и это ещё считается нормально).

Что изменилось технически

Современный терминал — это совсем не тот терминал, что был у наших родителей, и даже не тот, что был десять лет назад.

Во-первых, появилось GPU-ускорение, и это звучит странно — казалось бы, зачем терминалу видеокарта? — но когда ты работаешь с тысячами строк лога или ASCII-графикой, разница очень даже заметна. Alacritty, Kitty, Ghostty (последний, кстати, написан на Zig небезызвестным Mitchell Hashimoto, который до этого основал HashiCorp и придумал Terraform с Vagrant) — все они рендерят текст через GPU, и это действительно имеет значение для тех, кто проводит в терминале большую часть рабочего дня.

Во-вторых, терминалы научились нормально работать с цветом и шрифтами: True Color вместо палитры из 256 цветов, лигатуры в шрифтах (все эти красивые стрелочки и операторы сравнения), и даже — да, это существует — отображение картинок прямо в терминале через протоколы вроде Kitty Graphics. Терминал перестал выглядеть как скриншот из фильма про хакеров девяностых.

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

Экосистема, которая сделала возвращение возможным

Экосистема CLI/TUI
Экосистема CLI/TUI

Одна из главных причин, почему CLI снова стал привлекательным — это появление качественных инструментов, и тут огромную роль сыграло Rust-сообщество с его страстью к переписыванию классических Unix-утилит.

Вместо ls теперь есть eza с цветами, иконками и git-статусом прямо в листинге; вместо catbat с подсветкой синтаксиса; вместо findfd с человекочитаемым синтаксисом, который не требует гуглить маны каждый раз; вместо grepripgrep, который в десятки раз быстрее. И всё это не просто работает, а работает быстро, красиво и предсказуемо.

Но главное изменение — это TUI-приложения, полноценные интерфейсы с окнами, вкладками и интерактивностью, только живущие внутри терминала. Lazygit от Jesse Duffield — это полноценный Git-клиент, где можно делать staging по частям файла, интерактивный rebase, просматривать diff, и всё это через клавиатурные шорткаты без необходимости запоминать километры git-команд. Lazydocker от того же автора — аналогичная история для Docker, k9s — для Kubernetes, и так далее.

AI-агенты как катализатор всего этого безобразия

Но всё вышеописанное — это ещё цветочки по сравнению с тем, что произошло, когда в терминал пришли AI-агенты.

Claude Code от Anthropic превращает терминал в полноценную среду разработки, где ты описываешь задачу человеческим языком, а аге��т читает файлы, пишет код, запускает команды, ловит ошибки и исправляет их — и так по кругу, пока задача не будет решена. Это не автокомплит на стероидах, как Copilot, а именно агент, который может самостоятельно выполнить комплексную задачу, если ты достаточно внятно объяснишь, что тебе нужно.

Aider, созданный Paul Gauthier — это open-source альтернатива с прямой интеграцией в Git, где каждое изменение автоматически становится атомарным коммитом с понятным сообщением, и история репозитория остаётся читаемой даже после нескольких часов работы с AI.

Cursor и Windsurf — это уже IDE со встроенными агентами, которые выглядят как привычный VS Code, но под капотом работают совершенно иначе: tab-completion предугадывает целые функции, Cmd+K позволяет редактировать код через текстовые инструкции ("сделай этот метод асинхронным"), а agent mode берёт на себя комплексные задачи вроде "добавь авторизацию в проект".

Как это выглядит на практике

Раньше, чтобы сделать лендинг для нового сервиса, дизайнеры моего агентства открывали Figma, несколько часов рисовали макет, согласовывали с заказчиком в три итерации, потом подключался разработчик, инициализировал проект через npx create-react-app или что-то подобное, настраивал ESLint и Prettier, копипастил конфиги из прошлых проектов, верстал компоненты часов шесть, потом ещё пару часов на адаптив, и наконец деплоил на Vercel — итого где-то восемь-двенадцать часов чистого времени (в лучшем случае).

Сейчас я открываю терминал, описываю что мне нужно ("лендинг для сервиса доставки еды, минималистичный дизайн, React плюс Tailwind, секции hero-features-pricing-CTA, адаптив, PWA"), итерирую текстом если что-то не так, и через полчаса у меня готовый проект, который можно деплоить. Это не преувеличение и не маркетинговый буллшит — это реальный workflow, которым я пользуюсь каждый день. Да, не все идеально, но я пробовал делать это год назад и сейчас — прогресс колоссальный.

Конечно, тут есть нюансы: агенты всё ещё галлюцинируют и могут предложить несуществующую библиотеку или deprecated API, для больших проектов на сто плюс файлов им сложно удерживать полную картину, API Claude и GPT стоят денег (при активной разработке легко набегает пятьдесят-сто долларов в месяц), и да, я стал хуже помнить синтаксис, потому что зачем запоминать то, что можно спросить. Но даже с этими ограничениями соотношение потраченного времени к результату изменилось настолько драматически, что возвращаться к старому workflow просто не хочется.

Что это значит для всех нас

Несколько осторожных прогнозов, без претензий на истину в последней инстанции.

UX-дизайнерам придётся переквалифицироваться — не в "промпт-инженеров" (это временная профессия, которая исчезнет как только модели станут лучше понимать нечёткие запросы), а в специалистов по human-AI interaction, людей, которые понимают, как правильно структурировать диалог и минимизировать количество итераций. Junior-разработчики будут другими — меньше зазубривания синтаксиса, больше понимания архитектуры и бизнес-логики; меньше "как написать", больше "что написать и зачем". CLI-first инструменты станут стандартом индустрии — Terraform, Kubernetes, все современные CI/CD уже там, остальные подтянутся. А голосовые интерфейсы так и не взлетят, как и в предыдущие десять лет попыток — печатать всё ещё быстрее, точнее и не требует объяснять коллегам в опенспейсе, почему ты разговариваешь с компьютером.

Как начать, если ещё не начали

Минимальный стартовый набор для тех, кто хочет попробовать: современный терминал (Warp на Mac и Linux, Windows Terminal на Windows, или Alacritty для кроссплатформы), нормальный shell (zsh с oh-my-zsh или fish для совсем ленивых), базовые утилиты через brew install bat eza fd ripgrep fzf zoxide, какой-нибудь AI-агент на выбор (Claude Code, Codex), и мультиплексор вроде tmux или Zellij для работы с несколькими панелями.

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


Мы прошли полный цикл: CLI → GUI → CLI. Только теперь командная строка — это не про "запомни двести флагов и шесть уровней вложенности аргументов", а про "объясни человеческим языком, что тебе нужно". Ирония в том, что самый "user-friendly" интерфейс оказался самым старым — текст в терминале, чёрный экран с мигающим курсором. Просто раньше на той стороне не было никого, кто бы нас понимал.

Теперь есть.


P.S. Эта статья написана в Neovim через SSH на сервере, который физически находится очень далеко от моего текущего местоположения. Задержка — 47мс. Проблем — ноль. Байкальский привет всем, кто дочитал.