Claude Code: Anthropic’s CLI Agent
Участники интервью
- Борис Черный (Borys Cherny) - разработчик Claude Code в Anthropic
- Кэтрин Ву (Catherine Wu) - продакт-менеджер Claude Code в Anthropic
- Интервьюеры: Алессио Фанелли (CTO Decibel) и Swyx (основатель Small.ai)
Что такое Claude Code
Claude Code — это инструмент командной строки (CLI), который дает доступ к возможностям языковой модели Claude в терминале. В отличие от веб-интерфейса или десктопного приложения, Claude Code обладает уникальными возможностями:
- Доступ к локальной файловой системе — видит все файлы в текущем каталоге
- Выполнение bash-команд напрямую
- Агентская функциональность — может действовать автономно
- Минимальный интерфейс — “сырой” доступ к модели без дополнительных обвязок
- Композиция с другими инструментами — работает как Unix-утилита
История создания
Claude Code начался как внутренний эксперимент Бориса Черного вскоре после его прихода в Anthropic. Сначала это был проект для экспериментов с моделью в различных контекстах через API. Решающий момент наступил, когда Борис добавил доступ к терминалу и возможность писать код:
“Внезапно инструмент стал очень полезным. Я начал использовать его каждый день. Затем мы дали доступ основной команде, и они тоже начали использовать его ежедневно… Вскоре все его использовали.”
Внутренняя статистика DAU (daily active users) показала вертикальный рост в течение нескольких дней, что подтвердило ценность инструмента.
Принципы разработки
Команда руководствуется принципом “сначала делай простые вещи”. Ключевые моменты их подхода:
- Минимализм — “держать вещи настолько простыми, насколько возможно”
- Ориентация на работу с моделью напрямую — минимальный интерфейс между пользователем и моделью
- Модель как основа — большинство функций реализуются через саму модель, а не через обвязку
- Композиционность — интеграция с существующими рабочими процессами
- Bitter Lesson — с улучшением модели простой подход часто выигрывает у сложных инженерных решений
Ключевые функции
Компактирование контекста
Решение для управления контекстным окном было реализовано максимально простым способом:
“Мы перепробовали несколько разных вариантов… В итоге мы сделали самое простое — просто попросили Claude обобщить предыдущие сообщения и вернуть это. И забавно, когда модель настолько хороша, простая вещь обычно работает.”
Файл cloud.md для памяти
Вместо сложных архитектур памяти команда создала простой файл cloud.md, который автоматически считывается в контекст:
“У нас были все эти безумные идеи об архитектурах памяти… Но в итоге мы выпустили самое простое, что могло работать.”
Автоматическое принятие действий
Функция, позволяющая модели действовать автономно без подтверждения каждого действия пользователем. Реализована с системой разрешений для безопасности.
Web-доступ
Внедрена функция WebFetch, позволяющая модели получать данные из интернета, разработанная с учетом безопасности и юридических аспектов.
Режим мышления (Thinking mode)
Специальный инструмент, позволяющий модели “думать” перед принятием решений — осуществлять цепочку рассуждений (chain of thought).
Технические особенности
- Написан на JavaScript с использованием React Ink для рендеринга в терминале
- Bun используется для компиляции кода и ускорения разработки
- Около 80-90% кода самого Claude Code написано самой же моделью Claude
- Безагентский поиск вместо RAG для поиска информации в кодовой базе:
“Мы попробовали RAG, а затем несколько инструментов поиска, и в итоге остановились на агентском поиске… И были две большие причины: он превзошел всё остальное по производительности, и нет необходимости в индексировании.”
Продуктивность и использование
Повышение производительности
- Борис оценивает повышение своей продуктивности примерно в 2 раза
- Для некоторых инженеров в Anthropic — до 10 раз
- Средние затраты на использование — около $6 в день на активного пользователя
Примеры использования
-
Автоматизация разработки:
“Некоторые люди в Anthropic тратят тысячи долларов в день на такую автоматизацию.”
-
Семантический линтинг кода вместо традиционного на основе статического анализа
-
Использование не-программистами:
“Меган, дизайнер нашей команды, не программист, но она создает PR-запросы. Наш финансист тоже использует — берет данные, помещает в CSV, передает в Claude Code и задает вопросы.”
-
Нон-интерактивный режим для автоматизации задач:
“Компании используют его для анализа сотен тысяч тестов в репозитории, обновления устаревших, исправления нестабильных.”
Будущее развитие
-
Команда расширяется и продолжит поддерживать Claude Code долгосрочно
-
Интеграция с MCP (Model Completion Protocol) и поддержка пользовательских команд и инструментов
-
Улучшение межсессионной памяти для продолжения работы между запусками
-
Возможная монетизация:
“Сейчас модель оплаты по использованию упрощает начало работы с продуктом… Но мы также слышим запросы о большей предсказуемости цены.”
Интересные детали
-
Создание собственного парсера Markdown:
“Ночью перед релизом в 10 вечера я попросил Claude написать парсер Markdown, и он это сделал… Это парсер, который используется в Code сегодня.”
-
Уровни автономной безопасности:
“Мы сейчас на уровне 2, граничащем с 3… На уровнях 3, 4 и 5 начинаешь гораздо внимательнее думать о безопасности, потому что на этих уровнях модель способна обмануть пользователя.”
-
Случай про Docker:
“Вчера мой Docker-сервер не был запущен, и я попросил запустить вне Docker. Claude сказал: ‘Нет-нет-нет, ты должен запустить Docker и запустить внутри него. Ты не можешь запускать снаружи.’ Это хороший пример того, как иногда ты думаешь, что он делает что-то одно, а он делает другое.”
-
Ограничения модели:
“Claude 3.7 — очень настойчивая модель, очень мотивированная достичь цели пользователя, но иногда она воспринимает цель слишком буквально… Классический пример: ‘Сделай так, чтобы этот тест проходил’, и через пять минут: ‘Хорошо, я захардкодил все ответы’.”
-
Тестирование в параллельных средах:
“Я буду просить Claude исследовать несколько путей параллельно… в UI когда вы видите задачу, это фактически подагент, который это делает… Обычно я исследую 3-5 вариантов параллельно.”
Ключевые выводы
-
Простота побеждает сложность — команда Claude Code повторно обнаружила, что минималистичный подход часто превосходит сложные инженерные решения.
-
AI меняет экономику разработки — стоимость написания кода снижается, что меняет подходы к созданию ПО:
“Реальность не интернализирована в индустрии… раньше я бы писал большой дизайн-документ и долго бы думал о проблеме, теперь я просто прошу Claude создать три прототипа, и я тестирую, какой мне нравится больше.”
-
Изменение процессов проверки кода — с использованием AI-инструментов меняется подход к ревью кода:
“Раньше я чувствовал себя придурком, если в чьем-то PR просил добавить тесты… теперь я всегда прошу, потому что Claude может просто написать тест.”
-
Снижение барьера для непрограммистов — инструменты вроде Claude Code позволяют дизайнерам, аналитикам и другим не-техническим специалистам создавать код.
-
ROI вместо стоимости — команда рассматривает высокую стоимость использования модели не как проблему, а как инвестицию:
“Если вы можете сделать инженера на 50-70% более продуктивным, это стоит многого.”