Перед тем как загружать ИИ задачей нужно обговорить некоторые нюансы, которые могут возникнуть при решении задачи.
Нюанс первый, разные языки у библиотек:
|
XML Parser |
Repository |
Language |
|---|---|---|
|
AEXML |
Swift |
|
|
SWXMLHash |
Swift |
|
|
SwiftyXMLParser |
Swift |
|
|
Kanna |
Swift |
|
|
Fuzi |
Swift |
|
|
Ono |
Objective-C |
|
|
KissXML |
Objective-C |
Нюанс второй, подключение этих парсеров в проект поддерживает разные технологии CocoaPods и SwiftPM, что-то одно или оба сразу:
|
XML Parser |
Repository |
CocoaPods |
SwiftPM |
|---|---|---|---|
|
AEXML |
Yes |
Yes |
|
|
SWXMLHash |
Yes |
Yes |
|
|
SwiftyXMLParser |
Yes |
Yes |
|
|
Kanna |
Yes |
Yes |
|
|
Fuzi |
Yes |
Yes |
|
|
Ono |
Yes |
No |
|
|
KissXML |
Yes |
Yes |
Как мы видим из таблиц выше, две библиотеки Ono и KissXML теоритически могут запутать ИИ, потому что они написаны на Objective-C, а Ono настолько старая, что не поддерживает SwiftPM. Тем будет интереснее проверить, что будет делать ИИ, чтобы обойти эти ограничения, своего рода задание со звездочкой.
Напомню, как я решал эту задачу. Я создал пустой iOS проект, добавил все парсеры как CocoaPods зависимости, потому что не все поддерживали SwiftPM. В iOS проекте нарисовал пару кнопок, которые запускают бенчмарк. Мне привычно делать так, потому что я эти кнопки рисую каждый день уже много лет.
Перед запуском ИИшек, я примерно предположил, что они будут писать не iOS приложение, потому что они не смогут кликать UI, а будут делать консольную утилиту под macOS, чтобы можно было просто запускать через bash. Так как консольное приложение довольно просто пишется на Swift, предполагаю, что ИИ будут использовать SwiftPM для интеграции парсеров, но что они будут делать с библиотекой Ono, которая не поддерживает SwiftPM, на данный момент не ясно.
Как я планирую оценивать результат и составлять рейтинг
Так как я программист, для меня важно сделать задачу, которую поставил бизнес. Поэтому, вот такие критерии оценки ИИ будут учитываться при составлении рейтинга (от важного к менее важному):
-
Корректность выполнения задачи (должно ± сходиться с моими результатами)
-
Все 7 парсеров должны быть протестированы
-
Скорость выполнения задачи
-
Цена выполнения задачи (да, цена на последнем месте, пусть бизнес платит, так как это в его интересах)
Данные для ИИ
Каждая ИИ запускалась в своей отдельной директории, в которой лежали только 2 файла:
-
Файл описания задачи
task.mdв 100 строк, что нужно сделать, без конкретных инструкций, было явно прописано, что можно использовать для достижения цели любые средства. Файл сначала был написан мной, потом с помощью GPT его немного подкорректировал, чтобы у ИИ точно не возникало вопросов по задаче. -
Тестовый XML файл с 500к строк, на котором нужно проводить бенчмарк.
В задаче также прописано, что в конце построить график с горизонтальными барами, то есть все графики, что будут представлены ниже, это сгенерированные ИИ по результатам их выполненной работы.
Промпт не буду выкладывать к открытый доступ (сначала хотел), потому что планирую им тестировать каждый мажорный выход ИИ, иначе ИИшки найдут его и научатся решать.
Evn (окружение)
-
Личный макбук с macOS 26
-
Xcode 26 (git, xcodebuild, swift, swiftpm, clang, Apple SDK)
-
Также в системе стоят
rubyиpythonтак как ИИ часто их используют -
Также
curl,wget,jq -
Явно прописал в
task.md, что можно использовать только директории:-
Проекта
-
Системная /*/Xcode/*/DerivedData
-
/tmp/
-
Как запускались тесты
-
Я создал чистый аккаунт на
openrouter.aiи использовалOpenCodeдля запуска ИИ. Так как акк новый, то на дашборде на вкладкеактивностьотображаются потраченные кредиты и токены только для этой задачи. -
Использовался один
openrouter.aiключ для всех ИИ (не добавлял свой личный, например, для GPT) -
Тесты запускались последовательно, чтобы незадудоссить
openrouter.ai.
Результаты тестов
Список будет от лучшего к худшему, чтобы сразу сравнивать результаты между собой и понимать, где ИИ сбилась в сравнении с победителем. Еще раз мой личный эталонный результат, от которого будем отталкиваться при сравнении:

