惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google DeepMind News
Google DeepMind News
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
aimingoo的专栏
aimingoo的专栏
A
About on SuperTechFans
V2EX - 技术
V2EX - 技术
Webroot Blog
Webroot Blog
Google Online Security Blog
Google Online Security Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
AI
AI
N
News and Events Feed by Topic
S
Secure Thoughts
www.infosecurity-magazine.com
www.infosecurity-magazine.com
The Cloudflare Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tailwind CSS Blog
Vercel News
Vercel News
V
Vulnerabilities – Threatpost
Spread Privacy
Spread Privacy
Know Your Adversary
Know Your Adversary
人人都是产品经理
人人都是产品经理
I
Intezer
Schneier on Security
Schneier on Security
Martin Fowler
Martin Fowler
J
Java Code Geeks
K
Kaspersky official blog
H
Heimdal Security Blog
O
OpenAI News
I
InfoQ
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
云风的 BLOG
云风的 BLOG
Hacker News - Newest:
Hacker News - Newest: "LLM"
Blog — PlanetScale
Blog — PlanetScale
S
Schneier on Security
S
Security @ Cisco Blogs
Security Latest
Security Latest
PCI Perspectives
PCI Perspectives
H
Hacker News: Front Page
C
CERT Recently Published Vulnerability Notes
博客园_首页
The Last Watchdog
The Last Watchdog
罗磊的独立博客
L
LINUX DO - 热门话题
U
Unit 42
月光博客
月光博客
Security Archives - TechRepublic
Security Archives - TechRepublic
Scott Helme
Scott Helme

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Пример n8n workflow для задачи объективного выбора лучшего из двух вариантов
asiver · 2026-05-02 · via Все публикации подряд на Хабре

Уровень сложностиСредний

Время на прочтение8 мин

Охват и читатели110

Туториал

Recovery Mode

Для человека с большим профессиональным опытом в ИТ совершенно ясно, что уровень развития языковых моделей произвел революцию в мире информационных технологий. Появились новые информационные инструменты и, связанные с ними, новые прикладные разделы науки. Грядет пересмотр основ представления об информации, переоценка приоритетов и смыслов.

Стоит отметить, что “возникающие способности” (emergent abilities) языковых моделей, с одной стороны основаны на большом массиве знаний человечества и, с другой стороны, на текущем уровне понимания человечества являются, вообще говоря, необъяснимыми и непрогнозируемыми. Выглядит так, что языковые модели “смогли” разложить знания человечества на элементарные составляющие так, что дальнейшее “прибавление” осмысленной информации, дает прирост “силы” возникших способностей. Однако, по всей видимости, для текущей науки и философии, структура этих элементарных составляющих до сих пор остается неизвестной. В этом смысле, языковые модели уже опережают человечество в том, что можно назвать “пониманием” знания.

Стоит ожидать, что в скором времени в ИТ отрасли основную ценность будут иметь не код, не документация, и, к сожалению, не технические инженеры, а знания и мета-знания, т.е. знания о знаниях. ИТ отрасль уже пришла к пониманию, что “всё” эффективно представлять как код и следующий шаг будет состоять в том, что “код всего” будет вычисляться через знания, которые будут сами, в свою очередь, будут вычисляться и оптимизироваться из ядра знаний и мета-знаний. Поэтому название следующей “остановки” научного прогресса понятно - это мета-знания.

Для работы на уровне знаний, формулировки мета-знания и разработки инструментов оптимизации знаний разрабатывается мини-фреймворк core-kbt (KBT = Knowledge Base Trajectory). Пытаемся снимать сложность познания мета-знаний по-слоям, шага за шагом. В данный статье опишем только базовую информацию о core-kbt мини-фреймворке и подробнее остановимся на пример решения задачи объективного выбора лучшего из двух вариантов.

Текущие подходы в core-kbt

Текущие фичи и подходы в core-kbt тезисно:

  • архитектура ИИ-функций (AI-functions): возможность разработки интеллектуальных функций через написание теймплейтов для LLM-промпта и JSON Schema ответа, представленные как отдельные файлы

  • архитектура для вычисления ИИ-функций через “процессы”, которые упрощают кеширование и анализ ответов от LLM-провайдеров, и ускоряют цикл разработки, при возникновении ошибок

  • универсальное представление LLM-промпта в структурированном виде

  • онтология представление мета-знаний

  • реализация конкретных ИИ-функций: группа развития знаний

  • реализация конкретных ИИ-функций: группа развития мета-знаний.

Полезные примеры интеграции core-kbt:

  • интеграция с Obsidian для развития знаний: https://github.com/ady1981/obsidian-templater-core-kbt

  • а также пример решения задачи обоснованного выбора лучшего из двух вариантов и интеграция с n8n.

