Мы привыкли, что аналитик тратит день на 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"] } Кастомные плагины пишем под корпоративные базы. Пример — плагин db_query для SQL-запросов:
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 в квартал при ручном копировании)
- Аналитик переключился на содержательную интерпретацию, а не рутину
| Метрика | До внедрения | После внедрения |
|---|---|---|
| Время подготовки отчёта | 2 дня | 25 минут |
| Ошибки в расчётах | 2-3 в квартал | 0 |
| Затраты времени аналитика | 40 часов/мес | 5 часов/мес |
Почему TaskWeaver лучше обычного Code Interpreter?
ChatGPT Code Interpreter разрывает контекст при каждом запуске. TaskWeaver сохраняет состояние сессии: можно сделать шаг 1, остановиться, посмотреть промежуточный результат, затем дать команду «повтори анализ только по региону А». Это даёт в 5 раз больше контроля над многошаговым анализом.
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 моделей — знаем все тонкости prompt engineering (few-shot, chain-of-thought).
Оцените ваш проект. Напишите нам, опишите задачу — мы пришлём demo-сессию вашего агента за 2 дня. Гарантируем, что sandbox защищён и код не утекает. Свяжитесь с нами, чтобы получить консультацию и точную оценку сроков.







