<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Статьи]]></title>
    <link>https://habr.com/ru/users/flancer/publications/articles/</link>
    <description><![CDATA[Хабр: статьи пользователя flancer]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Tue, 05 May 2026 23:18:41 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    
    <item>
      <title><![CDATA[Разговоры ничего не стоят. Код тоже]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1023900/</guid>
      <link>https://habr.com/ru/articles/1023900/?utm_campaign=1023900&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/95a/3c2/00d/95a3c200d477449b391705779b599340.png" /><p>В наше время известное изречение Линуса Торвальдса "<em>Talk is cheap. Show me the code.</em>" можно переиначить в виде "<em>Code is cheap. Show me the spec.</em>" Меня зовут Алекс Гусев и в этой публикации я постараюсь показать, почему я так считаю. </p><p>У меня есть несколько статей на Хабре, объединённых общей темой - <a href="https://habr.com/ru/search/?q=%5Badsm%5D&amp;target_type=posts&amp;order=date" rel="noopener noreferrer nofollow">ADSM</a> (Agent Driven Software Management). По сути, это моя попытка формализовать свой персональная опыт в Spec-Driven Development (SDD) в какое-то подобие методологии. Под катом я поделюсь результатами применения SDD-подхода (в его ADSM виде) к разработке простого приложения - помощника в создании плейлистов в Spotify. И покажу, что будет, если на базе одного и того же контекста (спецификации) сгенерировать код одним и тем же агентом (Codex, GPT-5.4) с разным уровнем reasoning'а (high, medium, low).</p> <a href="https://habr.com/ru/articles/1023900/?utm_campaign=1023900&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 15 Apr 2026 15:55:09 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[adsm]]></category><category><![CDATA[codex]]></category><category><![CDATA[cdd]]></category><category><![CDATA[context-engineering]]></category><category><![CDATA[agents]]></category><category><![CDATA[llm]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Декларация (не)зависимостей для ESM]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/1003708/</guid>
      <link>https://habr.com/ru/articles/1003708/?utm_campaign=1003708&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/36b/152/33a/36b15233a1b486885023f51a52b8d1e9.png" /><p>Меня зовут Алекс Гусев и сегодня я расскажу о том, как ChatGPT убедил меня переписать библиотеку <a href="https://github.com/teqfw/di" rel="noopener noreferrer nofollow">@teqfw/di</a>, которую я бережно "<em>выращиваю</em>" с 2019-го года, и почему я всё-таки убедился.</p><p>Эта JS-библиотека позволяет мне использовать в своих веб-приложениях <a href="https://www.google.com/search?q=%D0%BF%D0%BE%D0%B7%D0%B4%D0%BD%D0%B5%D0%B5+%D1%81%D0%B2%D1%8F%D0%B7%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" rel="noopener noreferrer nofollow">позднее связывание</a> и даёт возможность писать изоморфный код, который без изменений работает и в браузере, и на бэке. Без транспиляции исходников, без ручной регистрации зависимостей - так, как я привык делать в Java и PHP. Я почти 7 лет вручную выверял каждую строку этой библиотеки, а на прошлой неделе я отдал её на откуп Codex-агенту и <a href="https://github.com/teqfw/di/tree/bd3180fcd0919a3e04e5f81bca693b9316637392/src2" rel="noopener noreferrer nofollow">вот</a> что он с ней сделал.</p> <a href="https://habr.com/ru/articles/1003708/?utm_campaign=1003708&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 25 Feb 2026 20:06:53 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category><category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[искусственный интеллект]]></category><category><![CDATA[агенты]]></category><category><![CDATA[codex]]></category><category><![CDATA[llm]]></category><category><![CDATA[teqfw]]></category><category><![CDATA[будущее здесь]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ADSM: 7 уровней проектной документации]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/996298/</guid>
      <link>https://habr.com/ru/articles/996298/?utm_campaign=996298&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Меня зовут Алекс Гусев. Я продолжаю делиться своими наработками в области применения LLM-агентов для разработки приложений. В этот раз я покажу своё мини-приложение для перевода постов из русскоязычного телеграм-канала на английский и испанский, а заодно расскажу про 7 уровней проектной документации в ADSM.</p> <a href="https://habr.com/ru/articles/996298/?utm_campaign=996298&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 13 Feb 2026 14:20:42 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[adsm]]></category><category><![CDATA[codex]]></category><category><![CDATA[llm]]></category><category><![CDATA[context]]></category><category><![CDATA[автоматизация разработки]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[От идей к коду: проверяю теорию внимания на практике]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/995070/</guid>
      <link>https://habr.com/ru/articles/995070/?utm_campaign=995070&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/123/638/60e/12363860e6158cde2894dad3eb6d9079.png" /><p>Всем привет, меня зовут Алекс Гусев. Это третья публикация в линейке (<a href="https://habr.com/ru/articles/963910/" rel="noopener noreferrer nofollow">раз</a>, <a href="https://habr.com/ru/articles/983094/" rel="noopener noreferrer nofollow">два</a>), посвящённой тому, как меняется работа со знанием в условиях его избытка и почему внимание становится ключевым ограничивающим ресурсом.</p><p>В первых двух текстах я рассматривал персональные картины мира, то, как знание встраивается в опыт, роль внимания в этом процессе и в общих чертах затрагивал тему того, как внимание проявляется через поведение пользователей на современных платформах. Основной фокус тогда был на формулировке идей и их обсуждении.  В этой статье я продолжаю ту же линию и перехожу к практическому шагу - к проверке этих идей в виде работающего эксперимента.</p> <a href="https://habr.com/ru/articles/995070/?utm_campaign=995070&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 10 Feb 2026 19:40:29 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Машинное обучение]]></category><category><![CDATA[Анализ и проектирование систем]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Управление разработкой]]></category>
      <category><![CDATA[искусственный интеллект]]></category><category><![CDATA[языковые модели]]></category><category><![CDATA[агентная разработка]]></category><category><![CDATA[эмбеддинги]]></category><category><![CDATA[векторные представления]]></category><category><![CDATA[adsm]]></category><category><![CDATA[teqfw]]></category><category><![CDATA[внимание пользователей]]></category><category><![CDATA[персонализация]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Решение проблемы перенаселения планеты при помощи ИИ]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/990004/</guid>
      <link>https://habr.com/ru/articles/990004/?utm_campaign=990004&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b0f/8e5/38f/b0f8e538fe3d708a9805ff9f9fcdd6ff.png" /><p>Меня зовут Алекс Гусев. Я - гуманитарий с техническим складом ума (или наоборот - технарь с гуманитарным). В общем, я не сильно удерживаю полёт своей фантазии, ибо простор для полёта присутствует в обеих координатах - и в технической, и в гуманитарной.</p><p>Я не собирался ничего писать на Хабр, как-то не до этого сейчас, но комменты под постом "<a href="https://habr.com/ru/companies/bar/articles/989278/" rel="noopener noreferrer nofollow">День после появления AGI</a>" меня, можно сказать, вынудили к этому. Как участник дебатов в комментах, я вдруг осознал, как, возможно, достаточно (не)гуманным способом будет решаться проблема перенаселения в не очень далёком будущем и какое место займёт ИИ в решении этой проблемы.</p><p>Сразу предупреждаю, что пост несерьёзный только наполовину. И серьёзную половину будет трудно понять как гуманитариям, так и технарям. Так что, можно просто считать, что это, ну... озорство такое, публичное.</p> <a href="https://habr.com/ru/articles/990004/?utm_campaign=990004&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 28 Jan 2026 10:47:33 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Будущее здесь]]></category><category><![CDATA[Научно-популярное]]></category><category><![CDATA[Научная фантастика]]></category><category><![CDATA[Киберпанк]]></category>
      <category><![CDATA[agi]]></category><category><![CDATA[искусственный интеллект]]></category><category><![CDATA[перенос сознания]]></category><category><![CDATA[оцифровка человека]]></category><category><![CDATA[цифровое бессмертие]]></category><category><![CDATA[человек и ии]]></category><category><![CDATA[перенаселение]]></category><category><![CDATA[философия технологий]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Знаний слишком много. Что делать?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/983094/</guid>
      <link>https://habr.com/ru/articles/983094/?utm_campaign=983094&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/00e/8ef/29b/00e8ef29bb2ffdb2c1c9c64e91a832eb.png" /><p>Представь, что мир — это огромная комната, заваленная игрушками. Игрушек так много, что ты не знаешь, во что играть. Раньше игрушек было мало, и взрослые показывали, какие из них важные. А теперь игрушек слишком много, и все кричат: «Возьми меня!».</p><p>У человека в голове есть своя картина мира — как личная карта того, что он уже видел и понял. Новые знания — это как новые игрушки. Но чтобы взять новую игрушку и понять, как с ней играть, нужно внимание. А внимание — как батарейка: оно быстро садится.</p><p>Когда мы читаем или слушаем, мы платим вниманием. Если устали, слова превращаются в шум. Поэтому важно, чтобы знания подавались маленькими кусочками: сначала название, потом короткий рассказ, а уже потом — длинное объяснение.</p><p>Умные машины умеют сжимать большие тексты и помогать находить похожие идеи. Так люди могут находить друг друга, делиться мыслями и вместе понимать мир, не уставая слишком сильно.</p><p>P.S.</p><p>Меня зовут Алекс Гусев. Я попросил LLM пересказать текст своей публикации на уровне 5-летнего. Получилось вот это :-) Но там, дальше, всё не так просто. Там всё сложно. Там даже мне сложно.</p> <a href="https://habr.com/ru/articles/983094/?utm_campaign=983094&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 07 Jan 2026 22:12:55 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Читальный зал]]></category>
      <category><![CDATA[сезон ии в разработке]]></category><category><![CDATA[всякая всячина]]></category><category><![CDATA[казалось бы]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[JSDocs в VSCode]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/980286/</guid>
      <link>https://habr.com/ru/articles/980286/?utm_campaign=980286&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/cf7/341/59a/cf734159a1f256f7e059dc5b8f410716.png" /><p>Меня зовут Алекс Гусев. В этой публикации я очень кратко раскрываю, почему переход с IntelliJ IDEA (PhpStorm) на VSCode ломает привычную работу с JSDoc в JavaScript-проектах.</p> <a href="https://habr.com/ru/articles/980286/?utm_campaign=980286&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 24 Dec 2025 22:09:24 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[javascript]]></category><category><![CDATA[jsdoc]]></category><category><![CDATA[vscode]]></category><category><![CDATA[lsp]]></category><category><![CDATA[анализ кода]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ADSM: практика использования файлов AGENTS.md]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/976760/</guid>
      <link>https://habr.com/ru/articles/976760/?utm_campaign=976760&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/cfd/bc0/21a/cfdbc021a0294a51c8a0b03bd4c74193.png" /><p>Всем привет, меня зовут Алекс Гусев. В этой публикации я продолжаю формализовать свой личный опыт взаимодействия с агентом <a href="https://openai.com/codex/" rel="noopener noreferrer nofollow">OpenAI Codex</a> при разработке программного обеспечения. Речь пойдёт о практическом использовании файлов <code>AGENTS.md</code> как инструмента организации контекста проекта в долгоживущих и структурно сложных системах.</p> <a href="https://habr.com/ru/articles/976760/?utm_campaign=976760&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 15 Dec 2025 09:47:16 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Управление разработкой]]></category><category><![CDATA[Анализ и проектирование систем]]></category><category><![CDATA[Подготовка технической документации]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[сезон ии в разработке]]></category><category><![CDATA[adsm]]></category><category><![CDATA[codex]]></category><category><![CDATA[agents.md]]></category><category><![CDATA[llm-агенты]]></category><category><![CDATA[контекстное программирование]]></category><category><![CDATA[персональный опыт]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ADSM: каталоги верхнего уровня]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/967452/</guid>
      <link>https://habr.com/ru/articles/967452/?utm_campaign=967452&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/757/d2d/7d7/757d2d7d7ddfe1adedc92f7d05fca50b.png" /><p>Меня зовут Алекс Гусев. Я продолжаю публикацию заметок о своём персональном опыте использования агента Codex от OpenAI для разработки веб-приложений. В этой статье я расскажу о своих выводах относительно организации каталогов верхнего уровня в проектах, разрабатываемых в паре с ИИ-агентами.</p><p>Посмотреть результат применения излагаемого подхода можно в проекте "<a href="https://github.com/flancer64/pwa-home-call/tree/milestone/20251122-adsm-top-level-dirs/ctx" rel="noopener noreferrer nofollow">flancer64/pwa-home-call</a>".</p> <a href="https://habr.com/ru/articles/967452/?utm_campaign=967452&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 22 Nov 2025 09:36:49 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Управление разработкой]]></category><category><![CDATA[Управление проектами]]></category><category><![CDATA[Ненормальное программирование]]></category><category><![CDATA[Проектирование и рефакторинг]]></category>
      <category><![CDATA[adsm]]></category><category><![CDATA[codex]]></category><category><![CDATA[llm]]></category><category><![CDATA[агент]]></category><category><![CDATA[контекстное программирование]]></category><category><![CDATA[личный опыт]]></category><category><![CDATA[мнение]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Когда знаний в избытке]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/963910/</guid>
      <link>https://habr.com/ru/articles/963910/?utm_campaign=963910&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/55a/f8a/502/55af8a502d4f08a796687b2129739cf2.png" /><p>В эпоху, когда новое знание рождается быстрее, чем человек способен его осмыслить, привычная модель познания перестаёт работать. Мы уже просто не успеваем изучать новое последовательно, шаг за шагом. Каждый день приходится принимать решения, не имея времени на проверку фактов и их взаимосвязей. Понимание сместилось: вместо анализа - согласие, вместо доказательств - внутренняя сонастройка.</p><p>Мы ориентируемся не на полноту сведений, а на резонанс - на то, что кажется правдоподобным в нашей картине мира. Так формируется новая парадигма мышления: принимать быстрее, чем понимать, а разбираться уже после. Не из доверия к источникам, а из необходимости сохранять ум в рабочем состоянии в среде, где количество знаний давно превысило человеческую пропускную способность.</p> <a href="https://habr.com/ru/articles/963910/?utm_campaign=963910&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 07 Nov 2025 05:27:57 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Читальный зал]]></category><category><![CDATA[Управление сообществом]]></category>
      <category><![CDATA[проверка гипотез]]></category><category><![CDATA[архитектура смыслов]]></category><category><![CDATA[коллективное сознание]]></category><category><![CDATA[мышление]]></category><category><![CDATA[знания]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ADSM: видеочат на WebRTC через Codex-агента]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/963082/</guid>
      <link>https://habr.com/ru/articles/963082/?utm_campaign=963082&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c36/dc5/79d/c36dc579dbd8b89e9eabcf0268c5bb25.png" /><p>Мои родители и вся моя семья живут в&nbsp;Риге, а&nbsp;большинство наших родственников&nbsp;— в&nbsp;России и Украине. Когда привычные мессенджеры начинают работать с&nbsp;перебоями, хочется иметь простой и независимый способ связи. Самый простой способ из&nbsp;мне известных&nbsp;— WebRTC.</p><p>В&nbsp;рамках развития собственного понимания тонкостей парной разработки программ с&nbsp;участием LLM‑агентов я решил создать PWA для видеочата на базе WebRTC при помощи Codex-агента.</p> <a href="https://habr.com/ru/articles/963082/?utm_campaign=963082&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 04 Nov 2025 16:02:39 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Разработка мобильных приложений]]></category><category><![CDATA[Управление проектами]]></category>
      <category><![CDATA[adsm]]></category><category><![CDATA[codex]]></category><category><![CDATA[openai]]></category><category><![CDATA[llm]]></category><category><![CDATA[pwa]]></category><category><![CDATA[webrtc]]></category><category><![CDATA[связь]]></category><category><![CDATA[мессенджеры]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Доколе мы будем ущемлять алгоритмы?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/960134/</guid>
      <link>https://habr.com/ru/articles/960134/?utm_campaign=960134&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/5d6/aa6/d6c/5d6aa6d6c51635f3c7c2aaa4ecdfcd00.jpg" /><p>Я не злопамятный. Просто то, что 7-го января этого года на Хабре сняли мою публикацию, текст которой был полностью создан языковой моделью, очень сильно деформировало мою душевную организацию своей, на мой взгляд, несправедливостью. Нет, я понимаю, что никто не хочет читать генерированные моделями "<em>портянки</em>" текста, но... а какая, по-большому счёту, разница, кто написал эту "<em>портянку</em>" - человек или алгоритм?</p><p>Разумеется, уважаемая редакция Хабра вправе вводить любые правила на своей площадке. Но ведь и изменить их может тоже только она. В этом посте я постараюсь показать, почему я считал и считаю такое решение уважаемой редакции Хабра чересчур жёстким.</p> <a href="https://habr.com/ru/articles/960134/?utm_campaign=960134&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 25 Oct 2025 13:17:44 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Читальный зал]]></category>
      <category><![CDATA[дайте]]></category><category><![CDATA[свободу]]></category><category><![CDATA[анджеле]]></category><category><![CDATA[дэвис]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ADSM: путь от вероятности к детерминизму]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/954756/</guid>
      <link>https://habr.com/ru/articles/954756/?utm_campaign=954756&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/2eb/ae4/c34/2ebae4c3440c8b1001d4b73a60047751.png" /><p>В этой публикации я предлагаю взглянуть на языковую модель (LLM) как на вероятностный вычислитель, который при определённой организации контекста способен давать детерминированный результат.</p><p>При таком подходе <a href="https://habr.com/ru/articles/944134/" rel="noopener noreferrer nofollow">ADSM</a> (Agent-Driven Software Management) становится архитектурой вычислений, где человек задаёт смысловую базу, агент выполняет циклы, а предсказуемость возникает из внутренней согласованности контекста.</p> <a href="https://habr.com/ru/articles/954756/?utm_campaign=954756&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 08 Oct 2025 20:06:44 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[adsm]]></category><category><![CDATA[llm]]></category><category><![CDATA[языковые модели]]></category><category><![CDATA[детерминированность]]></category><category><![CDATA[точка зрения]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ADSM: итеративность и иерархия]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/948282/</guid>
      <link>https://habr.com/ru/articles/948282/?utm_campaign=948282&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/10b/fec/e32/10bfece321fa610ea22930e557b74e6b.png" /><p>В <a href="https://habr.com/ru/articles/945816/" rel="noopener noreferrer nofollow">прошлой публикации</a> я кратко описал своё представление о наиболее важных ограничениях Моделей (LLM):</p><p><code>- работа только с текстом: вход и выход - текстовые файлы;
- ограниченность контекстного окна;
- все входные данные и все результаты одного диалога размещаются в рамках одного контекстного окна;
- расширяющийся контекст (вход меньше выхода) - признак "творческой" работы Модели, сужающийся - признак "инженерной" работы (повторяемой);
- противоречивые (или просто лишние) данные приводят к размыванию контекста и снижению повторяемости;</code></p><p>В этой публикации я обозначаю базовые выводы, которые я сделал, исходя из вышеописанных ограничений.</p> <a href="https://habr.com/ru/articles/948282/?utm_campaign=948282&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 18 Sep 2025 13:46:34 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[adsm]]></category><category><![CDATA[agents]]></category><category><![CDATA[llm]]></category><category><![CDATA[генерация кода]]></category><category><![CDATA[мой опыт]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ADSM: границы возможностей Моделей]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/945816/</guid>
      <link>https://habr.com/ru/articles/945816/?utm_campaign=945816&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/189/2cd/6a9/1892cd6a90691faa96450606faeb5d24.png" /><p>Мое понимание LLM с точки зрения пользователя очень простое: есть сетка с весами (обученные параметры), токенизатор и декодер (преобразователи текста во&nbsp;входные и выходные токены), и трансформер (слои внимания), который перерабатывает входные токены и шаг за&nbsp;шагом предсказывает новые.</p><p>Я пробовал разные Модели (GPT, Gemini, Deepseek, Grok)&nbsp;— все они, на&nbsp;мой взгляд, работают примерно одинаково. На&nbsp;один и тот&nbsp;же запрос они дают очень похожие, а&nbsp;иногда и идентичные ответы. Это ожидаемо, ведь все современные LLM построены на&nbsp;одной и той&nbsp;же архитектуре&nbsp;— трансформерах.</p><p>Это значит, что&nbsp;у&nbsp;всех реализаций есть общий шаблон поведения, отражающий их природу. В&nbsp;этой публикации я опишу наиболее важные, с&nbsp;моей точки зрения, характеристики Моделей, на&nbsp;которых я строю своё с&nbsp;ними общение.</p> <a href="https://habr.com/ru/articles/945816/?utm_campaign=945816&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 10 Sep 2025 18:09:59 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[adsm]]></category><category><![CDATA[искусственный интеллект]]></category><category><![CDATA[llm]]></category><category><![CDATA[персональный опыт]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ADSM: ролевые игры]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/945458/</guid>
      <link>https://habr.com/ru/articles/945458/?utm_campaign=945458&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Четыре дня назад я <a href="https://habr.com/ru/articles/944134/" rel="noopener noreferrer nofollow">запостил</a> на&nbsp;Хабре опрос: как&nbsp;лучше назвать пакет документов, описывающих мой опыт разработки программного продукта при&nbsp;помощи LLM‑агентов/ботов&nbsp;— ADSM или&nbsp;BDSM. С&nbsp;небольшим перевесом в&nbsp;один голос (6&nbsp;к 5) победил вариант ADSM&nbsp;— <em>Agent Driven Software Management</em>. Ну, пусть будет ADSM. </p><p>Так вот, при&nbsp;формализации своих отношений с&nbsp;агентами в&nbsp;первую очередь передо мной встал вопрос, а&nbsp;кто в&nbsp;этих отношениях какую роль играет? Пока что&nbsp;я склоняюсь, что&nbsp;наиболее точным описанием являются отношения «<em>Заказчик&nbsp;— Исполнитель</em>».</p> <a href="https://habr.com/ru/articles/945458/?utm_campaign=945458&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Объяснения под катом</a>]]></description>
      
      <pubDate>Tue, 09 Sep 2025 18:25:00 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[искусственный интеллект]]></category><category><![CDATA[llm]]></category><category><![CDATA[разработка приложений]]></category><category><![CDATA[adsm]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[How I Learned to Stop Worrying and Love the… BDSM]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/944134/</guid>
      <link>https://habr.com/ru/articles/944134/?utm_campaign=944134&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d77/d0c/996/d77d0c99634163c638b28cc9b5d6a1ab.png" /><p>Это публикация‑опрос. Поэтому и такой заголовок :-) Отсылку поймут не&nbsp;только&nbsp;лишь все, но&nbsp;главная цель&nbsp;— привлечь внимание народа к&nbsp;опросу.</p><p>В&nbsp;принципе, публикацию можно даже и не&nbsp;читать. Она просто поясняет, откуда взялись два варианта между которыми нужно выбирать по&nbsp;итогу&nbsp;— какое из&nbsp;двух названий лучше применить в&nbsp;технической документации.</p><p>Буду благодарен всем, кто поучаствует в&nbsp;голосовании.</p> <a href="https://habr.com/ru/articles/944134/?utm_campaign=944134&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 05 Sep 2025 08:17:45 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Программирование]]></category><category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Читальный зал]]></category>
      <category><![CDATA[code generation]]></category><category><![CDATA[llm]]></category><category><![CDATA[codex]]></category><category><![CDATA[вайб-кодинг]]></category><category><![CDATA[опрос]]></category><category><![CDATA[мнение народа]]></category><category><![CDATA[adsm]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Когда LLM становится предсказуемой]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/938538/</guid>
      <link>https://habr.com/ru/articles/938538/?utm_campaign=938538&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/bf7/8d9/fb9/bf78d9fb95f5504ced77f9a7b9ceba4a.png" /><p>Привет, меня зовут Алекс Гусев и я хочу обсудить предсказуемость LLM. Я очень тепло отношусь к Моделям и меня очень огорчают заявления, что Модели непредсказуемы. Они предсказуемы, только не всегда. В общем-то, как и люди - для многих людей мы можем предсказать их поведение в определённых ситуациях, хотя ни один человек не является полностью предсказуемым даже для самого себя.</p> <a href="https://habr.com/ru/articles/938538/?utm_campaign=938538&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 19 Aug 2025 08:47:07 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Управление разработкой]]></category>
      <category><![CDATA[llm]]></category><category><![CDATA[вайб-кодинг]]></category><category><![CDATA[контекстное программирование]]></category><category><![CDATA[adsm]]></category><category><![CDATA[bdsm]]></category><category><![CDATA[ии-агенты]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Инструмент непрямого управления]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/937908/</guid>
      <link>https://habr.com/ru/articles/937908/?utm_campaign=937908&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/499/c70/9e9/499c709e91b018135b80de845c1e038d.png" /><p>Прочитал с&nbsp;утра <a href="https://habr.com/ru/posts/937838/" rel="noopener noreferrer nofollow">очередной пост</a> на&nbsp;Хабре, как&nbsp;можно неправильно использовать LLM. Я отношусь к&nbsp;Моделям достаточно утилитарно&nbsp;— как&nbsp;к&nbsp;инструменту. Я не&nbsp;пытаюсь найти в&nbsp;них сознание, так как&nbsp;довольно хорошо представляю устройство вычислительной техники и то, как&nbsp;она выполняет программы. Поэтому каждая публикация с&nbsp;посылом «смотрите, Модель делает чушь» для&nbsp;меня сродни откровениям человека, попытавшегося вырезать ровный круг из&nbsp;оконного стекла при&nbsp;помощи молотка и получившего груду осколков в&nbsp;результате. </p><p>Это очень короткая статья про то, чем отличаются молотки от LLM. </p> <a href="https://habr.com/ru/articles/937908/?utm_campaign=937908&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 17 Aug 2025 11:09:41 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[llm]]></category><category><![CDATA[искусственный интеллект]]></category><category><![CDATA[контекст]]></category><category><![CDATA[управление]]></category><category><![CDATA[метафоры]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[А вы храните историю запросов к ИИ-агентам?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/927966/</guid>
      <link>https://habr.com/ru/articles/927966/?utm_campaign=927966&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/acd/bc7/ec1/acdbc7ec1b608f00e5637520c6301071.png" /><p>Лично мне нравится LLM как инструмент,&nbsp;усиливающий мои интеллектуальные возможности.&nbsp;Я использую его ежедневно&nbsp;—&nbsp;для поиска информации,&nbsp;для создания и перевода текстов,&nbsp;в качестве ассистента по подсчёту калорий и,&nbsp;само собой,&nbsp;для разработки приложений.&nbsp;Немного попрактиковавшись с генерацией <a href="https://github.com/flancer32/teq-cms/pulls?q=is%3Apr+is%3Aclosed" rel="noopener noreferrer nofollow">pull request'ов</a> через OpenAI Codex для модулей своего проекта TeqCMS,&nbsp;я пришёл к выводу,&nbsp;что в&nbsp;"<em>грядущую эпоху вытеснения разработчиков моделями</em>"&nbsp;настоящую ценность представляет вовсе не код и даже не проектная документация.&nbsp;Главный артефакт&nbsp;—&nbsp;это инструкции,&nbsp;настраивающие контекст для Агента,&nbsp;и история запросов,&nbsp;с помощью которых генерируется код.</p> <a href="https://habr.com/ru/articles/927966/?utm_campaign=927966&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 15 Jul 2025 13:27:00 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Управление разработкой]]></category><category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[llm]]></category><category><![CDATA[ии-агенты для разработки]]></category><category><![CDATA[openai codex]]></category><category><![CDATA[agents]]></category><category><![CDATA[генерация кода]]></category><category><![CDATA[групповая разработка]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Не одушевляйте неодушевлённое]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/923838/</guid>
      <link>https://habr.com/ru/articles/923838/?utm_campaign=923838&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/211/feb/ff8/211febff8094e16e089fffb90c49d009.jpg" /><p>Всем привет, меня зовут Алекс Гусев. Поводом для этой публикации стали интересные и вдумчивые посты коллег <a class="mention" href="/users/siberianice">@Siberianice</a>,  <a href="https://habr.com/ru/users/SergioPrieto/" rel="noopener noreferrer nofollow">@SergioPrieto</a> и <a class="mention" href="/users/kamil_gr">@Kamil_GR</a> — спасибо им за пищу для размышлений. Я задался вопросом: есть ли у нас вообще основания наделять современные большие языковые модели (LLM) субъектностью? Где проходит грань между инструментом и носителем воли?  Это не просто изложение моей позиции, а попытка повлиять на восприятие темы. </p> <a href="https://habr.com/ru/articles/923838/?utm_campaign=923838&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Да, это агитация :)</a>]]></description>
      
      <pubDate>Tue, 01 Jul 2025 10:37:36 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[мы все умрем]]></category><category><![CDATA[а может и нет]]></category><category><![CDATA[читальня]]></category><category><![CDATA[обо всем]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[LLM-first: парная разработка без вайбкодинга]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/914324/</guid>
      <link>https://habr.com/ru/articles/914324/?utm_campaign=914324&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ffc/364/c6f/ffc364c6f480bcd8b2c2972383eb23a0.png" /><p>Этот пост&nbsp;—&nbsp;мой личный разбор по итогам двух недель разработки простой файловой CMS для одного из моих пет-проектов.&nbsp;Мне&nbsp;нужен был SSR-сайт с мультиязычным контентом&nbsp;—&nbsp;около десятка страниц на двух языках.&nbsp;Всё под Git-контролем,&nbsp;переводы я&nbsp;делал вручную через DeepSeek API и выкладывал на продакшн через GitHub Actions.</p><p>В какой-то момент стало понятно:&nbsp;отслеживать и переводить все мелкие изменения вручную&nbsp;—&nbsp;неудобно и утомительно.&nbsp;Тогда я&nbsp;решил автоматизировать этот процесс и взял в напарники ИИ.&nbsp;Не для вайбкодинга и генерации&nbsp;«по настроению»,&nbsp;а для&nbsp;настоящего парного программирования.</p><p>Результат&nbsp;—&nbsp;рабочий open-source проект,&nbsp;который можно развернуть,&nbsp;изучить и использовать.&nbsp;Но главное&nbsp;—&nbsp;это опыт.&nbsp;Это&nbsp;была не просто реализация CMS,&nbsp;а переосмысление роли ИИ в разработке.&nbsp;Под катом&nbsp;—&nbsp;мои подходы,&nbsp;наблюдения и выводы.</p> <a href="https://habr.com/ru/articles/914324/?utm_campaign=914324&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 31 May 2025 09:12:55 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category>
      <category><![CDATA[искусственный интеллект]]></category><category><![CDATA[вайбкодинг]]></category><category><![CDATA[llm-first]]></category><category><![CDATA[teqfw]]></category><category><![CDATA[dependency injection]]></category><category><![CDATA[chatgpt]]></category><category><![CDATA[deepseek]]></category><category><![CDATA[cms]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[@teqfw/di: Coding JavaScript like a Java boss]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/901678/</guid>
      <link>https://habr.com/ru/articles/901678/?utm_campaign=901678&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/20a/b04/cd3/20ab04cd309cd7a846ed625a78d2871e.png" /><p>Эта статья для тех, кто, как и я, хочет программировать на JavaScript в Java-стиле. Для тех, кто находит вдохновение в балансе между строгой архитектурной дисциплиной Java и творческой свободой JavaScript.  Ранее я уже публиковал "<a href="https://habr.com/ru/articles/891134/" rel="noopener noreferrer nofollow">философию</a>" своей платформы <code>TeqFW</code>, а также инструкции для LLM (<a href="https://habr.com/ru/articles/892942/" rel="noopener noreferrer nofollow">раз</a>, <a href="https://habr.com/ru/articles/893762/" rel="noopener noreferrer nofollow">два</a>) по оформлению es-модулей в приложениях, написанных в стиле <code>TeqFW</code>. На этот раз я делюсь инструкцией для LLM по использованию внедрения зависимостей в таких приложениях.</p><p>Для тех, кто не совсем понимает, что значит "<em>программировать на JavaScript в Java-стиле</em>", приведу рабочий пример — это Node.js-утилита <a href="https://github.com/flancer64/smtp-logger" rel="noopener noreferrer nofollow">@flancer64/smtp-logger</a>. Она сохраняет в базу данных все email'ы, которые <code>Postfix</code> отправляет наружу. Мне как раз понадобился такой функционал — и я реализовал его в стиле <code>TeqFW</code>: с явным управлением зависимостями и строгой модульной структурой.</p><p>Под катом - пример JS-кода в Java-стиле.</p> <a href="https://habr.com/ru/articles/901678/?utm_campaign=901678&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 17 Apr 2025 08:19:21 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category><category><![CDATA[Java]]></category><category><![CDATA[PHP]]></category>
      <category><![CDATA[teqfw]]></category><category><![CDATA[javascript]]></category><category><![CDATA[es6]]></category><category><![CDATA[esmodules]]></category><category><![CDATA[dependency injection]]></category><category><![CDATA[ioc]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Типовой ES-модуль в TeqFW или «сборник вредных советов»]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/893762/</guid>
      <link>https://habr.com/ru/articles/893762/?utm_campaign=893762&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c67/e57/f61/c67e57f6103917f88ec6b54cca2515fd.png" /><p>Я ранее описал <a href="https://habr.com/ru/articles/891134/" rel="noopener noreferrer nofollow">принципы</a>, которыми руководствуюсь при разработке веб-приложений, а также <a href="https://habr.com/ru/articles/892942/" rel="noopener noreferrer nofollow">требования</a>, предъявляемые со стороны платформы TeqFW к JS-коду. В этой публикации я покажу, как выглядит код типового модуля платформы, <em>где не используется </em><strong><em>статический</em></strong><em> импорт</em>. Хочу сразу отметить, что кажущаяся сложность материалов обусловлена непривычностью представленных концепций. Наработанный опыт и инерция мышления — сильные вещи! Тем, кто имеет ограниченный опыт в JS-разработке, этот материал будет проще для восприятия, в то время как опытным разработчикам предстоит преодолеть барьер устоявшихся привычек. На мой взгляд, несмотря на то что "<em>TypeScript — это суперсет JavaScript</em>", самыми сложными концепции платформы станут именно для TS-разработчиков.</p><p>Ну, вот - я предупредил, дальнейшее чтение - на ваш страх и риск.</p><p></p> <a href="https://habr.com/ru/articles/893762/?utm_campaign=893762&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 24 Mar 2025 10:04:35 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[teqfw]]></category><category><![CDATA[javascript]]></category><category><![CDATA[esm]]></category><category><![CDATA[late binding]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Почему TeqFW использует только ES-модули?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/892942/</guid>
      <link>https://habr.com/ru/articles/892942/?utm_campaign=892942&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/863/e9d/c67/863e9dc67d8cc33d7ae9b5743761dc90.png" /><p>Ни у кого не получится показать другому то, что тот не хочет или не может увидеть. Объяснять и показывать нужно только тем, кто а) <em>может понять</em>, б) <em>хочет понять</em>. В этой публикации я демонстрирую пару своих документов для LLM, которые предписывают "<em>силиконовым</em>", какими правилами им следует руководствоваться при создании кода для моей платформы. "<em>Силиконовым</em>" можно впаривать любую дичь - они всеядные (<em>могут понять</em>) и покладистые (<em>согласны понять</em>). За это мы их и любим!</p><p>Кому интересно, что за инструкции - прошу под кат. Кто хочет сразу получить ответ на вопрос в заголовке - могут задать его (и множество других) соответствующему преднастроенному <a href="https://chatgpt.com/g/g-67dbad601b908191a5c593372cf85d8b-teqfw-help-desk" rel="noopener noreferrer nofollow">GPT-чату</a>. Кто не хочет ни того, ни другого - в вашей ленте есть ещё куча других, более интересных публикаций.</p><p></p> <a href="https://habr.com/ru/articles/892942/?utm_campaign=892942&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 21 Mar 2025 06:43:51 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[teqfw]]></category><category><![CDATA[tequila]]></category><category><![CDATA[ненормальное программирование]]></category><category><![CDATA[почему бы и нет]]></category><category><![CDATA[llm]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[«Философия платформы TeqFW» или «Как усложнить себе жизнь, делая вид, что это инновация»]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/891134/</guid>
      <link>https://habr.com/ru/articles/891134/?utm_campaign=891134&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/4d6/96d/65e/4d696d65e21335d430a1786c1a55b004.png" /><p><em>Аудитория Хабра, в силу своей айтишности и любознательности, отлично подходит для различного рода экспериментов . Этот документ - эксперимент. Создан мной в соавторстве с LLM и предназначен как для людей, так и для LLM. Хочу увидеть реакцию людей. Реакцию LLM я уже видел. </em></p><p><em>Всё изложенное касается только разработчиков на JavaScript (JS !== TS).</em></p><p><strong>Философия Tequila Framework (TeqFW)</strong>&nbsp;—&nbsp;это мой личный взгляд на организацию разработки веб-приложений.&nbsp;Я,&nbsp;Алекс&nbsp;Гусев,&nbsp;сформировал этот подход,&nbsp;исходя из собственного опыта,&nbsp;который сосредоточен на&nbsp;<strong>модульных монолитах</strong>&nbsp;с одной&nbsp;базой данных.&nbsp;Этот документ отражает именно такой контекст и не претендует на универсальность.</p><p>Некоторые из представленных идей могут быть полезны в более широком смысле,&nbsp;но ряд принципов окажется нерелевантным или&nbsp;даже вредным вне сферы монолитных архитектур.&nbsp;Важно учитывать эту ограниченность при интерпретации материала.</p><p>Документ предназначен для формирования когнитивного контекста как у естественных интеллектов,&nbsp;так и у искусственных.&nbsp;В&nbsp;нём затрагиваются как специфические аспекты веб-разработки,&nbsp;так и более общие вопросы архитектуры ПО,&nbsp;с упором на&nbsp;снижение избыточной сложности,&nbsp;улучшение структурированности и адаптируемости к изменениям.</p><p></p> <a href="https://habr.com/ru/articles/891134/?utm_campaign=891134&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 15 Mar 2025 10:27:02 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[мыслью по древу]]></category><category><![CDATA[ненормальное программирование]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[IoC: DI vs Ambient Context]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/887646/</guid>
      <link>https://habr.com/ru/articles/887646/?utm_campaign=887646&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/58b/0a8/3f3/58b0a83f3ba7747286fb8e6e782e44e9.png" /><p>На днях с коллегой <a class="mention" href="/users/nin-jin">@nin-jin</a> возник небольшой спор в комментариях к статье "<a href="https://habr.com/ru/articles/885980/comments/#comment_27983202" rel="noopener noreferrer nofollow">ООП: худшее, что случалось с программированием</a>". Мы обсуждали, что является <em>истинным IoC</em>: "<em>контекст окружения</em>" (Ambient Context) или же "<em>внедрение зависимостей</em>" (Dependency Injection).</p><p>Я понимаю, что разработчики обычно выбирают инструменты, исходя из поставленных задач, и что даже самые приверженные сторонники какого-то подхода могут время от времени попробовать альтернативу. В связи с этим я решил создать опрос, чтобы узнать, какой из этих двух методов более популярен среди читателей Хабра. Я уверен, что это не изменит наших с коллегой взглядов, но может немного изменить градус радикальности высказываний.</p><p>Другие наши коллеги могут <a href="https://habr.com/ru/articles/885980/comments/#comment_27995396" rel="noopener noreferrer nofollow">посчитать</a> этот опрос бессмысленным, типа популярные практики не могут быть хорошими априори. Я же считаю, что более популярные практики прошли более тщательную проверку жизнеспособности, чем их менее популярные аналоги. Популярность практики прямо пропорциональна вероятности того, что твою текущую проблему уже кто-то когда-то решил с её помощью. А зачастую решены и те проблемы, о которых ты пока даже и не подозреваешь.</p><p>Прошу воспринимать этот опрос в легком и неформальном ключе. Мне просто интересно, какой из этих двух методов более распространен среди хабровчан.</p><p></p> <a href="https://habr.com/ru/articles/887646/?utm_campaign=887646&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">к опросу</a>]]></description>
      
      <pubDate>Tue, 04 Mar 2025 07:04:15 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Программирование]]></category><category><![CDATA[$mol]]></category><category><![CDATA[JavaScript]]></category>
      <category><![CDATA[ioc]]></category><category><![CDATA[ambient context]]></category><category><![CDATA[dependency injection]]></category><category><![CDATA[опрос]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Энергоэффективность интеллекта]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/886718/</guid>
      <link>https://habr.com/ru/articles/886718/?utm_campaign=886718&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d6e/e5b/ec3/d6ee5bec3805d8f1470d0696606d058e.png" /><p>Мысль моя простая и на&nbsp;целую статью её не&nbsp;хватает, но&nbsp;на&nbsp;Хабре под&nbsp;постом комменты хуже создаются, а&nbsp;мне интересна обратная связь. Поэтому вот. Извиняюсь, если кого задело:)</p><p>Некоторые говорят, что&nbsp;ИИ скоро заменят программистов. Типа, LLM «<em>мыслит</em>» точно так&nbsp;же, как&nbsp;и человек, только шире и&nbsp;быстрее. Достаточно увеличить контекст до&nbsp;каких‑нибудь внушительных размеров и LLM спокойно начнёт писать портянки кода и связывать их воедино. Вот только мой&nbsp;личный опыт меня убеждает, что&nbsp;с&nbsp;размера текста в 4–5К токенов LLM начинает дико лажать с&nbsp;его модификацией. Он начинает его регенерировать заново. Не&nbsp;исправлять, а&nbsp;именно регенерировать&nbsp;— так ему проще.</p><p>Думаю, что&nbsp;проблему можно решить через закольцовывание рассуждений (Reasoning, Chain of Thought)&nbsp;— разбиение контекста на&nbsp;части, анализ, кластеризация и иерархическая структуризация об&nbsp;общего к&nbsp;частному и обратно.</p><p>Скорее всего, «<em>кожаные</em>», включая меня, примерно так и решают задачи. Вот только вопрос, будет&nbsp;ли это выгодно чисто экономически с&nbsp;точки зрения расхода энергии? Не&nbsp;окажется&nbsp;ли на&nbsp;уровне современных технологий, что&nbsp;LLM может написать программу уровня самой LLM, но&nbsp;для&nbsp;выработки энергии для&nbsp;этого процесса придётся сжечь всё ископаемое топливо или&nbsp;выпарить Средиземное Море для&nbsp;охлаждения реакторов АЭС?</p><p>«<em>Кожаные</em>», между тем, справились с&nbsp;задачей&nbsp;лишь слегка подтаяв ледники Гренландии. При&nbsp;этом написав ещё кучу разных программ, ненужных и устаревших по&nbsp;большей части.</p><p>Вот и вопрос: а&nbsp;будет&nbsp;ли экономически эффективно заменять «<em>кожаных</em>» программистов «<em>силиконовыми</em>» чисто с&nbsp;точки зрения энергопотребления?</p> <a href="https://habr.com/ru/articles/886718/?utm_campaign=886718&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Ответить или оставить комментарий</a>]]></description>
      
      <pubDate>Fri, 28 Feb 2025 11:15:26 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[ии]]></category><category><![CDATA[кожаные vs силиконовые]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Вот почему AGI не уничтожит человечество]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/876564/</guid>
      <link>https://habr.com/ru/articles/876564/?utm_campaign=876564&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Одним словом: симбиоз. Кооперация ради эффективности. Человечество совместно с AGI (или AGI совместно с человечеством) составят более устойчивую конструкцию, чем каждый из компонентов по отдельности.</p><p>В общем-то, это основная мысль, которую я хотел донести до читателя. Лично мне кажется, что идея кристально ясная и дальнейшего уточнения не требует. Кто-то с этим согласен или, наоборот, несогласен. Если есть желание высказаться - вам в комменты. Под катом же немного рассуждений для тех, кому "<em>сомнительно</em>".</p><p></p> <a href="https://habr.com/ru/articles/876564/?utm_campaign=876564&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 25 Jan 2025 09:45:26 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[agi]]></category><category><![CDATA[ии]]></category><category><![CDATA[будущее рядом]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Путаясь в замыканиях]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/875608/</guid>
      <link>https://habr.com/ru/articles/875608/?utm_campaign=875608&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/6d4/56a/42c/6d456a42c08f31cbec72f36dca80828f.png" /><p>В комментах к статье "<a href="https://habr.com/ru/companies/piter/articles/874428/" rel="noopener noreferrer nofollow"><em>Синглтон - корень всех зол</em></a>", который вообще-то про паттерн проектирования, я высказал мысль, что в функциональном программировании "<em>все функции - синглтоны</em>" (это уже в смысле lifestyle - больше одной функции на приложение не нужно). Тут же мне более опытные коллеги насовали в панамку, что "<em>функции не синглтоны, потому что существуют замыкания</em>". Я, конечно, "<em>сварщик не настоящий</em>" - в ФП серьёзно никогда не игрался, но основные идеи вроде как у всех на слуху: неизменяемость данных, чистота функций, функция как аргумент / результат другой функции.</p><p>На мой субъективный взгляд, при таких вводных, нет никаких доводов за то, чтобы в приложении иметь более одного экземпляра чистой функции. Какой смысл иметь два экземпляра функции, если она не имеет побочных эффектов - для одних и тех же  входных данных всегда возвращает один и тот же результат, вне зависимости от внешних условий? Ну? Вот и я думаю, что никакого. </p><p>Тем не менее, мысль про замыкания надо было как-то подумать - не, ну а вдруг?! Под катом я привожу результаты своих изысканий на примере очень простого функционала на JS, написанного в трёх разных стилях.</p><p></p> <a href="https://habr.com/ru/articles/875608/?utm_campaign=875608&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 22 Jan 2025 09:23:09 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[фунциональное программирование]]></category><category><![CDATA[процедурное программирование]]></category><category><![CDATA[замыкания]]></category><category><![CDATA[шаблоны проектирования]]></category><category><![CDATA[внедрение зависимостей]]></category><category><![CDATA[ооп]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Дискриминация интеллекта]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/872722/</guid>
      <link>https://habr.com/ru/articles/872722/?utm_campaign=872722&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/d53/033/d5f/d53033d5f80423cf1feb725afe0aa49f.png" /><p>Вот и ещё один видный общественный деятель в сфере искусственного интеллекта, Илон Маск, <a href="https://habr.com/ru/news/872586/" rel="noopener noreferrer nofollow">заявил</a>, что "<em>для обучения моделей искусственного интеллекта осталось мало реальных данных</em>". Это в дополнение к Илье Суцкеверу, который тоже <a href="https://habr.com/ru/articles/870668/" rel="noopener noreferrer nofollow">жаловался</a> на то, что "<em>данные - это ископаемое топливо ИИ, и мы его исчерпали</em>".</p><p>В комментариях к той статье я <a href="https://habr.com/ru/articles/870668/comments/#comment_27750220" rel="noopener noreferrer nofollow">высказал мысль</a>, что в будущем можно будет зарабатывать на общении с ИИ - если у тебя выдающийся ум. А если сильно ниже среднего, то за общение с ИИ придётся платить выше среднего. Ибо нефиг энергию разбазаривать на ерунду. Эту мысль я решил обсудить с ИИ и вынести на публику - статьёй на Хабре. Собственно, той самой публикации этот пост и посвящён.</p><p></p> <a href="https://habr.com/ru/articles/872722/?utm_campaign=872722&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 10 Jan 2025 08:38:33 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[мысли вслух]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Голосовая аутентификация через GPT]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/864598/</guid>
      <link>https://habr.com/ru/articles/864598/?utm_campaign=864598&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/197/a70/f72/197a70f726a61d166dcc1d25675bd8cc.png" /><p>Около трёх месяцев назад я <a href="https://habr.com/ru/articles/842284/" rel="noopener noreferrer nofollow">задумался</a> о том, что в ближайшем будущем взаимодействие человека с техносферой (программно-аппаратно-сетевой инфраструктурой) будет происходить скорее через мессенджеры, такие как Telegram, чем через привычный браузер. Частое использование чатов на смартфоне быстро подтолкнуло меня к попытке снова попробовать голосовой ввод вместо привычных тапов по виртуальной клавиатуре или набора слов жестами. К моему приятному удивлению, распознавание голоса сейчас достигло очень высокого уровня как на Android, так и на iPhone. Причём настолько высокого, что STT (<a href="https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B5%D1%87%D0%B8" rel="noopener noreferrer nofollow">speech-to-text</a>) стал для меня основным способом ввода текста в чатах, <a href="https://dictanote.co/voicein/" rel="noopener noreferrer nofollow">включая браузер</a>.</p><p>Поскольку искусственный интеллект в целом, и технологии OpenAI в частности, уже практически стали повседневной нормой (по крайней мере, для меня), я, естественно, начал использовать голосовое общение и в GPT-чатах. А узнав о действиях (actions) в настраиваемых GPT-чатах, я сразу загорелся идеей соединить GPT-чат с каким-нибудь внешним приложением. Однако на этом этапе встал вопрос: как аутентифицировать пользователей чата во внешнем приложении? Несмотря на то что OpenAI предлагает использовать OAuth 2.0 для интеграции, в этой статье я рассмотрю альтернативный вариант — парольную аутентификацию, которая, на мой взгляд, лучше подходит для голосового взаимодействия.</p> <a href="https://habr.com/ru/articles/864598/?utm_campaign=864598&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 07 Dec 2024 11:16:54 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category>
      <category><![CDATA[gpt]]></category><category><![CDATA[openai]]></category><category><![CDATA[интеграция]]></category><category><![CDATA[веб-приложения]]></category><category><![CDATA[аутентификация]]></category><category><![CDATA[парольная защита]]></category><category><![CDATA[эксперимент]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Разница между ранним и поздним связыванием]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/856578/</guid>
      <link>https://habr.com/ru/articles/856578/?utm_campaign=856578&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0f5/093/ffd/0f5093ffd6a809e9c72f13aa6c61adf2.jpg" /><p>В этой публикации я "<em>на пальцах</em>" попытаюсь объяснить, чем отличается раннее и позднее связывание кода для обычного программиста. Не для компилятора или статического анализатора, а для человека, который пишет JavaScript/TypeScript-код. Ну и немножко попиарюсь в конце.</p><p></p> <a href="https://habr.com/ru/articles/856578/?utm_campaign=856578&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 07 Nov 2024 09:08:49 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[late binding]]></category><category><![CDATA[early binding]]></category><category><![CDATA[inversion of control]]></category><category><![CDATA[dependency injection]]></category><category><![CDATA[teqfw]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Телеграм-бот на Node.js/grammY: Диалоги]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/852330/</guid>
      <link>https://habr.com/ru/articles/852330/?utm_campaign=852330&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/9e0/9e0/b33/9e09e0b338f901e5a6582950fa130b5c.png" /><p>В этой статье я продолжаю делиться результатами изучения создания телеграм-ботов в <code>nodejs</code>, начатой в предыдущих публикациях (<a href="https://habr.com/ru/articles/837610/" rel="noopener noreferrer nofollow">раз</a>, <a href="https://habr.com/ru/articles/850294/" rel="noopener noreferrer nofollow">два</a>). На этот раз я покажу, как организовать интерактивные диалоги с пользователями, используя модуль conversations библиотеки grammY. Мы рассмотрим, как настроить библиотеку для работы с диалогами, управлять их завершением, а также реализовать ветвления и циклы. Этот подход станет основой для более сложных проектов, где важно взаимодействие с пользователем.</p><p></p> <a href="https://habr.com/ru/articles/852330/?utm_campaign=852330&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 21 Oct 2024 19:01:25 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category><category><![CDATA[Node.JS]]></category>
      <category><![CDATA[nodejs]]></category><category><![CDATA[javascript]]></category><category><![CDATA[grammy]]></category><category><![CDATA[telegram bot]]></category><category><![CDATA[teqfw]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Использование ChatGPT для автоматизации генерации кода в JS-проекте]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/850846/</guid>
      <link>https://habr.com/ru/articles/850846/?utm_campaign=850846&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/cc3/869/736/cc3869736ba12118937a7b796fb3d20f.png" /><p>В своих предыдущих статьях о разработке телеграм-ботов я делился опытом создания базового функционала и работы с командами через аргументы (<a href="https://habr.com/ru/articles/837610/" rel="noopener noreferrer nofollow">раз</a>, <a href="https://habr.com/ru/articles/850294/" rel="noopener noreferrer nofollow">два</a>). На этапе подготовки третьей статьи передо мной встал вопрос генерации однотипного кода для новых команд, что превратилось в рутинную задачу. Чтобы избежать этого и ускорить процесс, я решил задействовать ChatGPT. К моему удивлению, его помощь оказалась значительно весомее, чем я ожидал.</p><p>Если коротко, то использование ChatGPT для автоматизации генерации кода эффективно при работе с шаблонами. Генерация однотипных фрагментов на основе шаблонов ускоряет процесс разработки и снижает количество рутинных задач. Чем точнее структура и наименования в шаблонах, тем легче модели корректно выполнять замены,</p><p>Для тех же, кто хочет более детально ознакомиться с процессом взаимодействия человека и ChatGPT при создании JavaScript-проекта - добро пожаловать под кат.</p><p></p> <a href="https://habr.com/ru/articles/850846/?utm_campaign=850846&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 15 Oct 2024 13:05:09 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[chatgpt]]></category><category><![CDATA[javascript]]></category><category><![CDATA[nodejs]]></category><category><![CDATA[grammy]]></category><category><![CDATA[teqfw]]></category><category><![CDATA[telegram bot]]></category><category><![CDATA[llm]]></category><category><![CDATA[кодогенерация]]></category><category><![CDATA[regexp]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Node.js-бот для Телеграм: CRUD-L через аргументы команд]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/850294/</guid>
      <link>https://habr.com/ru/articles/850294/?utm_campaign=850294&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a2d/c89/552/a2dc895526776f94c066bce0ef8c3eba.png" /><p>Я продолжаю описывать собственное погружение в мир телеграм-ботов, начатое в <a href="https://habr.com/ru/articles/837610/" rel="noopener noreferrer nofollow">предыдущей публикации</a>. Тогда я создал простого бота на Node.js с тремя стандартными командами (<code>/start</code>, <code>/help</code>, <code>/settings</code>) с использованием библиотеки <a href="https://grammy.dev/" rel="noopener noreferrer nofollow">grammY</a>, который мог работать в режимах <code>long polling</code> и <code>webhook</code>. В этот раз я разработал бота, который манипулирует данными в базе по шаблону <a href="https://ru.wikipedia.org/wiki/CRUD" rel="noopener noreferrer nofollow">CRUD</a> + List (CRUDL) с помощью аргументов команд. Из-за своей простоты, граничащей с примитивностью, это решение не подходит для коммерческих проектов, но может быть полезным в персональных проектах.</p><p></p> <a href="https://habr.com/ru/articles/850294/?utm_campaign=850294&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 13 Oct 2024 14:53:54 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[telegram]]></category><category><![CDATA[бот]]></category><category><![CDATA[nodejs]]></category><category><![CDATA[javascript]]></category><category><![CDATA[grammy]]></category><category><![CDATA[crud]]></category><category><![CDATA[teqfw]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Браузер для Web 3.0]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/842284/</guid>
      <link>https://habr.com/ru/articles/842284/?utm_campaign=842284&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/08a/2e5/bc6/08a2e5bc6a073c15e9f3309660ac59c8.jpg" /><p>Время от времени я встречаю на страницах Хабра мысль, что современные браузеры не соответствуют современным требованиям, стали слишком сложными, делают всё не так и не туда, и вообще - ниша “<em>забронзовела</em>”, поделилась между игроками (<a href="https://en.wikipedia.org/wiki/Blink_(browser_engine)" rel="noopener noreferrer nofollow">Blink</a>, <a href="https://en.wikipedia.org/wiki/WebKit" rel="noopener noreferrer nofollow">WebKit</a>, <a href="https://en.wikipedia.org/wiki/Gecko_(software)" rel="noopener noreferrer nofollow">Gecko</a>) и новичкам с новыми движками в неё стало невозможно попасть в принципе. В своей прошлой статье я коснулся <a href="https://habr.com/ru/articles/837610/" rel="noopener noreferrer nofollow">основ работы с телеграм-ботами</a> и в какой-то момент мне показалось, что я увидел прообраз “<em>браузера будущего</em>” - приложения, через которое люди будут подключаться к Сети совсем скоро (а некоторые подключаются уже сейчас).</p><p>Под катом я попытался формализовать словами свои субъективные ощущения (КДПВ не моя, это всё DALL-E).</p><p></p> <a href="https://habr.com/ru/articles/842284/?utm_campaign=842284&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 10 Sep 2024 17:49:48 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Веб-разработка]]></category><category><![CDATA[Разработка мобильных приложений]]></category><category><![CDATA[Будущее здесь]]></category>
      <category><![CDATA[мысли вслух]]></category><category><![CDATA[точка зрения]]></category><category><![CDATA[суета]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Мой опыт создания телеграм-бота на NodeJS/grammY]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/837610/</guid>
      <link>https://habr.com/ru/articles/837610/?utm_campaign=837610&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/917/e34/418/917e3441815a9494c9bd877f880b2d7c.png" /><p>Арест Павла Дурова стал настолько ярким событием, что мне пришлось повнимательнее присмотреться к этому мессенджеру - чем же таким он значимо отличается от остальных социальных сетей. Так в поле моего зрения попали боты. Так-то я больше по веб-приложениям - ну, тех, что в браузере. Но боты тоже оказались ничего так.</p><p>Так как я предпочитаю использовать JavaScript и на фронте, и на бэке, то среда существования для бота была определена сразу же - nodejs. Осталось определиться с библиотекой - <a href="https://telegraf.js.org/" rel="noopener noreferrer nofollow">Telegraf</a> или <a href="https://grammy.dev/" rel="noopener noreferrer nofollow">grammY</a>? Так как у второй в примере использовался кошерный <code>import</code>, а у первой - старомодный <code>require</code>, я выбрал <code>grammY</code>.</p><p>Под катом - пример телеграм-бота в виде nodejs-приложения с использованием библиотеки <code>grammY</code>, который запускается как в режиме <code>long pooling</code>, так и в режиме <code>webhook</code>, созданный с применением моей любимой технологии - внедрения зависимостей через конструктор (TL;DR).</p><p></p> <a href="https://habr.com/ru/articles/837610/?utm_campaign=837610&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 30 Aug 2024 18:52:09 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[телеграм-бот]]></category><category><![CDATA[tl;dr]]></category><category><![CDATA[много букв]]></category><category><![CDATA[javascript]]></category><category><![CDATA[модульный монолит]]></category><category><![CDATA[teqfw]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Я знаю, что ничего не знаю, но другие не знают и этого]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/835342/</guid>
      <link>https://habr.com/ru/articles/835342/?utm_campaign=835342&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/2f1/dfe/90f/2f1dfe90f2e9fc16c5b250efbb20cd81.png" /><p>Когда я писал свою статью&nbsp;<a href="https://habr.com/ru/articles/834002/" rel="noopener noreferrer nofollow">про интерфейсы</a>&nbsp;в JS на примере фильма "Перевозчик" с Джейсоном Стейтемом, я решил использовать ChatGPT, чтобы он мне помог с фактологией. Например, выяснить, сколько весила сумка с девушкой-китаянкой и откуда-куда её должен был перевезти Фрэнк Мартин (герой Стэйтема). Хотя я пересмотрел фильм перед написанием статьи, поиск нужных сцен казался мне утомительным, и я решил срезать путь, обратившись к ChatGPT. Ведь&nbsp;<a href="https://openai.com/index/searchgpt-prototype/" rel="noopener noreferrer nofollow">всем известно</a>, что ИИ скоро выкинет старый добрый поиск через Гугл на обочину истории.</p><p>Однако, результат меня разочаровал. Если коротко, то ChatGPT (как и любая LLM) работает с вероятностями и ей очень сложно, на грани невозможного, признать, что она чего-то там не знает. Она будет выдавать всякий мусор с очень низким правдоподобием, но так не скажет "<em>извини, чувак, я не в курсе</em>". Ну а если с деталями, то добро пожаловать под кат.</p><p></p> <a href="https://habr.com/ru/articles/835342/?utm_campaign=835342&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sun, 11 Aug 2024 20:41:19 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[тест тьюринга]]></category><category><![CDATA[llm]]></category><category><![CDATA[chatgpt]]></category><category><![CDATA[китайская комната]]></category><category><![CDATA[интеллект]]></category><category><![CDATA[нейронные сети]]></category><category><![CDATA[Фрэнк Мартин]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Интерфейсы в JS с помощью @teqfw/di]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/834002/</guid>
      <link>https://habr.com/ru/articles/834002/?utm_campaign=834002&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f23/b06/fa5/f23b06fa55f317d436ed1de6a2924b67.jpg" /><p>На эту статью меня сподвигла <a href="https://habr.com/ru/articles/832490/comments/#comment_27109638" rel="noopener noreferrer nofollow">переписка в комментах</a> с коллегой <a class="mention" href="/users/iliazeus">@iliazeus</a> и его вопрос, как в <a href="https://github.com/teqfw/di" rel="noopener noreferrer nofollow">@teqfw/di</a> код может зависеть от интерфейса, а не от его имплементации. В своём ответе я попытался провести параллели с героем Джейсона Стэйтэма из фильма "Перевозчик" - с Фрэнком Мартином. У Фрэнка было три правила (условия контракта) и любой, кто удовлетворял этим правилам (и имел достаточно денег), мог нанять Фрэнка в качестве первозчика.</p><p>Ниже я продемонстрирую на примере Фрэнка Мартина, каким образом могут работать интерфейсы в обычном JS (не TS).</p><p></p> <a href="https://habr.com/ru/articles/834002/?utm_campaign=834002&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 06 Aug 2024 14:20:10 GMT</pubDate>
      <dc:creator><![CDATA[flancer]]></dc:creator>
      <category><![CDATA[Веб-разработка]]></category><category><![CDATA[JavaScript]]></category>
      <category><![CDATA[javascript]]></category><category><![CDATA[ioc]]></category><category><![CDATA[interfaces]]></category><category><![CDATA[architecture]]></category><category><![CDATA[dependency injection]]></category><category><![CDATA[@teqfw/di]]></category><category><![CDATA[transporter]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