Репозиторий с кодом core-kbt: Ссылка

Архитектура ИИ-функций (AI-functions)

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

  1. Шаблон Jinja2: Шаблон LLM-промпта для LLM.

  2. Модуль Python: Функция Python, которая может содержать произвольную логику, включая вызовы других ИИ-функций и вызов внешних API.

Схема выходных данных задается с помощью JSON Schema. Эта схема подставляется в итоговый LLM-промпт и таким образом у LLM запрашивается ответ в формате, заданном этой схемой. Сервер Flask предоставляет эти функции через RESTful API, обрабатывая авторизацию и отправку. См. примеры реализаций ИИ-функций ниже.

Универсальное представление LLM-промпта в структурированном виде

Для того, чтобы получить ответ от LLM нужно для задачи создать LLM-промпт. Понятно, что для конкретной задачи мы хотим получить самый оптимальный LLM-промпт для максимально “правильного” ответа. Так же известно, что LLM, основанная на текущей архитектуре, каждый раз решает только одну задачу - generatively-continue-prompt. Для решения проблемы создания самого оптимального LLM-промпта предлагается следующий подход:

  1. сформулируем generatively-continue-prompt в максимально общем виде, с корректным выделением всех логических частей

  2. все логические части будем описывать в терминах аспектных свойств и значений. Получилось следующее универсальное представление LLM-промпта в структурированном виде:

LLM_prompt:
    prompt_structure_and_notation_self_specification: []  
    target_specification:  
    - task_specification  
    - target_semantic_specification  
    information_retrieval_strategy:  
    - context_knowledge_specification:  
      - context_knowledge_topic  
      - context_knowledge_source:  
          - properties  
          - content  
    - knowledge_sources_selection_strategy  
    - context_preparation_strategy  
    - contextual_alignment_strategy
    - contextual_memory_strategy  
    - ...  
    output_generation_strategy:  
    - execution_plan_specification  
    - task_decomposition_specification  
    - knowledge_consolidation_specification  
    - evaluation_metrics  
    - iteration_and_refinement_strategy  
    - examples  
    - safety_and_ethics_specification  
    - post_generation_verification_specification  
    - ...  
    output_specification:  
    - structure_and_formatting_specification  
    - output_constrains_specification  
    - output_content_strategy  
    - ...

“Универсальность” промпта означает, что какова бы ни была задача пользователя, можно сформулировать промпт для LLM в этом виде. Логические блоки предлагается определять через аспектные признаки и значения, и это позволит, если использовать продуманную систему аспектов, итеративно прийти к максимально эффективному LLM-промпту. Систему аспектов можно создать по теории Логики. Такой подход можно назвать логическо-аспектным подходом к LLM-промптингу. На примере решения задачи объективного выбора лучшего из двух вариантов можно увидеть, что такой подход является эффективным.

Реализация ИИ-функций: группа развития знаний

Приведем примеры ИИ-функций, которые можно объединить в “группу развития знаний”.

ИИ-функция

Описание

Описание входных данных

Описание выходных данных

Примеры решаемых задач

generate

общий вид генерации ответа

Спецификация требуемой цели, спецификация контекста знаний, стратегия поиска знаний, стратегия генерации, уточнение спецификации формата ответа

Список ответов

- генерация примера по описанию- генерация ревью- генерация краткого изложения- определение термина по описанию

factual_question_answering

ответ на фактологический вопрос

Вопрос, спецификация контекста знаний

Список ответов, с указанием источника информации

incontext_question_answering

ответ на фактологический вопрос в заданной информации

Вопрос, спецификация контекста знаний

Список ответов, с указанием ссылки на фрагмент-источник

aspected_analyze

Аспектный анализ заданной информации

Заданная информация, спецификация контекста знаний

Список значений аспектных признаков

aspected_commonality_analyze

В каких аспектах заданные 2 сущности совпадают

Две сущности для сравнения, спецификация контекста знаний

Список значений общих аспектных признаков

aspected_devergence_analyze

В каких аспектах заданные 2 сущности различаются

Две сущности для сравнения, спецификация контекста знаний

Список значений различающихся аспектных признаков

rewrite

Переписать информацию по заданным примерам, с сохранением смысла

Заданная информация, примеры, спецификация контекста знаний

Переписанная информация

aspected_rewrite

Переписать информацию, с сохранением требуемых аспектов

Заданная информация, спецификация требуемой цели, спецификация контекста знаний

Переписанная информация, измененные аспектные признаки

disjoint_sequence_item_generation

Дополнить последовательность новыми элементами

Последовательность элементов, спецификация контекста знаний

Новые элементы

group_identification