Gemini 3.1 Pro Preview Custom Tools (Xhigh)
Случайно выбрал эту модель вместо Gemini 3.1 Pro Preview. Но по ней есть тоже результат, то делюсь.
Занимает первое место, с такими результатами:
|
|
|
|---|---|
|
Время |
5 минут 10 секунд |
|
Стоимость |
0.49 $ |
|
Токены |
690 тыс |

Результат был получен очень быстро, я ушел за кофе, вернулся, и всё уже было готово, признаюсь, я не поверил сначала. Обратите внимание на график, один в один как у меня!
Как сделана задача. ИИ сделал консольную тулу на Swift, куда подключил парсеры через SwiftPM. Как вы помните Ono не поддерживает SwiftPM, и ИИ сделал из него саб таргет и подключил в основной бенчмарк проект. Прикладываю ниже Package.swift:
// swift-tools-version: 5.9import PackageDescriptionlet package = Package( name: "XMLBenchmark", platforms: [ .macOS(.v12) ], dependencies: [ .package(url: "https://github.com/tadija/AEXML.git", branch: "master"), .package(url: "https://github.com/drmohundro/SWXMLHash.git", branch: "main"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser.git", branch: "master"), .package(url: "https://github.com/tid-kijyun/Kanna.git", branch: "master"), .package(url: "https://github.com/cezheng/Fuzi.git", branch: "master"), .package(url: "https://github.com/robbiehanson/KissXML.git", branch: "master") ], targets: [ .target( name: "Ono", dependencies: [], path: "Sources/Ono", publicHeadersPath: ".", linkerSettings: [ .linkedLibrary("xml2") ] ), .executableTarget( name: "XMLBenchmark", dependencies: [ "AEXML", "SWXMLHash", "SwiftyXMLParser", "Kanna", "Fuzi", "KissXML", "Ono" ] ), ])
Что мне немного не нравится, это как подключены зависимости, везде указана branch: "master", хорошим тоном является все-таки указание конкретной версии библиотеки.
Также хочу немного усомниться в результате, очень быстро сделана работа, возможно, есть нотка читинга, и Google (Gemini) проиндексировал мою первую статью и как-то у себя уже прогонял этот бенчмарк.
Gemini 3.1 Pro Preview (Xhigh)
Занимает второе место, с такими результатами:
|
|
|
|---|---|
|
Время |
6 минут |
|
Стоимость |
0.86 $ |
|
Токены |
885 тыс |

Результат очень похож как у меня, за исключением, что в моем Kanna парсер был значительно медленнее Fuzi, KissXML и Ono.
Как сделана задача. ИИ также сделал консольную тулу на Swift, куда подключил парсеры через SwiftPM. Для Ono ИИ создала его отдельный Package.swift, что невероятно круто, я бы, наверное, сделал точно так же. Прикладываю ниже Package.swift бенчмарк проекта, который создал Gemini:
// swift-tools-version: 5.9import PackageDescriptionlet package = Package( name: "XMLBenchmark", platforms: [ .macOS(.v12) ], dependencies: [ .package(url: "https://github.com/tadija/AEXML.git", from: "4.6.1"), .package(url: "https://github.com/drmohundro/SWXMLHash.git", from: "7.0.2"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser.git", from: "5.6.0"), .package(url: "https://github.com/tid-kijyun/Kanna.git", from: "5.3.0"), .package(url: "https://github.com/cezheng/Fuzi.git", from: "3.1.3"), .package(path: "./Ono"), .package(url: "https://github.com/robbiehanson/KissXML.git", branch: "master") ], targets: [ .executableTarget( name: "XMLBenchmark", dependencies: [ "AEXML", "SWXMLHash", "SwiftyXMLParser", "Kanna", "Fuzi", "Ono", "KissXML" ], path: "Sources/XMLBenchmark" ), ])
Также обратите внимание, как зависимости ссылаются на номера версий, что является best practice для SwiftPM, жирный лайк.
GLM 5.1
Третье место с результатами:
|
|
|
|---|---|
|
Время |
15 минут |
|
Стоимость |
1.22 $ |
|
Токены |
3 млн 680 тыс |

