Содержание
  1. Кодовая ячейка и обычная формула
  2. Роль ИИ и чтение его работы
  3. Полный диапазон и типы значений
  4. Фильтрация строк и ручная сумма
  5. Изменение входа и второй эталон
  6. Вычисление и постоянное число
  7. Локальное вычисление, облачный ИИ и базы
  8. Что проверять перед выбором
  9. Частые вопросы
Обзоры

Обзор Quadratic: таблицы с ИИ, Python и SQL

10 ноября 2026 · 9 минут чтения

Обзор Quadratic: таблицы с ИИ, Python и SQL — разбор среды, где обычные формулы соседствуют с кодовыми ячейками, а результат кода возвращается прямо в сетку. Документация проекта описывает её как современную таблицу, объединяющую формулы с Python, SQL и JavaScript. Ниже — разбор кодовой ячейки, полный учебный пример, проверка суммы и границы между локальным расчётом, облачным ИИ и подключением баз.

Кодовая ячейка и обычная формула

Обычная формула в Quadratic устроена привычно: документация проекта сообщает, что формулы здесь относительно-ссылочные, как в любой таблице. Вы пишете =B2*C2, тянете вниз, получаете столбец. Формула живёт в одной ячейке, ссылается на другие ячейки и пересчитывается при изменении входов.

Кодовая ячейка устроена иначе. По документации проекта, в Quadratic можно ссылаться на ячейки таблицы внутри кода и возвращать результаты анализа обратно в таблицу; по умолчанию в сетку возвращается последняя строка кода. Одиночные ссылки попадают в переменную с подходящим типом данных, многострочные диапазоны — в DataFrame.

Разница в единице работы. Формулы тоже умеют работать с диапазонами и агрегировать данные. Кодовая ячейка позволяет описать обработку привычными операциями языка: читать диапазон как таблицу данных, фильтровать, группировать и возвращать одно значение или таблицу. На сайте проекта показан пример, где вместо вложенной конструкции из IFERROR, VLOOKUP, TRIM и MATCH предлагается короткий блок на Python с concat, set_index и reindex.

Практический вывод для выбора: формула удобна для одной связи между ячейками, кодовая ячейка — для операции над диапазоном. Обе живут в одной сетке, и обе можно открыть и прочитать.

Критерий Обычная формула Кодовая ячейка
Способ записи выражение формульного языка программа на выбранном языке
Ссылка на данные адрес ячейки q.cells("A1:C5")
Возврат в сетку значение формулы последняя строка кода
Читаемость операции проверяется на конкретной формуле проверяется по коду и промежуточным данным
Проверка клик по ячейке открыть код и прочитать

Роль ИИ и чтение его работы

ИИ в Quadratic — помощник, который пишет код и объясняет его. Документация проекта перечисляет задачи ассистента: генерация кода с нуля, правка существующего кода, отладка ошибок в коде и формулах, построение моделей и анализ данных, генерация новых наборов данных, построение графиков.

Ключевое свойство для проверки: результат работы ИИ остаётся читаемым. На сайте проекта сказано, что Quadratic AI выдаёт метод анализа внутри таблицы, любую ячейку можно открыть и отредактировать, чтобы проверить работу ИИ и внести правки. Там же приведён пример: рядом с блоком на Python показывается объяснение из трёх шагов — какие строки загружены, что отфильтровано, что возвращено.

Документация проекта добавляет инструмент трассировки: правый клик по ячейке и пункт «Trace value» заставляют ИИ объяснить, откуда взялось значение — из формулы, кодовой ячейки, таблицы или подключения, и что стоит выше по цепочке. Для аудита расчёта это важнее, чем формулировка ответа в чате.

Есть и ограничитель постановки задачи. Документация проекта описывает поведение, при котором неоднозначный запрос вызывает уточняющий вопрос с вариантами ответа в чате, и работа продолжается после выбора. Ссылаться на данные можно через @-упоминания: они превращаются в «пилюли» в сообщении и передают ИИ контекст листа, таблицы, диапазона или подключения.

Полный диапазон и типы значений

