Бета-версия MetaTrader 5 build 5955: поддержка MCP и агентного ИИ - страница 26

 
Vladimir Pastushak #:
Не могли бы Вы разъяснить что такое токен ? Как правильно его посчитать ?

Совсем грубо 1 токен = 0.7 английского слова в среднем.

Если не английское, то больше из-за схемы разбиения в каждом языке. Например, русское слово часто дает 2-3 токена, то есть 1 токен = 0.3-0.4 русского слова. Причем русские слова совсем грубо нарезаются кусками, от чего страдает результат. Идеальный результат фактически только у английского корпуса слов.

Знаки препинания и эмоджи = 1 токену.

 

Однако!

Стало любопытно, задал вопрос дипсику.

//---

Как считаются токены?

Пример, ИИ ответил мне не верно и в ответе у него 2*2=5.

И если я пишу ему так:

1.Ты, что собака страшная белены объелся, где ты видел, чтоб 2*2 не равнялось 4?

2. Error 2*2 всегда 4

Сколько я потрачу токенов в первом случае и сколько во втором. И будет ли мой ответ понят одинаково?

//--- ответ дипсика

Отличный практический вопрос! Давайте разберем его по пунктам.

1. Как считаются токены?

Токены — это не буквы и не слова, а «кусочки» текста, которые модель обрабатывает за раз.

В русском языке (в отличие от английского) один токен — это примерно 1–2 символа кириллицы (иногда 3, если буква редкая). Пробелы, знаки препинания и цифры тоже считаются.

Примеры (для модели GPT-4 / DeepSeek):

  • Слово «Привет» = ~2 токена ( При  +  вет ).

  • Цифра «2» = 1 токен.

  • Знак «*» = 1 токен.

  • Пробел = 1 токен (в большинстве кодировок).


2. Считаем ваши запросы (входные токены)

Вариант 1 (эмоциональный):

«Ты, что собака страшная белены объелся, где ты видел, чтоб 2*2 не равнялось 4?»

Считаем примерно (посимвольно, так как 1 токен ≈ 1-2 символа):

  • Длина строки: ~72 символа (с пробелами и знаками).

  • Делим на 1,5 (среднее для кириллицы) = ~48 токенов.

Вариант 2 (лаконичный):

«Error 2*2 всегда 4»

Длина: 21 символ (латиница "Error" считается по 1 символу = 1 токен, цифры и пробелы — тоже).
Считаем:  Error  (5) + пробел (1) +  2  (1) +  *  (1) +  2  (1) + пробел (1) +  всегда  (6 символов = 4 токена) + пробел (1) +  4  (1) = ~16 токенов.

Запрос Примерное число токенов
Эмоциональный («Ты, что собака...») ~48
Лаконичный («Error 2*2 всегда 4») ~16

Итог: Во втором случае вы тратите в 3 раза меньше токенов.


3. Будет ли ваш ответ понят одинаково?

Нет, понят будет по-разному, и вот почему:

  1. Первый запрос (эмоциональный) содержит:

    • Личные оскорбления («собака», «белены объелся»).

    • Сарказм и риторический вопрос.

    • Для ИИ это «шум». Модель потратит часть своих "вычислительных мощностей" на анализ эмоциональной окраски, но на математику это не повлияет. Она все равно поймет суть (что 2*2=4) и извинится за ошибку.

  2. Второй запрос (лаконичный):

    • Четкая команда («Error»).

    • Сухое утверждение факта.

    • ИИ поймет это быстрее и точнее, потому что нет отвлекающих слов. Вероятность, что модель снова ошибется в ответе, в этом случае ниже, так как вы явно указываете на ошибку без лишней «воды».


4. Важное дополнение (про ответ ИИ)

Вы спросили «сколько я потрачу токенов». Но учтите:
Вы платите (тратите) токены и за свой запрос, и за ответ ИИ.

Если вы нагрубите (вариант 1), модель может выдать длинный вежливый ответ с извинениями, объяснениями и эмодзи. Это еще +200–300 токенов на выходе.

Если вы напишете кратко (вариант 2), модель ответит кратко: «Вы правы, это ошибка, 2*2=4». Это всего +20–30 токенов на выходе.

Итоговый расход:

  • Вариант 1: 48 (вход) + ~250 (выход) = ~300 токенов.

  • Вариант 2: 16 (вход) + ~30 (выход) = ~46 токенов.

Разница в 6,5 раз!


Вывод:

  • Короткий четкий запрос без эмоций экономит ваши деньги и время.

  • Понимание сути — одинаковое, но качество ответа (краткость и точность) — лучше во втором случае.

  • Если хотите проверить точное число токенов для своего текста, используйте официальный токенизатор от OpenAI или DeepSeek (в каждой модели своя таблица кодировки).


Вместо  Error  лучше было написать Err тогда токенов бы ушло ещё меньше.

Золотое правило: Если можете написать короткое техническое слово на английском (Err, Fix, Bad, Ok) — всегда пишите на латинице.

Это экономит токены. Если же пишете длинные русские предложения — сжимайте их до сути, убирайте воду.

 
Теперь Я знаю, что пробелы между запятыми в запросы ставить не нужно. Ему же всё-равно какое форматирование текста для принятие информации.
 
fxsaber #:
По первым бы двум пунктам что-нибудь узнать. Особенно - первый. Вроде, не должен клон-исходник отличаться от оригинала.

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

Вот общий свод правил, обязательных к исполнению на протяжении всего процесса общения:

1. Изменяй только те функции и строки, о которых идет речь в моем запросе.
2. Никогда не проводи рефакторинг и оптимизацию побочных участков кода без прямой команды или предварительного обсуждения и подтверждения мной.
3. Не меняй, не перефразируй и не удаляй существующие комментарии или строки логгирования, не относящиеся по существу к текущему запросу.
 
Вкладки окна настроек AI и MCP до сих поломаны у пользователей Wine. Рад бы был принять участие в тестировании агентов, но пока "остаюсь за бортом". Билд 5986.
 
Круто. Надо еще линукс-хэдлес cli терминал и тестер. И тогда прям совсем в ногу со временем будет :)
 
Stanislav Korotky #:

Всегда относитесь к ИИ как джуниор-разработчикам, которые стремятся проявить инициативу, если им в явном виде не запрещено обратное.

Спасибо!
 
Ilya Filatov #:
Вкладки окна настроек AI и MCP до сих поломаны у пользователей Wine. Рад бы был принять участие в тестировании агентов, но пока "остаюсь за бортом". Билд 5986.
В понедельник займемся
 

Немного оффтопа.

MQL-язык обрастал ООП, шаблонами, указателями на функции и т.д. Все это делалось для удобного/универсального написания кода и его использования (лаконичность) в дальнейшем.


Если LLM пишет код под ключ, то все эти удобства ему не нужны. Для него нет проблемы написать сотню перегрузок и столько же функций, которые отличаются минимально друг от друга.

Как пример, если нужно ускорить код за счет отказа от красивых языковых конструкций, пожертвовав стройностью/лаконичностью кода, то LLM это сделает на раз.


Проработка архитектуры для потенциальных будущих сценариев использования у LLM неактуальна.


К чему? Я продумывал решения, чтобы их можно было достраивать, не ломая и не подтягивая костыли. Но, похоже, это нужно только для человека.

И еще. Дополнительные языковые возможности при должном опыте позволяли сводить к минимуму допущение ошибок при написании кода (например, модификаторы const и override). Т.е. можно было себя подстраховывать с помощью языка от невнимательности и подсказывать в будущем пользователю кода. Однако, все это не требуется для LLM.


Жизненный пример кода, который не смог бы написать - очень много времени на поиск потенциальных ошибок, чтобы заработало, как задумано.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Библиотеки: Input_Struct

fxsaber, 2026.06.18 10:21

Основная идея - это повторяющийся кусок кода оформить в виде макроса на 20 Кб. Вайбкодинг такое может себе позволить, т.к. у него не стоит вопрос отладки/дополнений.

Однозначно, ИИ справляется с задачей много лучше меня и по качеству кода и по времени реализации.

 
Vladislav Boyko #:

Планируется ли в обозримом будущем возможность запуска ассистентом mql-приложений на live графиках?

[edit]

Было бы забавно:

"Нарисуй прямоугольники на последних 5 сессиях Лондона и Нью-Йорка для всех открытых графиков. Чтобы нарисовать прямоугольник используй mql5/scripts/create-rectangle.ex5"

Если эту тему развить, то дойдет до дизассемблера и декомпилятора...