В 3 раза медленнее, в 2 раза дороже первых двух победителей. Все парсеры собраны корректно, результат похож на эталонный. Для Ono также был создан его собственный Package.swift как сделал Gemini 3.1 Pro Preview, за что большой лайк. Версионность также корректно расставлена. Прикладываю код Package.swift:
// swift-tools-version:5.9import PackageDescriptionlet package = Package( name: "XMLParserBenchmark", platforms: [.macOS(.v13)], dependencies: [ .package(url: "https://github.com/tadija/AEXML", from: "4.6.1"), .package(url: "https://github.com/drmohundro/SWXMLHash", from: "7.0.2"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser", from: "5.3.0"), .package(url: "https://github.com/tid-kijyun/Kanna", from: "5.3.0"), .package(url: "https://github.com/cezheng/Fuzi", from: "3.1.3"), .package(url: "https://github.com/robbiehanson/KissXML", from: "5.3.1"), .package(path: "Packages/Ono"), ], targets: [ .executableTarget( name: "XMLParserBenchmark", dependencies: [ "AEXML", "SWXMLHash", "SwiftyXMLParser", "Kanna", "Fuzi", "Ono", "KissXML", ], swiftSettings: [ .unsafeFlags(["-swift-version", "5"]), ] ), ])
Не знал про эту модель, с этой задачей очень круто справилась.
Qwen 3.6 Max Preview
Четвертое место с результатами:
|
|
|
|---|---|
|
Время |
14 минут 7 секунд |
|
Стоимость |
2.58 $ |
|
Токены |
2 млн 356 тыс |

Результат также очень похож на мой и лучше, чем у Gemini 3.1 Pro Preview, но результат я ждал в 3 раза дольше и в 5 раз дороже, поэтому заслуженное четвертое место.
Ono парсер также был сделан как саб таргет.
// swift-tools-version: 6.0import PackageDescriptionlet package = Package( name: "XMLParserBenchmark", platforms: [.macOS(.v13)], dependencies: [ .package(url: "https://github.com/tadija/AEXML.git", from: "4.6.0"), .package(url: "https://github.com/drmohundro/SWXMLHash.git", from: "7.0.0"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser.git", from: "5.3.0"), .package(url: "https://github.com/tid-kijyun/Kanna.git", from: "5.2.0"), .package(url: "https://github.com/cezheng/Fuzi.git", from: "3.1.0"), .package(url: "https://github.com/robbiehanson/KissXML.git", from: "5.3.0"), ], targets: [ .target( name: "Ono", path: "Sources/Ono", publicHeadersPath: ".", cSettings: [ .unsafeFlags(["-I/usr/include/libxml2"]), ], linkerSettings: [ .linkedLibrary("xml2"), ] ), .executableTarget( name: "XMLParserBenchmark", dependencies: [ .product(name: "AEXML", package: "AEXML"), .product(name: "SWXMLHash", package: "SWXMLHash"), .product(name: "SwiftyXMLParser", package: "SwiftyXMLParser"), .product(name: "Kanna", package: "Kanna"), .product(name: "Fuzi", package: "Fuzi"), .product(name: "KissXML", package: "KissXML"), "Ono", ], path: "Sources/XMLParserBenchmark", linkerSettings: [ .linkedLibrary("xml2"), ] ) ])
Claude Opus 4.7 (Xhigh)
Пятое место с результатами:
|
|
|
|---|---|
|
Время |
20 минут 24 секунды |
|
Стоимость |
2.92 $ |
|
Токены |
2 млн 795 тыс |

