Популярность Cursor растет, но Cursor не является выходом для программирования ИИ в домашних условиях
В 2021 году Microsoft запустила GitHub Copilot, который сразу же стал самым востребованным инструментом искусственного интеллекта в мире программирования.
GitHub Copilot может автоматически генерировать полные функции кода на основе контекстной информации, предоставленной пользователем, такой как имена функций, комментарии, фрагменты кода и т. д. Его называют "переломным моментом" в мире программирования.
Что делает ее такой удивительной, так это лежащий в основе доступ к модели Codex от OpenAI, которая имеет размер параметров 12 миллиардов и является ранней версией GPT-3, оптимизированной специально для задач кодирования. Это первый случай, когда модель с большим количеством параметров, основанная на архитектуре Transformer, действительно "появилась" в области кода.
GitHub Copilot зажег страсть к программированию ИИ среди разработчиков по всему миру, и четыре студента MIT объединились с мечтой изменить разработку программного обеспечения, чтобы в 2022 году основать компанию под названием Anysphere.
Соучредитель компании Anysphere, которая "нагло называет" Microsoft своим главным конкурентом, Майкл Труэлл (Michael Truell) дал понять, что, хотя Visual Studio Code от Microsoft доминирует на рынке IDE, Anysphere видит возможность предложить другой продукт. Anysphere увидела возможность предложить другой продукт.

Майкл Труэлл (крайний справа)
Microsoft, возможно, и не предполагала, что менее чем через три года эта малоизвестная команда бросит тяжелую "бомбу" в индустрию, спровоцировав новый виток лихорадки программирования ИИ в мире, а компания еще и станет единорогом с оценкой в 2,5 миллиарда долларов за четыре месяца.
1. Что делает Cursor хитом?
В августе 2024 года Андрей Карпати, бывший директор Tesla по искусственному интеллекту, отправил несколько твитов в X, восхваляя редактор кода под названием Cursor, заявив, что он превзошел GitHub Copilot.
В том же месяце Anysphere, тело компании, стоящей за Cursor, закрыла раунд финансирования серии А на 60 миллионов долларов при оценке в 400 миллионов долларов.

Среди удивительных возможностей Cursor - многострочное редактирование, контекстное завершение работы с разными файлами, постановка вопросов, предсказание следующего действия и многое другое. Разработчики могут просто продолжать нажимать клавишу Tab, чтобы автоматизировать изменения кода по всему файлу, а результаты обработки Cursor будут более точными и быстрыми, практически без ощутимой задержки.
Любой, кто хоть что-то знает о программировании, понимает, насколько глубоко это заложено.
"Завершение и предсказание по нескольким файлам - это очень тонкое требование, которое, возможно, трудно точно выразить самим разработчикам, но очень "круто", когда вы действительно его используете".
Том Йедваб, разработчик с десятилетним стажем, также написал, что функция Tab Completion лучше всего соответствует его ежедневным привычкам в кодинге и экономит ему больше всего времени. "Инструмент как будто читает мои мысли и предсказывает, что я буду делать дальше, позволяя мне меньше зацикливаться на деталях кода и больше на построении общей архитектуры". пишет Том Йедваб.
Ключ к успеху Cursor - не столько высокие технические барьеры, сколько тот факт, что они первыми выявили тонкую новую потребность и рискнули пойти по пути, по которому еще никто не ходил.
Cursor паразитирует на VS Code, Visual Studio Code, бесплатном кроссплатформенном редакторе кода с открытым исходным кодом, разработанном Microsoft, с некоторыми базовыми функциями завершения кода.
Ранее разработчики создавали всевозможные плагины, чтобы расширить функциональные границы VS Code, но собственный механизм плагинов VS Code имеет множество ограничений. Например, при работе с большими проектами некоторые плагины могут привести к замедлению индексации и анализа кода; для некоторых сложных плагинов процесс настройки более громоздкий, требующий от пользователей вручную изменять конфигурационный файл, что неизменно повышает порог использования.
Поэтому, чтобы устранить эти ограничения, команда Cursor применила очень смелый подход, она не пошла по традиционному пути создания плагинов для VS Code, а "волшебным образом изменила" код VS Code, совместив его с рядом моделей ИИ в нижней части, и, проведя множество инженерных оптимизаций, улучшила пользовательский опыт всей IDE.
В начале разработки Cursor многие практики, в том числе и он сам, не испытывали оптимизма по поводу того, что этот путь труден, это огромный "неконсенсус". Внутренняя архитектура VS Code сложна, включает редактирование кода, синтаксический анализ, индексацию кода, систему плагинов и другие модули, и могут существовать различия между разными версиями VS Code, "магический" процесс должен учитывать совместимость. Совместимость должна учитываться в процессе "магической модификации". Кроме того, когда в VS Code встроено несколько моделей искусственного интеллекта, необходимо решить проблемы взаимодействия между моделью и редактором, например, как эффективно передать контекст кода в модель? Как обработать вывод модели и применить его к коду? И как минимизировать задержки при генерации кода?
Для решения целого ряда задач требуется громоздкая система инженерной оптимизации. Только в 2023 году Cursor претерпел три крупных обновления версии и около 40 итераций функций.Это огромное испытание терпения для всей команды разработчиков и инвесторов, стоящих за компанией.
В итоге Кремниевая долина в очередной раз доказала всему миру свою способность порождать разрушительные инновации. Успех Cursor - это классический предпринимательский шаблон Кремниевой долины: группа параноидальных технологических гиков с грандиозным видением, поддерживаемая развитой системой венчурных инвестиций Кремниевой долины, чтобы прорваться на ничейную землю, на фоне бесчисленных проблем, чтобы первыми съесть краба, и в конечном итоге положиться на продукт, чтобы произвести фурор.
"В этом и заключается вся прелесть предпринимательства: такой "несерьезный" проект, а они взялись за него".
Недавно Anysphere объявила о закрытии раунда финансирования серии B в размере 100 миллионов долларов и была оценена в 2,6 миллиарда долларов. По оценкам Sacra, годовой повторяющийся доход (ARR) Cursor составит 65 миллионов долларов в ноябре 2024 года, что на 64 001 TP3T больше, чем в прошлом году. а с момента основания в 2022 году в Anysphere работает всего 12 человек.
2. Второй пилот чист, агент растерян
Cursor - не первый продукт, вышедший из-под кольца программирования ИИ.
В марте 2024 года "первый в мире программист искусственного интеллекта", которого называют Девин появилась из ниоткуда и впервые разожгла в индустрии страсть к программированию ИИ.

Devin - это автономный агент с полным набором навыков, способный самостоятельно обучаться, создавать и развертывать приложения, исправлять ошибки и даже обучать и настраивать собственные модели ИИ. Компания, стоящая за ним, Cognition AI, также является блестящей "командой мечты" ИИ.
Однако изначально Devin был выпущен в виде демо-версии, и разработчики не смогли получить его в свое распоряжение. Только 11 декабря 2024 года Devin стал доступен для пользователей, а абонентская плата за него составила 500 долларов в месяц. По сравнению с ним абонентская плата Cursor в размере 20 долларов в месяц кажется более доступной.

