Сьогодні було представлено Paper Office — набір Python-пакетів, які дозволяють ШІ-агентам маніпулювати файлами Word, PowerPoint та Excel із більшою впевненістю, точністю та розширеним функціоналом. Ці пакети базуються на перевірених open-source бібліотеках python-docx, python-pptx та OpenPyxl.
У тестах на п’яти моделях та 61 завданні пакети Paper (включно з інструкціями) продемонстрували показник успішності 92,5%. Для порівняння: стандартні пакети без спеціальних можливостей показали 80,7%, а моделі Anthropic із порівнянними Office-можливостями — 69,5%. Вирішальна перевага проявляється під час генерації коду: агентам знадобилося лише 1,6% випадків, коли доводилося писати код для прямого редагування внутрішніх структур Office-файлів, тоді як без пакетів Paper це становило 78,7% (а для можливостей Anthropic — 50,5%). Це підкреслює, що якісне програмне забезпечення, поряд із промптами та інструментами, є важливим важелем для оптимізації результатів.
Розробка орієнтована на сферу “Brownfield Knowledge Work”. Наразі агенти лише повільно проникають у щоденну роботу консультантів, юристів, банкірів та операторів, оскільки вони часто не можуть працювати з наявними документами з такою ж точністю, як люди. Результати часто потрапляють у “теплину незрозумілості” (Uncanny Valley) — вони виглядають правильно, але не підходять для професійного використання клієнтом.
Оскільки Office-файли (DOCX, PPTX, XLSX) базуються на стандарті Office Open XML (OOXML), вони є ZIP-архівами з пов’язаними XML-файлами, зображеннями та ресурсами, а не просто текстовими файлами. Кожна невелика зміна вимагає узгодженості між кількома частинами. Існуючі бібліотеки Python є зрілими, але вони майже не оновлювалися протягом років і часто не мають необхідної глибини функціоналу та точності для багатьох важливих робочих процесів. Через це моделі часто використовують JavaScript-пакети або конвертацію в HTML, що призводить до втрати інформації та може пошкодити існуючі документи.
Paper Office використовує звичні імпорти оригінальних бібліотек (наприклад, import docx або from pptx import Presentation), але розширює їх на рівні внутрішньої логіки. Ці розширення роблять приховані структури доступними як типізовані дані, що зчитуються машиною, валідують цілі перед редагуванням, забезпечують збереження шляхів до пакетів та відхиляють дії, які не можуть бути виконані безпечно.
Окремим є пакет Paper DOCX, який розширює python-docx. Він дозволяє агентам, серед іншого:
- Виконувати пошук тексту по всьому документу через фрагментацію “Runs”, надаючи діапазон для замін або коментарів.
- Перезапускати нумерацію.
- Використовувати нативні зміни Word (Redlines), що виводять зміни тексту та таблиць як справжні правки Word.
- Керувати коментарями та їх розв’язанням.
- Використовувати елементи керування вмістом (Content Controls) із типізованими значеннями.
- Створювати закладки та поля (наприклад, номери сторінок або зміст).
- Об’єднувати документи з урахуванням форматування, стилів та медіафайлів.
- Використовувати пакетні diff-порівняння та безпечне збереження, щоб гарантувати збереження семантично незмінених частин файлу (байтів).
- Перевіряти режими захисту документа.
Сьогодні з’явився новий Python-пакет, з яким можна краще маніпулювати файлами Word, Excel та PowerPoint за допомогою ШІ-агентів. Бенчмарки в будь-якому разі виглядають багатообіцяюче, але, на мою думку, варто все ж таки протестувати це локально, щоб зрозуміти, чи витримає воно реальні практичні випробування.