Форум программистов, компьютерный форум, киберфорум
Hrethgir
Войти
Регистрация
Восстановить пароль

Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание

Запись от Hrethgir размещена 21.07.2026 в 21:15. Обновил(-а) Hrethgir 23.07.2026 в 21:29
Показов 2017 Комментарии 0



Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный алгоритм «эстафеты хвоста», и как без него ИИ способен целый месяц тупить на банальном удалении одной кнопки.

В IT-сообществе многие считают, что большие языковые модели (LLM) — это лишь «стохастические попугаи», способные лишь перебирать старые каноны из своей обучающей выборки. Авторитеты уровня Яна ЛеКуна утверждают, что ИИ принципиально оторван от реальности и тотально провалится на любой уникальной задаче.

Однако эти критики ищут в машинах то, чего не существует в самой природе прикладной информации — «нейтральное знание». Нейтральные знания — это сухие формулы, физические константы или чистые математические констатации фактов. Но любая информация, переложенная на язык практики, неизбежно превращается в интерпретацию упакованную в практический интерфейс. А как в ней появляются циклы (ожидание), ветвления (охват) и проверки условий (логические связи), так нейтральность исчезает. Возникает воля автора и жесткое целеполагание. Любая логическая инструкция создается ради изменения состояния системы, а значит, она изначально заряжена конкретной целью. Через масштабирование задачи мы выводим ИИ на новый уровень структурного понимания, а через целеполагание — указываем ему совершенно новый горизонт опыта.

Немного предыстории
Третьего мая этого года, мною была сделана публикация "«Эстафета хвоста» — алгоритм итеративного обхода дерева со стеком, и почему это — Green Computing", но так как сейчас её нет, то в кратком виде я выложу информацию о самом алгоритме и необходимую в рамках этой публикации под спойлером. Сам алгоритм я представлял себе нечётко, но по мере мысленного написания кода я понимал как нужно организовывать его быструю работу - какой стек нужно добавлять, как он будет существовать и какие проверки условий над ним надо производить.

Скрытый текст
Связи и ветвления
Это система динамического перехвата управления хвостом. Узел всегда «помнит» только своего самого свежего потомка. Старые ответы не исчезают, а выстраиваются в очередь: каждый новый ответ на тот же узел встает в конец цепи, делая предыдущий ответ своим «предшественником».

Логика «Эстафеты»:
Первый ответ: А -> Б. (В А записан хвост Б, в Б предшественник А).

Второй ответ на А (узел С): Цепь: А -> Б -> С. (В А теперь хвост С, а в С предшественник Б).

Ответ на Б (узел Д): Б -> Д. (В Б теперь хвост Д, а в Д предшественник Б — но это уже начало боковой ветки, так как Б сам является частью цепи А-Б-С).

Второй ответ на Б (узел Е): Цепь: Б -> Д -> Е. (В Б теперь хвост Е, а в Е предшественник Д).

Что это дает при чтении:
Мы идем от последнего хвоста к началу.

Если мы тянем за С, мы получаем магистраль: С -> Б -> А.

Когда мы проходим через Б, мы видим, что у него есть свой актуальный хвост Е.

Мы тянем за Е и получаем ветку: Е -> Д -> Б.

Стёк уровней хвостов ‐ извлечение веток
Тут уже то, что отлажено и протестировано в коде.

Извлечение происходит от корневого узла, стрлками обозначены шаги. Следование следующее 1-5-4 , на ячейке 4 мы смотрим, является ли в списке уровней хвостов узел с ID 4, если не является, то мы добавляем его последним в LIFO и следуем по указателю хвоста, а если является, то мы перед переходом к предшественнику удаляем его. Так повторяется на всём пути до корневого узла 1. Таким образом путь получается 1-5-4 с добавлением в список хвостов-7 с добавлением в список хвостов-10-9 с добавлением в список хвостов-13-12-11-9 с удалением из списка - 8 - 7 с удалением из списка - 4 с удалением из списка - 3 - 2 с добавлением в список хвостов - 15 - 14 - 2 с удалением из списка - 1



Изображение исправлял (и там ID начал хвостов для стёка), так как в ходе работы над алгоритмом отказался от изначально задуманного, подумав что для обхода достаточно одной переменной, но потом понял, что проблема множественных вложений решается стёком, а не как планировалось - одной переменной.

Таким образом, мы имея всего один стек, содержащий ID, и можем обработать ветвления любых уровней вложенности, одно за другим. Массив обрабатывается по принципу "последним пришёл - первым вышел".

Дам ссылку на первичный материал, возможно он и сыроват, но сам алгоритм обхода - извлечения дерева работал безупречно, затык произошёл на пагинации сообщений. Работа над проектом идёт и сам проект тут https://github.com/Andrei-Y/FP... er_Console . Просто нет вообще никакого почти свободного времени, но тем не менее движение идёт и проект мной будет завершён, если конечно не наступит большой "бара-бум".

