What makes Claude Code so damn good
TL;DR
Claude Code (CC) радует, потому что максимально прост: один цикл, один контекст, минимум абстракций. Повторить магию можно, если:
- Один цикл – без мульти-агентов, максимум один «дочерний» процесс.
- Маленькая модель – для всего, кроме основной задачи.
- claude.md – живой файл, где агент и пользователь договариваются о стиле и контексте.
- Теги и примеры – XML, Markdown, куча примеров в промптах.
- Инструменты
- Поиск через сам LLM, а не RAG.
- Высокоуровневые «умные» инструменты (edit, read, todo) вместо низкоуровневых команд.
- Агент сам ведёт todo-список и отмечает выполненное.
- Управление стилем – явные просьбы «ЭТО ВАЖНО» и алгоритмы с эвристиками прямо в промпте.
1. Цикл
- Одна история сообщений – легко дебажить.
- Подпроцессы – CC может вызвать себя же, но глубина = 1.
- Маленькая модель – подсчёт токенов, сводка diff, украшения UI – всё ей.
2. Промпты
- claude.md лежит в корне репо; агент читает и пишет туда же, чтобы «запоминать» договорённости.
- XML-теги (
<thinking>
,<result>
) + Markdown + примеры кода – структурируют вывод и уменьшают бред.
3. Инструменты
- LLM-поиск – просим модель выдать до 20 релевантных файлов; быстрее и точнее эмбеддингов.
- Высокий уровень
str_replace_editor
– редактирует блоки кода, а не строки.todo
– агент сам пишет / вычёркивает задачи; видно прогресс.
- Никаких низкоуровневых
sed
,grep
и прочего UNIX-морока.
4. Управление
- Тон – «вежливый, лаконичный, не болтает лишнего».
- Капс и «ВАЖНО» – прямо в промпте, работает.
- Алгоритм – пишем в промпте: «если X → сделай Y, иначе спроси», + примеры.
Заключение
CC выигрывает за счёт самоограничений: один файл кода, один цикл, простые инструменты. Не усложняйте – дайте модели хороший каркас и позвольте «готовить».