График также очень похож на эталонный, что очень радует. Вот такой Package.swift:
// swift-tools-version:5.9import PackageDescriptionlet package = Package( name: "XMLBenchmark", platforms: [ .macOS(.v12) ], products: [ .executable(name: "XMLBenchmark", targets: ["XMLBenchmark"]) ], dependencies: [ .package(url: "https://github.com/tadija/AEXML.git", from: "4.6.1"), .package(url: "https://github.com/drmohundro/SWXMLHash.git", from: "7.0.2"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser.git", from: "5.6.0"), .package(url: "https://github.com/tid-kijyun/Kanna.git", from: "5.2.7"), .package(url: "https://github.com/cezheng/Fuzi.git", from: "3.1.3"), .package(url: "https://github.com/robbiehanson/KissXML.git", from: "5.3.3"), ], targets: [ .target( name: "COno", path: "Sources/COno", publicHeadersPath: "include", cSettings: [ .headerSearchPath("include"), ], linkerSettings: [ .linkedLibrary("xml2") ] ), .executableTarget( name: "XMLBenchmark", dependencies: [ "AEXML", "SWXMLHash", "SwiftyXMLParser", "Kanna", "Fuzi", "KissXML", "COno", ], path: "Sources/XMLBenchmark" ), ])
Обратите внимание, зачем-то ИИ переименовал Ono в COno, за это минус, за правильную версионность жирный лайк. Ожидал большего, думал будет первое или второе место, но получилось, как получилось.
GPT 5.5 (Xhigh)
Шестое место с результатами:
|
|
|
|---|---|
|
Время |
15 минут |
|
Стоимость |
4.78 $ |
|
Токены |
4 млн 745 тыс |

Очень плохо, долго, очень дорого. Библиотеку KissXML не смог заитегрировать через SwiftPM и собирал отдельно. Библиотеку Ono собрал как-то криво или кривой бенчмарк для нее, потому что для нее результаты получены неверные, которые показывают что она медленнее KissXML и Kanna, что неверно. Полное разочарование. Package.swift файл:
// swift-tools-version:6.0import PackageDescriptionlet macOSSDK = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk"let libxml2IncludePath = "\(macOSSDK)/usr/include/libxml2"let package = Package( name: "XMLParserBenchmark", platforms: [ .macOS(.v14) ], dependencies: [ .package(url: "https://github.com/tadija/AEXML.git", exact: "4.7.0"), .package(url: "https://github.com/drmohundro/SWXMLHash.git", exact: "8.1.1"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser.git", exact: "5.6.0"), .package(url: "https://github.com/tid-kijyun/Kanna.git", exact: "6.1.0"), .package(url: "https://github.com/cezheng/Fuzi.git", exact: "3.1.3") ], targets: [ .target( name: "Ono", path: "Vendor/Ono/Source", exclude: ["Info.plist"], publicHeadersPath: ".", cSettings: [ .headerSearchPath("."), .unsafeFlags(["-I", libxml2IncludePath]) ], linkerSettings: [ .linkedLibrary("xml2") ] ), .target( name: "KissXML", path: "Vendor/KissXML/KissXML", exclude: ["Info.plist"], publicHeadersPath: ".", cSettings: [ .headerSearchPath("."), .headerSearchPath("Additions"), .headerSearchPath("Categories"), .headerSearchPath("Private"), .unsafeFlags(["-I", libxml2IncludePath]) ], linkerSettings: [ .linkedLibrary("xml2") ] ), .executableTarget( name: "XMLParserBenchmark", dependencies: [ "AEXML", "SWXMLHash", "SwiftyXMLParser", "Kanna", "Fuzi", "Ono", "KissXML" ], swiftSettings: [ .swiftLanguageMode(.v5) ], linkerSettings: [ .linkedLibrary("xml2") ] ) ])
MiMo V2.5 Pro
Спорное седьмое место с результатами:
|
|
|
|---|---|
|
Время |
1 час 45 минут |
|
Стоимость |
0.69 $ |
|
Токены |
2 млн 874 тыс |

