раздел 00
Зачем агенту лёгкие форматы
Откройте любой файл .docx архиватором. Внутри окажется папка с десятком XML-файлов: текст в одном, стили в другом, таблицы размазаны по тегам, картинки лежат отдельно. То же самое с .xlsx. PDF ещё хуже: это бинарный формат для печати, где текст разбит на кусочки с координатами на странице, а слова могут храниться вразнобой.
Для человека это невидимо: Word открыл, показал, вы читаете. Для агента в IDE это три лишних шага до первой осмысленной строки.
Что происходит, когда агент открывает docx
- Агент видит, что файл бинарный, и не может прочитать его как текст.
- Он ищет способ распаковать: ставит библиотеку, пишет скрипт, запускает
pandocили что-то ещё. Это несколько вызовов инструментов, каждый с ответом в контекст. - На выходе - либо аккуратный текст (повезло), либо каша из тегов и служебных символов, где заголовки не отличить от абзацев, а таблица превратилась в список слов.
- Дальше агент работает с тем, что получилось. Если структура потерялась на шаге 3, он не узнает об этом и будет уверенно цитировать не то.
Каждый шаг стоит токенов и времени. Каждый шаг - место, где что-то может пойти не так. И всё это ради того, чтобы прочитать письмо на полстраницы.
Лёгкий формат - это текст как есть. Агент открывает файл и сразу читает содержимое, без распаковки, конвертации и догадок о том, где тут заголовок.
Одно письмо в двух версиях
Возьмём короткое письмо клиенту. В Word это один файл letter.docx на 14 КБ. Что видит агент, если попробует прочитать его напрямую:
PK
! [Content_Types].xml ...
word/document.xml ... <w:p><w:pPr><w:pStyle w:val="Heading1"/></w:pPr>
<w:r><w:t>Коммерческое предложение</w:t></w:r></w:p><w:p><w:r>
<w:t>Добрый день, Мария!</w:t></w:r></w:p><w:tbl><w:tr><w:tc>...
Это в лучшем случае, если он полез внутрь zip. Чаще он просто получает «binary file» и идёт искать конвертер.
То же письмо в letter.md:
# Коммерческое предложение
Добрый день, Мария!
Отправляю расчёт по обучению команды:
| Модуль | Часов | Стоимость |
|---|---|---|
| Основы агентов | 8 | 120 000 |
| Практика в IDE | 16 | 240 000 |
Срок действия - до 30 сентября.
Агент читает это с первой попытки. Он видит, где заголовок (#), где таблица (|), сколько в ней строк, какие суммы. Может процитировать точно, посчитать итог, сравнить с другим предложением - без единого лишнего шага.
Три формата одной строкой
Подробно про каждый, с примерами и границами применимости - в следующей главе.
Что это меняет на практике
Когда рабочие документы лежат в лёгких форматах, агент в IDE становится заметно полезнее:
- Он читает папку с документами напрямую и отвечает на вопросы по ней, а не по одному файлу за раз.
- Он правит документ и вы видите изменения построчно в git, как в коде. С docx так не получится: там любая правка - это перезапись бинарника.
- Он не тратит контекст на распаковку, и на ту же задачу уходит меньше токенов. Сколько именно - в главе 02.
- Вы сами открываете любой файл в любом редакторе, на телефоне, в браузере. Никаких «нужен Word этой версии».
Частые возражения
«Клиент присылает в Word, я не могу это изменить». И не надо. Исходники оставляете как есть, рядом делаете лёгкую копию для агента. Как это организовать без хаоса - в главе 04.
«В Markdown нет форматирования, документ выглядит бедно». Для работы агента оформление почти всегда лишнее. Для выдачи клиенту его можно вернуть в конце: из md собирается docx одной командой.
«Excel умеет формулы, CSV нет». Верно, и это главное ограничение. Но чаще всего агенту нужны данные из таблицы, а не формулы. А если нужны расчёты, он их сделает сам, и вы увидите, как именно.
Дальше по курсу: разберём три формата подробно, посчитаем токены, переведём документы и построим рабочий процесс, в котором Word и Excel появляются только на выходе.