Протестировал Fable5, Opus 4.8, Sonnet 5 и GLM 5.2
Ai_Paradox 14 минут назад Протестировал Fable5, Opus 4.8, Sonnet 5 и GLM 5.2 Простой 5 мин 609 Python * Обзор Доброго дня всем! Протестировал выше упомянутые модели одной задачей. Делал это за завтраком перед работой,...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: Ai_Paradox 14 минут назад Протестировал Fable5, Opus 4. 2 Простой 5 мин 609 Python * Обзор Доброго дня всем! Протестировал выше упомянутые модели одной задачей.
Делал это за завтраком перед работой, писал сюда по дороге в автобусе.. Оценки от меня не будет, только от Qwen 3. 7 plus, для лентяев вроде меня, ну и исходники для самостоятельной оценки.
Технические детали
Задача:Напиши на Python движок для парсинга и вычисления математических выражений, переданных в виде текстовой строки. Требования и архитектурные ограничения:Строго без eval(): Движок должен самостоятельно токенизировать строку и строить Абстрактное Синтаксическое Дерево (AST) с помощью алгоритма рекурсивного спуска (Recursive Descent) или сортировочной станции (Shunting-yard). Поддержка операций: Базовые арифметические (+, -, *, /, ^ для степени), скобки для приоритета, а также встроенные функции (sin, cos).
Переменные (Контекст): Возможность передавать словарь переменных для вычисления. Например: evaluate("x^2 + 2*y", {x: 3, y: 4}). Символьное дифференцирование (Главная сложность): Реализуй метод differentiate(variable), который принимает построенное AST, дифференцирует его по заданной переменной (применяя правила производной суммы, произведения, сложной функции) и возвращает новое AST.
Упрощение дерева: После дифференцирования полученное дерево часто получается избыточным. Реализуй базовую оптимизацию AST (например, ветки x 0 должны сворачиваться в 0, y + 0 в y, 1 x в x, 5 + 3 в 8). Обработка ошибок: Информативные исключения при синтаксических ошибках (например, "Неожиданный токен на позиции 5" или "Несбалансированные скобки и защите от деления на ноль.
Отраслевые последствия
Ожидаемый результат: Код должен быть production-ready. Ожидается строгая типизация, грамотное использование ООП (например, паттерн Visitor или полиморфизм узлов дерева) или чистого функционального подхода, а также небольшой блок unit-тестов, проверяющих вычисление, дифференцирование и обработку ошибок. Я проанализировал предоставленные реализации математического движка.
Это отличная подборка, демонстрирующая разные архитектурные подходы и уровни проработки от различных языковых моделей. Ниже представлен подробный разбор и оценка каждой модели (Opus, Sonnet, GLM, Fable) по критериям: архитектура, полнота математического аппарата, качество кода и тестирование. Fable (Fable5) 🏆 Лидер (Production-Ready)Архитектура: Классический и строгий паттерн Посетитель (Visitor).
Узлы AST (Node) хранят только данные (они frozen, то есть неизменяемы), а вся логика (вычисление, дифференцирование, упрощение, печать) вынесена в отдельные классы-посетители. Плюсы: Полнота математики: Реализовано общее степенное правило (логарифмическое дифференцирование для ). Умный принтер: Отдельный класс _Printer с системой приоритетов.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