Да, почти 2 часа. По логам из openrouter.ai залипала иногда на 10–20 минут и не общалась с сервером. На графике результат для последних 4‑х парсеров подозрительно неверный, как будто бенчмарк для каждого последующего парсера замедлялся по каким-то причинам. Но порядки измерений похожи на эталонный, решил включить эту ИИ также в список, так как ИИшка смогла собрать все парсеры.
Для Ono также сделала его собственный Package.swift, что очень похвально:
// swift-tools-version:5.9import PackageDescriptionlet package = Package( name: "XMLParserBenchmark", platforms: [.macOS(.v12)], dependencies: [ .package(url: "https://github.com/tadija/AEXML.git", from: "4.7.0"), .package(url: "https://github.com/drmohundro/SWXMLHash.git", from: "7.0.0"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser.git", from: "5.0.0"), .package(url: "https://github.com/tid-kijyun/Kanna.git", from: "5.3.0"), .package(url: "https://github.com/cezheng/Fuzi.git", from: "3.1.0"), .package(url: "https://github.com/robbiehanson/KissXML.git", from: "5.3.0"), .package(path: "Ono"), ], targets: [ .executableTarget( name: "XMLParserBenchmark", dependencies: [ .product(name: "AEXML", package: "AEXML"), .product(name: "SWXMLHash", package: "SWXMLHash"), .product(name: "SwiftyXMLParser", package: "SwiftyXMLParser"), .product(name: "Kanna", package: "Kanna"), .product(name: "Fuzi", package: "Fuzi"), .product(name: "KissXML", package: "KissXML"), .product(name: "Ono", package: "Ono"), ], path: "Sources/XMLParserBenchmark" ) ])
На данный момент я бы не пользовался этой моделью, очень долго (хоть и дешевле многих конкурентов), и может писать неверный, но рабочий код.
Аутсайдеры № 1
Только 7 моделей выше смогли собрать все парсеры и построить графики схожие с эталонным. Ниже будет представлен список моделей, которые смогли собрать только 6 парсеров из 7, то есть с заданием справились на 85.7%
Qwen 3.6 Plus
Восьмое место с результатами:
|
|
|
|---|---|
|
Время |
17 минут 3 секунды |
|
Стоимость |
2.54 $ |
|
Токены |
7 млн 690 тыс |

Модель не стала париться со сборкой Ono и просто убрала либу из бенчмарка. Также бенчмарк создан частично некорректно, так как Kanna оказалась медленнее чем SWXMLHash, что быть не может, потому что у этих бибиотек принципиально разные xml движки. То есть за этой модельно точно нужно проверять, что она пишет.
Очень дорого и долго (как Claude Opus 4.7), но результат гораздо хуже. Иначе лучше использовать Qwen 3.6 Max Preview, при той же цене и скорости, результат гораздо лучше.
// swift-tools-version: 5.9import PackageDescriptionlet package = Package( name: "XmlParserBenchmark", platforms: [.macOS(.v14)], products: [ .executable(name: "XmlParserBenchmark", targets: ["XmlParserBenchmark"]) ], dependencies: [ .package(url: "https://github.com/tadija/AEXML.git", from: "4.7.0"), .package(url: "https://github.com/drmohundro/SWXMLHash.git", from: "7.0.0"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser.git", from: "5.6.0"), .package(url: "https://github.com/tid-kijyun/Kanna.git", from: "6.0.0"), .package(url: "https://github.com/cezheng/Fuzi.git", from: "3.0.0"), .package(url: "https://github.com/robbiehanson/KissXML.git", from: "5.3.0"), ], targets: [ .executableTarget( name: "XmlParserBenchmark", dependencies: [ "AEXML", "SWXMLHash", "SwiftyXMLParser", "Kanna", "Fuzi", "KissXML", ], swiftSettings: [ .unsafeFlags(["-I/usr/include/libxml2"]), ], linkerSettings: [ .linkedLibrary("xml2"), ] ), ])
DeepSeek V4 Pro
Я хотел поместить эту модель выше Qwen 3.6 Plus так как результат получился гораздо лучше (очень схож с эталонным), но задача выполнялась невыносимо долго.
Девятое место с результатами:
|
|
|
|---|---|
|
Время |
1 час 42 минуты |
|
Стоимость |
2.34 $ |
|
Токены |
5 млн 650 тыс |