В отличие от всеобщего любимца Cursor, отзывы разработчиков о Devin были противоречивыми. Некоторые считают, что Devin отлично справляется с миграцией кода и генерированием PR (Pull Requests, запросы на изменение кода, подаваемые разработчиками в процессе совместной работы над кодом для его проверки и объединения другими членами команды), что позволяет значительно сократить объем повторяющейся работы разработчиков; однако некоторые пользователи отмечают, что Devin по-прежнему требует много ручного вмешательства при работе со сложной бизнес-логикой. Однако некоторые пользователи отмечают, что Devin по-прежнему требует много ручного вмешательства при работе со сложной бизнес-логикой, особенно если проект недостаточно документирован или имеет низкое качество кода.
Фундаментальная причина разницы в "популярности" Cursor и Devin заключается в разнице в количестве отказов и стоимости отказа для разработчиков, использующих этот продукт.
В настоящее время частота отказов в сценарии Copilot относительно низка, и точность соответствующего измерения HumanEval приближается к 100%, в то время как точность соответствующего измерения SWE для сценария Agent в настоящее время составляет менее 60%.
Кроме того, результаты работы ИИ нуждаются в принятии и подтверждении человеком, и взаимодействие продуктов типа Copilot определяет, что затраты разработчиков на просмотр результатов, генерируемых ИИ, невелики, а затраты пользователей на их изменение или непринятие после неудачи также невелики. Однако для продуктов агентского типа затраты на подтверждение со стороны пользователя значительно выше, чем у Copilot, и затраты на модификацию после неудачи также выше.
Два направления Cursor и Devin также в значительной степени отражают текущее состояние продуктов Copilot и Agent в типовых сценариях.
Cursor означает Copilot и требует, чтобы ИИ и человек работали синхронно, причем человек руководил, а ИИ помогал.
На данный момент именно Copilot управляет PMF.Copilot может паразитировать в IDE, таких как VS Code, в виде плагинов, помогая разработчикам-людям выполнять всевозможные действия по кодированию, и после появления GitHub Copilot, пользователи постепенно привыкли к форме сотрудничества в Copilot, а с появлением GPT-3.5, Copilot из демо-версии превратился в реально используемый продукт.
Однако я уже писал о "скрытых проблемах" продуктов Copilot. "Настоящий ров - это VS Code, который из простого редактора превратился в платформу. Причина, по которой пользователи легко переходят с GitHub Copilot на Cursor, заключается в том, что они оба паразитируют на VS Code, а привычки, опыт и возможности/плагины пользователей абсолютно одинаковы". которые получают большие модели и которые уже являются частью модели".
В отличие от него, Агент - это новый вид, порожденный GPT-3.5, новая концепция, более способная стимулировать чувствительные нервы предпринимателей и венчурных фондов. Девин - представитель вида Агент, который требует от ИИ асинхронной работы с человеком, а от ИИ - большей инициативы, чтобы принимать некоторые решения и выполнять их автономно.
Agent - это возможность для предпринимателей. Но он не согласен с концепцией Agent, которую отстаивает Девин."Делать все - значит не делать ничего, а ценность приложений Agent в нишевых областях гораздо выше".
Однако, поскольку концепция агента находится на ранней стадии развития и все только исследуют ее, паразитная среда и границы возможностей агента все еще неясны, и в поле зрения попадают такие направления, как генерация кода, завершение кода, генерация модульных тестов и обнаружение дефектов.
Gru решила начать с Unit-тестирования. Прежде чем официально запустить продукт, Gru также прошел период проб и ошибок внутри компании, автоматическая генерация документов, исправление ошибок, E2E-тестирование и другие направления были опробованы, но ограниченные возможностями модели, итерации и сопровождение программного обеспечения и другие болевые точки не могут быть продвинуты.
В конце концов, Гру обнаружил, что модульное тестирование - это необходимость, которая существует часто, но в немалой степени. Многие разработчики не любят писать модульные тесты, потому что они скучны. Кроме того, для менее требовательных проектов модульное тестирование не является необходимым требованием к программной инженерии. Тем не менее, Грю считает, что с точки зрения технических возможностей, посадка продукта ИИ должна решать проблему согласованности бизнес-контекста и инженерного контекста, модульное тестирование наименее зависимо от этих двух контекстов, но и наиболее релевантно текущим возможностям модели звена.
Однако.Copilot или Agent - это средство, а не цель, они не являются "или-или", а сосуществуют и решают разные задачи.
Для многих индивидуальных разработчиков и некоторых малых и средних предприятий типовых продуктов, таких как Cursor или некоторые модели с открытым исходным кодом, может быть достаточно для решения большинства потребностей; однако для многих крупных предприятий и сложных бизнес-сценариев в различных областях трудно удовлетворить потребности просто с помощью типовых продуктов в форме "Copilot" или "Agent", что требует от поставщиков технологий наличия более мощных сервисных возможностей, специфичных для конкретной области. Однако для многих крупных предприятий и сложных бизнес-сценариев в различных областях трудно удовлетворить спрос с помощью типовых продуктов в виде "Копилота" или "Агента", что требует от поставщиков технологий более мощных сервисных возможностей в конкретной области.
Именно в последнем случае перед отечественными компаниями, занимающимися программированием ИИ, открываются новые возможности.
3. Внутренние возможности в вертикалях
Если заглянуть в 2024 год, то программирование ИИ, несомненно, является одним из самых горячих направлений венчурного инвестирования в Кремниевой долине, где уже работают такие единороги, как Cursor, Poolside, Cognition, Magic, Codeium, Replit и другие.
В отличие от них, отечественные интернет-производители и крупные производители моделей в основном запустили свои собственные "кодовые модели", но развитых стартапов очень мало. По данным Silicon Star People, в прошлом году Qiji Chuangtan инвестировала в шесть стартапов в области программирования ИИ, и с тех пор почти все они сошли на нет, а в прошлом году более 10 команд, основанных на коде, которые ненадолго всплыли на поверхность, большинство из них уже сошли с дистанции в этом году.
После появления ChatGPT компания Clearstream Capital рассмотрела десятки проектов в области программирования ИИ, но единственным, кто наконец сделал шаг, стала компания Silicon Heart Technology ("aiXcoder").