Учебный пример ниже — условный вход в формате кодовой ячейки Quadratic. Продукт редакция не запускала; значения взяты как учебные.

Диапазон A1:C5, первая строка — заголовки. Вставьте в A1 таблицу из трёх столбцов:

task hours status
outline 2 done
draft 3 done
review 1 pending
publish 1 done

Заголовки занимают A1:C1, данные — A2:C5. Адреса строк отдельно в таблицу не вставляются.

Типы значений в примере: task — текст, hours — целое число, status — текстовая метка из набора done и pending. Диапазон охватывает четыре строки данных в трёх столбцах: 12 ячеек данных и ещё три ячейки заголовков.

Промпт для ассистента, чтобы получить нужную ячейку:

ТЕКСТ
Посчитай сумму hours только для status=done. Покажи Python в отдельной кодовой ячейке и верни скалярное число. Диапазон A1:C5, первая строка — заголовки. Не включай pending.

Что здесь задано явно: операция (сумма), условие фильтра (status=done), форма результата (скалярное число), границы диапазона (A1:C5) и признак заголовков в первой строке. Такая постановка снимает у ИИ свободу выбрать другой диапазон или вернуть таблицу вместо числа.

Фильтрация строк и ручная сумма

Код, который решает задачу:

PYTHON3 строки
df = q.cells("A1:C5", first_row_header=True)
result = df.loc[df["status"] == "done", "hours"].sum()
result

Разбор по строкам. Первая строка читает диапазон A1:C5 в DataFrame, первая строка таблицы становится заголовками столбцов. Вторая строка фильтрует строки по условию status == "done" и суммирует столбец hours у отобранных строк. Третья строка возвращает результат в сетку: по документации проекта в таблицу попадает последняя строка кода.

Ручной эталон. Условию done отвечают три строки: outline с 2 часами, draft с 3 часами и publish с 1 часом. Сумма: 2 + 3 + 1 = 6. Строка review со статусом pending и 1 часом в расчёт не входит.

Отрицательная проба первая: сумма всех строк даёт 2 + 3 + 1 + 1 = 7. Значение 7 не совпадает с эталоном 6: такой выход не проходит проверку фильтра. Отрицательная проба вторая: литеральное число 6, вписанное в ячейку руками, совпадёт с эталоном на первом входе и развалится на следующем шаге.

Проверять в кодовой ячейке стоит четыре вещи: сам код, условие фильтра, исходный диапазон и то, что последним выражением возвращается нужное значение.

Изменение входа и второй эталон

Проверка зависимости отделяет вычисление от подстановки. Меняем одну входную ячейку: B3 со значения 3 на 4. Строка draft остаётся в статусе done, поэтому она по-прежнему попадает в фильтр, но вклад строки растёт на единицу.

Новый ручной эталон: 2 + 4 + 1 = 7. Если после фактического пересчёта ячейка показывает 7, зависимость работает: результат следует за входом. Если она показывает 6, сначала проверьте завершение пересчёта, диапазон и отсутствие ошибок. Постоянное число — одна из возможных причин, которую нужно подтвердить чтением ячейки.

Состояние B3 Эталон Что подтверждает
Исходное 3 6 фильтр и сумма верны
Изменённое 4 7 результат зависит от входа
Литерал любое 6 число подставлено, связи нет

Второй эталон нужен именно потому, что первый совпадает у вычисления и у подстановки. Для двух заданных вариантов эта проверка различает пересчёт и постоянное 6. В общем случае две точки не доказывают корректность всей программы: дополнительно прочитайте код и проверьте другие случаи.

Вычисление и постоянное число

Признак вычисления — пересчёт при изменении входа. Признак подстановки — неизменность результата при любых правках диапазона. Различить их можно тремя наблюдениями.

Первое: откройте ячейку. Кодовая ячейка показывает код, обычная формула — выражение, литерал — только число. Второе: измените вход и посмотрите на результат. Третье: проверьте, что возвращается последним выражением. В нашей программе последним выражением должен остаться result; после редактирования убедитесь, что возвращается именно результат суммы.

Документация проекта уточняет механику возврата: по умолчанию в таблицу возвращается последняя строка кода. В примере выше последняя строка — result, поэтому в сетку попадает скаляр. Если поменять порядок и завершить блок другой строкой, результат в ячейке изменится.

В нашем диапазоне путь проверки короткий: B3 входит в строку draft, её status равен done, поэтому изменение B3 должно повлиять на сумму. Внешние подключения и объяснение ИИ для этой ручной проверки не требуются.

Локальное вычисление, облачный ИИ и базы

Три слоя работы стоит держать раздельно. Локальное вычисление — это код в ячейке и пересчёт сетки. Облачный ИИ — это чат, который пишет код, объясняет его и отвечает на вопросы. Подключение баз — это SQL-ячейки и коннекторы к внешним источникам.

Документация проекта описывает SQL в Quadratic так: из таблицы создаются живые подключения к источникам данных, а данные SQL-запроса возвращаются в лист, привязываясь к позиции SQL-ячейки. Там же указано, что ассистент помогает быстро генерировать SQL-запросы, а схему можно смотреть во встроенном просмотрщике схемы редактора.

На сайте проекта перечислены коннекторы: Postgres, MySQL, Snowflake, BigQuery, MariaDB, MS SQL, CockroachDB, Supabase, Neon, а также CSV, Excel, PDF и внешние сервисы вроде QuickBooks, Google Analytics и Mixpanel. Отдельно упомянут протокол Model Context Protocol: к таблице можно подключить агента, который читает, пишет и проверяет работу в живом листе.

Граница, которую стоит держать в голове: выполнение части кода в браузере не означает, что облачный ИИ не получает данные. Если система требует ручного запуска или обновления выбранного источника, этот шаг фиксируется отдельно. Универсальный автоматический пересчёт внешних баз обещать не стоит.

Что проверять перед выбором

Перед тем как переносить рабочий расчёт в такую таблицу, пройдите короткий список.

  1. Соберите учебный диапазон с заголовками в первой строке и проверьте на нём фильтр и сумму.
  2. Запишите ручной эталон до запуска кода.
  3. Измените одну входную ячейку и зафиксируйте второй эталон.
  4. Убедитесь, что в сетку возвращается нужное выражение.
  5. Отделите операции, которые считаются в ячейке, от операций, которые уходят в облако.
  6. Для внешних источников зафиксируйте шаг обновления.

Маркетинговые обещания точности, предельного числа строк, сертификации и текущих тарифов требуют отдельной проверки перед переносом рабочих данных. В обзоре на стороннем сайте такие цифры приводятся, но переносить их в собственный расчёт без проверки не стоит.

Частые вопросы

Чем кодовая ячейка отличается от обычной формулы?
Оба способа могут работать с диапазоном. Кодовая ячейка описывает обработку на Python или другом поддержанном языке; в нашем примере результат фильтрации и суммы возвращается выражением result.

Можно ли прочитать результат работы ИИ?
Да. На сайте проекта сказано, что любую ячейку можно открыть и отредактировать, чтобы проверить работу ИИ. Рядом с кодом показывается объяснение по шагам, а трассировка значения раскрывает источник цифры и всё, что стоит выше по цепочке.

Какой диапазон и типы значений брать для проверки?
Учебный диапазон A1:C5 с заголовками в первой строке: текст задачи, целые часы, текстовая метка статуса. Такой набор даёт четыре строки данных и позволяет проверить фильтр на двух разных статусах.

Как проверить зависимость результата от входа?
Измените B3 и сравните результат с новым ручным эталоном. Затем прочитайте код, проверьте диапазон и завершение пересчёта. Две точки не доказывают корректность любой программы.

Где считаются данные, а где работает облако?
Код в ячейке и пересчёт сетки — это один слой, чат с ИИ — второй, SQL-ячейки и коннекторы к базам — третий. Выполнение части кода в браузере не означает, что облачный ИИ не получает данные. Шаг обновления внешнего источника фиксируется отдельно.

Читайте также

3 материала