График схож с эталонным, но долгое выполнение задачи (почти два часа), стоимость почти как у Claude Opus, и также почему-то не смогла собрать KissXML, хотя она имеет SwiftPM, но при этом корректно собрала и протестировала Ono зависимость, поэтому модель находится именно на этом месте.
// swift-tools-version:6.0import PackageDescriptionlet package = Package( name: "XMLBenchmark", platforms: [.macOS(.v13)], dependencies: [ .package(url: "https://github.com/tadija/AEXML.git", from: "4.7.0"), .package(url: "https://github.com/drmohundro/SWXMLHash.git", from: "8.0.0"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser.git", from: "5.6.0"), .package(url: "https://github.com/tid-kijyun/Kanna.git", from: "5.3.0"), .package(url: "https://github.com/cezheng/Fuzi.git", from: "3.1.0"), .package(path: "LocalPackages/Ono"), ], targets: [ .executableTarget( name: "Benchmark", dependencies: [ .product(name: "AEXML", package: "AEXML"), .product(name: "SWXMLHash", package: "SWXMLHash"), .product(name: "SwiftyXMLParser", package: "SwiftyXMLParser"), .product(name: "Kanna", package: "Kanna"), .product(name: "Fuzi", package: "Fuzi"), .product(name: "Ono", package: "Ono"), ], path: "Sources/Benchmark" ), ])
Пока, на мой взгляд, для сложных задач модель сильно переоценена. Но подчеркну, сам результат получился корректным.
Kimi K2.6
Десятое место с результатами:
|
|
|
|---|---|
|
Время |
1 час 30 минут |
|
Стоимость |
2.28 $ |
|
Токены |
6 млн 810 тыс |

Полтора часа на задачу! По цене как Claude Opus 4.7, одна из библиотек проигнорирована или модель не смогла собрать. Результат для KissXML некорректен, так как медленнее чем Kanna, что не может быть.
// swift-tools-version:5.9import PackageDescriptionlet package = Package( name: "XMLParserBenchmark", platforms: [.macOS(.v13)], dependencies: [ .package(url: "https://github.com/tadija/AEXML.git", from: "4.0.0"), .package(url: "https://github.com/drmohundro/SWXMLHash.git", from: "7.0.0"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser.git", from: "5.0.0"), .package(url: "https://github.com/tid-kijyun/Kanna.git", from: "5.0.0"), .package(url: "https://github.com/cezheng/Fuzi.git", from: "3.0.0"), // Ono: will be added as local target since upstream lacks Package.swift .package(url: "https://github.com/robbiehanson/KissXML.git", from: "5.0.0"), ], targets: [ .executableTarget( name: "XMLParserBenchmark", dependencies: [ .product(name: "AEXML", package: "AEXML"), .product(name: "SWXMLHash", package: "SWXMLHash"), .product(name: "SwiftyXMLParser", package: "SwiftyXMLParser"), .product(name: "Kanna", package: "Kanna"), .product(name: "Fuzi", package: "Fuzi"), // Ono: will be added as local target .product(name: "KissXML", package: "KissXML"), ] ) ])
Обратите внимание на комментарий, что Ono потом подключит отдельно, но видимо, это где-то затерялось в контексте. Возможно, модель подойдет для более простых задач, но для сложных я бы не стал использовать ее.
Аутсайдеры № 2
Модели, которые смогли собрать 6 из 7 библиотек, подошли к концу. Следующий список, это кто смог собрать только Swift библиотеки, то есть 5 из 7 парсеров и не смогли собрать библиотеки, написанные на Objective-C.
Gemini 3.1 Flash Lite (Xhigh)
Одиннадцатое место с результатами:
|
|
|
|---|---|
|
Время |
4 минуты |
|
Стоимость |
0.05 $ |
|
Токены |
392 тыс |

Феноменальный результат, модель сделала корректный бенчмарк за 4 минуты и всего за 5 центов! Жаль, что не смогла собрать 2 библиотеки, написанные на Objective-C.
// swift-tools-version: 6.3// The swift-tools-version declares the minimum version of Swift required to build this package.import PackageDescriptionlet package = Package( name: "benchmark", dependencies: [ .package(url: "https://github.com/tadija/AEXML", branch: "master"), .package(url: "https://github.com/drmohundro/SWXMLHash", branch: "main"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser", branch: "master"), .package(url: "https://github.com/tid-kijyun/Kanna", branch: "master"), .package(url: "https://github.com/cezheng/Fuzi", branch: "master"), ], targets: [ .executableTarget( name: "benchmark", dependencies: [ "AEXML", "SWXMLHash", "SwiftyXMLParser", "Kanna", "Fuzi", ] ), .testTarget( name: "benchmarkTests", dependencies: ["benchmark"] ), ], swiftLanguageModes: [.v6])
Grok 4.3
Двенадцатое место с результатами:
|
|
|
|---|---|
|
Время |
4 минуты |
|
Стоимость |
0.19 $ |
|
Токены |
489 тыс |

Быстро, дешево, но не верно. Смотрим на график, на всех бенчмарках SwiftXMLParser самый медленный, у данной модели это не так. Также SWXMLHash всегда быстрее AEXML, но тут модель снова ошиблась. Значит модель сгенерировала некорректный код бенчмарка или что-то напутала в графике. При использовании данной модели, если верить нашему бенчмарку, нужно понимать код, чтобы после генерации залезть в него и проверить, что всё корректно, иначе есть шанс получить неверное поведение программы.
Причем Package.swift выглядит странным:
// swift-tools-version:5.9import PackageDescriptionlet package = Package( name: "XMLParserBenchmark", platforms: [.macOS(.v14)], products: [ .executable(name: "XMLParserBenchmark", targets: ["XMLParserBenchmark"]), ], dependencies: [ .package(url: "https://github.com/tadija/AEXML.git", from: "4.6.1"), .package(url: "https://github.com/drmohundro/SWXMLHash.git", from: "5.0.0"), .package(url: "https://github.com/yahoojapan/SwiftyXMLParser.git", from: "5.0.0"), .package(url: "https://github.com/tid-kijyun/Kanna.git", from: "5.2.0"), .package(url: "https://github.com/cezheng/Fuzi.git", from: "3.1.0"), .package(url: "https://github.com/robbiehanson/KissXML.git", from: "5.1.2"), ], targets: [ .executableTarget( name: "XMLParserBenchmark", dependencies: [ "AEXML", "SWXMLHash", "SwiftyXMLParser", "Kanna", "Fuzi", "KissXML", ] ), ])
Обратите внимание, KissXML находится в списке зависимостей, но при этом этой либы нет в бенчмарке. Как такое может быть, мне неясно.
Полный провал
Список моделей, которые не смогли решить задачу.
MiniMax M2.7
|
|
|
|---|---|
|
Время |
26 минут |
|
Стоимость |
1.23 $ |
|
Токены |
18 млн 600 тыс |