Для отечественных проектов по программированию ИИ многие считают, что продукт делается более "поверхностным". "Есть разработчики в сообществе, которые жалуются, что многие продукты сейчас генерируют код за несколько минут, но им приходится тратить полдня или больше на отладку".
Под "мелким" внешним видом продукта скрывается экологическая разница, сложившаяся за годы работы на рынках 2B США и Китая.. Анализ причин сводится к трем: в США группа младших программистов огромна, а стоимость рабочей силы выше, внедрение продуктов искусственного интеллекта может помочь предприятиям значительно сократить расходы; рынок SaaS в США прошел через модель PLG, готовность предприятий платить за продукты общего назначения сильнее; и путь выхода на зарубежный рынок 2B ясен, готовность инвесторов вкладывать средства велика, а логика первого уровня рынка по захвату бизнеса также очень ясна, инвесторов-ангелов очень много и они очень активны. Стартапы почти всегда могут получить первый раунд финансирования для подтверждения своих идей.
В сентябре 2024 года Грю запустил сайт Gru.ai и занял первое место в верифицированной оценке swe-bench, выпущенной OpenAI, набрав 45,2%. Было четкое ощущение, что наличие продукта делает его более приемлемым в Кремниевой долине.
А для внутреннего рынка B-стороны все еще существует клише проблемы. "В Китае сложнее работать с B, цепочка продаж длиннее, и в итоге те, кто может оплатить счет, по-прежнему в основном крупные предприятия, но иногда крупные предприятия - это не те, кто будет покупать, если ваш продукт хорош". "Многие предприятия имеют большое количество внутренних требований к соблюдению безопасности, например, из-за опасений по поводу риска утечки информации, не могут использовать облако для вызова продукта, требуется локально развернутый код инструментов."
В результате отечественным компаниям, занимающимся программированием ИИ, приходится влезать обеими ногами в грязь, чтобы решить конкретные проблемы в различных отраслях.
"Модель должна учитывать непрерывность бизнеса в реальном процессе посадки, отечественная модель кода по результатам оценки показывает, что производительность была улучшена, но в конкретных сценариях применения необходимо анализировать конкретные сценарии". Ранее, после общения с одним из промышленных предприятий, было обнаружено, что язык, используемый в некоторых программных системах в промышленных сценариях, - это не обычный python или C++, а некоторые специфические для отрасли инструменты кодирования, что требует от поставщиков технологий внесения целевых корректировок в свои продукты.
Эта потребность не является уникальной для промышленных сценариев: каждая отрасль имеет свои особенности, каждое предприятие обладает специфической бизнес-логикой и инженерной системой, что требует от компаний, занимающихся программированием ИИ, более мощных сервисных возможностей, ориентированных на конкретную область.
После изучения десятков компаний выяснилось, что "для всех типов потребностей в разработке программного обеспечения функции программирования ИИ включают в себя, по крайней мере, ряд задач, таких как поиск, обнаружение и устранение дефектов, тестирование, в дополнение к генерации кода";Помимо функциональности, необходимо также продумать, как интегрировать эти возможности с собственной бизнес-логикой клиента, чтобы модель обладала более глубокими знаниями о домене, что на самом деле является высокой планкой".
В результате Clearstream Capital больше доверяет идее глубокого соединения моделей и продуктов с внутренними частными знаниями, данными и механизмами разработки программного обеспечения внутри организации и инвестировала в aiXcoder в сентябре 2023 года.
"В этой доказанной потребности aiXcoder является наиболее технически и коммерчески совместимой командой. В то же время ряд ключевых членов коммерческой команды компании имеют более чем десятилетний опыт продаж внутренним и международным клиентам Big B и обладают глубоким пониманием клиентов и рынка. Во втором квартале 2023 года они предложили решение по "доменизации" посадки, то есть стратегию, согласно которой программирование ИИ должно быть глубоко связано с внутренними частными знаниями, данными и рамками разработки программного обеспечения на предприятии, что также было признано большим количеством головных корпоративных клиентов с точки зрения фактических результатов посадки проекта".
Компания aiXcoder, основанная в Институте программной инженерии Пекинского университета, является самой первой в мире командой, применившей технологию глубокого обучения для генерации и понимания кода, а также самой первой командой, применившей глубокое обучение к продуктам программирования. Команда накопила более 100 статей в ведущих международных журналах и конференциях, многие из которых являются первыми и наиболее цитируемыми работами в области интеллектуальной программной инженерии.
Бизнес-партнер и президент компании aiXcoder отметил, что при столкновении с частными сценариями развертывания B-end, поскольку большая модель общего назначения не изучила данные в частном домене, ей не хватает глубокого понимания внутренних бизнес-требований, отраслевых спецификаций, рамок разработки ПО и операционной среды предприятия, и она не включает в обучение модели фоновые знания о домене предприятия, такие как анализ требований и проектная документация, что приводит к тому, что сгенерированный или дополненный код не имеет релевантности и надежности на не хватает релевантности и надежности на уровне бизнес-логики.
В результате точность и удобство использования больших моделей в корпоративных приложениях оказались ниже, чем ожидалось. "Многие большие модели прекрасно работают в типовых сценариях или основных наборах оценок с точностью до 301 TP3T, но при развертывании внутри предприятия точность обычно падает до уровня менее 101 TP3T.Традиционными средствами тонкой настройки также трудно достичь желаемых результатов предприятияПоэтому изучение и освоение "доменных" знаний - ключ к успешному внедрению систем программирования ИИ на предприятиях. Поэтому изучение и освоение "доменных" знаний - ключ к успешному внедрению систем программирования ИИ на предприятиях. Решение специфических проблем для корпоративных клиентов - вот в чем наша отличительная ценность".
Чтобы решить вышеуказанные проблемы, aiXcoder проводит целевое постепенное обучение на основе различных внутренних данных, предоставляемых предприятием - включая код, бизнес-документы, документы по требованиям, проектные документы, тестовые документы, а также отраслевую бизнес-терминологию и спецификации процессов, отраслевые технические стандарты и спецификации, стеки технологий предприятия и фреймворки программирования, а также другие знания о предметной области. . В дополнение к обучению модели, она также сочетается с мультиагентными, RAG, инструментами разработки программного обеспечения и "спроектированной системой Prompt", которая соответствует рамкам разработки программного обеспечения предприятия, чтобы улучшить качество генерации кода и способность всего процесса НИОКР.
В виде доставки.Решения на основе доменов - это не то же самое, что традиционные высокоиндивидуальные проектные решения.aiXcoder будет извлекать возможности и инструменты с общей ценностью из индивидуальных потребностей клиентов и формировать стандартизированные продукты и процессы, которые будут поставляться клиентам; в то же время aiXcoder поддерживает высокочастотную связь с клиентами посредством регулярных встреч, не только помогая клиентам в решении циклических проблем, но и продолжая итерации продуктов, основанных на общих и реальных потребностях клиентов.
4. индустрия ИИ слишком часто "кричала волком".
С точки зрения ориентации на результат, будь то малый B или большой B, "модель обучения" или "не модель обучения", второй пилот или агент, не может быть оптимального ответа, все должно быть основано на реальных потребностях клиентов, а также на собственном мнении предпринимательской команды. Оптимального ответа может и не быть.
Независимо от того, по какому пути они пойдут, компании, занимающиеся программированием на основе искусственного интеллекта, преследуют простую и понятную цель - повысить эффективность разработки программного обеспечения. Однако на современном рынке все еще рано, иПравильное распределение покупательского спроса - проблема для каждого новичка на рынке.
Самая большая проблема на данный момент заключается в том, как заставить клиентов признать ценность сегментированных агентов."Даже в Кремниевой долине первая реакция многих потенциальных клиентов, когда они слышат о новом продукте с искусственным интеллектом, - это сомнение, а не восторг.. Потому что один из плохих моментов в области ИИ - это то, что в прошлом было слишком много "плачущих волков", и было сделано много демо-версий, которые не работали". "В настоящее время Гру тратит много энергии на работу с клиентами и создание "сарафанного радио" среди пользователей, которые впоследствии станут основой для масштабной коммерциализации.
Для внутреннего рынка спрос на системы программирования ИИ также нуждается в уточнении границ собственных потребностей и возможностей модели. "В настоящее время системы программирования ИИ на основе больших моделей имеют многообещающее будущее в повышении производительности программного обеспечения". "Чтобы по-настоящему использовать преимущества этой технологии в корпоративной среде, необходимо глубоко объединить код большой модели с собственными знаниями предприятия, постоянно итерировать и проверять ее в конкретных бизнес-сценариях".
На самом деле.Большие модели развились до такой степени, что настроения на рынке в значительной степени вернулись к рациональности, но шум все еще присутствуетНапример, 2024 год - это год, когда большие модели информации о торгах являются обычным делом, но некоторые данные могут быть "вводящими в заблуждение". Например, в 2024 году большие модели информации о торгах являются обычным делом, но некоторые данные, вероятно, будут "вводящими в заблуждение".
"Экологическое разделение труда более четко прослеживается в зарубежных странах, но многие проекты, выполняемые TO B в Китае, в итоге становятся тендерами, и многие компании выжимают из себя все возможное для участия в торгах". Однако в области программирования ИИ, судя по информации о публичных торгах, даже несколько крупных производителей не получили много заказов.
Причина этого в том, чтоУспешное участие в торгах не означает успеха модели или продукта на местах.
С одной стороны, у многих закупщиков, отвечающих за закупки и реальное использование продукта, часто не одна и та же волна, что может привести к тому, что решения о закупках и реальные бизнес-потребности окажутся в двух слоях кожи. С другой стороны, эти посадки часто полагаются на стандартизированные продукты плюс тонкая настройка, а не для бизнес-сценариев предприятия и внутренней логики для глубокого обучения домена и адаптации, что может привести к программистам в использовании процесса обнаружили, что результаты не являются удовлетворительными.
Один из инсайдеров отрасли рассказал, что большинство заказов на текущем рынке торгов, включающих аппаратное обеспечение, исчисляются миллионами, в то время как заказы на чистое программное обеспечение, такое как разработка интеллектуального программного обеспечения, кодовые ассистенты и другие проекты, в основном находятся в диапазоне 300 000 или около того. Многие предприятия обнаруживают, что не могут решить проблему после покупки, и им остается только вернуться на рынок, чтобы найти более подходящего производителя, что приводит к пустой трате ресурсов.
Тем не менее, в процессе деконструкции наметился определенный консенсус.Все больше компаний осознают, что тенденция состоит в том, чтобы "разделить" возможности продукта и модели.
В первой половине 2024 года, когда возможности моделей усилятся, модели сблизятся в плане программирования, и продукт больше не будет подстраиваться под возможности модели, а будетСделайте продукт "модельно-агностическим".. "Начиная с первой половины 2024 года, мы уже не будем заниматься оптимизацией для разных моделей, а будем расширять возможности архитектуры нашего продукта, и любая модель на рынке сможет быть подключена, если она пройдет наши тесты".
"Корпоративные заказчики должны уделять все внимание непрерывности бизнеса и не должны привязываться к какому-либо одному поставщику больших моделей. В настоящее время трудно по-настоящему удовлетворить потребности корпоративных клиентов в больших моделях, приобретая только стандартизированные продукты. Предприятиям необходимо добиться архитектурной развязки в отношении больших моделей, уровня данных, доменизации и инжиниринга, а также гибко выбирать модели и поставщиков услуг, которые лучше соответствуют их потребностям. Самое главное - необходимо эффективно решить актуальную проблему доменизации разработки программного обеспечения на предприятии, чтобы помочь предприятиям добиться снижения затрат и повышения эффективности."
С точки зрения стороннего наблюдателя, в будущем доступ к модели - это только одна часть посадки отрасли. "Сейчас от модели до приложения еще 100 километров, если поставщики технологий стандартизируют возможности первых 95-99 километров в инфраструктуре, то оставшиеся последние 1-5 километров могут быть сделаны самой прикладной стороной".
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...