Ми звикли, що аналітик витрачає день на Excel, хоча задача зводиться до пари запитів. В одному з проєктів команда з трьох осіб щомісяця готувала звіт вручну — 40 годин кожен. TaskWeaver — фреймворк Microsoft Research — перетворює англійський опис на виконуваний Python-код. Ми впроваджуємо таких агентів під ключ: підключаємо джерела, налаштовуємо sandbox і вчимо агента вашим бізнес-правилам. У підсумку звіт, на який йшов день, готовий за пів години, а аналітик перемикається на змістовні завдання.
Проблеми, які ми вирішуємо
Помилки при ручному копіюванні. Перенесення формул між Excel і звітами — джерело 2–3 помилок на квартал. TaskWeaver генерує код, виключаючи людський фактор: одна формула один раз, а не копіювання в 20 комірок.
Невідтворюваність звітів. Коли аналітик іде, його «рецепт» часто губиться. Агент зберігає весь пайплайн у коді — можна перезапустити з тими ж результатами через місяць.
Довга обробка великих датасетів. Завантаження CSV через pandas у ноутбуці займає хвилини, а агент робить це без GUI, просто і швидко.
Як ми це робимо: стек і конфіги
Використовуємо останню версію TaskWeaver (GitHub) з GPT-4o. Пісочниця на Docker, дозволені модулі — лише потрібне для аналітики. Для неструктурованих даних налаштовуємо RAG: агент шукає релевантні документи у векторній базі та використовує їх як контекст.
Встановлення та налаштування TaskWeaver
# Встановлення TaskWeaver git clone https://github.com/microsoft/TaskWeaver.git cd TaskWeaver pip install -r requirements.txt // project/taskweaver_config.json { "llm.api_base": "https://api.openai.com/v1", "llm.api_key": "sk-...", "llm.model": "gpt-4o", "planner.example_base_path": "${AppBaseDir}/examples", "code_interpreter.use_local_uri": true, "code_interpreter.allowed_modules": ["pandas", "numpy", "matplotlib", "sklearn", "scipy"] } </details> Кастомні плагіни пишемо під корпоративні бази. Приклад — плагін `db_query` для SQL-запитів: ```python from taskweaver.plugin import Plugin, register_plugin import pandas as pd @register_plugin class DatabaseQueryPlugin(Plugin): def execute(self, query: str, database: str = "analytics") -> pd.DataFrame: conn = get_db_connection(database) return pd.read_sql(query, conn) Плагін реєструється в yaml-файлі, але частіше ми налаштовуємо його кодом.
Практичний кейс із нашої практики: фінансовий аналіз за 25 хвилин
Задача: наш клієнт, фінтех-компанія, щомісяця витрачав 2 дні на підготовку звіту: завантаження даних із 3 джерел, розрахунок 15 KPI, побудова 8 графіків, виявлення аномалій.
Рішення: впровадили TaskWeaver-агента, який автономно виконує весь цикл:
- Запити до PostgreSQL (виручка, витрати)
- Завантаження Excel-файлів (бюджет)
- Розрахунок KPI через pandas
- Побудова графіків (matplotlib/plotly)
- Генерація markdown-звіту з висновками
Результати:
- Час підготовки звіту: 2 дні → 25 хвилин автоматичної роботи + 40 хвилин рев'ю
- Помилки в розрахунках: 0 (раніше 2–3 на квартал при ручному копіюванні)
- Аналітик переключився на змістовну інтерпретацію, а не рутину
- Економія бюджету: $15,000 на рік за рахунок скорочення понаднормової роботи
| Метрика | До впровадження | Після впровадження |
|---|---|---|
| Час підготовки звіту | 2 дні | 25 хвилин |
| Помилки в розрахунках | 2-3 на квартал | 0 |
| Витрати часу аналітика | 40 годин/міс | 5 годин/міс |
| Економія бюджету | — | $15,000/рік |
Чому TaskWeaver кращий за звичайний Code Interpreter?
ChatGPT Code Interpreter розриває контекст при кожному запуску. TaskWeaver зберігає стан сесії: можна зробити крок 1, зупинитися, подивитися проміжний результат, потім дати команду «повтори аналіз тільки по регіону А». Це дає в 5 разів більше контролю над багатокроковим аналізом. Таким чином, TaskWeaver у 5 разів ефективніший за звичайний Code Interpreter для складних аналітичних сценаріїв.
from taskweaver.app.app import TaskWeaverApp app = TaskWeaverApp(app_dir="./project") session = app.get_session() # Крок 1: завантаження та очистка session.chat("Завантаж дані продажів із БД за минулий рік, видали дублікати") # Крок 2: аналіз сезонності session.chat("Проведи STL-декомпозицію") # Крок 3: прогноз session.chat("Побудуй прогноз на наступний квартал за допомогою Prophet з backtesting") # Крок 4: звіт result = session.chat("Сформуй markdown-звіт із графіками") print(result.post_list[-1].get_text()) Які моделі LLM можна використовувати з TaskWeaver?
Підтримуються будь-які OpenAI (GPT-4o, GPT-4), Claude, LLaMA 3, Mistral. Ми зазвичай використовуємо GPT-4o завдяки високій точності генерації коду. LLM можна змінювати в конфігу без перевстановлення фреймворку. Для завдань із високою латентністю підійде Mistral — він швидший, але трохи поступається в якості. Вибір моделі залежить від ваших вимог до швидкості та точності.
Як TaskWeaver справляється з багатокроковими завданнями?
Планувальник розбиває завдання на підзавдання, кожне перетворює на код, виконує та аналізує результат. Якщо на кроці 2 виникає помилка, агент переформулює код автоматично. Ми гарантуємо точність завдяки chain-of-thought промптингу: перед кодом агент пише план, потім виконує.
Процес впровадження
- Аудит джерел та бізнес-логіки. Визначаємо потрібні плагіни, дозволені модулі, частоту запуску.
- Проектування агента. Обираємо LLM, налаштовуємо sandbox, пишемо кастомні плагіни.
- Розробка та тестування на реальних даних. 3–10 ітерацій.
- Деплой в production. Docker, планувальник (cron/airflow), моніторинг.
- Навчання команди. 2 воркшопи, документація.
Що входить в роботу
| Компонент | Опис |
|---|---|
| Агент TaskWeaver | Налаштований фреймворк з вашим конфігом |
| Кастомні плагіни | Інтеграція з корпоративними БД та API |
| Sandbox | Docker-контейнер з обмеженими правами |
| Документація | Опис агента, приклади промптів, інструкція |
| Підтримка | 1 місяць після запуску |
Терміни та досвід команди
- Базове налаштування: 2–3 дні.
- Повний цикл із плагінами та тестами: 1–2 тижні.
- Ми впровадили TaskWeaver для 10+ компаній у фінансах, рітейлі та логістиці. Працюємо з LLM з моменту виходу перших production-ready моделей, команда має 5+ років досвіду в AI/ML та глибоке розуміння prompt engineering (few-shot, chain-of-thought).
Оцініть ваш проєкт. Напишіть нам, опишіть задачу — ми надішлемо demo-сесію вашого агента за 2 дні. Гарантуємо, що sandbox захищений і код не витікає. Зв'яжіться з нами, щоб отримати консультацію та точну оцінку термінів.







