Как я упоминал в другом месте, много регулярных работ по разработке — это инженерная работа, а не кодирование. Кодирование составляет хороший кусочек, но даже настройка проекта с помощью IDE, и привлечение среды — это инженерия. Это означает манипулирование командами ОС и т. Д. И поскольку хорошие разработчики также рассматривают свой код как данные, они привыкли к идее нацеливания на него с помощью инструментов и сценариев вне опыта IDE. Вот где агент Командная строка интерфейсы (CLI) заходите.
Просто запустить терминал?
Большие языковые модели (LLM) лучше в инженерии, чем фактическое кодирование. Это в основном потому, что разработка кода в IDE не может быть выражена как непрерывный набор пар запросов/ответов. Однако перейдите на сеанс оболочки в терминале, и это именно то, что у нас есть: команда и ответ.
Но поскольку сеансы терминалов почти опускаются в прошлое до того, как существовали вычисления, их определение довольно широкое. Я помню, как играл в лунном Lander на сеансе телетипа (клавиатура, принтер и бумага) в школьной комнате. Я мог бы подражать те же вопросы и ответ сегодня, но никакие другие физические аспекты этого опыта не будут разделены.
Похоже, что у нас просто есть текстовый интерфейс — какой -то строковый буфер, который изменяется со временем. Что может пойти не так?
Я использовал службу рендеринга, запустив свой экземпляр, и я подключился к терминалу через Интернет.
Render предлагает классическую оболочку Linux через Интернет, но мне нужно было быстро скопировать текст из файла. Поскольку служба разворачивает ваш код в переходной области, для доступа нет постоянного диска (ну, если вы не платите дополнительно).
Хотя я могу дать команду CAT, чтобы показать файл, первое, что нужно помнить, это то, что если это слишком длинное, вы не сможете увидеть верхнюю часть файла. Scrollback имеет ограниченное количество строк. Я не знал, как изменить это в виде в окне оболочки, которую я не начал. Нет проблем, я мог бы бежать меньше или Vim. Первый не был доступен, а второй не хотел работать над полным экраном. Также было невозможно скопировать какой -либо текст через веб -интерфейс.
Вим не хотел заполнять экран.
В хост -системе, через Интернет, вы просто не можете сделать слишком много предположений. В этом случае веб -интерфейс представляет терминал. Хотя оболочка является чем -то очень специфическим, терминал является скорее идеалом, который может быть реализован по -разному. В то время как в конечном итоге вы можете обойти все эти проблемы (а предоставление-прекрасная услуга), Agile Engineering-это вращение через постоянно улучшенные решения-не тратить время на отдельные интерпретации инструментов.
Разработка хорошего текстового пользовательского интерфейса
Таким образом, в терминале есть нечто большее, чем просто фронт для оболочки ОС. Дело в этой статье хорошо сделано Уиллом МакГуганом, генеральным директором Textualize, стартапом, продвигающего богатые приложения для терминала. Я еще не думаю, что продукт готов к обзору, но то, что МакГуган признает, важно: эмулированные терминалы часто являются грязными вещами. И он не был так впечатлен тем, что видел, когда использовал Клод Код и Кли Близнецов.
Сначала он упоминает проблемы с мерцанием. Это не шоу -стоппер, но он будет носить вас с постоянным использованием. Проблема возникает, когда обновления экрана не могут идти в ногу с изменениями в информации, обычно при прокрутке. Как разработчик игр, я знаю старую проблему отделения изменений на экране до его натяжения, и, например, причины реализации двойных буферизационных решений. Есть причина, по которой Zed усердно работает над тем, чтобы быстро поддерживать его редактор на основе ржавчины.
Существует также возможность копировать только текст, а не квадратные блоки экрана. Вам также необходимо прочитать непечатные символы для поддержания целостности линии. Это всегда работает в современной IDE, но не так надежно в каждом сеансе терминала.
Любой, кто читает мои статьи в новом стеке, уже узнает о преимуществах использования более сильных терминальных приложений, таких как Warp или Ghostty. Но в этом есть нечто большее, чем это.
Консоль в консоли
Claude Code, например, является терминальным приложением. Это требует небольшого объяснения. Это программа, которая предполагает, что она работает в пределах определенного типа указанного терминала.
Сам Claude Code является приложением Node.js, написанным в основном в TypeScript и скомпилированным с WebPack. Если вы чувствуете необходимость углубиться в это, Джеффри Хантли может помочь. Возможно, вы обнаружили, что, хотя Claude Code находится на GitHub, фактического исходного кода нет.
Чтобы сохранить контроль над сеансом, большинство агентских AIS эффективно вступают во владение терминалом, в котором они работают.
Вы можете увидеть это в случае CLI Gemini, где сеанс поддерживается в одном блоке, так сказать, где запросы отделены от ответов в неловких коробках:
Но это не единственный способ сделать это. Сравните это с тем, как Warp явно помещает каждую пару запросов и ответов в свой блок:
Это означает, что вы можете смешать нормальные задачи оболочки с вашим агентским сеансом. Очевидно, что это легче для Warp, которая добавила свой агент CLI в свое собственное приложение терминала, но он продолжает показывать, что в реализации терминала существует много разнообразия.
Как насчет просто говорить
Конечно, вам вообще не нужно использовать клавиатуру. Вы можете просто поговорить. Я видел видеоклипы этого, работающего с агентским CLI, так же, как он работает с вашим телефоном. Голос преобразуется в текст так быстро, что он близок к мгновенному. Когда мы думали о разговорном программировании в прошлом, некоторые люди всегда имели в виду использование голосового ввода, но нам нужен доступ к тексту.
Самый быстрый способ вырвать предыдущую команду или ответ — прокрутить назад и схватить ее. Существует также возможность печатать простые биты кода; Вы не хотите делать это голосом. Или добавить изображения.
Обратите внимание, как я добавляю некоторую простую структуру кода в этот запрос:
Это не будет работать с помощью голоса. Повествование о разговорном программировании слишком близко к капитану Кирку, разговаривающему с корпоративным компьютером, чтобы близко соответствовать тому, что нужно разработчикам. На самом деле, вы можете помнить, что Спок использовал другой интерфейс, когда на компьютере появились изображения:
Это был умный способ передать повествование без необходимости показать аудиторию сложные диаграммы физиологии инопланетян и т. Д., Но это также доказало, что существует ограничение для голосового интерфейса, даже в художественной литературе.
Заключение
Для того, чтобы агент преуспел в долгосрочной перспективе, эти консольные сеансы должны быть быстрыми, отзывчивыми и полностью интерактивными. Например, вам нужно быть в состоянии быстро и точно копировать и копировать.
Является ли правильным подходом для кого -то, чтобы написать очень хорошее терминальное приложение с крючками для ИИ или сильной общей рамки, которая будет запускать на терминале или подход к варппам, работающий от супа к орехам? Независимо от того, какой подход выигрывает, разработчики не будут принять великих идей только для того, чтобы спуститься на ступеньку, чтобы работать с агентскими LLMS на сеансе низкого качества терминала.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Дэвид был лондонским профессиональным разработчиком программного обеспечения в Oracle Corp. и British Telecom, а также консультантом, помогающим командам работать более гибким образом. Он написал книгу по дизайну пользовательского интерфейса и с тех пор пишет технические статьи …. Подробнее от Дэвида Истмана