← Блог

Документируй разговоры с агентом, а не код

Сережа Рис · 2 February 2026

claude codeблог

Открыл терминал. Написал промпт. 2.5 часа спустя — 54 итерации.

Я хотел блог-пост про Telegram Vector Search. Агент упорно генерировал техническую статью: архитектура, модули, SQL-схемы. После сорока попыток до меня дошло.

Дело не в конкретном посте. Дело в формате.

Боль

Проект tg-telethon. Прошу агента написать статью про поиск по переписках. Получаю:

“Архитектура состоит из четырех модулей: sync.py для синхронизации, db.py для хранения…”

Переписываю промпт. Получаю снова технику:

“Класс Database с методами: upsert_chat(id, title, type, username)…”

Сорок итераций. Злюсь. Пишу агенту прямо: “мне не нравится стиль. там про разработку, а я про промпты агенту пишу”. Не помогает. Пишу жёстче: “это техническая и скучная статья… там обсуждение про файлы идет а я файлы не открываю — я промптами общаюсь с агентами”.

Агент не понимал. И я не понимал — пока не перечитал собственные промпты. Я пытался запихнуть новый способ работы в старый формат документации.

Традиционный блог

┌─────────────────────┐
│ Проблема            │
├─────────────────────┤
│ Архитектура         │
│ ├─ module_a.py      │
│ ├─ module_b.py      │
│ └─ config.yaml      │
├─────────────────────┤
│ Код                 │
│ def sync():         │
│   for chat in...    │
├─────────────────────┤
│ Результат           │
└─────────────────────┘

Это работало, когда сам писал код. Помнил файлы. Помнил функции. Мог объяснить архитектуру — сам её создавал.

Вайбкодеры не пишут код.

Открываю терминал. Пишу: “сделай поиск по моим чатам в Telegram, хочу искать по смыслу, не по словам”. Агент создаёт 8 файлов. Не открываю их. Запускаю. Работает — отлично. Не работает — пишу “пофикси”.

Какую статью писать про такой процесс?

Новый формат

┌─────────────────────┐
│ Боль                │
├─────────────────────┤
│ Промпт #1           │
│ "сделай поиск..."   │
├─────────────────────┤
│ Что агент сделал    │
├─────────────────────┤
│ Проблема            │
│ "Telegram забанил"  │
├─────────────────────┤
│ Промпт #2           │
│ "добавь задержки"   │
├─────────────────────┤
│ Результат           │
└─────────────────────┘

SpecStory ввёл термин “intent layer” — документирование намерений вместо кода. Cursor добавил shared transcripts для шаринга диалогов с агентами. Simon Willison в декабре 2025 выпустил claude-code-transcripts — экспорт сессий Claude Code в читаемый формат. Rasa использует “conversation-driven development” ещё с 2020 года.

А “vibe coding” — термин Андрея Карпатого из февраля 2025: описываешь что хочешь на естественном языке, агент пишет код.

Первичный артефакт теперь — диалог.

Источник правды

В какой-то момент я написал агенту:

“я хочу чтобы учитывались логи моего клод кода… там есть реальная правда”

Логи Claude Code (~/.claude/projects/*/history.jsonl) — там реальные промпты. Реальные итерации. Реальные ошибки.

Не выдуманные диалоги для статьи. Не причёсанные примеры. Настоящие разговоры.

Из логов tg-telethon за ту сессию:

По-моему, это ценнее любого листинга.

Как документировать

Было (implementation-first):

“Создал класс VectorSearch с методом embed_query(). Использовал sentence-transformers.”

Стало (intent-first):

“Написал: хочу искать по смыслу. Агент выбрал sentence-transformers. Запустил — работает.”


Было:

“Шаг 1: создай sync.py. Шаг 2: добавь rate limiting с random.uniform(1, 3).”

Стало:

“Первая версия синхронизировала быстро — Telegram забанил. Попросил добавить задержки. За ночь прошло 50 чатов без бана.”


Было:

“Архитектура: четыре модуля, PostgreSQL с pgvector, API через FastAPI.”

Стало:

“Попросил сделать поиск. Три команды: sync, search, status. Всё что нужно.”

Что меняется

Статьи для вайбкодеров выглядят иначе. Нет блоков кода — есть промпты. Нет архитектурных диаграмм — есть история итераций. Нет “шаг 1, шаг 2” — есть “попросил → получил → уточнил → работает”.

Читаешь такую статью и понимаешь: как человек разговаривал с агентом. Какие промпты писал. Где споткнулся. Как переформулировал.

Код агент напишет. А как правильно попросить — навык.

Takeaway

  1. Диалог — первичный артефакт. Не код, не файлы. Промпты и итерации.

  2. Логи — источник правды. history.jsonl в Claude Code. Реальные промпты, не выдуманные.

  3. Показывай процесс. Попытка → проблема → решение. Не финальную архитектуру.

  4. Intent-first. “Хочу поиск по смыслу”, не “pgvector + sentence-transformers”.

  5. Разговорные промпты. Как объясняешь другу, не API-спецификация.

Традиционные блоги показывают код. Вайбкодеры код не пишут — разговаривают с агентами.

Подписаться на обновления — @sereja_tech