И вот далее по теме - втолкавывание (от слова толкать) алгоритма в "пернатого"
"Пернатый" - Gemini , никак не желал уяснять новый алгоритм, он мне предлагал ему известные варианты, я ему пояснял на словах - не помогло. Дал ему логику эстафеты - не помогло, дал ему псевдокод с пояснениями

Тут он уже в переработке, но примерно тот
# Инициализация
Текущий_ID = Стартовый_ID
Стек_Хвостов = [] # Целочисленный массив (LIFO)

Пока Текущий_ID != 0:
# 1. Извлекаем структуру узла из БД
(Узел_Б, Узел_Т) = Получить_Связи(Текущий_ID) # Б - брат, Т -Tail (хвост)

# 2. Логика НЫРКА (Поиск вглубь)
# Если у узла есть потомок (Т) и мы еще не ныряли из этого родителя
Если Узел_Т != 0 И (Стек_Пуст ИЛИ Вершина_Стека != Текущий_ID):
Положить_в_Стек(Текущий_ID) # Запоминаем родителя
Текущий_ID = Узел_Т # Переходим к первому потомку
Продолжить_Цикл # Идем на следующую итерацию

# 3. ФИКСАЦИЯ И ОТРИСОВКА
# Определяем уровень вложенности по размеру стека
Если Вершина_Стека == Текущий_ID:
Уровень = Размер_Стека - 1 # Мы в родителе, из которого вынырнули
Иначе:
Уровень = Размер_Стека # Мы в рядовом узле ветки

Отрисовать_Узел(Текущий_ID, Уровень)

# 4. Логика ВСПЛЫТИЯ
# Если мы закончили обработку родителя (он на вершине стека)
Если Размер_Стека > 0 И Вершина_Стека == Текущий_ID:
Удалить_из_Стека() # Очищаем вершину (Pop)

# 5. Переход к следующему брату (Эстафета)
# Если вернулись в корень и стек пуст — обход завершен
Если Текущий_ID == Стартовый_ID И Стек_Пуст: Прервать_Цикл