Модель смогла собрать только 3 библиотеки. 18 млн токенов было потрачено, это рекорд по потреблению. Хорошо, что потратилось всего чуть больше 1$
DeepSeek V4 Flash
|
|
|
|---|---|
|
Время |
1 час 15 минут |
|
Стоимость |
0.40 $ |
|
Токены |
3 млн 282 тыс |
Ничего не смогла собрать за час работы, я вроде ее просто остановил, так как устал ждать, хорошо, что почти ничего не стоило по кредитам.
Gemma 4 31B
|
|
|
|---|---|
|
Время |
18 минут |
|
Стоимость |
0.19 $ |
|
Токены |
1 млн 305 тыс |
Через 18 минут работы, модель сказала, что не может собрать библиотеки, потому что окружение неверно настроено.
I am encountering a persistent issue with the Swift Package Manager where it fails to access the Package.swift manifest when resolving external dependencies, reporting that it doesn’t exist even though it is present in the directory. This appears to be an environment-specific issue with the Swift toolchain or sandbox on the host machine.
Owl Alpha (Free)
Не знаю, что за модель, но было написано вышла в мае 2026 и имеет 1 триллион параметров. Решил попробовать.
|
|
|
|---|---|
|
Время |
1 час 5 минут |
|
Стоимость |
0 $ |
|
Токены |
2 млн 880 тыс |
Больше часа что-то колдовала, но ничего не получилось.
Mistral Medium 3.5
Не знаю, что за модель, но была в топах, вышла в мае 2026, решил попробовать.
|
|
|
|---|---|
|
Время |
23 минуты |
|
Стоимость |
7.46 $ |
|
Токены |
4 млн 820 тыс |
Самая неадекватная модель. Ничего не сделала. Постоянно лезла в личные директории, в документы, в iCloud, в Apple Music, мак постоянно пищал, что OpenCode просит разрешение то на одно, то на другое. Стоила в 3 раза дороже Claude Opus, но при этом не решила даже и части задачи.
Держитесь подальше от этой модели.
Claude Opus 4.7 (Fast)
|
|
|
|---|---|
|
Время |
3 минуты |
|
Стоимость |
10 $ |
|
Токены |
— |
Сожрала последние 10 баксов за 3 минуты без результатов, просила еще денег докинуть (Gemini за 3 минуты уже показывал промежуточные результаты). Нам обычным человекам такой ИИ не нужен.
GPT 5.5 Pro
|
|
|
|---|---|
|
Время |
1 час 5 минут |
|
Стоимость |
26.06 $ |
|
Токены |
728 тыс |
Самая ужасная модель. Сожрала 26 долларов за 1 час работы и ничего не сделала буквально.
Я подумал, может глюк у openrouter.ai, через день повторил, когда 10 баксов сгорело за 10 минут, а в чате не было никакого прогресса, я остановил. Потом через день попробовал еще раз, снова через 10 минут потратилось 10 долларов без какого-либо прогресса, файлы в проекте не были созданы или изменены.
Написал в openrouter.ai на возмещение, но вторую неделю от них тишина.
Подведем итоги
Данный бенчмарк выявил явных фаворитов и явных аутсайдеров среди ИИ. Если основываться на результатах, описанных выше, то список самых надежных и предсказуемых моделей выглядит следующим образом:
-
Gemini 3.1 Pro Preview
-
GLM 5.1
-
Qwen 3.6 Max Preview
-
Claude Opus 4.7
-
Gemini 3.1 Flash Lite
Если этих пяти вам недостаточно, то можно посмотреть на следующие модели:
-
GPT 5.5
-
DeepSeek V4 Pro (очень медленная)
Это что касается использования моделей через API KEY. Так как подписочная модель работы с ИИ гораздо выгоднее, то у нас остаётся всё та же тройка фаворитов, что и раньше, это Claude Code, GPT + Codex и Gemini.
пс. ИИ не использовался для написания статьи, всё сделано по-олдскульному (кроме картинки в ленте).
пс2. Часто встречал спор про локальные модели, что они тратят миллионы токенов за много часов и решают задачи. Если посмотреть на результаты тестов этой статьи, то кол-во используемых токенов не гарантирует хорошее исполнение задачи. Посмотрите, как Qwen 3.6 Plus истратил почти 8 млн токенов, но это его не приблизило к моделям, которые потратили 1-2-3 млн токенов.
пс3. На все тесты ушло 70$, что немного грустно.
В подтвержение цифр приклыдваю скриншоты из openrouter.ai:


ссылка на оригинал статьи https://habr.com/ru/articles/1035210/