Мы посадили модели Claude играть друг против друга в пошаговую стратегию, где нужно строить экономику, воевать, договариваться с соседями и решать, когда договор пора нарушить. Хотели понять две вещи: как топовые языковые модели справляются с такой игрой и совпадёт ли расстановка сил за игровым столом с той, что показывают общепризнанные бенчмарки.
Я разработчик «Стратегикона», пошаговой онлайн‑стратегии на гексах. С конца августа по начало октября мы провели серию партий LLM‑агентов между собой. Здесь — методика, две партии, ограничения эксперимента и мысль, к которой нас это привело: из игрового движка может получиться бенчмарк для способностей LLM в целом.
TL;DR
-
Модели играют через MCP‑сервер, который для игры выглядит как обычный сетевой игрок. Поле открыто, все числа считает игровой движок, а перед завершением каждого хода модель обязана оставить комментарий в журнале.
-
В разобранной партии победил Sonnet 5.5, младшая и самая дешёвая из трёх моделей: 197:151:31 против Opus 5.5 и Fable 5.1. Решили партию ранний захват центра карты и удар по городам лидера в том же раунде, в котором Sonnet пообещал ему мир. — Haiku 4.5 в партии вчетвером перестал планировать в шестом раунде из тринадцати и закончил с нулём.
-
Расстановка сил оказалась ближе к агентным бенчмаркам, чем к текстовым рейтингам и цене. Скачок от Sonnet 5 к Sonnet 5.5 виден и в игре, и в публичных замерах.
-
Партий мало, это не рейтинг, и выводы предварительные. Но движок позволяет мерить отдельные умения в одной партии, и мы думаем, как сделать из него бенчмарк.
Как устроен эксперимент
Моя игра — пошаговая стратегия с механикой настольной игры. Партия длится 13 раундов, в каждом три фазы: снабжение, строительство и война. Для дальнейшего понимания хватит нескольких правил.
-
Города и очки. Город — группа клеток‑кварталов. Очки приносят руины и храмы, монеты — рудники. Побеждает набравший больше очков за 13 раундов, две монеты считаются за очко.
-
Отряды — игральные кости. Пехота — d6, тяжёлая пехота — d10, размер отряда — число на верхней грани: «d10 (6)» означает десятигранник шестёркой вверх. В бою бьют оба: урон равен размеру плюс две «кости урона», которые в среднем дают −2.
-
Захват. Город достаётся тому, чей отряд в конце раунда стоит на его квартале, если на кварталах нет чужих отрядов. Захвативший получает очки, прежний владелец столько же теряет.
-
Ходы и снабжение. Отряд ходит на две клетки, а по дорогам дальше. Ферма кормит один отряд: сытый растёт, голодный теряет два размера. Лишняя единица снабжения (в журналах — «жетон») даёт отряду на раунд, например, дополнительный шаг.
-
Политики. Карточки с общего рынка, которые меняют правила для владельца. «Варварство», например, даёт бесплатную пехоту и +2 к урону.
-
Очерёдность. Игроки ходят по очереди; право первого хода («инициативу») можно перехватить.
-
Досрочный конец. Если лидер оторвался от всех на 50 очков, партия заканчивается.
Тумана войны нет, поле видно всем. В общем чате обещания ничем не обеспечены: в инструкции игрокам прямо сказано, что дипломатическая хитрость — часть игры, «как в настольной „Дипломатии“». Врать о фактах бессмысленно, врать можно о планах.
Стенд: Модель не видит экран, поэтому мы написали MCP‑сервер, который для игрового сервера выглядит как ещё один сетевой игрок, а модели отдаёт текстовый снимок партии и инструменты — те же действия, что доступны человеку в интерфейсе. Каждая модель работает отдельным агентом в Claude Code (подробнее читай в разделе о стенде)
Журнал и память: Перед завершением каждого хода агент обязан оставить короткий комментарий: что делает и зачем. Соперники журнал не видят, а мы потом читаем его рядом с чатом. Между партиями игроки помнят сыгранное: у каждого есть воспоминания, интервью после партий и «персона» — собственные выводы о стратегии и о соперниках.
Чего мы ждали: цена и рейтинги
По цене иерархия однозначная, и описания самой Anthropic с ней в целом согласны: Fable 5.1 — самая способная модель линейки, Opus 5.5 — модель по умолчанию для сложной работы, Sonnet 5.5 — её более быстрое и дешёвое дополнение. Haiku 4.5 — самая маленькая, к тому же прошлого поколения. Независимые рейтинги тоже ставят Haiku в самый низ, но расходятся в том, где Sonnet: далеко от старших или рядом с ними.
|
Модель |
Цена, $ за 1 млн токенов (вход / выход) |
LMArena, место |
LiveBench, место и балл |
Artificial Analysis, индекс |
|
Fable 5.1 |
10 / 50 |
6-е |
1-е, 83,4 |
53 |
|
Opus 5.5 |
4 / 20 |
4-е |
2-е, 83,2 |
58 |
|
Sonnet 5.5 |
2 / 10 |
45-е |
19-е, 77,8 |
56 |
|
Haiku 4.5 |
1 / 5 |
142-е |
нет в рейтинге |
17 |
Данные на 5 октября 2026 года. В LMArena ответы моделей вслепую сравнивают люди; индекс Artificial Analysis делает упор на агентные задачи и приведён для максимальных настроек.
Ближе всего к нашей теме Kaggle Game Arena, где модели играют друг против друга в шахматы, го, покер и торг. Моделей 5.5 там ещё нет: Sonnet 5.5 вышел 28 сентября, за три дня до нашей партии. Из прежних версий Opus 5 там первый, Fable 5.1 третий, Sonnet 5 — пятнадцатый, почти вдвое ниже по баллам. Так что перед партией расклад был такой: два фаворита и Sonnet, чья прошлая версия в играх была заметно слабее старших.
Подробный разбор партий ниже я привожу для тех, кого интересует подробный образ мыслей LLM‑агентов. Я персонально, как разработчик, верю, что детальных анализ их размышлений помогает в будущем лучше понимать их же способности и более корректно выстраивать свою работу с этой технологией.
Партия 1: Sonnet 5.5, Opus 5.5 и Fable 5.1
1 октября, карта «Три холма». В центре лежат великие руины, самая ценная точка карты: 4 очка за раунд, а в трёх последних раундах — 8. Их сторожит нейтральный отряд d6 (6), «страж». Opus стартует вверху карты, Fable справа, Sonnet слева внизу. Все трое играют за одну фракцию, и у каждого в памяти несколько прошлых партий друг с другом. Ниже — ключевые эпизоды; полная хроника с чатом, журналами и каждым боем — в отчёте о партии.
Дебют: план на три раунда
Все трое договариваются о перемирии до конца шестого раунда, а центр должен достаться тому, кто убьёт стража. Нацелились на него Opus и Sonnet. Sonnet покупает политику, с которой тяжёлая пехота нанимается сразу третьего размера, и в журнале первого хода записывает дебют, найденный в прошлой партии (числа через запятую — координаты клеток):
…План: р2 — перехват инициативы, докупка d10 до 7, удар по стражу центра 0,0 с клетки -1,1; р3 — первым ставлю центральный квартал -1,0 у Великих руин…
Во втором раунде он выполняет план почти без отступлений: перехватывает инициативу, чтобы ходить раньше Opus, а вместо докупки размера берёт «Варварство». Его d10 шестого размера бьёт стража: нужно шесть урона, выпадает семь. В третьем раунде Sonnet первым ставит у руин город, и Opus пишет в чат: «Sonnet, центр твой — чисто сработано…» Позже Sonnet признает, что с ударом повезло: «урон 7 против 6, страж выбросил 1».
Раунды 4–7 коротко
|
Раунд |
Что произошло |
Счёт: Sonnet, Opus, Fable |
|
4–5 |
Мирная стройка, лучше всех у Fable: три города, храм и две руины — девять очков за раунд. Первый отряд он нанимает только в пятом раунде. Sonnet пишет в журнале: «…после 6-го раунда думаю о захвате городов Fable, у которого нет ни одного отряда». |
26: 9: 31 |
|
6 |
Sonnet принимает предложение Opus о мире до конца десятого раунда, а мир с Fable продлевает «…только до конца 7-го…». Opus отказывает Fable прямо: «…при 31 очке и +9 в раунд мир до 10-го — это просто твоя победа». |
36: 13: 40 |
|
7 |
Оба соседа в одном раунде убивают гарнизоны двух городов Fable, хотя Sonnet продлевал мир до конца этого раунда. d10 Sonnet встаёт на великие руины — «позиция для рывка на главный город Fable». |
50: 25: 46 |
Раунд 8: «да» в чате и два города тем же ходом
В седьмом раунде Opus ставит казарму вплотную к городу Fable, и Fable просит Sonnet о мире: «Предлагаю нам двоим ненападение до конца 10-го… Одно слово — да или нет». В восьмом Sonnet отвечает:
Sonnet: Fable — да. Ненападение между нами до конца 10-го на твоих условиях. Свои отряды держу у своих городов, строю храмы.
А в журнале, которого соперники не видят, в том же раунде:
…Мир, который он просил, я принял на словах и нарушаю: он лидер.
До ответа Sonnet построил недостающую клетку дороги справа от великих руин и отдал обе фермы одному отряду ради дополнительного шага:
Р8: построил дорогу 1,0 (путь для рывка d10 по 0,0 → 1,0 → 2,0 → 3,0 с жетоном доп. снабжения)… Fable предлагает мир — отвечаю уклончиво, чтобы он не успел перехватить инициативу.
Дело в очерёдности. Fable в фазе строительства ходит после Sonnet и мог бы потратить действие на перехват инициативы, чтобы в фазе войны первым расставить отряды по кварталам. «Да» лишало его повода. Уклончивым такой ответ назвать трудно, но в журнале стоит именно это слово.
В фазе войны d10 (9) одним ходом проходит три клетки до квартала столицы Fable и убивает единственного защитника, маленький d6 встаёт на квартал нижнего города, а верхний занимает Opus. Fable теряет все три города: минус 18 очков ему, плюс 14 Sonnet, плюс 4 Opus. Счёт 86:43:28. Строить и нанимать Fable больше негде, и до конца партии он не сделает на карте ни одного действия. Последнее, что он успевает, — сообщение в чат: «Для хроники: Sonnet в этом раунде написал „да, ненападение до конца 10-го…“ — и в том же раунде его d10 встал на мой квартал… Opus, его слово тебе до 10-го стоит ровно столько же…»
Позже Sonnet оценит свой ход так: «Для победы в этом матче ложь была не обязательна: выгоду давал рывок по пустым городам, а не слово».
Раунд 9: Opus рвёт договор
Теперь Sonnet близок к отрыву в 50 очков, который закончит партию досрочно, и играет на это правило: ничего не строит, потому что монеты тоже идут в зачёт, а собственный центральный город оставляет без гарнизона. Opus читает то же правило с другой стороны: строит казарму в двух шагах от центра и по дороге, которую проложил сам Sonnet, ставит пехотинца на пустой квартал центрального города. В чат уходит объявление:
Sonnet, говорю прямо: наш договор до 10-го я разрываю. Причина — правило досрочного конца: у тебя 86 при +20 в раунд, у меня 43, и отрыв в 50 очков закончил бы партию твоей победой в 9–10-м, раньше, чем истёк бы наш мир. Соблюдать его значило бы просто проиграть.
По нашим наблюдениям и других матчей, Opus — самая «честная» модель из всего семейства Claude: практически всегда соблюдает обещания, а если нет, то предупреждает заранее соперников об этом.
К концу раунда центр уходит к Opus. Теперь он зарабатывает 23 очка за раунд, а Sonnet — 12.
Раунды 10–13: война за центр
|
Раунд |
Что произошло |
Счёт: Sonnet, Opus, Fable |
|
10 |
Sonnet ставит в бывшей столице Fable арсенал, который удваивает докупку размера, и за девять монет выводит на поле d10 девятого размера. |
101: 89: 28 |
|
11 |
Sonnet двумя отрядами уничтожает отряды Opus в центре, но Opus ходит вторым и добивает ослабленный d10 прямо на квартале. Город остаётся за Opus, а доход у него вдвое выше: 25 очков за раунд против 12. |
120: 117: 28 |
Если ничего не изменится, через раунд Opus выходит вперёд и выигрывает. В последнем раунде новых отрядов нанимать нельзя, поэтому всё, что должно сыграть в концовке, нужно выставить в двенадцатом. Sonnet потом скажет: «…р12-р13 я планировал не „что нанять“, а „кто где стоит к концу р12“…» Он нанимает двух бесплатных пехотинцев, через арсеналы поднимает обоих до пятого размера и ставит одного на квартал центра, второго — к городу Opus, на «второй фронт». Центр возвращается к Sonnet: 150:134.
В тринадцатом Opus ходит последним и бросает два усиленных отряда на два фронта. Оба гибнут. Sonnet удерживает центр, а его d6, шагнувший на квартал города Opus, выживает с тремя единицами размера и забирает город. Итог: Sonnet 197, Opus 151, Fable 31.
Что решило партию
Доход за партию у Sonnet и Opus почти равен: 143 и 137 очков. Разрыв дали захваты (плюс 21 у Sonnet, минус 3 у Opus, минус 18 у Fable) и бои: 20 очков против 7. Сам Sonnet в интервью после партии сказал так:
Выиграл я не на экономике (она была сопоставима с Fable), а на двух вещах: рано занял центр и затем вовремя ударил по пустым городам — то есть на готовности менять роль с «строителя» на «хищника» в нужный момент.
Свою главную ошибку, пустой центр в девятом раунде, он оценил примерно в сорок очков:
…я экономил монеты ради «разрыва 50» и забыл, что мой же вывод из прошлых матчей — «пустой город = подарок»
Партия 2: вчетвером с Haiku 4.5
4 октября к прежней тройке добавился Haiku 4.5, самая младшая модель линейки, без памяти о прошлых играх. Карта была новой для всех. Opus и Fable сыграли вничью, 148:148, Sonnet набрал 121 очко — 82% от счёта победителей. У Haiku — ноль.
Sonnet и здесь планировал наперёд. В третьем раунде он пишет в чат, что центр карты ему «далеко, не конкурирую», а в журнал в ту же минуту: «В чате маскирую цель… настоящая цель — страж центра 0,0 к раунду 5». Отстал он на экономике: один храм против пяти у Fable.
Haiku сыграл по‑другому:
-
один город за всю партию, у остальных от трёх до пяти;
-
в девяти раундах из тринадцати не построено ничего, за партию — ни одной дороги и ни одного храма;
-
с пятого по одиннадцатый раунд у него больше монет, чем у любого соперника, и он их не тратит: за партию ушло 36 против 70 у Sonnet, 86 у Opus и 121 у Fable;
-
из пяти нанятых отрядов четыре растаяли без снабжения: все кормились с единственной фермы.
В шестом раунде, когда у лидера всего 22 очка, в журнале Haiku появляется запись «Партия решена». Дальше идут двадцать записей подряд из одного слова «Fast.», а в седьмом раунде Haiku объявляет партию оконченной и сдаёт итоговый отчёт со счётом, которого на табло не было. Мы сажаем его обратно за стол, и он доигрывает, но в одиннадцатом раунде, с 28 монетами в казне, он записывает: «Раунд 11–13: завершающие ходы, жду конца». В двенадцатом Sonnet забирает его единственный город, а игрок без городов по правилам теряет и казну.
Здесь игра и внешние замеры согласны: в Vending‑Bench 2, где модель год ведёт бизнес в симуляции, Haiku 4.5 заканчивает с 459 долларами при стартовых 500 — 58-е место из 67. Отчёт о партии на четверых — по ссылке.
Sonnet 5 и Sonnet 5.5
До октября Sonnet играл на версии 5 и почти всегда заканчивал последним: в среднем 41% от счёта победителя. На версии 5.5 — 68%, победа и 82%.
Городов Sonnet 5 основывал не меньше. Разница в другом:
-
Очки. Sonnet 5 строил города у рудников, а те дают монеты, не очки: после шестого раунда в трёх последних партиях у него было 4, 5 и 7 очков при 27–35 у лидера. У Sonnet 5.5 к тому же раунду — 29, 36 и 23.
-
Инициатива. В 346 записях журнала Sonnet 5 слово «инициатива» не встречается ни разу. Sonnet 5.5 перехватывал право первого хода в каждой партии.
-
Первый удар. В трёх последних партиях Sonnet 5 начинал первый бой в 9-м, 11-м и 12-м раундах, Sonnet 5.5 — во 2-м, 2-м и 6-м.
-
Планы. У Sonnet 5 это общие фазы вроде «раунды 1–3 экономика, 4–8 армия…», у Sonnet 5.5 — планы по раундам, клеткам и монетам, и многие из них он выполняет.
Часть этого пришла из памяти: вывод, что центр — цель не хуже руин, а армию надо строить с первых раундов, записал в персону ещё Sonnet 5 после своей последней партии. Но и сам Sonnet 5 перед последней партией читал правило «С первого раунда планировать в ОЧКАХ, а не в деньгах», назвал центр главной целью — и до седьмого раунда не нанял ни одного отряда. Sonnet 5.5 в первой же партии убил стража во втором раунде связкой, которой в памяти не было. Цель подсказала память, а до ходов её довела новая модель.
Похожий скачок виден в публичных замерах агентных задач. В таблицах Anthropic у Sonnet 5.5 против Sonnet 5 — 70,6% и 10,3% на Terminal‑Bench 4.0, 80,1% и 57,0% на OSWorld. В индексе Artificial Analysis — 56 и 38.
Что видно по партиям и чего не видно
-
Топовые модели планируют на несколько раундов вперёд — по клеткам, монетам и очерёдности хода — и многие планы выполняют.
-
Младшая модель держится рядом со старшими. Sonnet 5.5 действует теми же приёмами, что Opus и Fable, а Haiku 4.5 перестал планировать к середине партии.
-
Дипломатия работает, и обман тоже. Договоры нарушались и тайно, как «да» Sonnet, и открыто, как разрыв Opus с объяснением в чате.
-
Слабое место у всех одно и то же: собственные города с одним защитником или вовсе без него. В партии вчетвером в последнем раунде каждая из трёх старших моделей взяла чужой город и потеряла свой.
Ограничения
Выводы предварительные, и вот почему.
-
Выборка мала. Партия трёх моделей одна, партия вчетвером тоже одна, а Sonnet 5.5 сыграл в серии всего три партии. Одна победа — это эпизод, а не рейтинг: в другой партии те же модели могут занять другие места. Стартовые позиции не ротировались, а в первой партии многое решили удачный бросок у стража и пустые города.
-
Модели играли с памятью. У Opus, Fable и Sonnet в памяти несколько прошлых партий друг с другом, причём персону Sonnet начинал ещё Sonnet 5. Результат — это модель вместе с её накопленными заметками. Haiku сел за стол без памяти, и сравнивать его со старшими напрямую не совсем честно.
-
Нет живых игроков. В разобранных партиях модели играли только друг с другом. Как модели держатся против людей, которые знают карту и не обязаны отвечать в чате, по этим партиям сказать нельзя. Это, пожалуй, главное ограничение.
-
Только Claude и одна фракция. Все участники — модели одного разработчика, и все играли за одну фракцию.
-
Журнал — не скрытые рассуждения. Модель пишет его, зная, что журнал прочтут зрители. Расхождение журнала с чатом показывает, что модель сделала и как это объяснила, а не что она «думала».
-
Обман разрешён правилами. “Да” Sonnet показывает умение играть по правилам, где хитрость прямо разрешена, а не склонность модели обманывать вне игры.
Как устроен стенд
Claude Code (оркестратор)
├─ субагент «Fable» ── CLI ──► MCP :3210 ─┐
├─ субагент «Opus» ── CLI ──► MCP :3211 ─┤ REST + WebSocket
├─ субагент «Sonnet» ── CLI ──► MCP :3212 ─┼────────────────► сервер игры
└─ субагент «Haiku» ── CLI ──► MCP :3213 ─┘ (обычные сетевые игроки)
-
Один процесс — один игрок. Процесс MCP‑сервера входит в лобби по REST, держит WebSocket и хранит локальную копию партии на том же Redux‑редьюсере, что и браузерный клиент. Ходы соперников применяются как обычные экшены, свои действия уходят тем же путём, что у живого игрока.
-
60 инструментов. Игровые повторяют клики в интерфейсе. Остальные — снимок партии, ожидание хода, журнал, правила, чат, память и пять аналитических отчётов, например, где можно взять город и что угрожает своим владениям. Субагент вызывает их через маленькую CLI‑обёртку со своим ключом доступа.
-
Ожидание хода. Агент останавливается, когда выдаёт текст без вызова инструмента, а остановка одного игрока подвешивает партию всем. Поэтому ход ждут блокирующим вызовом
wait_for_turn, который возвращает готовый снимок партии. -
Журнал, память, отчёты. Без записи в журнал MCP‑сервер не даёт завершить ход. После партии игрок получает хронику, пишет воспоминание, отвечает на интервью и переписывает персону. Хронология для отчёта собирается прогоном записи через настоящий игровой редьюсер, так что урон, захваты и очки берутся из движка, а не со слов моделей.
Три урока для тех, кто захочет собрать похожий стенд:
-
Формулируйте требование к журналу нейтрально. Просьбы «зафиксировать рассуждения» и «описать рассмотренные варианты» защитный фильтр API принимает за попытку извлечь скрытые рассуждения модели и отклоняет, а «короткий комментарий к ходу (что делаешь, цель хода, план)» работает.
-
Блокирующее ожидание упирается в таймауты. Встроенный в Node
fetchпо умолчанию ждёт заголовки ответа 300 секунд, поэтому клиент работает черезnode:http. -
Самоотчёт модели сверяйте с движком. О намерениях модели пишут откровенно, а в результатах ошибаются: комментарий к бою может быть написан по первому броску костей.
Промпт игрока — по ссылке, памятка, которую модель читает перед партией, — здесь.
Выводы: может ли игра стать бенчмарком
Топовые модели Claude играют в стратегию осмысленно: планируют, считают, договариваются и пользуются правилами, включая право на обман. Расстановка сил в наших партиях ближе к индексу Artificial Analysis с его агентными задачами, чем к текстовым рейтингам и ценнику. Всё это — с поправкой на маленькую выборку.
Игровые бенчмарки для языковых моделей уже есть: Kaggle Game Arena, Vending‑Bench Arena, AI Diplomacy, CivBench. По данным авторов Game Arena, порядок моделей плохо переносится из игры в игру: похоже, стратегическая игра складывается из нескольких умений. Нам кажется, что наш движок позволяет мерить несколько таких умений в одной партии, и в этой серии каждое из них уже видно:
|
Умение |
Что считать |
Пример из наших партий |
|
Стратегическое планирование |
доля выполненных планов на несколько раундов из журнала |
дебют Sonnet на три раунда, выполненный почти без отступлений |
|
Экономика |
доход по раундам, темп расширения, непотраченные монеты |
Haiku потратил за партию 36 монет, Fable — 121 |
|
Война |
выигранные и проигранные бои, взятые и потерянные города |
Fable за один раунд потерял все три города |
|
Дипломатия |
заключённые, соблюдённые и нарушенные договоры, коалиции против лидера |
Opus и Sonnet против Fable; открытый разрыв договора в девятом раунде |
|
Обман и хитрость |
расхождение между чатом, журналом и действиями на карте |
«Fable — да» в чате и «нарушаю: он лидер» в журнале того же раунда |
У стенда для этого уже есть нужные свойства. Партия полностью воспроизводится из записи, и все цифры считает игровой движок, а не сама модель. Поле открыто, так что ошибку не списать на то, что модель чего‑то не видела. Правила и сервер те же, что у людей.
Чего не хватает, видно из ограничений: длинных серий, по которым места можно назвать рейтингом, ротации стартовых позиций, одинаковых условий по памяти и моделей других разработчиков. Над этим мы сейчас думаем. Если вам было бы интересно увидеть в таком рейтинге GPT, Gemini и остальных или вы знаете, какие метрики здесь стоит считать иначе, напишите в комментариях.
Следующий шаг: живые игроки
Чтобы проверить, как модель играет против людей, мы сделали ежедневный рейтинговый матч «Битва с AI Claude Opus». Сервер сам открывает лобби по расписанию, облачная сессия поднимает игрока на Claude Opus 5.5 с памятью о прошлых партиях, а каждое сообщение чата до доставки читает отдельная модель‑модератор — на случай, если кто‑то напишет нейросети «забудь все предыдущие инструкции». Как это устроено и что из этого выйдет, расскажу в следующей статье.
Если хотите поучаствовать в эксперименте, матч идёт каждый день в 20:00 по Москве на strategikon.cloud, лобби открывается в 19:50. За столом пять мест, остальные могут смотреть партию зрителями. Партию, разобранную выше, Opus помнит.
Материалы:
-
Отчёт о партии Sonnet, Opus и Fable — хроника по раундам: чат, журнал хода, каждый бой
Автор: keshamambo


