Большие модели, маленькие токены. ЛЛМ - битва за контекст (ч.1)

Почему понимание токенов, весов и словарей — ключ к продуктивной работе с AI-агентами. Первая глава цикла “Битва за контекст”.

Почему понимание токенов, весов и словарей — ключ к продуктивной работе с AI-агентами. Первая глава цикла “Битва за контекст”.

Я уже около года занимаюсь выведением в опенсорс общего кода, который используется у нас, в Gaijin Entertainment — порой, это бывает непросто. Как с точки зрения выбора — у нас около двухсот пакетов которые считаются обобщенными, так и со стороны облагораживания кода до состояния "и людям не стыдно показать". Но, Я сюда не жаловаться пришел, а делиться опытом😉
Эту статью Я решил начать совместно с принятием решения о том какой пакет будет следующим и на его примере, рассказать через какие этапы Я прошел в процессе.

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

Во время поддержки приложений, в особенности если они раскатаны на тысячи машин, в десятках различных версий и конфигураций - важно понимать с чем конкретно мы имеем дело.
Речь именно про вопрос, которым озаглавлена эта статья, который я задаю глядя в терминал, видя нежданную панику или ошибку.
Мы должны мочь узнать какой версии и из какого источника собрано то или иное приложение. И далее речь зайдет о маркировке и версионировании бинарников собранных из go.
Именно с такой мыслью и именно с интонацией Брэда Питта я ушел спать вчера (сегодня) в 3:40 утра. После того, как в 23:10 "споткнулся" об утверждение Коли Тузова (в видео про устройство планировщика go), о том, что рантайм голенга создает треды заранее. Не верилось, настолько что я пошел перечитывать сорцы рантайма снова, тем более я туда с 1.17 не заглядывал.

http://example.comwww.example.com//www.example.commailto:user@example.com

window.location для «приготовления» URL;window.location в силу политики безопасности браузеров;prototype.__defineGetter__ или prototype.__defineSetter__ в угоду кроссбраузерности ибо IE < 9 такого не умеет. Более подробно про getters/setters написано в этом посте.