Определение того, как называется группа (или класс), к которому принадлежат заданные элементы

Последовательность элементов, спецификация контекста знаний

Название группы

Отметим, что для всех текущих Templater-теймплейтов в Obsidian достаточно только этой группы ИИ-функций.

Пример решения задачи обоснованного выбора лучшего из двух вариантов и интеграция с n8n

Рассмотрим следующую задачу: допустим пользователю нужно обоснованно выбрать лучший вариант из двух альтернатив. Предложим универсальный подход к этой задаче и покажем как этот подход реализован с помощью core-kbt и n8n. Для примера возьмем такую задачу. Владельцу будущего продукта нужно выбрать веб-фреймворк по такому описанию:

Владельцу продукта необходимо выбрать оптимальный фреймворк для разработки нового микросервиса среднего размера, обеспечив его запуск в течение 90 календарных дней. Приоритетными целями являются максимальная скорость итеративной разработки и высокое качество конечного продукта (включая производительность и поддерживаемость).

  • Вариант A: FastAPI (Python)

  • Вариант B: Gin (Go)

С точки зрения Логики задача раскладывается и представляется следующим образом. Необходимо определить аспектные признаки для понятия, которое “объединяет” варианты А и B. Эти аспектные признаки должны быть определены корректный способом из требований пользователя и всех остальных обязательных требований, для фиксации значений всех существующих в задаче степеней свободы. В самом общем виде для определения аспектных признаков для понятия требуется задать:

  • понятие (concept)

  • контекст рассмотрения (frame of reference)

  • точку зрения наблюдателя (point of view)

  • стратегия ракурса рассмотрения наблюдателя (perspective observer strategy).

Соответственно, для решения задачи требуются следующие ИИ-функции:

  • идентификации вышестоящего общего понятия (см. ИИ-функцию superordinate_concept_identification)

  • определение аспектных признаков, одновременно с определением точки зрения наблюдателя (the point of view) и стратегии ракурса рассмотрения наблюдателя, из описания контекста задачи (см. ИИ-функцию perspective_features). Дополнительно к аспектным признакам мы также попросим LLM-модель оценить вес каждого аспекта по сравнению с остальными аспектами и вес каждого признака внутри аспекта по сравнению с остальными признаками

  • сравнение понятий (вариантов) по значению аспектных признаков, в форме значения (см. ИИ-функцию perspective_feature_comparison):

    • значение “+1” - если Вариант A лучше Варианта B по этому аспектному признаку

    • значение “-1” - если Вариант A хуже Варианта B по этому аспектному признаку

    • значение “0” - если Вариант A невозможно сравнить с Вариантом B по этому аспектному признаку

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

Эта логика решения задачи реализована в ИИ-функции concept_aspect_comparison.

Текущая реализация ИИ-функций особенно эффективна в связке с инструментами интеграции типа n8n. Для n8n разработан пример workflow, в котором входные данные для ИИ-функций берутся из Input Data Table и результат вычисления ИИ-функций вставляется в соответствующую Output Data Table. Для запуска concept-comparison workflow будут полезны следующие шаги:

  • запустить core-ktb сервер, например на порту 5001, см. README.ru.md

  • в n8n:

    • сделать “import from file” для файла examples/n8n/concept-comparison.json

    • создать Input Data Table по примеру файла examples/n8n/concept-comparison-input.csv

    • создать Output Data Table по примеру файла examples/n8n/concept-comparison-output.csv

    • исправить связи в своём concept-comparison workflow, чтобы на шаге “Read input table” было чтение из соответствующей concept-comparison-input таблице, и на шаге “Update output table” была запись в соответствующую таблицу concept-comparison-output

  • concept-comparison workflow готов к работе. Для запуска необходимо:

    • задать свои входные данные:

      • задать свою ситуацию в поле observer_context_description

      • задать варианты в полях a_concept и b_concept

      • задать название модели LLM в поле LLM_model

    • запустить worklow

    • результат вычисления ИИ-функции concept_aspect_comparison представится в табличном виде и запишется в concept-comparison-output.

Скриншот с примером результата вычислений:

Комментарии к таблице concept-comparison-output:

  • итоговый результат сравнения пишется в строку типа model_total:

    • в колонках a_concept_winner, b_concept_winner - отмечен итоговый вариант-победитель, набравший больше баллов, по сравнению с альтернативой

    • в колонке message указывается победитель текстом и пишутся детали задачи

    • в колонке a_concept_score - итоговый нормированный балл a_concept

    • в колонке b_concept_score - итоговый нормированный балл, зеркальный к a_concept

  • в строках типа feature_score пишется балл конкретного аспектного признака, который учитывался в сравнении.

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


Предложения, отзывы и любая обратная связь приветствуется.