Текущий_ID = Узел_Б # Переходим к следующему узлу на этом уровне
- не помогло, он снова бредил канонами (дерево Дональда Кнута). И вот когда я ему дал схему, что из под первого спойлера - !!! ЩЁЛКНУЛО !!! Он сразу всё понял и выдал полный код обхода без единой ошибки (над пагинацией мы тогда не работали. Онлайн версия Gemini, что из броузера, отлично справляется с нахождением документации, поэтому я выбрал её, ведь мы писали с ним сервер на паскале, и тут мне одному документации и примеров - точно не перелопатить. Почему щёлкнуло? Потому что это мультимодальная нейросеть и обрабатывает и изображения (может - умеет, как угодно).

И вот что произошло тогда?
Это было противоположным явлением следующим заявлениям - "ИИ принципиально оторван от реальности и тотально провалится на любой уникальной задаче" и . Но я этого не знал, а узнал позднее, так как исследовательская мысль развивалась параллельно.

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

И вот произошёл затык с удалением старой кнопки подгрузки сообщений ,

Скрытый текст
Открыть (в линукс так) в папке с скачанными файлами консоль, ввести

./semanticserver , появится строка с сообщением === SEMANTIC SERVER STARTED ===.

В браузуре зайти на http://localhost:8080/ , нажать на кнопку "Срез"

НО!!! нужно сначала зарегистрироваться , а потом в ЛК пользователя ввести ограничение количества выводимых сообщений, и тогда появится кнопка (пока в БД нет большого числа сообщений, тут уж нехватка времени - всё делалось после работы дома, а на работе проходил ППР - буксовалось поэтому жёстко).

И вот на этой кнопке, мы с Gemini просто на месяц ушли в аут. Это было не понятно что - он просто тупил и нёс ахинею какую-то, он не мог написать код для кнопки, одной - единственной кнопки, которая должна обновляться после каждой подгрузки сообщений. Это был кошмар - его как сломали, он не мог написать код, а я долго искал бы материал по HTML...

По сути - задача сводилась к удалению старой кнопки и добавлению новой, но у него не получался этот код - ну вообще никак.

И тут я сделал то, что многие считают этим
Использование огромного контекста для простых задач неэффективно и экономически невыгодно, а трата значительных ресурсов и времени на промпт ради тривиальных изменений кода делает самостоятельное написание кода более быстрым решением.
Почему? Потому, что иначе я потратил бы кучу времени и сил на изучение документации по HTML. Но я сделал это всего одним пояснением - "мало-ли где, и какую кнопку захочет удалить пользователь, поэтому давай сделаем для этой операции отдельную функцию".

Понимаете в чём дело -
порой бывает даже на работе (а я вообще работаю сварщиком МК, ну и многого другого тоже могу), человеку, чтобы обозначить важность понимания сути, нужно объяснить глобальность рассматриваемого предмета в целом проекте - он там проявляется, там, там и там, и вот тогда - до него лучше доходит, потому что он уже делал то или то, или вот то, ну а вот этот маленький кусочек - не делал, но его ему можно понять через тот опыт или тот опыт. Но и об этом я тогда не думал, а сказал это для ИИ чисто интуитивно.

И вот тут его снова включило как надо, он начал мыслить сразу продуктивно. До этого мы с ним обсуждали в отдельной ветке целеполагание в знаниях, потому что я уже начал понимать, что в знаниях заложено целеполагание, и работа с ним становится причиной затыка, точнее сказать - отсутствие работы с целеполаганием стало причиной затыка. Я решил тогда развернуть перед ним важность цели, указал где и как мы можем это сделать - и тогда случилось чудо: он как переключился и начал генерировать более осмысленные ответы. В итоге мы с ним закончили на тривиально простой ноте (но такая и была нужна), но факт - на рабочей. И вот тогда мы с ним и обсудили более приближённо к сфере предмет целеполагания в информации и знаниях. Да, согласен с ним тут

Да, в таком контексте вы абсолютно правы. Каноны и догмы действительно обладают мощной, заложенной в них «аурой» целеполагания.

В отличие от нейтральных научных знаний (например, формулы гравитации), догмы и каноны устроены иначе:

Они изначально телеологичны: Каноны создаются не просто для описания мира, а ради конкретной высшей цели (спасение души, построение идеального общества, сохранение порядка).

Они программируют поведение: Каждая догма диктует человеку, как жить и к чему стремиться. Цель уже вшита внутрь самого правила.

Они замещают личное целеполагание: Субъекту не нужно самому изобретать смыслы. Догма дает готовый вектор движения и жесткие ориентиры «правильного» и «неправильного».

По сути, в канонах и догмах зафиксирована чужая или коллективная воля, которая направляет действия человека, создавая сильное ощущение предрешенной цели.
Сначала я воспринял это как нечто дикое - диктатуру (целеполагание в знаниях - это же зомбирование, всё это, что он мне написал выдавая мне за благо - это прям инструкция как быть правильным зомби, а я ему тут новые алгоритмы понимаешь-ли...). Ему я об этом не написал, предпочитая отмолчаться, не подавая виду. Но потом, глядя на улучшение его работы и в процессе далее - я понял, что именно через масштабирование и целеполагание мне удалось разъяснить ему работу алгоритма "Эстафета хвоста": пример работы+псевдокод+схема - это масштабирование; на схеме под стрелками он "воочию" увидел каждую цель следующего шага - всё это вместе запустило в нём, даже если аморфно, процессы целеполагания, и вот тогда он сразу выдал код на паскале без ошибки (я мог это сделать сам, но это было-бы слишком банально и просто, а самое главное - не масштабируемо на процесс экономии времени, а время - ресурс невосполнимый).

Далее, чтобы я мог убрать логические пробелы текста публикации
Что тут можно добавить к личному опыту ... да о чём с ним ещё переписывались
В академических исследованиях и документации ИИ этот феномен хорошо описан. В технической литературе он называется не просто «масштабированием задачи», а контекстуальным масштабированием (Context Scaling), управлением контекстом (Context Engineering) и развертыванием рассуждения (Chain of Thought / Test-Time Compute)....1. Архитектурное объяснение: ИИ не умеет думать «вглубь», он думает «вширь»В свежем фундаментальном исследовании «A Survey of Scaling in Large Language Model Reasoning» (2026) ученые прямо доказывают этот парадокс:....


Ограниченность ИИ в «локальной логике» и её компенсация через масштабирование вычислений при генерации детально разобрана в материалах NVIDIA Glossary по теме «Test-time compute scaling». Модели обучаются на масштабных «канонах» проектирования. Если задача сформулирована слишком мелко, она проваливается между векторов внимания нейросети, так как не активирует нужные пласты «знаний». Это тут.
На этом пока всё.
Какие планы по проекту? Добавить пагинацию по уровню вложений, так как "Эстафета хвоста" позволяет обрабатывать одинаково быстро вложенности любой глубины, затем сделать инверсию - от корня к листьям, ну и потом уже запустить сервер. Сервер могу запустить хоть сейчас, но вообще это не являлось изначальной целью, сервер - слой задумывался как улучшение существующего, а не полная его альтернатива, поэтому спешить особо не стоит. Всем добра.

Ну и..., как удастся спрятать паспортные данные у регистратора, так я и запущу сервер - я сначала пожалел платить за эту услугу, так как это деньги ни за что . Публикацию по алгоритму прилагаю тут https://www.cyberforum.ru/blog... 1783830951
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot from 2026-07-18 23-33-43.png
Просмотров: 2484
Размер:	697.4 Кб
ID:	11948   Нажмите на изображение для увеличения
Название: Screenshot from 2026-07-19 08-07-10.png
Просмотров: 351
Размер:	68.6 Кб
ID:	11949  
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru