<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:yandex="http://news.yandex.ru" xmlns:media="http://search.yahoo.com/mrss/" xmlns:turbo="http://turbo.yandex.ru" version="2.0">
	<channel>
		<title>Академия OpenAI на русском</title>
		<link>https://course.aiacademy.me</link>
		<description>Все видео от Академии OpenAI на русском языке. В удобном формате</description>
		<language>ru</language>
		<item turbo="true">
			<title>Улучшаем RAG с помощью графов знаний Автоматизация через GraphRAG и API OpenAI</title>
			<link>https://course.aiacademy.me/tpost/66acgtnsr1-uluchshaem-rag-s-pomoschyu-grafov-znanii</link>
			<pubDate>Tue, 08 Apr 2025 19:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild3330-3934-4135-a361-643336346364/graphRAG_open_ai.png" type="image/png"/>
			<description>Узнайте, как автоматизированные графы знаний улучшают RAG там, где векторный поиск не справляется. Лекция от OpenAI Academy и GPT-Tech Day.</description>
			<turbo:content>
<![CDATA[<header><h1>Улучшаем RAG с помощью графов знаний Автоматизация через GraphRAG и API OpenAI</h1></header><figure><img src="https://static.tildacdn.com/tild3330-3934-4135-a361-643336346364/graphRAG_open_ai.png"/></figure><div class="t-redactor__embedcode"><style>
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0; /* Добавлено для предотвращения сжатия иконки */
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }

    .intro-header {
        flex-direction: row;
        align-items: center;
        /* Убрано justify-content: center для выравнивания влево */
        gap: 12px;
    }

    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }

    .intro-content {
        font-size: 15px;
    }

    .intro-content strong {
        display: inline; /* Изменено на inline для лучшего вида на широких экранах */
        margin-bottom: 0;
        margin-right: 4px; /* Добавлен отступ справа от жирного текста */
    }

    .intro-footer {
        flex-direction: row;
        /* Убрано justify-content: center для выравнивания влево */
        gap: 16px;
        flex-wrap: wrap; /* Добавлено для переноса тегов при необходимости */
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~53 минуты просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🧠</div>
            <div class="intro-content">
                <strong>Что такое графы знаний (КГ):</strong> Поймете, как они моделируют сущности и их связи для точного извлечения структурированной информации.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✨</div>
            <div class="intro-content">
                <strong>Автоматизация с помощью ИИ (Graph RAG):</strong> Узнаете, как LLM (GPT-4) переводят запросы на естественном языке в код Cypher для взаимодействия с графами знаний.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Преимущества и применение:</strong> Разберетесь, когда Graph RAG эффективнее векторного поиска (точные подсчеты, запросы о связях, верифицируемость) и почему это важно.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🛠️</div>
            <div class="intro-content">
                <strong>Практическая реализация:</strong> Познакомитесь с основными шагами для создания конвейера Graph RAG: от определения онтологии до выполнения Cypher через API OpenAI.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 08.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
            Графы знаний & RAG
        </div>
        <div class="tag">
            <span class="tag-icon">💡</span>
            Автоматизация запросов
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
            На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239017" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2"><strong>Словарь Терминов</strong></h2><div class="t-redactor__text"><strong>Cypher (Шифр)</strong><br />Декларативный язык запросов для графовых баз данных (например, Neo4j). Позволяет описывать шаблоны узлов и связей для поиска и извлечения данных из графа. Аналог SQL для графов.<br /><br /><strong>Embedding (Встраивание / Векторное представление)</strong><br />Процесс преобразования данных (текста, узлов графа и т.д.) в числовые векторы таким образом, чтобы семантически схожие элементы имели близкие векторы в многомерном пространстве. Используется в векторном поиске.<br /><br /><strong>Entity (Сущность / Объект)</strong><br />Предмет, событие, концепция или любой другой элемент реального мира, который моделируется в графе знаний. Представляется в виде узла (Node).<br /><br /><strong>Formal Execution Mechanism (Формальный механизм выполнения)</strong><br />Ключевое преимущество Graph RAG. Означает, что сгенерированный LLM запрос (Cypher) реально выполняется на графовой базе данных. Результаты основаны на фактических данных и связях в графе, что повышает надежность и проверяемость ответа по сравнению с прямым выводом LLM.<br /><br /><strong>Function Calling (Вызов функции)</strong><br />Функциональность API больших языковых моделей (например, OpenAI), позволяющая модели не просто генерировать текст, но и запрашивать выполнение заранее определенных функций (например, функции для выполнения Cypher-запроса) и использовать результат для формирования итогового ответа.<br /><br /><strong>Graph Database (База данных графов)</strong><br />Тип базы данных, оптимизированный для хранения и обработки данных в виде графовой структуры (узлы, связи, свойства). Примеры: Neo4j.<br /><br /><strong>Graph RAG (GraphRec)</strong><br />Разновидность RAG, где источником знаний для LLM выступает граф знаний (Knowledge Graph). LLM генерирует запрос (например, Cypher) к графовой базе данных для извлечения точной, структурированной информации, которая затем используется для генерации ответа.<br /><br /><strong>Knowledge Graph (Граф знаний / КГ)</strong><br />Структура данных, которая представляет информацию в виде сети связанных сущностей (узлов) и их отношений (связей/ребер). Позволяет моделировать сложные взаимосвязи и выполнять семантический поиск. Также называется Семантической сетью (Semantic Network).<br /><br /><strong>LLM (Large Language Model / Большая языковая модель)</strong><br />Тип ИИ-модели (например, GPT-4), обученный на огромных объемах текстовых данных, способный понимать, генерировать и обрабатывать человеческий язык, а также генерировать код (включая Cypher).<br /><br /><strong>Neo4j</strong><br />Популярная графовая база данных, используемая в демонстрации видео для хранения и запроса графа знаний с помощью Cypher.<br /><br /><strong>Node (Узел)</strong><br />Основной элемент графа знаний, представляющий сущность (например, пациент, врач, лекарство, болезнь).<br /><br /><strong>Ontology (Онтология)</strong><br />Формальное описание структуры графа знаний. Определяет типы узлов, типы связей между ними и их свойства (атрибуты). По сути, это схема графовой базы данных.<br /><br /><strong>Pipeline (Конвейер)</strong><br />Последовательность шагов или процессов, через которые проходят данные или запрос в системе. В контексте видео — конвейер обработки запроса в системе RAG (например, запрос -&gt; генерация Cypher -&gt; выполнение Cypher -&gt; получение результатов -&gt; генерация ответа LLM).<br /><br /><strong>Pydantic</strong><br />Библиотека Python, упомянутая в видео для определения моделей данных (структуры узлов и их свойств), что помогает в создании и валидации онтологии графа.<br /><br /><strong>RAG (Retrieval-Augmented Generation / Генерация с дополненным извлечением)</strong><br />Техника ИИ, при которой LLM перед генерацией ответа извлекает релевантную информацию из внешнего источника знаний (например, базы данных, набора документов, графа знаний), чтобы сделать ответ более точным, актуальным и обоснованным.<br /><br /><strong>Relationship (Связь / Ребро)</strong><br />Элемент графа знаний, соединяющий два узла и описывающий тип их взаимосвязи (например, "прописан", "лечит", "специализируется на").<br /><br /><strong>Semantic Network (Семантическая сеть)</strong><br />Синоним графа знаний, подчеркивающий, что связи в сети несут смысловую (семантическую) нагрузку.<br /><br /><strong>Transpiler (Транспилятор)</strong><br />В контексте видео, LLM выступает как транспилятор, преобразуя запрос на одном языке (естественный язык) в код на другом языке (Cypher).<br /><br /><strong>Triple (Тройка / Триплет)</strong><br />Базовая единица представления данных в графе знаний, состоящая из трех частей: Субъект (узел) - Предикат (связь) - Объект (узел или значение). Пример: (Пациент А) - [ПРОПИСАН] -&gt; (Магний).<br /><br /><strong>Vector Search (Векторный поиск)</strong><br />Метод поиска информации, основанный на сравнении векторных представлений (embeddings) запроса и данных. Находит наиболее "близкие" по смыслу фрагменты данных. Часто используется в RAG для неструктурированных данных (текста), но, как показано в видео, может быть менее точным для структурированных запросов (подсчеты, связи), чем Graph RAG.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Neo4j</strong><br />Сайт: <a href="https://neo4j.com/" target="_blank" rel="noreferrer noopener">https://neo4j.com/</a><br />Документация Cypher: <a href="https://neo4j.com/docs/cypher-manual/current/" target="_blank" rel="noreferrer noopener">https://neo4j.com/docs/cypher-manual/current/</a><br />Ведущая платформа графовых баз данных, использованная в демонстрации. На сайте можно найти документацию, примеры, информацию о языке запросов Cypher и скачать саму базу данных.<br /><br /><strong>OpenAI</strong><br />Сайт: <a href="https://openai.com/" target="_blank" rel="noreferrer noopener">https://openai.com/</a><br />Документация API: <a href="https://platform.openai.com/docs/" target="_blank" rel="noreferrer noopener">https://platform.openai.com/docs/</a><br />Компания-разработчик LLM (GPT-4), использованных в видео. Документация API содержит информацию о моделях, ценах и функциональности (включая Function Calling). OpenAI Academy - образовательная инициатива, организатор мероприятия.<br /><br /><strong>Pydantic</strong><br />Документация: <a href="https://docs.pydantic.dev/" target="_blank" rel="noreferrer noopener">https://docs.pydantic.dev/</a><br />Библиотека Python, которая использовалась для определения структуры данных (онтологии) узлов графа перед загрузкой в Neo4j.<br /><br /><strong>Synthea™ Patient Generator</strong><br /><a href="https://synthetichealth.github.io/synthea/" target="_blank" rel="noreferrer noopener">https://synthetichealth.github.io/synthea/</a><br />Инструмент с открытым исходным кодом для генерации синтетических медицинских записей (данных пациентов), подобных тем, что использовались для наполнения графа в демонстрации.<br /><br /><strong>LlamaIndex</strong><br /><a href="https://www.llamaindex.ai/" target="_blank" rel="noreferrer noopener">https://www.llamaindex.ai/</a><br />Фреймворк для создания приложений на базе LLM, упрощающий подключение к различным источникам данных, включая графовые БД. Упомянут в Q&amp;amp;A.<br /><br /><strong>LangChain</strong><br /><a href="https://www.langchain.com/" target="_blank" rel="noreferrer noopener">https://www.langchain.com/</a><br />Еще один популярный фреймворк для разработки приложений с использованием LLM, также упомянут в Q&amp;amp;A как возможный инструмент.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Fine-Tuning Open AI на Практике  - Учимся за Час</title>
			<link>https://course.aiacademy.me/tpost/xum4d3v2x1-fine-tuning-open-ai-na-praktike-uchimsya</link>
			<pubDate>Wed, 09 Apr 2025 01:15:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild3338-3031-4164-b866-663137346239/fine-tuning_openai_n.png" type="image/png"/>
			<description>Узнайте все о тонкой настройке моделей OpenAI: лучшие практики, когда использовать fine-tuning вместо RAG, и как адаптировать GPT-4/3.5 Turbo под ваши задачи.</description>
			<turbo:content>
<![CDATA[<header><h1>Fine-Tuning Open AI на Практике  - Учимся за Час</h1></header><figure><img src="https://static.tildacdn.com/tild3338-3031-4164-b866-663137346239/fine-tuning_openai_n.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~56 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">⚙️</div>
            <div class="intro-content">
                <strong>Что такое Fine-Tuning:</strong> Поймете суть тонкой настройки LLM (GPT-4, 3.5 Turbo) для адаптации под специфические задачи, изменения стиля, формата или поведения (но не для добавления новых знаний).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Когда использовать:</strong> Узнаете, в каких случаях fine-tuning эффективен (сложные инструкции, кастомный стиль, экономия токенов, дистилляция) и чем он отличается от RAG.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🛠️</div>
            <div class="intro-content">
                <strong>Процесс настройки:</strong> Освоите шаги: подготовка качественных данных (JSONL, 50-100+ примеров), запуск задачи через API, настройка гиперпараметров и важность этапа оценки модели.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🚀</div>
            <div class="intro-content">
                <strong>Практические примеры:</strong> Увидите реальные кейсы: улучшение Function Calling для дрона-ассистента и опыт компании Kursor в применении fine-tuning для AI-помощника в кодировании.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 09.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
            Тонкая настройка LLM
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
            OpenAI API
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
            На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239018" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов </h2><div class="t-redactor__text"><strong>Fine-tuning (Тонкая настройка)</strong><br />Процесс адаптации предварительно обученной базовой модели (например, GPT-3.5 Turbo, GPT-4) к конкретной задаче или стилю путем обновления её весовых коэффициентов (параметров) на новом наборе обучающих данных (примеры "промпт-ответ").<br /><br /><strong>Base Model (Базовая модель)</strong><br />Исходная, предварительно обученная LLM (например, GPT-4), которая используется как отправная точка для fine-tuning.<br /><br /><strong>RAG (Retrieval-Augmented Generation)</strong><br />Техника ИИ, при которой LLM дополняет свои знания информацией, извлеченной из внешних источников во время генерации ответа. Сравнивается с fine-tuning: RAG лучше для добавления новых фактов, fine-tuning — для формы/поведения.<br /><br /><strong>Prompting (Промптинг / Подсказки)</strong><br />Метод управления поведением LLM путем предоставления инструкций и/или примеров во входном запросе. Обычно первый шаг перед fine-tuning.<br /><br /><strong>In-context learning (Обучение в контексте)</strong><br />Способность LLM учиться на примерах, предоставленных прямо в промпте (без изменения весов модели).<br /><br /><strong>Parameter / Weight (Параметр / Вес)</strong><br />Внутренние значения модели, которые изменяются во время fine-tuning и определяют её поведение.<br /><br /><strong>Dataset (Набор данных)</strong><br />Коллекция примеров (пары "промпт-ожидаемый ответ"), используемых для обучения (fine-tuning) или оценки модели. Важно высокое качество и репрезентативность. Рекомендуется начинать с 50-100 примеров.<br /><br /><strong>Evaluation (Оценка)</strong><br />Процесс проверки производительности дообученной модели. Важно использовать не только метрики обучения (loss, accuracy), но и оценивать качество на реальных задачах или с помощью продвинутых методов (например, GPT-4 как оценщик).<br /><br /><strong>Style / Tone / Format / Behavior (Стиль / Тон / Формат / Поведение)</strong><br />Аспекты вывода модели, которые хорошо поддаются изменению с помощью fine-tuning.<br /><br /><strong>Form vs. Facts (Форма, а не факты)</strong><br />Ключевой принцип: fine-tuning отлично подходит для обучения модели как отвечать (стиль, формат), но плохо подходит для обучения новым фактам (для этого лучше RAG). Попытка обучить фактам может привести к галлюцинациям.<br /><br /><strong>Distillation (Дистилляция)</strong><br />Использование fine-tuning для обучения меньшей модели (например, 3.5 Turbo) поведению большей модели (например, GPT-4) на конкретной задаче, чтобы снизить стоимость и задержку.<br /><br /><strong>JSONL:</strong><br />Формат файла (JSON Lines), требуемый OpenAI для данных fine-tuning, где каждая строка — JSON-объект с диалогом в формате Chat Completions.<br /><br /><strong>Hyperparameters (Гиперпараметры)</strong><br />Настройки процесса fine-tuning, управляющие обучением:<br />Epochs (Эпохи): Количество полных проходов по обучающему датасету.<br />Batch Size (Размер пакета): Количество примеров, обрабатываемых за одну итерацию.<br />Learning Rate Multiplier (Множитель скорости обучения): Коэффициент скорости адаптации модели.<br /><br /><strong>Function Calling (Вызов функции)</strong><br />Возможность LLM вызывать внешние инструменты/API. В демо fine-tuning использовался для улучшения точности выбора и вызова нужной функции, включая функцию отказа (reject_request).<br /><br /><strong>Synthetic Data (Синтетические данные)</strong><br />Обучающие данные, сгенерированные искусственно (например, с помощью GPT-4), а не собранные из реальных источников. Использовались в демо.<br /><br /><strong>Overfitting (Переобучение)</strong><br />Ситуация, когда модель слишком сильно подстраивается под обучающие данные и плохо обобщает на новые примеры.<br /><br /><strong>Metrics (Метрики)</strong><br />Количественные показатели для оценки модели (например, loss, accuracy во время обучения; BLEU, ROUGE, оценка GPT-4 для качества генерации).<br /><br /><strong>Re-ranking (Повторное ранжирование)</strong><br />Техника (использовалась Kursor), где результаты первоначального поиска (например, векторного) дополнительно сортируются по релевантности с помощью другой модели (возможно, fine-tuned) перед подачей в LLM.<br /><br /><strong>Calibration (Калибровка)</strong><br />Процесс настройки выходных данных модели (например, оценок релевантности), чтобы они были согласованными и использовали всю доступную шкалу. Fine-tuning помог Kursor с калибровкой в задаче re-ranking.<br /><br /><strong>Continual fine-tuning (Постоянная тонкая настройка / Непрерывное дообучение)</strong><br />Возможность итеративно дообучать уже настроенную модель на новых данных для её улучшения или исправления ошибок.</div><h3  class="t-redactor__h3">Полезные ссылки</h3><div class="t-redactor__text"><strong>Документация OpenAI по Fine-Tuning</strong><br /><a href="https://platform.openai.com/docs/guides/fine-tuning" target="_blank" rel="noreferrer noopener">https://platform.openai.com/docs/guides/fine-tuning</a><br />Основной официальный ресурс по тонкой настройке моделей OpenAI. Содержит руководство по подготовке данных, запуску задач, оценке, API и лучшим практикам.<br /><br /><strong>OpenAI Cookbook - Рецепты Fine-Tuning</strong><br /><a href="https://cookbook.openai.com/examples/how_to_finetune_chat_models" target="_blank" rel="noreferrer noopener">https://cookbook.openai.com/examples/how_to_finetune_chat_models</a><br />Коллекция практических примеров кода (Jupyter Notebooks), демонстрирующих различные техники работы с API OpenAI, включая, вероятно, упомянутые в видео примеры тонкой настройки Function Calling и методы оценки.<br /><br /><strong>Документация OpenAI API</strong><br /><a href="https://platform.openai.com/docs/" target="_blank" rel="noreferrer noopener">https://platform.openai.com/docs/</a><br />Описание: Общая документация по API OpenAI, необходимая для понимания форматов запросов/ответов и взаимодействия с моделями.<br /><br /><strong>Cursor</strong><br /><a href="https://www.cursor.com/" target="_blank" rel="noreferrer noopener">https://www.cursor.com/</a><br />Сайт компании Cursor, представившей в видео свой опыт использования fine-tuning для создания AI-помощника в программировании.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Оценки (Evals) OpenAI на Практике  - Учимся за Час</title>
			<link>https://course.aiacademy.me/tpost/b3hb24lt11-otsenki-evals-openai-na-praktike-uchimsy</link>
			<pubDate>Wed, 09 Apr 2025 01:30:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild3761-6432-4265-a634-666461383835/evals_open_ai_on_pra.png" type="image/png"/>
			<description>Узнайте, почему оценка (evals) моделей OpenAI критически важна. Лекция охватывает лучшие практики для LLM, типы оценок (код, AI) и как строить надежные AI-системы</description>
			<turbo:content>
<![CDATA[<header><h1>Оценки (Evals) OpenAI на Практике  - Учимся за Час</h1></header><figure><img src="https://static.tildacdn.com/tild3761-6432-4265-a634-666461383835/evals_open_ai_on_pra.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~57 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🎯</div>
            <div class="intro-content">
                <strong>Зачем нужны Оценки (Evals):</strong> Поймете, почему систематическая оценка LLM-приложений — ключ к быстрой разработке, надежности продукта и уверенному достижению бизнес-целей.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📊</div>
            <div class="intro-content">
                <strong>Виды и Уровни Оценок:</strong> Изучите типы: детерминированные (код, точное совпадение), модельные (LLM как судья для оценки нюансов), ручные (человек). Поймете уровни зрелости процесса оценки в компании.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🛠️</div>
            <div class="intro-content">
                <strong>Практический Воркфлоу:</strong> Освоите шаги создания системы оценки: определение целей → критерии "хорошо/плохо" → создание датасета (синтетика + ревью) → имплементация (пример с `promptfoo`) → итерации.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✨</div>
            <div class="intro-content">
                <strong>Продвинутые Техники:</strong> Узнаете, как оценивать самих оценщиков (мета-оценка), использовать LLM для ускорения создания датасетов и тестов, и какие лучшие практики применять для эффективных Evals.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 09.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
            Оценка LLM-приложений
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
            Evals / Тестирование AI
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
            На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239019" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Evals / Evaluations (Оценки)</strong><br />Процесс систематического измерения производительности LLM или AI-системы по сравнению с определенным стандартом (ground truth) для обеспечения точности, надежности и соответствия целям продукта.</div><div class="t-redactor__text"><strong>Criteria (Критерии)</strong><br />Четко определенные правила или стандарты, описывающие, что считается "хорошим" или "плохим" результатом работы модели для конкретной задачи. Основа для любой оценки.<br /><br /><strong>Deterministic Evals (Детерминированные оценки)</strong><br />Тип оценки, основанный на выполнении точных правил или кода (например, проверка наличия подстроки, соответствие формату JSON, точное совпадение, расчет классических метрик NLP типа BLEU/ROUGE).<br /><br /><strong>Model-based Evals (Оценки с помощью моделей / Оценки по модели)</strong><br />Использование другой LLM (часто GPT-4) в качестве "судьи" для оценки качества вывода основной модели по заданным критериям (например, релевантность, обоснованность, стиль, отсутствие галлюцинаций).<br /><br /><strong>Human Evaluation (Оценка человеком)</strong><br />Привлечение людей для оценки качества вывода модели, особенно для субъективных критериев или для создания "золотого стандарта".<br /><br /><strong>Golden Standard / Ground Truth (Золотой стандарт / Эталонный ответ)</strong><br />Набор идеальных или корректных выходных данных, созданный (часто вручную), с которым сравниваются ответы модели в процессе оценки.<br /><br /><strong>Eval Dataset / Test Set (Набор данных для оценки / Тестовый набор)</strong><br />Репрезентативная выборка входных данных и соответствующих им эталонных ответов (ground truth), используемая для тестирования модели. Должен включать примеры разной сложности, включая крайние случаи (edge cases).<br /><br /><strong>Hallucination (Галлюцинация)</strong><br />Генерация моделью правдоподобной, но фактически неверной или не основанной на предоставленном контексте информации.<br /><br /><strong>Groundedness / Faithfulness (Обоснованность / Верность контексту)</strong><br />Критерий оценки, проверяющий, что ответ модели строго основан на предоставленной ей информации (контексте).<br /><br /><strong>promptfoo</strong><br />Инструмент с открытым исходным кодом, продемонстрированный в видео для создания, запуска и визуализации результатов автоматизированных оценок.<br /><br /><strong>Bias (in evaluators) (Предвзятость оценщика)</strong><br />Систематические искажения при использовании LLM в качестве оценщика (например, предпочтение более длинных ответов, позиционная предвзятость).<br /><br /><strong>Levels of Evaluation Maturity (Уровни зрелости оценки)</strong><br />Концепция развития процесса оценки: от интуитивных проверок (Уровень 1) к автоматизированным тестам (Уровень 2) и до полного цикла с мониторингом в продакшене (Уровень 3).<br /><br /><strong>Accuracy / Precision / Recall / F1 Score:</strong><br />Стандартные метрики для оценки задач классификации или извлечения информации.<br /><br /><strong>NLP Metrics (BLEU, ROUGE):</strong><br />Классические метрики для оценки качества машинного перевода или реферирования путем сравнения последовательностей слов с эталоном.<br /><br /><strong>Synthetic Data Generation (Генерация синтетических данных)</strong><br />Использование LLM для создания искусственных примеров для оценочного датасета. Требует последующей проверки человеком.<br /><br /><strong>Labeling / Annotation (Разметка данных)</strong><br />Процесс создания эталонных ответов (ground truth) для оценочного датасета, часто выполняемый вручную.<br /><br /><strong>Chain of Thought (Цепочка мыслей)</strong><br />Метод промптинга, при котором модель просят пошагово объяснить свое рассуждение. Полезен для повышения надежности LLM-оценщика.<br /><br /><strong>Edge Cases (Крайние / Сложные случаи)</strong><br />Нетипичные или сложные входные данные, важные для проверки устойчивости модели.<br /><br /><strong>Monitoring (Мониторинг)</strong><br />Отслеживание производительности модели и сбор обратной связи после развертывания в продакшене.<br /><br /><strong>Distillation (Дистилляция)</strong><br />Процесс обучения меньшей модели поведению большей модели. Упомянут в контексте продукта OpenAI Evals.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Promptfoo</strong><br /><a href="https://www.promptfoo.dev/" target="_blank" rel="noreferrer noopener">https://www.promptfoo.dev/</a><br />Инструмент с открытым исходным кодом для тестирования и оценки LLM-промптов и моделей, который использовался в демонстрации видео. Позволяет легко настраивать детерминированные и модельные проверки.<br /><br /><strong>Документация OpenAI по Оценкам (Evals) / Рецепты (Cookbook)</strong><br /><a href="https://platform.openai.com/docs/guides/evals" target="_blank" rel="noreferrer noopener">https://platform.openai.com/docs/guides/evals</a><br /><a href="https://cookbook.openai.com/examples/evaluation/getting_started_with_openai_evals" target="_blank" rel="noreferrer noopener">https://cookbook.openai.com/examples/evaluation/getting_started_with_openai_evals</a><br />Официальные ресурсы OpenAI, где можно найти подходы к оценке LLM-приложений, примеры кода, лучшие практики и, возможно, информацию о собственном фреймворке OpenAI Evals.<br /><br /><strong>RAGAS (или аналогичные фреймворки оценки RAG)</strong><br /><a href="https://github.com/explodinggradients/ragas" target="_blank" rel="noreferrer noopener">https://github.com/explodinggradients/ragas</a><br />Фреймворк предназначенный для оценки RAG-систем.<br /><br /></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>OpenAI Real-time API: Создаем Голосовые AI с Низкой Задержкой — Практическое Руководство и Демо</title>
			<link>https://course.aiacademy.me/tpost/t6c3rhkbp1-openai-real-time-api-sozdaem-golosovie-a</link>
			<pubDate>Wed, 09 Apr 2025 13:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild3764-3138-4362-a633-613233636431/realtime-api.png" type="image/png"/>
			<description>Создавайте голосовые интерфейсы нового поколения! Лекция по OpenAI Real-time API: сравнение с Chat Completions, WebSockets, Function Calling, примеры кода и стратегии для реальных проектов.
</description>
			<turbo:content>
<![CDATA[<header><h1>OpenAI Real-time API: Создаем Голосовые AI с Низкой Задержкой — Практическое Руководство и Демо</h1></header><figure><img src="https://static.tildacdn.com/tild3764-3138-4362-a633-613233636431/realtime-api.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~60 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">↔️</div>
            <div class="intro-content">
                <strong>Realtime API vs Chat Completions:</strong> Разберетесь, когда использовать новый Realtime API (для живого диалога, низкой задержки) и когда — аудио в Chat Completions API (для пакетной обработки). Поймете эволюцию мультимодальности в OpenAI.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔌</div>
            <div class="intro-content">
                <strong>Основы Realtime API и WebSockets:</strong> Поймете, как работает двусторонняя потоковая передача через веб-сокеты, какие основные события (`input_audio_buffer_append`, `response_audio_delta`) нужны для базового аудио-приложения.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🏗️</div>
            <div class="intro-content">
                <strong>Практическая Реализация:</strong> Увидите пошаговое создание простого голосового приложения с нуля (на Next.js), включая обработку потоков аудио на входе/выходе (самая нетривиальная часть!) и вопросы безопасности API ключей.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✨</div>
            <div class="intro-content">
                <strong>Продвинутые Техники (Function Calling):</strong> Изучите, как вызывать функции в Realtime API, особенно асинхронные (долгие), используя паттерны вроде "возврата ожидания" или "проверки статуса", чтобы не блокировать диалог.
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Лучшие Практики:</strong> Узнаете важные советы: начинать просто, использовать готовые шаблоны (Realtime Console), не перегружать модель, уважать время пользователя, обрабатывать прерывания и использовать транскрипты для UI.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 09.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             Realtime Audio API / Голосовые AI
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI API / WebSockets / Function Calling
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239020" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Хотите создавать голосовые приложения, которые реагируют на речь пользователя мгновенно? Это видео — практическое руководство по OpenAI Real-time API для разработчиков. Показываем на примере, как настроить потоковую передачу аудио через WebSockets, использовать вызов функций (Function Calling) для интеграции с внешними сервисами и обрабатывать ответы модели с минимальной задержкой. Разбираем тонкости работы с аудиопотоками и делимся советами, чтобы ваши голосовые интерфейсы работали быстро и надежно.</div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>API (Application Programming Interface / Интерфейс Прикладного Программирования):</strong> Набор правил и протоколов, позволяющий разным программам "общаться" друг с другом. В контексте лекции — способ взаимодействия с моделями OpenAI.<br /><br /><strong>API Реального Времени (Real-time API):</strong> Новый API от OpenAI, оптимизированный для двусторонней передачи аудиопотока с низкой задержкой, идеально подходит для живых диалоговых интерфейсов. Работает через WebSockets.<br /><br /><strong>Асинхронность (Asynchronous):</strong> Способ выполнения операций, при котором задача может быть запущена, и программа продолжает работу, не дожидаясь ее завершения. Важно при вызове функций в Realtime API, которые могут выполняться долго.<br /><br /><strong>Аудио в Chat Completions API: </strong>Альтернативный способ работы с аудио в OpenAI, где аудио отправляется как часть запроса к стандартному API диалогов. Больше подходит для пакетной обработки или когда низкая задержка менее критична.<br /><br /><strong>Base64: </strong>Схема кодирования бинарных данных (как аудио) в текстовый формат ASCII. Используется для передачи аудиофрагментов через WebSocket.<br /><br /><strong>WebSocket (Веб-сокет):</strong> Технология связи, позволяющая установить постоянное двустороннее соединение между клиентом (браузером) и сервером. Основа для работы Realtime API. Позволяет отправлять и получать данные (события) без необходимости постоянно устанавливать новое соединение.<br /><br /><strong>Whisper (Виспер): </strong>Модель OpenAI для распознавания речи (преобразования аудио в текст, транскрипции). Используется в Realtime API для транскрибирования речи пользователя.<br /><br /><strong>Вызов Функций (Function Calling):</strong> Возможность модели API не только генерировать текст/речь, но и запрашивать вызов внешних функций (например, для получения погоды, данных из БД, отправки email), определенных разработчиком.<br /><br /><strong>GPT-4 / GPT-4o: </strong>Продвинутые большие языковые модели от OpenAI. GPT-4o является нативно мультимодальной (текст, аудио, изображения).<br /><br /><strong>Задержка (Latency): </strong>Время, проходящее между отправкой запроса (или началом речи) и получением ответа (или началом ответной речи). Ключевой параметр для Realtime API, который стремится его минимизировать.<br /><br /><strong>Мультимодальность (Multimodality): </strong>Способность модели обрабатывать и генерировать информацию в разных форматах (модальностях), таких как текст, изображения, аудио.<br /><br /><strong>Next.js:</strong> Популярный фреймворк для создания веб-приложений на базе React, использовался в демонстрации.<br /><br /><strong>Ограждения (Guardrails): </strong>Меры и механизмы для обеспечения безопасности, этичности и соответствия ответов модели заданным правилам.<br /><br /><strong>Пакетная Обработка (Batch Processing):</strong> Обработка данных группами (пакетами), а не по одному элементу или в реальном времени. Характерно для Audio in Chat Completions API.<br /><br /><strong>Подсказка / Промпт (Prompt): </strong>Инструкции, подаваемые модели для управления ее поведением и генерацией ответа. Включает системное сообщение и историю диалога.<br /><br /><strong>Потоковая Передача (Streaming):</strong> Передача данных непрерывным потоком по мере их готовности, а не ожидая полного формирования ответа. Используется как в Realtime API (для входа и выхода), так и в Chat Completions (для выхода текста).<br /><br /><strong>Прерывание Голоса (Voice Interruption / Barge-in)</strong>: Возможность пользователя прервать говорящую модель своей речью. Realtime API может обрабатывать это автоматически.<br /><br /><strong>Прокси (Proxy):</strong> Промежуточный сервер, который выступает посредником между клиентом и конечным сервером (в данном случае, API OpenAI). Используется для безопасного хранения API ключа.<br /><br /><strong>Realtime Console: </strong>Репозиторий с открытым исходным кодом от OpenAI, предоставляющий шаблон и удобные абстракции для начала работы с Realtime API.<br /><br /><strong>События (Events):</strong> Сообщения, которыми обмениваются клиент и сервер через WebSocket в Realtime API (например, session_update, input_audio_buffer_append, response_audio_delta).<br /><br /><strong>Системное Сообщение (System Message / System Prompt):</strong> Часть промпта, которая задает модели ее роль, личность, инструкции по поведению.<br /><br /><strong>Схема (Schema): </strong>Структурированное описание (обычно в формате JSON Schema), которое определяет параметры и назначение функции для механизма Function Calling.<br /><br /><strong>Телефония (Telephony):</strong> Технологии, связанные с телефонной связью. Упоминается как один из сценариев использования Realtime API (например, с Twilio).<br /><br /><strong>Транскрипция (Transcription):</strong> Процесс преобразования речи в текст.<br /><br /><strong>Текст в Речь (Text-to-Speech / TTS):</strong> Технология преобразования письменного текста в устную речь. Используется моделями OpenAI для генерации аудиоответов.<br /><br /><strong>Фрагмент (Chunk):</strong> Небольшая порция данных (например, аудио), передаваемая в потоковом режиме.<br /><br /><strong>Фронтенд / Бэкенд (Frontend / Backend): </strong>Части веб-приложения. Фронтенд - то, с чем взаимодействует пользователь в браузере. Бэкенд - серверная часть, обрабатывающая логику и данные.<br /><br /><strong>WebRTC (Web Real-Time Communication):</strong> Набор технологий и API, позволяющий передавать потоковые аудио-, видеоданные и обмениваться произвольными данными между браузерами (peer-to-peer) или с сервером. Упоминался в контексте продакшен-решений с провайдерами вроде LiveKit.<br /><br /><strong>LiveKit: </strong>Платформа с открытым исходным кодом для создания масштабируемых приложений реального времени с использованием WebRTC. Упоминалась как рекомендуемый вариант для продакшена.<br /><br /><strong>Twilio:</strong> Облачная коммуникационная платформа как услуга (CPaaS), предоставляющая API для телефонии, SMS, видео и т.д. Упоминалась в контексте телефонии.<br /><br /><strong>VAD (Voice Activity Detection / Детектор Голосовой Активности): </strong>Технология, определяющая наличие человеческой речи в аудиосигнале. Используется для управления тем, когда модель слушает, а когда говорит, и для обработки прерываний.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><a href="https://platform.openai.com/docs/guides/chat-completions" target="_blank" rel="noreferrer noopener">Chat Completions API</a>: Документация по стандартному API диалогов (включая обработку аудио).<br /><br /><a href="https://platform.openai.com/docs/guides/function-calling" target="_blank" rel="noreferrer noopener">Function Calling</a>: Подробное описание механизма вызова функций с моделями OpenAI.<br /><br /><a href="https://platform.openai.com/docs/guides/speech-to-text" target="_blank" rel="noreferrer noopener">Whisper API</a>: Документация по API для транскрипции речи (используется для распознавания речи пользователя в Realtime API).<br /><br /><a href="https://platform.openai.com/docs/guides/text-to-speech" target="_blank" rel="noreferrer noopener">Text-to-Speech (TTS) API</a>: Документация по API для генерации речи из текста.<br /><br /><a href="https://platform.openai.com/docs/guides/production-best-practices" target="_blank" rel="noreferrer noopener">Безопасность API ключей</a>: Рекомендации по безопасному управлению ключами API (упоминалось в контексте фронтенда/бэкенда).<br /><br /><strong>Инструменты и Примеры Кода:</strong><br /><a href="https://github.com/rajkumar060301/openai-realtime-voice-chat" target="_blank" rel="noreferrer noopener">Realtime Console (GitHub)</a>: Репозиторий с кодом консоли-примера, которая демонстрировалась во второй части лекции. Отличный стартовый шаблон.<br /><br /><a href="https://nextjs.org/" target="_blank" rel="noreferrer noopener">Next.js</a>: Фреймворк для React, который использовался для создания демонстрационного приложения "с нуля".<br /><br /><strong>Технологии:</strong><br /><a href="https://developer.mozilla.org/ru/docs/Web/API/WebSockets_API" target="_blank" rel="noreferrer noopener">WebSockets (MDN)</a>: Подробная техническая документация по технологии веб-сокетов, на которой основан Realtime API.<br /><br /><a href="https://developer.mozilla.org/ru/docs/Web/API/WebRTC_API" target="_blank" rel="noreferrer noopener">WebRTC (MDN)</a> / <a href="https://webrtc.org/" target="_blank" rel="noreferrer noopener">WebRTC.org</a>: Информация о технологии WebRTC, которая часто используется для создания надежных аудио/видео приложений в реальном времени (упоминалась в контексте LiveKit).<br /><br /><strong>Партнеры и Платформы:</strong><br /><a href="https://livekit.io/" target="_blank" rel="noreferrer noopener">LiveKit</a>: Платформа с открытым исходным кодом для создания масштабируемых приложений реального времени с использованием WebRTC (рекомендовалась для продакшен-сценариев).<br /><br /><a href="https://www.twilio.com/" target="_blank" rel="noreferrer noopener">Twilio</a>: Облачная коммуникационная платформа, предоставляющая API для телефонии и других видов связи (упоминалась как пример интеграции с телефонией).</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>OpenAI Function Calling (Tools): Интеграция API — Руководство</title>
			<link>https://course.aiacademy.me/tpost/onog5nvrt1-openai-function-calling-tools-integratsi</link>
			<pubDate>Wed, 09 Apr 2025 13:30:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild3962-6462-4639-b436-653466316531/function_calling_api.png" type="image/png"/>
			<description>Научитесь надежно интегрировать модели OpenAI с вашими API и данными с помощью Function Calling (Tools). Разбираем JSON schema, лучшие практики для точности, RAG, multi-agent архитектуры и примеры для продакшена.</description>
			<turbo:content>
<![CDATA[<header><h1>OpenAI Function Calling (Tools): Интеграция API — Руководство</h1></header><figure><img src="https://static.tildacdn.com/tild3962-6462-4639-b436-653466316531/function_calling_api.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~58 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">💡</div>
            <div class="intro-content">
                <strong>Что такое Function Calling (Tools API):</strong> Поймете, как модели OpenAI выбирают нужную функцию и генерируют JSON с аргументами для ваших API, не выполняя код напрямую. Узнаете основные сценарии использования: от вызова внешних API до извлечения структурированных данных.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">⚙️</div>
            <div class="intro-content">
                <strong>Механика Работы:</strong> Разберете пошаговый цикл вызова функций: определение схемы (`tools`), передача в Chat Completions API, получение JSON от модели, выполнение функции в вашем коде и (опционально) возврат результата модели для формирования ответа.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🎯</div>
            <div class="intro-content">
                <strong>Повышение Точности и Надежности:</strong> Освоите ключевые практики: написание четких описаний функций и параметров, использование перечислений (enum), создание функций-фолбэков (на случай неопределенности), правильное промптирование и оценка (evals) результатов.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🚀</div>
            <div class="intro-content">
                <strong>Применение в Продакшене (Multi-Agent & RAG):</strong> Изучите архитектуру многоагентных систем (агент-маршрутизатор L0, агенты L1) и как использовать RAG (Retrieval-Augmented Generation) для хранения сложных инструкций/workflow вместо десятков явных функций, чтобы справиться с большим количеством инструментов.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 09.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             Function Calling / Tools API
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI API / JSON Schema / Multi-Agent / RAG
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239021" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Нужно, чтобы ИИ-ассистент на OpenAI не просто генерировал текст, а вызывал ваши API и работал с реальными данными? Это практическое видео по Function Calling (или Tools API). Показываем, как описать функции с помощью JSON Schema, чтобы модель их поняла, как работает полный цикл вызова, и главное — как добиться стабильных и точных результатов. Разбираем лучшие практики: подробные описания, Enum, RAG, multi-agent подходы и обработку ошибок. Без воды, для разработчиков.</div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Agent (Агент):</strong> В контексте ИИ — система (обычно на базе LLM), способная воспринимать окружение, принимать решения и выполнять действия для достижения цели. Часто использует инструменты (Function Calling).<br /><br /><strong>API (Интерфейс Прикладного Программирования):</strong> Способ взаимодействия программ друг с другом. Здесь — интерфейс для работы с моделями OpenAI.<br /><br /><strong>Arguments / Parameters (Аргументы / Параметры):</strong> Входные данные, которые принимает функция для своей работы. Модель генерирует их в формате JSON при вызове функции.<br /><br /><strong>Chat Completions API:</strong> Основной API OpenAI для работы с диалоговыми моделями (GPT-3.5, GPT-4), через который реализуется Function Calling.<br /><br /><strong>Cookbook (Сборник Рецептов OpenAI):</strong> Репозиторий с практическими примерами кода и руководствами по использованию различных возможностей OpenAI API.<br /><br /><strong>DataCamp:</strong> Образовательная онлайн-платформа, где упоминался курс по Function Calling.<br /><br /><strong>Enum (Перечисление):</strong> Способ ограничить возможные значения для параметра функции, указывая допустимый список вариантов (например, размеры 'S', 'M', 'L'). Повышает надежность.<br /><br /><strong>Evals (Оценки):</strong> Процесс и фреймворк для систематического тестирования и оценки качества работы ИИ-моделей и приложений, включая точность вызова функций.<br /><br /><strong>Fallback Function (Функция-фолбэк):</strong> Запасная функция, которую модель может выбрать, если не уверена в основном действии или если запрос пользователя неясен (например, "задать уточняющий вопрос" или "передать человеку").<br /><br /><strong>Fine-tuning (Тонкая настройка):</strong> Процесс дообучения базовой модели OpenAI на ваших собственных данных для улучшения ее производительности в специфических задачах, например, для более точного выбора нужной функции из большого списка.<br /><br /><strong>Function Calling (Вызов Функций) / Tools API:</strong> Механизм, позволяющий модели Chat Completions API выбрать одну или несколько предопределенных разработчиком функций (инструментов) и сгенерировать структурированные данные (JSON) с аргументами для их вызова во внешнем коде. <em>Модель сама код не выполняет.</em><br /><br /><strong>JSON (JavaScript Object Notation):</strong> Легковесный текстовый формат обмена данными. Используется для определения схемы функций и для возврата аргументов моделью.<br /><br /><strong>JSON Schema:</strong> Стандарт описания структуры JSON-данных. Используется для формального определения параметров функций, их типов и обязательности для Function Calling.<br /><br /><strong>LangChain:</strong> Популярный фреймворк для разработки приложений на базе LLM, включая создание и управление агентами.<br /><br /><strong>Multi-Agent System (Многоагентная система):</strong> Архитектура, где несколько специализированных ИИ-агентов взаимодействуют для решения сложной задачи (например, агент-маршрутизатор L0, агенты-исполнители L1, система с человеком L2).<br /><br /><strong>NER (Named Entity Recognition / Распознавание Именованных Сущностей):</strong> Задача извлечения из текста именованных сущностей (имена, организации, даты, места). Function Calling может использоваться для структурированного извлечения.<br /><br /><strong>Parallel Function Calling (Параллельный вызов функций):</strong> Возможность модели за один ответ запросить вызов нескольких функций одновременно (поддерживается только синтаксисом tools).<br /><br /><strong>Prompt (Промпт / Подсказка):</strong> Входные данные для модели, включающие инструкции (системный промпт) и историю диалога, которые направляют ее ответ.<br /><br /><strong>Prompt Injection (Атака на промпт):</strong> Попытка заставить модель игнорировать исходные инструкции и выполнить вредоносные или нежелательные действия с помощью специально сконструированного пользовательского ввода. Function Calling может частично снизить риск.<br /><br /><strong>RAG (Retrieval-Augmented Generation / Генерация с Привлечением Данных):</strong> Подход, при котором модель перед генерацией ответа получает релевантную информацию из внешней базы знаний (найденную по запросу пользователя). Используется для повышения точности и предоставления актуальных данных, а также как альтернатива определению множества функций (инструкции хранятся в базе знаний).<br /><br /><strong>System Prompt (Системная подсказка):</strong> Часть промпта, задающая модели ее роль, контекст и общие инструкции по поведению. Может использоваться для напоминания о доступных инструментах.<br /><br /><strong>Tokens (Токены):</strong> Единицы, на которые разбивается текст при обработке моделью (слова, части слов, символы). От количества токенов зависит стоимость и ограничения контекстного окна. Определения функций (tools) также потребляют токены.<br /><br /><strong>tool_choice:</strong> Параметр в Chat Completions API, позволяющий управлять выбором функции моделью (автоматически, принудительно вызвать конкретную функцию, не вызывать функции).<br /><br /><strong>Context Window (Контекстное окно):</strong> Максимальный объем информации (в токенах), который модель может учитывать одновременно (включая промпт, историю диалога и определения tools).</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Документация OpenAI:</strong><br /><ul><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/function-calling" target="_blank" rel="noreferrer noopener">Function Calling Guide</a>: Основное руководство по использованию вызова функций (Tools API).</li><li data-list="bullet"><a href="https://platform.openai.com/docs/api-reference/chat" target="_blank" rel="noreferrer noopener">Chat Completions API</a>: Справочник по API, где используются tools и tool_choice.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/fine-tuning" target="_blank" rel="noreferrer noopener">Fine-tuning Guide</a>: Руководство по тонкой настройке моделей OpenAI.</li><li data-list="bullet"><a href="https://github.com/openai/evals" target="_blank" rel="noreferrer noopener">OpenAI Evals Framework (GitHub)</a>: Фреймворк для оценки моделей и приложений.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/models" target="_blank" rel="noreferrer noopener">Models (Context Limits)</a>: Информация о моделях и их ограничениях контекстного окна.</li></ul><br /><strong>OpenAI Cookbook (Примеры кода):</strong><br /><ul><li data-list="bullet"><a href="https://cookbook.openai.com/" target="_blank" rel="noreferrer noopener">Cookbook Home</a>: Главная страница сборника рецептов.</li><li data-list="bullet"><a href="https://cookbook.openai.com/examples/how_to_call_functions_with_chat_models" target="_blank" rel="noreferrer noopener">How to call functions with chat models</a>: Базовый пример Function Calling.</li><li data-list="bullet"><a href="https://cookbook.openai.com/examples/fine_tuning_for_function_calling" target="_blank" rel="noreferrer noopener">Fine-tuning for function calling</a>: Пример тонкой настройки для улучшения выбора функций.</li><li data-list="bullet"><a href="https://cookbook.openai.com/examples/how_to_count_tokens_with_tiktoken" target="_blank" rel="noreferrer noopener">How to count tokens with tiktoken</a>: Как рассчитать количество токенов (важно для понимания лимитов).</li></ul><br /><strong>Внешние ресурсы:</strong><br /><ul><li data-list="bullet"><a href="https://json-schema.org/" target="_blank" rel="noreferrer noopener">JSON Schema</a>: Официальный сайт стандарта JSON Schema.</li><li data-list="bullet"><a href="https://python.langchain.com/docs/get_started/introduction" target="_blank" rel="noreferrer noopener">LangChain Documentation</a>: Документация фреймворка LangChain</li><li data-list="bullet"><a href="https://www.datacamp.com/" target="_blank" rel="noreferrer noopener">DataCamp</a>: Образовательная платформа</li></ul></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Создание AI Агентов с OpenAI: Руководство по Assistants API и Оркестрации</title>
			<link>https://course.aiacademy.me/tpost/lae98gv1o1-sozdanie-ai-agentov-s-openai-rukovodstvo</link>
			<pubDate>Wed, 09 Apr 2025 14:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild3934-3233-4262-b134-666630356630/image.png" type="image/png"/>
			<description>Создаем AI агентов на OpenAI: Assistants API vs Chat Completions. Демо: агент с Function Calling, multi-agent оркестрация (Handoff). Плюс лучшие практики для надежных систем.
</description>
			<turbo:content>
<![CDATA[<header><h1>Создание AI Агентов с OpenAI: Руководство по Assistants API и Оркестрации</h1></header><figure><img src="https://static.tildacdn.com/tild3934-3233-4262-b134-666630356630/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~58 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🧠</div>
            <div class="intro-content">
                <strong>Помощники vs Агенты vs Оркестрация:</strong> Разберетесь в терминологии и концептуальных различиях. Сравните Assistants API (stateful, встроенные инструменты) и Chat Completions API (stateless, function calling) чтобы выбрать подходящий инструмент для задачи.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🤖</div>
            <div class="intro-content">
                <strong>Создание простого Агента (Демо 1):</strong> Увидите пошаговую реализацию агента поддержки с нуля, используя Chat Completions API, структурированные промпты ("рутины") и Function Calling для выполнения действий и эскалации на человека.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔗</div>
            <div class="intro-content">
                <strong>Оркестрация и Multi-Agent Системы (Демо 2):</strong> Освоите паттерн "Handoff" (передача управления) для создания систем из нескольких агентов (агент-маршрутизатор + специализированные агенты) и научитесь динамически переключать контекст (инструкции, инструменты) между ними.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Лучшие Практики для Продакшена:</strong> Узнаете ключевые принципы создания надежных ИИ-систем: начинать просто, использовать детерминированный код для логики, четко ограничивать задачи ИИ, фокусироваться на частых сценариях и обязательно писать тесты (Evals).
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 09.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             AI Ассистенты / Агенты / Оркестрация
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI API / Assistants API / Function Calling / Multi-Agent
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239022" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Хотите создавать ИИ-агентов, которые не просто отвечают на вопросы, а выполняют многошаговые задачи и используют инструменты? Это практическое видео от разработчиков OpenAI. Разбираемся в терминах — Агент, Ассистент, Оркестрация — и сравниваем подходы: готовый Assistants API против гибкого Chat Completions API с Function Calling. Главное — показываем на реальном коде, как построить сначала простого агента поддержки (с "рутинами" и вызовом функций), а затем — систему из нескольких агентов с маршрутизацией ("Handoff"). Плюс — ключевые практики для создания надежных ИИ-систем в продакшене.</div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Agent (Агент):</strong> Концепция ИИ-системы, которая может воспринимать окружение, планировать (иногда), выполнять многошаговые действия и использовать инструменты (Function Calling) для достижения цели. Термин часто используется для более автономных или сложных систем, чем "Помощник".<br /><br /><strong>Assistants API:</strong> API от OpenAI, предназначенный для упрощения создания ИИ-помощников. Предоставляет встроенное управление состоянием (Threads), инструменты (Code Interpreter, Retrieval) и асинхронную работу.<br /><br /><strong>Chat Completions API:</strong> Основной API OpenAI для работы с диалоговыми моделями. Является более "низкоуровневым" по сравнению с Assistants API; требует от разработчика самостоятельного управления состоянием, контекстом и реализации инструментов через Function Calling.<br /><br /><strong>Code Interpreter (Интерпретатор Кода):</strong> Встроенный инструмент Assistants API, позволяющий ассистенту писать и выполнять Python-код в изолированной среде для анализа данных, вычислений, создания графиков и т.д.<br /><br /><strong>Evals (Оценки):</strong> Процесс и фреймворк для систематического тестирования и оценки качества и надежности работы ИИ-систем, включая агентов. В лекции подчеркивалась их важность.<br /><br /><strong>Function Calling / Tools API:</strong> Механизм (доступный в обоих API), позволяющий модели запрашивать вызов внешних функций, определенных разработчиком, для взаимодействия с реальным миром или получения данных.<br /><br /><strong>Handoff (Передача управления):</strong> Паттерн оркестровки, при котором один агент (обычно маршрутизатор) определяет намерение пользователя и передает управление диалогом другому, специализированному агенту.<br /><br /><strong>Hardcoded Logic (Жесткая / Закодированная логика):</strong> Использование обычного программного кода (if/else, циклы и т.д.) для принятия решений и управления потоком выполнения вместо того, чтобы полагаться на недетерминированное поведение LLM. Рекомендуется для повышения надежности.<br /><br /><strong>Klarna:</strong> Компания (упомянутая в кейс-стади), которая успешно внедрила многоагентную систему на базе OpenAI для автоматизации клиентской поддержки.<br /><br /><strong>Multi-Agent System (Многоагентная система):</strong> Архитектура, состоящая из нескольких ИИ-агентов, которые взаимодействуют друг с другом (или координируются оркестратором) для решения сложных задач, которые не под силу одному агенту.<br /><br /><strong>Nested Calls (Вложенные вызовы):</strong> Паттерн оркестровки, при котором выполнение одной функции, вызванной моделью, может инициировать новый вызов LLM (например, другого агента) внутри себя.<br /><br /><strong>Orchestration (Оркестрация):</strong> Процесс координации и управления взаимодействием между различными компонентами ИИ-системы, такими как несколько агентов, инструменты и базы данных, для достижения общей цели.<br /><br /><strong>Retrieval (Поиск / Ретривал):</strong> Встроенный инструмент Assistants API, позволяющий ассистенту искать и использовать информацию из предоставленных ему файлов или баз знаний.<br /><br /><strong>Routines ("Рутины"):</strong> Техника промптинга, продемонстрированная в лекции, где в системном сообщении задается четкая последовательность шагов (чек-лист), которой должен следовать агент при обработке запроса.<br /><br /><strong>Stateful / Stateless (С сохранением / Без сохранения состояния):</strong> Характеристика API. Stateful (Assistants API) означает, что API сам управляет историей диалога (Threads). Stateless (Chat Completions) означает, что разработчик должен сам передавать всю историю при каждом запросе.<br /><br /><strong>Threads (Темы / Потоки):</strong> Концепция в Assistants API, представляющая собой сессию диалога. API автоматически управляет сообщениями и контекстом внутри потока.<br /><br /><strong>Triage Agent / Router Agent (Агент-маршрутизатор / Сортировщик / L0):</strong> Первый агент в multi-agent системе (паттерн Handoff), задача которого — определить намерение пользователя и передать запрос соответствующему специализированному агенту (L1).</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Документация OpenAI:</strong><br /><ul><li data-list="bullet"><a href="https://platform.openai.com/docs/assistants/overview" target="_blank" rel="noreferrer noopener">Assistants API Overview</a>: Главная страница документации по Assistants API.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/assistants/how-it-works" target="_blank" rel="noreferrer noopener">Assistants API - How it Works</a>: Описание потоков, инструментов (Code Interpreter, Retrieval) и жизненного цикла.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/chat-completions" target="_blank" rel="noreferrer noopener">Chat Completions API</a>: Документация по альтернативному API для создания агентов "с нуля".</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/function-calling" target="_blank" rel="noreferrer noopener">Function Calling Guide</a>: Руководство по использованию Function Calling (инструментов).</li><li data-list="bullet"><a href="https://github.com/openai/evals" target="_blank" rel="noreferrer noopener">OpenAI Evals Framework (GitHub)</a>: Фреймворк для оценки моделей (важная лучшая практика).</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/prompt-engineering" target="_blank" rel="noreferrer noopener">Prompting Guide</a>: Общие советы по написанию промптов (полезно для "рутин" и инструкций агентам).</li></ul><br /><strong>Примеры и Стартовые Наборы:</strong><br /><ul><li data-list="bullet"><a href="https://github.com/openai/openai-assistants-quickstart" target="_blank" rel="noreferrer noopener">Assistants API Quickstart (GitHub)</a>: Репозиторий с простым приложением (Next.js), использующим Assistants API (упоминался в конце лекции).</li><li data-list="bullet"><a href="https://cookbook.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI Cookbook</a>: Сборник рецептов с различными примерами использования API.</li></ul><br /><strong>Кейс-стади:</strong><br /><ul><li data-list="bullet"><a href="https://openai.com/customer-stories/klarna/" target="_blank" rel="noreferrer noopener">Klarna AI assistant handles 2/3 of customer service chats</a>: Статья-история успеха Klarna с использованием ИИ-ассистента OpenAI.</li></ul></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Дистилляция Моделей OpenAI: Оптимизация Цены и Скорости</title>
			<link>https://course.aiacademy.me/tpost/9hj2fsxrz1-distillyatsiya-modelei-openai-optimizats</link>
			<pubDate>Wed, 09 Apr 2025 15:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild3231-3236-4062-b361-333062633330/distilliation.png" type="image/png"/>
			<description>Ускорьте и удешевите AI на OpenAI! Гайд по дистилляции: обучаем gpt-4o-mini на данных gpt-4o через Fine-tuning и Evals. Практический воркфлоу, примеры.</description>
			<turbo:content>
<![CDATA[<header><h1>Дистилляция Моделей OpenAI: Оптимизация Цены и Скорости</h1></header><figure><img src="https://static.tildacdn.com/tild3231-3236-4062-b361-333062633330/distilliation.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~53 минуты просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">⚗️</div>
            <div class="intro-content">
                <strong>Что такое Дистилляция Моделей:</strong> Поймете концепцию "дистилляции" — как обучить компактную модель (студента, например, <code>gpt-4o-mini</code>) воспроизводить качественные ответы большой модели (учителя, <code>gpt-4o</code>) для снижения затрат и задержки на конкретных задачах.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🛠️</div>
            <div class="intro-content">
                <strong>Платформа Дистилляции OpenAI:</strong> Узнаете о компонентах набора инструментов: логирование запросов (<code>Stored Completions</code>), легкий запуск Fine-tuning на основе логов или датасетов, и интегрированная система Оценок (Evals) для измерения производительности.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔄</div>
            <div class="intro-content">
                <strong>Практический Воркфлоу (Демо 1):</strong> Проследите полный цикл дистилляции на примере создания маршрутов: от логирования трафика <code>gpt-4o</code>, проведения экспериментов и оценок (Evals), до fine-tuning <code>gpt-4o-mini</code> и сравнения итоговой производительности, стоимости и задержки.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🎯</div>
            <div class="intro-content">
                <strong>Дистилляция для Конкретных Задач (Демо 2):</strong> Изучите, как применять дистилляцию для оптимизации отдельных компонентов сложных систем (например, классификатора или модуля guardrails в multi-agent workflow), решая, какие задачи подходят для дистилляции, а какие требуют более мощных моделей.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 09.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             Дистилляция Моделей / Fine-tuning / Evals
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI Platform / Оптимизация Моделей / Затраты / Задержка
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239023" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Используете gpt-4o для задач, где не нужна вся его мощь, и переплачиваете за скорость и токены? Узнайте, как работает дистилляция моделей на платформе OpenAI. Это практическое видео покажет, как обучить gpt-4o-mini выполнять конкретные задачи почти так же хорошо, но значительно дешевле и быстрее. Разбираем весь цикл на примерах: от сбора данных (логи) и fine-tuning до оценки качества с помощью Evals. Для разработчиков, которые хотят оптимизировать затраты и скорость своих ИИ-решений.</div><h2  class="t-redactor__h2">Словарь Терминов</h2><div class="t-redactor__text"><strong>AI Judge (ИИ-судья):</strong> Использование большой языковой модели (например, GPT-4) для оценки качества ответов другой модели на основе заданных критериев и промпта.<br /><br /><strong>Cookbook (Сборник Рецептов OpenAI):</strong> Репозиторий с практическими примерами кода и руководствами по использованию OpenAI API.<br /><br /><strong>Dataset (Набор данных / Датасет):</strong> Коллекция примеров (входные данные / ожидаемые выходные данные), используемая для обучения (fine-tuning) или оценки (evals) моделей.<br /><br /><strong>Distillation (Дистилляция моделей):</strong> Процесс обучения меньшей, более быстрой "модели-студента" (например, gpt-4o-mini) для имитации выходных данных большей, более мощной "модели-учителя" (например, gpt-4o) на специфическом наборе данных или задач. Цель — снизить стоимость и задержку, сохраняя приемлемое качество.<br /><br /><strong>Distillation Suite (Платформа / Набор инструментов для дистилляции):</strong> Совокупность интегрированных инструментов OpenAI (Stored Completions, Fine-tuning, Evals), упрощающих процесс дистилляции моделей.<br /><br /><strong>Evals (Оценки):</strong> Инструмент и процесс систематической оценки производительности ИИ-моделей на заданном наборе данных по определенным метрикам (включая AI Judge, семантическое сходство, пользовательские критерии и т.д.).<br /><br /><strong>Experiments (Эксперименты в Evals):</strong> Запуски моделей (или одной модели с разными параметрами/промптами) на одном и том же наборе данных в рамках Evals для сравнения их производительности.<br /><br /><strong>Fine-tuning (Тонкая настройка / Дообучение):</strong> Процесс адаптации предварительно обученной модели (например, gpt-4o-mini) на специфическом наборе данных для улучшения ее производительности в конкретной задаче или стиле. Является ключевым шагом в дистилляции.<br /><br /><strong>Guardrails (Ограничения / Защитные механизмы):</strong> Модули или проверки (например, на токсичность, релевантность, соответствие политике), которые анализируют ввод или вывод модели. Хороший кандидат для дистилляции из-за обычно бинарного характера оценки (да/нет).<br /><br /><strong>JSONL (JSON Lines):</strong> Текстовый формат файла, где каждая строка является валидным JSON-объектом. Используется OpenAI для загрузки данных для fine-tuning и evals.<br /><br /><strong>Latency (Задержка):</strong> Время, необходимое модели для обработки запроса и генерации ответа. Один из ключевых параметров, который стремятся снизить с помощью дистилляции.<br /><br /><strong>Metadata Tags (Теги метаданных):</strong> Пользовательские метки, которые можно прикреплять к логам API-запросов (Stored Completions) для их последующей фильтрации и организации при создании датасетов для fine-tuning или evals.<br /><br /><strong>Multi-Agent System (Многоагентная система):</strong> Архитектура, включающая несколько специализированных ИИ-агентов. Дистилляция может применяться для оптимизации отдельных агентов (например, классификатора).<br /><br /><strong>Overfitting (Переобучение):</strong> Ситуация, когда модель слишком хорошо "заучивает" обучающие данные, но теряет способность обобщать и плохо работает на новых, невиданных данных. Риск при fine-tuning, особенно на узких задачах вроде классификации.<br /><br /><strong>Playground (Песочница OpenAI):</strong> Интерактивный веб-интерфейс для экспериментов с моделями и промптами OpenAI. Упоминалась функция "Create anything" для генерации промптов.<br /><br /><strong>RAG (Retrieval-Augmented Generation):</strong> Подход, при котором модель получает доступ к внешней базе знаний для поиска релевантной информации перед генерацией ответа. Может использоваться совместно с дистиллированными моделями.<br /><br /><strong>Stored Completions (Сохраненные завершения / Логи):</strong> Функция платформы OpenAI, позволяющая сохранять историю запросов к API (входные данные, выходные данные, метаданные) при указании параметра store=true. Эти логи затем можно использовать для Evals и Fine-tuning.<br /><br /><strong>Student Model (Модель-студент):</strong> Меньшая, более быстрая и дешевая модель (например, gpt-4o-mini), которую обучают (fine-tuning/дистилляция) имитировать поведение модели-учителя.<br /><br /><strong>Teacher Model (Модель-учитель):</strong> Большая, мощная, но более дорогая и медленная модель (например, gpt-4o), чьи выходные данные используются как эталон для обучения модели-студента.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Документация и Платформа OpenAI:</strong><br /><br /><ul><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/fine-tuning" target="_blank" rel="noreferrer noopener">Fine-tuning Guide</a>: Руководство по тонкой настройке моделей (ключевой этап дистилляции).</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/fine-tuning/preparing-your-dataset" target="_blank" rel="noreferrer noopener">Preparing your dataset (for Fine-tuning)</a>: Как готовить данные, включая использование Stored Completions.</li><li data-list="bullet"><a href="https://github.com/openai/evals" target="_blank" rel="noreferrer noopener">OpenAI Evals Framework (GitHub)</a>: Фреймворк для создания и запуска собственных оценок.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/api-reference/chat/create" target="_blank" rel="noreferrer noopener">Chat Completions API Reference</a>: Справочник API, где указан параметр store=true.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/models" target="_blank" rel="noreferrer noopener">Models Overview</a>: Информация о доступных моделях (gpt-4o, gpt-4o-mini и др.).</li><li data-list="bullet"><a href="https://platform.openai.com/playground" target="_blank" rel="noreferrer noopener">OpenAI Playground</a>: Интерактивная среда для экспериментов.</li></ul><br /><strong>Примеры и Ресурсы:</strong><br /><ul><li data-list="bullet"><a href="https://cookbook.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI Cookbook</a>: Сборник практических примеров кода.</li><li data-list="bullet"><a href="https://cookbook.openai.com/examples/fine_tuning_for_function_calling" target="_blank" rel="noreferrer noopener">Cookbook: Fine-tuning examples</a>: Хотя пример про Function Calling, он показывает общий процесс fine-tuning.</li><li data-list="bullet"><a href="https://cookbook.openai.com/examples/evaluation/getting_started_with_openai_evals" target="_blank" rel="noreferrer noopener">Cookbook: Evaluating models</a>: Примеры использования Evals.</li></ul></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>AI Рекомендательные Системы с OpenAI: Персонализация и Улучшение Поиска</title>
			<link>https://course.aiacademy.me/tpost/ysc3g9o261-ai-rekomendatelnie-sistemi-s-openai-pers</link>
			<pubDate>Wed, 09 Apr 2025 15:30:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild3262-3235-4233-b765-636136303130/recs.png" type="image/png"/>
			<description>Улучшите поиск и персонализацию рекомендаций с OpenAI! Гайд: как LLM помогают понимать запросы (семантика, контекст) и генерировать объяснения к товарам для роста CTR.</description>
			<turbo:content>
<![CDATA[<header><h1>AI Рекомендательные Системы с OpenAI: Персонализация и Улучшение Поиска</h1></header><figure><img src="https://static.tildacdn.com/tild3262-3235-4233-b765-636136303130/recs.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; 
    margin-bottom: 4px;
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~52 минуты просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">✨</div>
            <div class="intro-content">
                <strong>AI для Улучшения Рекомендаций:</strong> Поймете, как LLM от OpenAI могут <strong>дополнять</strong> существующие рекомендательные системы (ML, коллаборативная фильтрация), улучшая понимание запросов пользователя и персонализацию представления результатов.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔍</div>
            <div class="intro-content">
                <strong>Улучшение Входных Данных (Демо 1):</strong> Изучите техники использования LLM для <strong>расширения и трансформации</strong> нечетких поисковых запросов пользователя (например, "построить террасу"), обогащения их пользовательским контекстом (история покупок) и применения семантического поиска.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">💬</div>
            <div class="intro-content">
                <strong>Персонализация и Объяснение Результатов (Демо 2):</strong> Узнаете, как с помощью LLM генерировать <strong>персонализированные объяснения</strong>, почему конкретный товар (предложенный основной системой) рекомендуется пользователю, ссылаясь на его профиль и историю, делая рекомендации понятными и кликабельными.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Архитектура и Лучшие Практики:</strong> Разберете архитектурные паттерны интеграции LLM в пайплайны рекомендаций (на входе и выходе) и освоите ключевые практики: фокус на бизнес-ценности, оптимизация скорости после проверки гипотез, правильное разделение задач между LLM и традиционным ML.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 09.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             AI Рекомендации / Персонализация / Поиск
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI API / Рекомендательные Системы / Семантический Поиск / Explainable AI
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239024" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Ваши рекомендации работают, но пользователи ищут "что-то для террасы" или не понимают, почему им показывают именно этот товар? Это видео — о том, как усилить вашу рекомендательную систему с помощью OpenAI LLM. Показываем на примерах, как улучшить понимание поискового запроса (расширение, семантика, пользовательский контекст) и как генерировать персонализированные, убедительные объяснения к результатам, чтобы повысить доверие и клики. Разбираем архитектуру интеграции и даем практические советы для внедрения.</div><h2  class="t-redactor__h2">Словарь Терминов </h2><div class="t-redactor__text"><strong>Embeddings (Векторные представления / Эмбеддинги):</strong> Числовые представления текста (или других данных), полученные с помощью моделей ИИ. Схожие по смыслу тексты имеют близкие векторные представления, что используется в семантическом поиске.<br /><br /><strong>Explainable Recommendations (Объяснимые рекомендации):</strong> Рекомендации товаров или контента, сопровождаемые понятным для пользователя объяснением, почему именно этот элемент был предложен (часто генерируемым LLM).<br /><br /><strong>Fine-tuning (Тонкая настройка):</strong> Дообучение базовой модели на специфических данных для адаптации ее стиля, тона или поведения (например, как в кейсе Indeed для персонализации сообщений).<br /><br /><strong>Input Enhancement (Улучшение входных данных):</strong> Использование LLM для обработки и обогащения информации <em>перед</em> подачей в основную рекомендательную систему (например, трансформация запроса, добавление контекста).<br /><br /><strong>LLM (Large Language Model / Большая языковая модель):</strong> Модель ИИ (как GPT-4/GPT-4o), обученная на огромных объемах текста, способная понимать и генерировать естественный язык, рассуждать и выполнять различные языковые задачи.<br /><br /><strong>Offline Generation / Batch API (Офлайн генерация / Пакетный API):</strong> Подход, при котором задачи (например, генерация объяснений к рекомендациям) выполняются заранее для большого набора данных, а не в реальном времени при запросе пользователя. Используется для экономии затрат и снижения задержки.<br /><br /><strong>Online Generation (Онлайн генерация):</strong> Выполнение задачи (например, генерация объяснения) непосредственно в момент запроса пользователя. Может приводить к большей задержке.<br /><br /><strong>Output Enhancement (Улучшение выходных данных):</strong> Использование LLM для обработки и представления результатов, полученных от основной рекомендательной системы, делая их более понятными и персонализированными для пользователя.<br /><br /><strong>Personalization (Персонализация):</strong> Адаптация контента, рекомендаций или их объяснений под конкретного пользователя на основе его профиля, истории поведения, контекста.<br /><br /><strong>Propensity Score (Оценка склонности [к покупке]):</strong> Числовой показатель, генерируемый традиционными ML-моделями рекомендаций, отражающий вероятность интереса пользователя к конкретному товару. Часто воспринимается как "черный ящик".<br /><br /><strong>Query Expansion / Transformation (Расширение / Трансформация запроса):</strong> Техника использования LLM для преобразования нечеткого или общего запроса пользователя в более конкретные термины или категории, релевантные для каталога товаров или основной системы поиска/рекомендаций.<br /><br /><strong>Recommender Systems (Рекомендательные системы):</strong> Системы, предсказывающие предпочтения пользователя и предлагающие ему релевантные товары, услуги или контент. Могут использовать разные подходы (коллаборативная фильтрация, ML и др.).<br /><br /><strong>Semantic Enrichment (Семантическое обогащение):</strong> Процесс добавления к элементам каталога (товарам, статьям) описаний, сгенерированных LLM, которые отражают их суть и контекст использования. Эти описания затем используются для семантического поиска.<br /><br /><strong>Semantic Search (Семантический поиск):</strong> Поиск, основанный на значении (семантике) запроса и контента, а не только на совпадении ключевых слов. Обычно реализуется с использованием embeddings.<br /><br /><strong>Streamlit:</strong> Фреймворк на Python для быстрого создания интерактивных веб-приложений для демонстрации данных и моделей. Использовался в демо.<br /><br /><strong>Traditional Machine Learning (ML) (Традиционное машинное обучение):</strong> Классические алгоритмы ML (не LLM), часто используемые в рекомендательных системах для анализа больших объемов данных и выявления паттернов.<br /><br /><strong>User Context (Пользовательский контекст):</strong> Информация о пользователе (история покупок, просмотров, демография, текущие цели), которая может быть использована для персонализации поиска и рекомендаций.<br /><br /><strong>Vector Database (Векторная база данных):</strong> База данных, оптимизированная для хранения и быстрого поиска по векторным представлениям (embeddings). В демо упоминалась Qdrant.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Документация и Ресурсы OpenAI:</strong><br /><ul><li data-list="bullet"><a href="https://platform.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI API Platform</a>: Основной портал для доступа к API и документации.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/embeddings/what-are-embeddings" target="_blank" rel="noreferrer noopener">Embeddings Guide</a>: Руководство по использованию векторных представлений (для семантического поиска).</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/chat-completions" target="_blank" rel="noreferrer noopener">Chat Completions API</a>: Документация по API, используемому для трансформации запросов и генерации объяснений.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/batch" target="_blank" rel="noreferrer noopener">Batch API Guide</a>: Руководство по использованию пакетного API (для офлайн-генерации).</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/fine-tuning" target="_blank" rel="noreferrer noopener">Fine-tuning Guide</a>: Руководство по тонкой настройке моделей (как в кейсе Indeed).</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/production-best-practices" target="_blank" rel="noreferrer noopener">Production Best Practices</a>: Общие советы по оптимизации и надежности при использовании API в продакшене.</li><li data-list="bullet"><a href="https://cookbook.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI Cookbook</a>: Сборник рецептов с примерами, включая семантический поиск и работу с текстом.</li><li data-list="bullet"><a href="https://www.google.com/search?q=https://openai.com/customer-stories/indeed/" target="_blank" rel="noreferrer noopener">Customer Story: Indeed</a>: История успеха Indeed с использованием OpenAI (упоминалась в лекции).</li></ul><br /><strong>Внешние Инструменты и Платформы:</strong><br /><ul><li data-list="bullet"><a href="https://streamlit.io/" target="_blank" rel="noreferrer noopener">Streamlit</a>: Сайт фреймворка Streamlit, использованного в демо.</li><li data-list="bullet"><a href="https://qdrant.tech/" target="_blank" rel="noreferrer noopener">Qdrant</a>: Сайт векторной базы данных Qdrant (упоминалась в контексте демо). <em>(Примечание: Существуют и другие векторные БД, Qdrant - лишь один из примеров)</em>.</li></ul></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="false">
			<link>https://course.aiacademy.me/tpost/mhvdzgymx1-effektivnii-prompting-s-openai-prodvinut</link>
		</item>
		<item turbo="true">
			<title>Как Найти Работу с AI: Улучшаем Резюме и Тренируем Собеседование (ChatGPT)</title>
			<link>https://course.aiacademy.me/tpost/2z2xlb12l1-kak-naiti-rabotu-s-ai-uluchshaem-rezyume</link>
			<pubDate>Fri, 11 Apr 2025 10:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild6535-3731-4439-b062-643730376636/image.png" type="image/png"/>
			<description>Узнайте, как AI (Chat GPT) помогает улучшить резюме и подготовиться к собеседованию. Практические советы для поиска работы: от анализа навыков до тренировки ответов с обратной связью.</description>
			<turbo:content>
<![CDATA[<header><h1>Как Найти Работу с AI: Улучшаем Резюме и Тренируем Собеседование (ChatGPT)</h1></header><figure><img src="https://static.tildacdn.com/tild6535-3731-4439-b062-643730376636/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~9 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🧭</div>
            <div class="intro-content">
                <strong>Исследовать Карьерные Пути:</strong> Использовать AI-чат-бота для определения подходящих профессий на основе ваших навыков, получения плана действий и поиска ресурсов для развития.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📄</div>
            <div class="intro-content">
                <strong>Создавать и Улучшать Резюме:</strong> Редактировать черновик резюме с помощью AI, делая его более четким, лаконичным, измеримым и насыщенным ключевыми словами для целевой отрасли.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🎙️</div>
            <div class="intro-content">
                <strong>Эффективно Готовиться к Собеседованиям:</strong> Имитировать реальные интервью (технические, поведенческие, ситуационные) с AI в голосовом режиме, получать мгновенную обратную связь и оттачивать ответы.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Правильно Взаимодействовать с AI:</strong> Понимать важность предоставления контекста, критической оценки предложений AI и сохранения контроля над финальным результатом (резюме, ответы).
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             Карьера / Поиск Работы / Резюме / Собеседование / AI Помощник
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             AI / Чат-бот / ChatGPT / Карьерное Консультирование / Подготовка к Интервью
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__text">Поиск работы требует времени и системного подхода: нужно не только найти вакансии, но и грамотно представить свой опыт в резюме и уверенно пройти собеседование. В этом видео мы разбираем, как использовать AI-чат-бота в качестве практического инструмента для этих задач. Вы увидите, как с его помощью проанализировать свой опыт для поиска подходящих ролей, отредактировать резюме, сделав его более понятным и убедительным для рекрутеров, и главное — отрепетировать прохождение интервью с конкретными вопросами и анализом ваших ответов. Узнайте, как применять AI для более эффективной подготовки и уверенного старта на новом месте.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239026" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Учись с ChatGPT: Исследования за Минуты, Эссе без Мук (Гайд 2025)</title>
			<link>https://course.aiacademy.me/tpost/i7rs20d1n1-uchis-s-chatgpt-issledovaniya-za-minuti</link>
			<pubDate>Fri, 11 Apr 2025 11:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3930-3530-4333-b435-333266383533/image.png" type="image/png"/>
			<description>Учись эффективнее с ChatGPT! ✅ Гайд: как ИИ помогает в исследованиях , написании эссе, и подготовке к экзаменам. Экономь время, улучшай результаты в учебе!</description>
			<turbo:content>
<![CDATA[<header><h1>Учись с ChatGPT: Исследования за Минуты, Эссе без Мук (Гайд 2025)</h1></header><figure><img src="https://static.tildacdn.com/tild3930-3530-4333-b435-333266383533/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предоставленных примеров sample - code.txt */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}
.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}
.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}
.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.reading-time-icon {
    color: #8B7FFF;
}
.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}
.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}
.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}
.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* Начинаем с блочного для мобильных */
    margin-bottom: 4px;
}
.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.tag-icon {
    color: #8B7FFF;
}
@media (min-width: 640px) {
    .intro-compact { padding: 24px; margin: 32px auto; }
    .intro-header { flex-direction: row; align-items: center; gap: 12px; }
    .intro-item { flex-direction: row; align-items: flex-start; gap: 12px; padding: 12px 16px; }
    .intro-content { font-size: 15px; }
    .intro-content strong { display: inline; margin-bottom: 0; margin-right: 4px; } /* Возвращаем инлайн для десктопа */
    .intro-footer { flex-direction: row; gap: 12px; flex-wrap: wrap; }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~14 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🧠</div>
            <div class="intro-content">
                <strong>Эффективное Изучение Тем:</strong> Научитесь формулировать точные запросы и использовать ChatGPT (включая "Модель Рассуждений") для глубокого понимания сложных академических предметов.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔍</div>
            <div class="intro-content">
                <strong>Ускоренные Исследования (Deep Dive):</strong> Освоите функцию Deep Dive для проведения многоэтапных исследований, анализа сотен источников и получения отчетов с цитатами за минуты.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📝</div>
            <div class="intro-content">
                <strong>Структурирование и Написание Эссе (Canvas):</strong> Узнаете, как использовать интерактивный интерфейс Canvas для совместной работы с ChatGPT над планом, структурой и текстом эссе.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">💡</div>
            <div class="intro-content">
                <strong>Создание Учебных Материалов:</strong> Поймете, как генерировать персонализированные карточки, тесты для самопроверки и краткие обзоры для эффективной подготовки к экзаменам.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             ChatGPT / Учеба / Академический Успех / Исследования / Эссе / Экзамены
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             ChatGPT / Deep Dive / Canvas / Промптинг / Учебные Материалы
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Устали тратить часы на поиск информации и борьбу со структурой эссе? ChatGPT может взять на себя учебную рутину: от разбора сложных тем до подготовки к экзаменам. Это видео — практическое руководство. Узнайте, как функция Deep Dive ускоряет исследования до минут, интерфейс Canvas помогает писать структурированные работы, а простые запросы — создавать эффективные учебные материалы вроде карточек и тестов. Освободите время для главного — понимания и анализа.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239027" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>ChatGPT:</strong> Большая языковая модель (LLM) от OpenAI, используемая в видео как инструмент для помощи в исследованиях, написании текстов, изучении тем и подготовке к экзаменам.<br /><br /><strong>Промпт / Задание (Prompt):</strong> Инструкция или вопрос, который пользователь дает ChatGPT для получения ответа или выполнения задачи. Качество и конкретность промпта напрямую влияют на релевантность и полезность ответа ИИ.<br /><br /><strong>Модель Рассуждений (Reasoning Model):</strong> Подход или режим работы ChatGPT, который активируется для решения более сложных задач; помогает ИИ структурировать "мысли" и давать более развернутые, логически выстроенные ответы, что полезно при изучении тем.<br /><br /><strong>Глубокое Исследование (Deep Dive):</strong> Специальная функция ChatGPT для проведения комплексных исследований в интернете по заданной теме. Автоматически ищет, анализирует и обобщает информацию из множества онлайн-источников, предоставляя структурированный отчет с цитатами.<br /><br /><strong>Canvas:</strong> Интерактивный интерфейс в ChatGPT, представляющий собой рабочее пространство в виде документа. Позволяет пользователю совместно с ИИ работать над созданием, структурированием, написанием и редактированием текстов, например, эссе или отчетов.<br /><br /><strong>Учебные Материалы (Study Materials):</strong> Различные форматы пособий для обучения, которые ChatGPT может сгенерировать по запросу пользователя на основе предоставленных заметок или темы. Примеры из видео:<br /><br /><ul><li data-list="bullet"><strong>Карточки (Flashcards):</strong> Для запоминания ключевых терминов и понятий.</li><li data-list="bullet"><strong>Тесты / Викторины (Quizzes):</strong> Для самопроверки понимания материала.</li><li data-list="bullet"><strong>Краткие обзоры / Сводки (Summaries):</strong> Для быстрого повторения основных аргументов и тезисов.</li></ul><br /><strong>Контекст (Context):</strong> Дополнительная информация, детали, уточнения или фоновые знания, которые пользователь предоставляет в промпте. Достаточный контекст помогает ChatGPT лучше понять задачу и сгенерировать более точный и релевантный ответ.</div><div class="t-redactor__embedcode"><style>
/* Стили идентичны вашему примеру */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}
.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}
.promo-content {
    position: relative;
    z-index: 1;
}
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}
.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}
.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important; /* Важно для переопределения возможных конфликтов */
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    margin-bottom: 0;
}
.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}
.promo-price-note {
    font-size: 14px;
    color: #6b7280;
    margin-top: 12px;
    text-align: center;
}
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    /* Небольшое исправление для мобильных, чтобы пункты были читаемы */
    .promo-features ul { display: inline-block; text-align: left; }
    .promo-features li { padding-left: 20px; text-align: left; display: list-item; /* Возвращаем к списку */ width: auto; margin-right: 0; } /* Убираем inline-block и правый марджин */
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}
@media (max-width: 480px) {
      .promo-cta-block { padding: 20px 20px; }
      .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: list-item; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;} /* Гарантируем, что это список */
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    .promo-price-note { font-size: 12px; margin-top: 8px; }
      .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🎓</div> <div class="promo-title">Станьте эффективнее в учебе с AI-помощником</div> <div class="promo-description">
            Забудьте о рутине: доверьте ИИ структурирование конспектов, поиск информации, оформление работ и подготовку к сессии. Получите доступ к мощным инструментам, которые помогут учиться быстрее и качественнее.
        </div>
        <div class="promo-features">
            <ul>
                <li>Мощные модели для сложных задач (GPT-4o, GPT-4)</li>
                <li>Анализ текста и изображений (конспекты, схемы)</li>
                <li>Помощь с поиском актуальной информации (веб-доступ)</li>
                <li>Структурирование идей и написание текстов</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать AI-помощник для учебы за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Что такое OpenAI o1: Обзор Модели для Сложных Задач</title>
			<link>https://course.aiacademy.me/tpost/7jll60khr1-chto-takoe-openai-o1-obzor-modeli-dlya-s</link>
			<pubDate>Fri, 11 Apr 2025 11:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild6666-3931-4263-b635-666263303936/image.png" type="image/png"/>
			<description>Узнайте об OpenAI o1 — модели ChatGPT для глубокого анализа сложных задач и изображений. Чем она лучше GPT-4 и когда ее использовать? Обзор и демо.</description>
			<turbo:content>
<![CDATA[<header><h1>Что такое OpenAI o1: Обзор Модели для Сложных Задач</h1></header><figure><img src="https://static.tildacdn.com/tild6666-3931-4263-b635-666263303936/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~7 минут просмотра {/* Замените на реальное время, если известно */}
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🤔</div>
            <div class="intro-content">
                <strong>Что такое OpenAI One:</strong> Поймете ключевые отличия новой модели для глубокого анализа от GPT-4. Узнаете, когда нужна вдумчивость вместо скорости для сложных задач в науке, стратегии и программировании.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📝</div>
            <div class="intro-content">
                <strong>Генерация Стратегий (Демо 1):</strong> Увидите на примере, как OpenAI One создает подробные, поэтапные планы для решения комплексных проблем (например, снижение использования пластика), учитывая нюансы и контекст.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🖼️</div>
            <div class="intro-content">
                <strong>Анализ Изображений (Демо 2):</strong> Научитесь использовать модель для анализа сложных визуальных данных — схем, диаграмм, дашбордов — и получать по ним детальные объяснения или инструкции (на примере схемы автомобиля).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Практическое Применение:</strong> Освоите, как применять OpenAI One в ChatGPT для задач, требующих более глубокого "размышления", чем у стандартных моделей, будь то анализ данных или разработка стратегий.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025
        </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             OpenAI One / Reasoning / ChatGPT
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             Глубокий Анализ / Сложные Задачи / Анализ Изображений
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__text">Сталкивались с ситуацией, когда стандартный ChatGPT дает быстрый, но поверхностный ответ на сложный рабочий вопрос? Для задач, где нужна не скорость, а глубина — будь то разработка многоэтапной стратегии, анализ научных данных или разбор сложной логики — OpenAI представила модель One. Она спроектирована для вдумчивого анализа, требуя больше времени на обработку, но обеспечивая более качественный и проработанный результат по сравнению с GPT-4.<br /><br />В этом видео мы разбираем, как OpenAI One работает на практике. Вы увидите два конкретных примера: как модель генерирует детальный план для решения общественной проблемы с учетом множества факторов, и как она анализирует и объясняет сложную техническую схему из инструкции. Это поможет вам понять, в каких рабочих сценариях использование OpenAI One оправдано и как применять ее возможности для получения более глубоких инсайтов и продуманных решений в ваших проектах.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239028" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>ChatGPT:</strong> Платформа (чат-бот) от OpenAI, которая предоставляет пользователям интерфейс для взаимодействия с различными языковыми моделями, включая GPT-4 и (на момент записи видео) OpenAI One.<br /><br /><strong>Complex Tasks (Сложные задачи):</strong> Задачи, требующие от ИИ не простого извлечения информации или генерации текста по шаблону, а глубокого анализа, учета множества факторов, логических рассуждений. Примеры из видео включают разработку стратегии, научный анализ, программирование, анализ сложных диаграмм.<br /><br /><strong>Context / Prompting (Контекст / Подсказки):</strong> Информация, которую пользователь предоставляет ИИ-модели в своем запросе (промпте), чтобы направить модель или уточнить задачу. Согласно видео, OpenAI One может требовать меньше явного контекста для получения детальных ответов на сложные вопросы.<br /><br /><strong>Image Analysis (Анализ изображений):</strong> Функция ИИ-модели (в видео демонстрируется на OpenAI One в ChatGPT), позволяющая "читать" и интерпретировать содержание загруженных изображений, таких как схемы, диаграммы, фотографии досок, и генерировать по ним описания, инструкции или ответы на вопросы.<br /><br /><strong>OpenAI o1:</strong>  Новая серия моделей от OpenAI, позиционируемая как более мощная для глубокого анализа и решения сложных задач по сравнению с GPT-4. Характеризуется более длительным временем обработки запроса, но потенциально более высоким качеством ответа.<br /><br /><strong>Reasoning / Deep Analysis (Рассуждение / Глубокий анализ):</strong> Способность ИИ-модели (особенно подчеркиваемая для OpenAI One) выявлять сложные взаимосвязи, учитывать нюансы, делать логические выводы и формулировать продуманные, действенные решения или стратегии, а не просто поверхностно обрабатывать информацию.<br /><br /><strong>Strategy (Стратегия):</strong> В контексте ИИ — это подробный, структурированный план действий, сгенерированный моделью для достижения конкретной цели или решения сложной проблемы. В видео приводится пример разработки стратегии привлечения сообществ к решению проблемы пластика.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Как использовать ChatGPT: Урок Академии OpenAI</title>
			<link>https://course.aiacademy.me/tpost/k4vp9udm11-kak-ispolzovat-chatgpt-urok-akademii-ope</link>
			<pubDate>Fri, 11 Apr 2025 12:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild6663-3737-4330-a132-393332616166/image.png" type="image/png"/>
			<description>Полный гайд по ChatGPT от OpenAI для начинающих. Освойте GPT-4 (голос, фото), промптинг (контекст+ожидания), интерфейс и инструмент Canvas. </description>
			<turbo:content>
<![CDATA[<header><h1>Как использовать ChatGPT: Урок Академии OpenAI</h1></header><figure><img src="https://static.tildacdn.com/tild6663-3737-4330-a132-393332616166/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предоставленного примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~43 минуты просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">✨</div>
            <div class="intro-content">
                <strong>Использовать Мультимодальность ChatGPT (GPT-4):</strong> Научитесь работать не только с текстом, но и взаимодействовать голосом, анализировать/генерировать изображения, обрабатывать файлы и использовать веб-поиск для решения рабочих задач.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🧠</div>
            <div class="intro-content">
                <strong>Выбирать Правильную Модель OpenAI:</strong> Поймете разницу между GPT-4 и более продвинутыми моделями (как "One"/ВАН в демо) и узнаете, когда какую использовать для простых или сложных аналитических/стратегических задач.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🎯</div>
            <div class="intro-content">
                <strong>Создавать Эффективные Промпты:</strong> Освоите ключевой принцип "Контекст + Ожидания" — как давать ChatGPT достаточно информации о себе и задаче, чтобы получать точные и полезные ответы, избегая общих фраз.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🛠️</div>
            <div class="intro-content">
                <strong>Навигировать по Интерфейсу и Использовать Инструменты:</strong> Разберетесь в настройках (пользовательские инструкции, память), управлении чатами и освоите инструмент Canvas (Holst) для совместного редактирования текстов и кода с ИИ.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025
        </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             ChatGPT / GPT-4 / Промптинг / Мультимодальность / Основы ИИ
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI / ChatGPT / Canvas (Holst) / AI Помощник
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__text">ChatGPT – это больше, чем просто чат-бот для генерации текста. Чтобы использовать его как реальный рабочий инструмент, нужно понимать его возможности и ограничения. В этом вебинаре специалист OpenAI наглядно демонстрирует, как GPT-4 работает с разными типами данных: от анализа изображений и файлов до взаимодействия голосом и поиска актуальной информации в интернете. Разбираются конкретные сценарии – от мозгового штурма и подготовки презентаций до помощи в сложных бизнес-расчетах, показывая практическую пользу ИИ в ежедневных задачах.<br /><br />Ключ к эффективной работе с ChatGPT – правильная постановка задачи. Вместо общих фраз вебинар учит формулировать промпты по принципу "Контекст + Ожидания", чтобы получать предсказуемо полезные результаты. Вы узнаете, как настроить ИИ под себя, когда достаточно стандартной модели, а когда требуется более мощная версия для специфических задач, и как использовать встроенные инструменты вроде Canvas для совместного редактирования текстов и кода. Это концентрированное руководство для тех, кто хочет перестать "играть" с ИИ и начать применять его для решения реальных проблем.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239029" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Canvas / Holst:</strong> Инструмент (интерфейс) в ChatGPT, предназначенный для совместной работы пользователя и ИИ над текстом или кодом в режиме реального времени. Позволяет получать предложения, редактировать и итеративно улучшать контент с помощью ChatGPT как ассистента.<br /><br /><strong>ChatGPT:</strong> Разговорный ИИ-помощник от OpenAI, основанный на больших языковых моделях (как GPT-4). Способен вести диалог, генерировать тексты, отвечать на вопросы, анализировать данные, писать код и выполнять другие задачи.<br /><br /><strong>Context (Контекст - в промптинге):</strong> Информация, которую пользователь предоставляет в промпте о себе (роль, цель), задаче, предыдущем диалоге и желаемом результате, чтобы ИИ-модель лучше поняла запрос и дала релевантный ответ.<br /><br /><strong>Custom Instructions (Пользовательские инструкции):</strong> Настройка в ChatGPT, где пользователь может заранее указать информацию о себе и своих предпочтениях относительно стиля и формата ответов, чтобы ИИ учитывал это во всех чатах.<br /><br /><strong>Expectation (Ожидание - в промптинге):</strong> Четкое описание в промпте того, какой конкретно результат (формат вывода – список, таблица, код; уровень детализации; требуемое действие) пользователь хочет получить от ИИ.<br /><br /><strong>GPT-4:</strong> Мультимодальная большая языковая модель OpenAI (актуальная на момент вебинара). Способна обрабатывать и генерировать текст, а также понимать изображения, аудио и данные из файлов. Часто используется как основная модель в ChatGPT.<br /><br /><strong>Human Review (Человеческий контроль):</strong> Обязательный этап проверки и верификации результатов, сгенерированных ИИ (включая ChatGPT). Необходим, так как ИИ-модели могут допускать ошибки ("галлюцинировать") или генерировать неточную информацию.<br /><br /><strong>Image Analysis (Анализ изображений):</strong> Способность ChatGPT (с моделью GPT-4) воспринимать и интерпретировать содержание изображений, загруженных пользователем, предоставляя текстовое описание или ответы на вопросы об изображении.<br /><br /><strong>Image Generation (Генерация изображений):</strong> Функция ChatGPT, позволяющая создавать уникальные изображения на основе текстового описания (промпта), предоставленного пользователем.<br /><br /><strong>Memory (Память):</strong> Функция (и настройка) в ChatGPT, позволяющая ИИ запоминать факты и предпочтения пользователя из предыдущих диалогов для обеспечения большей персонализации и непрерывности общения (если включена).<br /><br /><strong>Model "One" / ВАН (Продвинутая модель):</strong> Условное название (использованное в вебинаре) для продвинутой модели OpenAI, оптимизированной для сложных задач, требующих глубокого анализа, математических расчетов, логического вывода и стратегического планирования. Может работать медленнее GPT-4, но предоставлять более точные и обоснованные ответы в своей нише.<br /><br /><strong>Multimodality (Мультимодальность):</strong> Свойство ИИ-модели (например, GPT-4) работать с несколькими типами (модальностями) данных одновременно – текст, изображения, аудио, код, структурированные данные.<br /><br /><strong>Non-deterministic (Недетерминированность):</strong> Характеристика ИИ-моделей, означающая, что из-за встроенных элементов случайности модель может выдавать немного разные ответы на один и тот же промпт при повторных запросах. Это считается особенностью, а не ошибкой.<br /><br /><strong>Prompt (Промпт / Запрос):</strong> Текст, вопрос, инструкция или любой другой ввод, который пользователь направляет ИИ-модели (например, ChatGPT) для инициации ответа или выполнения задачи.<br /><br /><strong>Prompting / Prompt Engineering (Промптинг / Инженерия подсказок):</strong> Искусство и наука составления эффективных промптов для получения желаемых и точных результатов от ИИ-моделей. Включает предоставление контекста, четкое формулирование ожиданий и итеративное уточнение запроса.<br /><br /><strong>Voice Mode (Голосовой режим):</strong> Функция ChatGPT, позволяющая пользователям взаимодействовать с ИИ посредством речи, задавая вопросы голосом и получая устные ответы.<br /><br /><strong>Web Browse (Поиск в интернете):</strong> Интегрированная возможность ChatGPT (в GPT-4) обращаться к интернету для поиска актуальной информации при ответе на запрос пользователя, с возможностью предоставления ссылок на источники.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Автоматизация ChatGPT: Проекты и Создание Своих GPT</title>
			<link>https://course.aiacademy.me/tpost/2tk6gb2d01-avtomatizatsiya-chatgpt-proekti-i-sozdan</link>
			<pubDate>Fri, 11 Apr 2025 11:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3837-6332-4235-b564-323132623438/image.png" type="image/png"/>
			<description>Освойте Проекты ChatGPT для порядка в чатах/файлах. Создавайте кастомные GPT для автоматизации рутины без кода: инструкции, знания, возможности.
</description>
			<turbo:content>
<![CDATA[<header><h1>Автоматизация ChatGPT: Проекты и Создание Своих GPT</h1></header><figure><img src="https://static.tildacdn.com/tild3837-6332-4235-b564-323132623438/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предоставленного примера */
.intro-compact { background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%); border-radius: 12px; padding: 16px; width: calc(100% - 32px); max-width: 800px; margin: 16px auto; box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; box-sizing: border-box; }
.intro-header { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 16px; }
.intro-title { font-size: 18px; font-weight: 600; color: #2d3748; }
.reading-time { font-size: 13px; color: #6b7280; background: rgba(139, 127, 255, 0.1); padding: 4px 8px; border-radius: 16px; display: inline-flex; align-items: center; gap: 4px; }
.reading-time-icon { color: #8B7FFF; }
.intro-list { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.intro-item { display: flex; flex-direction: column; gap: 8px; background: rgba(255, 255, 255, 0.8); padding: 12px; border-radius: 8px; width: 100%; box-sizing: border-box; }
.intro-icon { background: #8B7FFF; color: white; width: 24px; height: 24px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
.intro-content { color: #4a5568; font-size: 14px; line-height: 1.4; }
.intro-content strong { color: #2d3748; font-weight: 600; display: block; margin-bottom: 4px; }
.intro-footer { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(139, 127, 255, 0.1); display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.tag { font-size: 12px; color: #6b7280; background: rgba(139, 127, 255, 0.1); padding: 4px 8px; border-radius: 16px; display: inline-flex; align-items: center; gap: 4px; }
.tag-icon { color: #8B7FFF; }
@media (min-width: 640px) {
.intro-compact { padding: 24px; margin: 32px auto; } .intro-header { flex-direction: row; align-items: center; gap: 12px; } .intro-item { flex-direction: row; align-items: flex-start; gap: 12px; padding: 12px 16px; } .intro-content { font-size: 15px; } .intro-content strong { display: inline; margin-bottom: 0; margin-right: 4px; } .intro-footer { flex-direction: row; gap: 16px; flex-wrap: wrap; }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~54 минуты просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🗂️</div>
            <div class="intro-content">
                <strong>Работа с Проектами:</strong> Организовывать чаты и файлы в едином рабочем пространстве, использовать общие пользовательские инструкции для сохранения контекста и применять встроенные инструменты (Canvas, Поиск) для конкретных задач.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">💡</div>
            <div class="intro-content">
                <strong>Понимание и Использование GPTs:</strong> Разберетесь, что такое кастомные GPT, как они помогают автоматизировать рутинные задачи для получения повторяемых результатов и как находить и использовать готовые GPT из магазина.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🛠️</div>
            <div class="intro-content">
                <strong>Создание Собственных GPT (Без Кода):</strong> Пройдете пошаговый процесс создания GPT через интерфейс настройки: определение имени, описания, написание эффективных инструкций (с форматированием Markdown), загрузка файлов знаний и настройка возможностей (веб-поиск, генерация изображений, анализ данных).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">⚙️</div>
             <div class="intro-content">
                <strong>Продвинутая Настройка GPT:</strong> Узнаете о важности "Conversation Starters" для удобства пользователей, о возможностях подключения GPT к внешним системам через "Actions", а также о процессе тестирования и публикации GPT.
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">✍️</div>
             <div class="intro-content">
                <strong>Генерация Инструкций GPT (Продвинутый Метод):</strong> Освоите технику использования мощной модели (например, GPT-4o) для автоматического создания структурированных инструкций GPT в формате Markdown на основе ваших целей.
            </div>
        </div>
    </div>
    <div class="intro-footer">
         <div class="tag">
            <span class="tag-icon">📅</span>
             11.04.2025 </div>
         <div class="tag">
            <span class="tag-icon">#️⃣</span>
             ChatGPT / GPTs / Проекты / Автоматизация / Инструкции
         </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI / Custom Instructions / Knowledge Files / GPT Store / Markdown
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Если вы используете ChatGPT не только для разовых запросов, но и для регулярных рабочих задач, этот вебинар поможет систематизировать процесс. Мы разберем, как с помощью функции "Проекты" избавиться от хаоса в истории чатов: научитесь группировать связанные диалоги, файлы и заметки в едином рабочем пространстве. Это позволит сохранять контекст для сложных или повторяющихся задач, будь то подготовка отчетов, анализ данных или планирование.<br /><br />Далее мы перейдем к созданию кастомных GPT — ваших личных помощников, настроенных под конкретные рабочие процессы без необходимости программирования. На практическом примере вы увидите, как определить роль и инструкции для GPT, загрузить необходимые знания (например, корпоративные гайдлайны или шаблоны документов) и настроить нужные возможности, вроде доступа к веб-поиску или анализа данных. Цель — научиться автоматизировать рутину и получать от ChatGPT стабильные, предсказуемые результаты для ваших типовых задач.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239030" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Проекты (Projects):</strong> Функция в интерфейсе ChatGPT, предназначенная для организации работы. Позволяет объединять связанные чаты, загруженные файлы и пользовательские инструкции в одно рабочее пространство для упрощения управления задачами и сохранения контекста.<br /><br /><strong>GPTs (Пользовательские GPT):</strong> Специализированные версии ChatGPT, настроенные пользователем для выполнения конкретных, повторяющихся задач. Создаются с помощью кастомных инструкций, базы знаний (загруженных файлов) и дополнительных возможностей (capabilities) или действий (actions).<br /><br /><strong>Пользовательские Инструкции (Custom Instructions):</strong> Основной набор правил и указаний, который определяет поведение, роль, тон и последовательность действий для Проекта или кастомного GPT. Работают как "мастер-подсказка" для всех взаимодействий в рамках Проекта или с конкретным GPT.<br /><br /><strong>Знания (Knowledge):</strong> Раздел при настройке GPT, куда можно загрузить файлы (документы, гайдлайны, отчеты). GPT будет использовать информацию из этих файлов для генерации ответов и выполнения инструкций.<br /><br /><strong>Возможности (Capabilities):</strong> Встроенные функции ChatGPT, которые можно включить или отключить для кастомного GPT, чтобы расширить его функционал. Примеры включают веб-поиск, генерацию изображений (DALL-E), интерпретатор кода (для анализа данных и создания файлов) и Canvas.<br /><br /><strong>Действия (Actions):</strong> Функция при настройке GPT, позволяющая подключать его к внешним системам, базам данных или API. Это дает GPT возможность выполнять задачи за пределами ChatGPT (например, отправлять данные в CRM, создавать задачи в Jira).<br /><br /><strong>Магазин GPT (GPT Store):</strong> Платформа внутри ChatGPT, где пользователи могут находить, использовать и делиться кастомными GPT, созданными OpenAI и сообществом.<br /><br /><strong>Markdown:</strong> Простой язык разметки текста, используемый для форматирования текста, в том числе для написания четких и структурированных инструкций для GPT (например, для выделения заголовков, списков). Помогает модели лучше структурировать и понимать инструкции.<br /><br /><strong>Повторяемые Результаты (Repeatable Results):</strong> Одна из ключевых целей использования Проектов и GPTs; получение стабильных, предсказуемых и стандартизированных ответов или результатов от ИИ при выполнении однотипных задач.<br /><br /><strong>Начало разговора (Conversation Starters):</strong> Готовые примеры запросов (подсказок), которые отображаются при запуске кастомного GPT. Помогают пользователям понять, как взаимодействовать с GPT и какие задачи он может выполнять.<br /><br /><strong>Предварительный просмотр (Preview):</strong> Область в интерфейсе создания GPT, где можно тестировать работу GPT в реальном времени по мере его настройки, проверяя, как он реагирует на инструкции и запросы.<br /><br /><strong>Canvas:</strong> Инструмент (возможность) в ChatGPT, предназначенный для совместной работы над текстами, мозгового штурма и редактирования. Может быть интегрирован в Проекты или GPTs.<br /><br /><strong>Веб-поиск / Поиск (Web Browse / Search):</strong> Возможность (Capability), позволяющая GPT получать доступ к актуальной информации из интернета для ответов на запросы или проведения исследований.<br /><br /><strong>Интерпретатор кода / Анализ данных (Code Interpreter / Data Analysis):</strong> Возможность (Capability), которая позволяет GPT выполнять код (Python), анализировать загруженные файлы данных (например, CSV, Excel), создавать графики и генерировать файлы для скачивания (например, PDF).</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Анализ Данных с ChatGPT: Гайд для Начинающих и Профи</title>
			<link>https://course.aiacademy.me/tpost/cks8817un1-analiz-dannih-s-chatgpt-gaid-dlya-nachin</link>
			<pubDate>Fri, 11 Apr 2025 10:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3335-3934-4936-b739-313230613831/image.png" type="image/png"/>
			<description>Узнайте, как использовать ChatGPT для анализа данных: планирование проектов, работа с бюджетами (PDF, CSV), визуализация. Практическое руководство.</description>
			<turbo:content>
<![CDATA[<header><h1>Анализ Данных с ChatGPT: Гайд для Начинающих и Профи</h1></header><figure><img src="https://static.tildacdn.com/tild3335-3934-4936-b739-313230613831/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Базовые стили для блока */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px); /* Учитываем отступы */
    max-width: 800px; /* Ограничиваем максимальную ширину */
    margin: 16px auto; /* Центрируем блок и добавляем вертикальные отступы */
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05); /* Легкая тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; /* Системный шрифт */
    box-sizing: border-box; /* Учитываем padding в общей ширине */
}

/* Стили для заголовка */
.intro-header {
    display: flex;
    flex-direction: column; /* Элементы в столбик на мобильных */
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748; /* Темно-серый текст */
}

/* Стиль для времени просмотра */
.reading-time {
    font-size: 13px;
    color: #6b7280; /* Светло-серый текст */
    background: rgba(139, 127, 255, 0.1); /* Полупрозрачный фиолетовый фон */
    padding: 4px 8px;
    border-radius: 16px; /* Скругленные углы */
    display: inline-flex; /* Элементы в строку */
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF; /* Фиолетовый цвет иконки */
}

/* Стили для списка пунктов */
.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

/* Стили для каждого пункта */
.intro-item {
    display: flex;
    flex-direction: column; /* Иконка над текстом на мобильных */
    gap: 8px;
    background: rgba(255, 255, 255, 0.8); /* Полупрозрачный белый фон */
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

/* Стили для иконки пункта */
.intro-icon {
    background: #8B7FFF; /* Фиолетовый фон */
    color: white; /* Белый текст иконки */
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0; /* Иконка не будет сжиматься */
}

/* Стили для текста пункта */
.intro-content {
    color: #4a5568; /* Серый текст */
    font-size: 14px;
    line-height: 1.4; /* Межстрочный интервал */
}

/* Выделение ключевой фразы */
.intro-content strong {
    color: #2d3748; /* Темно-серый */
    font-weight: 600;
    display: block; /* Фраза на новой строке на мобильных */
    margin-bottom: 4px;
}

/* Стили для подвала с тегами */
.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1); /* Тонкая линия сверху */
    display: flex;
    flex-direction: column; /* Теги в столбик на мобильных */
    align-items: flex-start;
    gap: 8px;
}

/* Стили для каждого тега */
.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

/* Адаптация для экранов шире 640px (планшеты и десктопы) */
@media (min-width: 640px) {
    .intro-compact {
        padding: 24px; /* Увеличиваем внутренние отступы */
        margin: 32px auto; /* Увеличиваем внешние отступы */
    }
    .intro-header {
        flex-direction: row; /* Заголовок и время в строку */
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row; /* Иконка и текст в строку */
        align-items: flex-start; /* Выравнивание по верху */
        gap: 12px;
        padding: 12px 16px; /* Уточняем отступы */
    }
    .intro-content {
        font-size: 15px; /* Слегка увеличиваем шрифт */
    }
    .intro-content strong {
        display: inline; /* Ключевая фраза в строку */
        margin-bottom: 0;
        margin-right: 4px; /* Небольшой отступ справа */
    }
    .intro-footer {
        flex-direction: row; /* Теги в строку */
        gap: 16px;
        flex-wrap: wrap; /* Перенос тегов при необходимости */
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~5 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">📅</div>
            <div class="intro-content">
                <strong>Планирование Проектов:</strong> Использовать ChatGPT для составления планов задач (например, для HR-мероприятий), даже не будучи менеджером проектов.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📄</div>
            <div class="intro-content">
                <strong>Работа с Данными:</strong> Загружать и использовать внешние данные (PDF, таблицы бюджетов) для уточнения задач и анализа. Понимать особенности работы с неструктурированными форматами.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📊</div>
            <div class="intro-content">
                <strong>Анализ и Визуализация:</strong> Применять ChatGPT для анализа табличных данных (сравнение бюджетов, поиск закономерностей) и создания простых визуализаций (гистограмм).
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">📝</div>
            <div class="intro-content">
                <strong>Генерация Отчетов и Коммуникаций:</strong> Экспортировать результаты анализа (в CSV) и генерировать тексты (например, email-приглашения) на основе полученных данных.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Лучшие Практики:</strong> Освоите подходы к подготовке данных (структурирование, форматы CSV/Markdown) и важность проверки результатов ("Human-in-the-loop") для эффективной работы с ИИ.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             ChatGPT / Анализ Данных / Управление Проектами / Визуализация
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI API / Python (внутренне) / CSV / PDF
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Анализ данных с помощью ИИ кажется сложным и доступным только техническим специалистам? На самом деле, ChatGPT может стать полезным инструментом для каждого. В этом 5-минутном видео мы наглядно показываем, как использовать его для рутинных, но важных задач: составить план проекта, сравнить бюджеты отделов за разные периоды, визуализировать ключевые цифры и даже подготовить отчеты. Никакой магии — только практическое применение на понятном примере.<br /><br />Этот подход позволяет специалистам без глубоких технических знаний быстрее обрабатывать информацию и принимать решения, основанные на данных, а не на интуиции. Мы не только демонстрируем возможности ChatGPT, но и обсуждаем практические аспекты: как подготовить данные для анализа (включая работу с PDF и CSV) и почему критически важно проверять результаты, которые генерирует ИИ, прежде чем полагаться на них в работе.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239031" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Анализ данных (Data Analysis):</strong> Процесс изучения информации (например, бюджетов, планов) для выявления закономерностей, тенденций, отклонений и получения выводов. В видео демонстрируется, как ChatGPT помогает автоматизировать этот процесс.<br /><br /><strong>Чат ГПТ (ChatGPT):</strong> Большая языковая модель от OpenAI, способная понимать и генерировать текст, а также выполнять задачи анализа данных, визуализации и планирования на основе текстовых инструкций пользователя (подсказок).<br /><br /><strong>План проекта (Project Plan):</strong> Структурированный документ или набор задач, описывающий этапы работы, сроки и ответственных. ChatGPT может помочь в его создании и форматировании.<br /><br /><strong>Подсказка (Prompt):</strong> Текстовый запрос или команда, которую пользователь вводит в ChatGPT, чтобы получить нужный ответ или результат (например, "составь план", "проанализируй бюджет").<br /><br /><strong>Неструктурированные данные / текст (Unstructured Data / Text):</strong> Информация без четкой предопределенной схемы, например, текст в PDF-документе. ChatGPT может работать с такими данными, но иногда для сложного анализа их лучше преобразовать в структурированный формат.<br /><br /><strong>Структурированные данные (Structured Data):</strong> Информация, организованная по четким правилам, чаще всего в виде таблиц (например, строки и столбцы в CSV-файле). Такой формат легко обрабатывается программами и ИИ.<br /><br /><strong>CSV (Comma-Separated Values):</strong> Формат файла для хранения табличных данных в текстовом виде, где значения разделены запятыми. Удобен для экспорта/импорта данных между разными программами, включая ChatGPT.<br /><br /><strong>PDF (Portable Document Format):</strong> Распространенный формат для обмена документами. В видео используется как пример файла, который можно загрузить в ChatGPT для анализа, но отмечается, что сложные PDF с графиками лучше предварительно преобразовать.<br /><br /><strong>Markdown:</strong> Простой язык разметки текста, который легко читается человеком и преобразуется в другие форматы (например, HTML). Рекомендуется как один из форматов для подготовки данных из PDF перед анализом в ChatGPT.<br /><br /><strong>Python:</strong> Мощный язык программирования, который ChatGPT использует "за кулисами" для выполнения операций по анализу данных и построению визуализаций. Пользователю не требуется знать Python, чтобы использовать эти возможности ChatGPT.<br /><br /><strong>Человек в цикле / Человек в петле (Human-in-the-loop):</strong> Важный принцип работы с ИИ. Означает, что результаты, сгенерированные ChatGPT (анализ, выводы, тексты), всегда должны проверяться и подтверждаться человеком перед принятием решений или дальнейшим использованием.<br /><br /><strong>Визуализация данных (Data Visualization):</strong> Представление данных в графической форме (диаграммы, графики) для упрощения их понимания и выявления скрытых закономерностей. В видео ChatGPT строит гистограмму.<br /><br /><strong>Гистограмма (Histogram):</strong> Тип графика, который показывает распределение числовых данных по интервалам. Используется в видео для наглядного сравнения бюджетов по отделам.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>ChatGPT Canvas: Редактирование текста и отладка кода с AI</title>
			<link>https://course.aiacademy.me/tpost/doa55dgmd1-chatgpt-canvas-redaktirovanie-teksta-i-o</link>
			<pubDate>Thu, 10 Apr 2025 19:12:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3532-3761-4835-a566-303337336165/image.png" type="image/png"/>
			<description>Ускорьте работу над текстами и кодом с ChatGPT Canvas! ✨ Обзор интерфейса OpenAI для редактирования, отладки и совместной работы с ИИ. Узнайте, как он помогает писать и улучшать контент.</description>
			<turbo:content>
<![CDATA[<header><h1>ChatGPT Canvas: Редактирование текста и отладка кода с AI</h1></header><figure><img src="https://static.tildacdn.com/tild3532-3761-4835-a566-303337336165/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предоставленного примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~4 минуты просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🎨</div>
            <div class="intro-content">
                <strong>Что такое ChatGPT Canvas:</strong> Поймете назначение Canvas как интерактивного интерфейса для совместной работы с ChatGPT над текстами и кодом в режиме реального времени.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📝</div>
            <div class="intro-content">
                <strong>Редактирование Текста:</strong> Научитесь вставлять, изменять текст целиком или выделенные фрагменты, применять предложения ИИ (например, по сокращению) и просматривать/отменять изменения.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">💬</div>
             <div class="intro-content">
                <strong>Комментарии и Контекст:</strong> Узнаете, как использовать ИИ для добавления комментариев к тексту (вместо прямого редактирования) и как загружать файлы для задания стиля или контекста.
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">💻</div>
            <div class="intro-content">
                <strong>Работа с Кодом:</strong> Увидите практический пример использования Canvas для вставки, отладки кода, просмотра исправлений и получения предложений по его улучшению.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             ChatGPT / Canvas / Редактирование / Код / Текст
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI / Интерфейс / Совместная работа / Отладка
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Создание качественного текста или кода — это итеративный процесс. ChatGPT Canvas разработан именно для этого: совмещайте возможности ИИ с прямым редактированием в едином интерфейсе. Вносите правки, запрашивайте улучшения для конкретных частей, откатывайте изменения, отлаживайте код — и всё это в одном окне. Это видео покажет, как использовать Canvas, чтобы сделать совместную работу с ChatGPT над вашими проектами более управляемой и продуктивной.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239032" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>ChatGPT Canvas:</strong> Специализированный интерфейс (или "холст") в ChatGPT, созданный для интерактивной работы с текстом и кодом. Позволяет пользователям редактировать контент напрямую и одновременно взаимодействовать с ИИ для получения предложений, исправлений и анализа.<br /><br /><strong>Интерфейс (Interface):</strong> Средство взаимодействия пользователя с программой. В данном случае, ChatGPT Canvas — это интерфейс для работы с текстом и кодом при помощи ChatGPT.<br /><br /><strong>Рабочее пространство (Workspace):</strong> Область внутри ChatGPT Canvas, где отображается и редактируется основной контент (текст или код), а также выводятся предложения и результаты работы ИИ.<br /><br /><strong>Редактирование (Editing):</strong> Процесс внесения изменений в текст или код. В Canvas это можно делать как вручную, так и принимая предложения от ChatGPT для всего документа или его выделенных частей.<br /><br /><strong>Отладка (Debugging):</strong> Процесс поиска и исправления ошибок в программном коде. Видео демонстрирует, как Canvas может помочь в этом, анализируя код и предлагая исправления.<br /><br /><strong>Управление версиями (Version Control):</strong> Хотя и упрощенное, но в Canvas присутствует элемент управления версиями — возможность просмотреть изменения, предложенные или внесенные ИИ, и отменить их, вернувшись к предыдущему состоянию контента.<br /><br /><strong>Комментарии (Comments):</strong> В контексте видео — это предложения по улучшению текста, сгенерированные ChatGPT, которые добавляются к документу в виде замечаний, а не прямых правок. Пользователь сам решает, применять их или нет.<br /><br /><strong>Загрузка документов (Document Upload):</strong> Упомянутая в видео функция Canvas, которая позволяет загружать файлы. Это может использоваться для того, чтобы дать ChatGPT больше контекста, примеры стиля или данные для сравнения.<br /><br /><strong>ChatGPT:</strong> Система искусственного интеллекта от OpenAI, основанная на большой языковой модели, которая генерирует ответы, предложения и выполняет анализ текста и кода в Canvas.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>ChatGPT Projects: Организация Работы и Контекста в ChatGPT</title>
			<link>https://course.aiacademy.me/tpost/429offvif1-chatgpt-projects-organizatsiya-raboti-i</link>
			<pubDate>Thu, 10 Apr 2025 19:13:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild6264-3230-4862-b132-386132643464/image.png" type="image/png"/>
			<description>Наведите порядок в задачах с ChatGPT Projects. Видео-обзор: как группировать чаты, файлы, инструкции и сохранять контекст для эффективной работы в ChatGPT.
</description>
			<turbo:content>
<![CDATA[<header><h1>ChatGPT Projects: Организация Работы и Контекста в ChatGPT</h1></header><figure><img src="https://static.tildacdn.com/tild6264-3230-4862-b132-386132643464/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~2 минуты просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🧠</div>
            <div class="intro-content">
                <strong>Что такое ChatGPT Projects:</strong> Поймете концепцию новой функции — как она помогает объединять чаты, файлы и инструкции для структурирования работы и сохранения контекста в едином рабочем пространстве.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🆚</div>
             <div class="intro-content">
                <strong>Projects vs Кастомные GPT:</strong> Разберетесь в ключевых отличиях — Projects для организации личного или командного рабочего пространства, а GPT для создания и распространения инструментов автоматизации конкретных задач.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🗂️</div>
            <div class="intro-content">
                <strong>Организация и Контекст:</strong> Научитесь группировать связанные чаты, переносить существующие диалоги и загружать файлы (документы, отчеты, данные) непосредственно в проект для общего доступа и сохранения контекста.
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">⚙️</div>
            <div class="intro-content">
                <strong>Инструкции и Инструменты:</strong> Узнаете, как задавать единые инструкции (например, роль или правила форматирования) для всех чатов проекта и использовать встроенные инструменты, такие как Canvas и Search, для совместной работы и исследований.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✨</div>
            <div class="intro-content">
                <strong>Создание и Настройка:</strong> Увидите практический процесс создания нового проекта в интерфейсе ChatGPT, присвоения ему имени и настройки его внешнего вида (например, цвета иконки) на боковой панели.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             ChatGPT / Управление Проектами / Организация Работы
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             ChatGPT Projects / Контекст / Файлы / Инструкции / Canvas / Search
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Если работа в ChatGPT превращается в хаос из десятков чатов по разным задачам, теряется контекст, а нужные файлы приходится искать заново — обратите внимание на функцию Projects. В этом видео разбираем, как новый инструмент помогает навести порядок: он позволяет создавать выделенные рабочие пространства для каждой задачи или темы, объединяя в них связанные диалоги, инструкции и необходимые материалы. Это прямой путь к более структурированной и сфокусированной работе с ИИ.<br /><br />Узнайте, как Projects помогают не только группировать чаты, но и поддерживать единый контекст с помощью общих файлов и сквозных инструкций для модели. Покажем на практике, как использовать интегрированные инструменты вроде Canvas для набросков или Search для быстрого поиска информации, не покидая проект. Ролик демонстрирует весь процесс — от создания проекта до его настройки под конкретные рабочие сценарии, помогая использовать ChatGPT эффективнее.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239033" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Canvas (Холст):</strong> Инструмент внутри ChatGPT Projects, предназначенный для визуальной совместной работы, мозгового штурма, набросков и структурирования идей текстом. Упоминается в видео как один из доступных инструментов.<br /><br /><strong>Chat (Чат):</strong> Отдельный диалог с моделью ChatGPT. В рамках Projects чаты могут быть сгруппированы по темам для лучшей организации.<br /><br /><strong>Context (Контекст):</strong> Информация (история диалога, загруженные файлы, инструкции), релевантная для конкретной задачи или темы внутри Проекта. Projects помогают сохранять этот контекст и делать его доступным во всех связанных чатах.<br /><br /><strong>Files (Файлы):</strong> Документы, отчеты, наборы данных или другие материалы. В ChatGPT Projects их можно загружать непосредственно в проект, чтобы они были доступны для использования во всех чатах этого проекта, обеспечивая общий контекст.<br /><br /><strong>GPT Models / Custom GPTs (GPT-модели / Кастомные GPT):</strong> Специализированные версии ChatGPT, созданные пользователями для выполнения конкретных, часто повторяющихся задач. В видео подчеркивается их отличие от Projects: GPT предназначены для автоматизации и ими можно делиться, тогда как Projects фокусируются на организации рабочего пространства.<br /><br /><strong>Instructions (Инструкции):</strong> Пользовательские указания (например, задать модели определенную роль, указать стиль ответа, ссылаться на загруженные файлы), которые задаются на уровне всего Проекта и автоматически применяются ко всем новым чатам внутри него, обеспечивая единообразие ответов.<br /><br /><strong>Projects (Проекты):</strong> Основная функция, рассматриваемая в видео. Это способ организации работы в ChatGPT путем создания выделенных рабочих пространств, которые группируют связанные чаты, файлы и общие инструкции для конкретной задачи, темы или цели.<br /><br /><strong>Search (Поиск):</strong> Инструмент внутри ChatGPT Projects, позволяющий выполнять поиск информации в интернете и использовать найденные ресурсы непосредственно в рабочем пространстве проекта.<br /><br /><strong>Tools (Инструменты):</strong> Вспомогательные функции, доступные внутри ChatGPT Projects, такие как Canvas и Search. Они расширяют возможности пользователя при работе над задачами в рамках проекта.<br /><br /><strong>Workspace (Рабочее пространство):</strong> Общая среда пользователя в ChatGPT. Функция Projects предназначена для организации и структурирования этого пространства путем разделения на тематические проекты.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Поиск ChatGPT: Руководство по веб-поиску и истории диалогов</title>
			<link>https://course.aiacademy.me/tpost/7bvu4szfc1-poisk-chatgpt-rukovodstvo-po-veb-poisku</link>
			<pubDate>Fri, 11 Apr 2025 11:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3031-6136-4231-a337-663666656139/image.png" type="image/png"/>
			<description>Научитесь эффективно использовать Поиск ChatGPT. Руководство по веб-поиску с источниками для актуальной информации и поиску по истории чатов. Практические примеры и советы.
</description>
			<turbo:content>
<![CDATA[<header><h1>Поиск ChatGPT: Руководство по веб-поиску и истории диалогов</h1></header><figure><img src="https://static.tildacdn.com/tild3031-6136-4231-a337-663666656139/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
             ~6 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🌐</div>
            <div class="intro-content">
                <strong>Что такое Поиск ChatGPT:</strong> Поймете, как эта функция объединяет интерфейс чата с актуальной информацией из интернета для получения быстрых и достоверных ответов.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📊</div>
            <div class="intro-content">
                <strong>Практическое Применение:</strong> Увидите на примерах, как использовать поиск для исследований (рынок, новости, тренды), получения конкретных данных (места, отзывы) и генерации идей (например, для презентации).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔗</div>
            <div class="intro-content">
                <strong>Проверка Источников и Уточнения:</strong> Научитесь активировать поиск, проверять веб-источники, которые использует ChatGPT, и задавать уточняющие вопросы для получения более полной информации.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔍</div>
            <div class="intro-content">
                <strong>Поиск по Истории Чатов:</strong> Освоите функцию поиска по истории диалогов, чтобы легко находить нужную информацию в прошлых беседах с ChatGPT по ключевым словам.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025
        </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             ChatGPT Поиск / Веб-Поиск / История Чатов
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI / ChatGPT / Поиск Информации / Проверка Источников
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Хватит переключаться между вкладками и проверять актуальность данных. В этом видео — подробный разбор функции Поиска в ChatGPT: как она интегрирует веб-информацию в реальном времени и ссылки на источники прямо в диалог. Покажем на практических примерах, как использовать этот инструмент для конкретных рабочих задач — от анализа рыночных трендов и поиска новостей до выбора локации для мероприятия и получения советов, — а также как эффективно использовать поиск по истории чатов, чтобы нужная информация всегда была под рукой.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239034" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Поиск с ChatGPT (ChatGPT Search):</strong> Функция ChatGPT, которая объединяет диалоговый интерфейс с возможностью поиска и использования актуальной информации из интернета в реальном времени для генерации ответов.<br /><br /><strong>Веб-поиск / Поиск в интернете (Web Search):</strong> Режим работы Поиска с ChatGPT, при котором модель активно обращается к внешним веб-источникам для получения информации, необходимой для ответа на запрос пользователя. Этот режим включается вручную.<br /><br /><strong>Источники (Sources):</strong> Ссылки на веб-страницы, которые ChatGPT использовал при веб-поиске для формирования своего ответа. Предоставляются вместе с ответом для проверки достоверности и дальнейшего изучения информации.<br /><br /><strong>Уточняющий вопрос (Follow-up question):</strong> Дополнительный вопрос, задаваемый пользователем в рамках того же диалога для получения более подробной информации, конкретизации ответа или развития темы беседы.<br /><br /><strong>Поиск по истории чатов (Chat History Search):</strong> Функция интерфейса ChatGPT, позволяющая пользователям находить свои предыдущие диалоги с моделью путем ввода ключевых слов в специальную строку поиска.<br /><br /><strong>Ключевое слово (Keyword):</strong> Слово или фраза, используемая для поиска. В контексте поиска по истории чатов — запрос, по которому система ищет релевантные диалоги.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Sora: Полный Курс от А до Я – Генерация и Редактирование AI Видео</title>
			<link>https://course.aiacademy.me/tpost/yrooy6zh31-sora-polnii-kurs-ot-a-do-ya-generatsiya</link>
			<pubDate>Fri, 11 Apr 2025 09:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Видеоредактор Sora</category>
			<enclosure url="https://static.tildacdn.com/tild3661-6339-4035-a535-303030646163/image.png" type="image/png"/>
			<description>Освойте Sora! Полный курс: генерация AI видео из текста + всё редактирование (Recut, Remix, Blend, Loop, Storyboard). Гайд от А до Я!</description>
			<turbo:content>
<![CDATA[<header><h1>Sora: Полный Курс от А до Я – Генерация и Редактирование AI Видео</h1></header><figure><img src="https://static.tildacdn.com/tild3661-6339-4035-a535-303030646163/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь в этой серии роликов</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~10 минут просмотра (все ролики)
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🎬</div>
            <div class="intro-content">
                <strong>Генерация Видео:</strong> Научитесь создавать видео в Sora с помощью текстовых запросов и настраивать основные параметры (стиль, длительность, разрешение).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✂️</div>
            <div class="intro-content">
                <strong>Обрезка и Удлинение (Recut):</strong> Освоите обрезку ненужных частей и удлинение фрагментов видео на временной шкале, позволяя Sora достраивать сцену.
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">✍️</div>
            <div class="intro-content">
                <strong>Ремикс (Remix):</strong> Узнаете, как изменять существующее видео (объекты, стиль) с помощью текстовых описаний и настройки силы изменений.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🎨</div>
            <div class="intro-content">
                <strong>Смешивание (Blend):</strong> Поймете, как объединять визуальные стили и контент двух разных видео, контролируя степень их влияния с помощью кривой.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔄</div>
            <div class="intro-content">
                <strong>Зацикливание (Loop):</strong> Научитесь создавать бесшовные видео-циклы из выбранных фрагментов клипа, настраивая точки входа/выхода.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🎞️</div>
            <div class="intro-content">
                <strong>Раскадровка (Storyboard):</strong> Освоите продвинутое управление последовательностью сцен и действий с помощью текстовых карточек на временной шкале для создания сложных нарративов.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025 </div> <div class="tag">
            <span class="tag-icon">#️⃣</span>
             Sora / Видеогенерация / Редактирование Видео / AI
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             Text-to-Video / AI видео / Remix / Blend / Loop / Storyboard / Recut
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Начните создавать видео из текста с помощью Sora. Это руководство поможет быстро освоить основы: как точно описать идею текстом в панели инструментов, какие настройки влияют на результат — от стиля и разрешения до длительности, — и как запустить генерацию первого клипа. Разберетесь с интерфейсом библиотеки, просмотром готовых вариантов и узнаете о базовых инструментах для дальнейшей доработки видео. Все необходимое, чтобы сделать первый шаг в генерации видео с Sora.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239036" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Часто в сгенерированном Sora видео идеальна лишь часть. Это руководство покажет, как с помощью инструмента Recut (Обрезка/Удлинение) выделить самый удачный фрагмент на временной шкале, отсечь ненужное и затем позволить Sora автоматически достроить и плавно продлить его до желаемой длины. Так вы сможете превратить короткий удачный момент в цельный, непрерывный клип, сохранив нужную динамику и содержание.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239038" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Видео почти готово, но нужно изменить детали или стиль? Инструмент Remix в Sora позволяет сделать это, просто описав правки текстом. Это руководство покажет, как использовать Remix для модификации вашего клипа: от замены ключевых объектов и смены визуального стиля до добавления или удаления мелких элементов. Вы также поймете, как настройка "силы редактирования" (Edit Strength) влияет на степень изменений, позволяя вносить как радикальные, так и незначительные корректировки, сохраняя при этом общую структуру исходного видео.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239040" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Хотите создать уникальный визуальный эффект, объединив два совершенно разных видео? Инструмент Blend в Sora предназначен именно для этого. Это руководство объяснит, как выбрать два исходных клипа — например, бабочку и орхидею — и использовать специальный редактор с кривой влияния, чтобы плавно смешать их стили, формы и содержимое. Вы научитесь контролировать, какое из видео доминирует в каждый момент времени, добиваясь поразительных трансформаций и по-настоящему креативных результатов.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239039" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Нужно превратить короткий клип в бесконечно повторяющийся, например, для фона или забавного эффекта? Инструмент Loop в Sora создан именно для этого. В этом руководстве вы научитесь легко создавать бесшовные циклы: как точно выбрать нужный фрагмент видео с помощью маркеров начала и конца, и как Sora затем автоматически сгладит переход между последним и первым кадром. Мы также объясним, почему для разных видео могут потребоваться циклы разной длины (короткие или длинные), чтобы добиться идеального результата.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239037" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Готовы перейти от простых клипов к созданию целых историй с четкой последовательностью событий? Инструмент Storyboard (Раскадровка) в Sora предоставляет именно такой уровень контроля. В этом заключительном руководстве по редактированию мы разберем, как использовать продвинутую временную шкалу и специальные карточки с текстовыми описаниями, чтобы задавать сцены, персонажей и их действия в конкретные моменты времени. Вы научитесь выстраивать повествование и поймете, насколько важен правильный тайминг между карточками для создания плавных переходов и логичного развития сюжета в вашем видео.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239041" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><div class="t-redactor__text">Итак, вы прошли путь от базовой идеи до готового видео. Теперь вы умеете формулировать текстовые запросы для Sora, чтобы получить желаемый результат, и настраивать ключевые параметры генерации — стиль, разрешение, соотношение сторон и длительность. Вы также освоили первый необходимый этап редактирования: с помощью инструмента Recut можно быстро обрезать неудачные части сгенерированного клипа или, наоборот, выбрать лучший фрагмент и плавно его удлинить, превращая короткий момент в полноценную сцену.<br /><br />Далее вы изучили инструменты для более творческой и детальной модификации видео. С Remix вы можете изменять содержание и стиль существующего клипа, просто описывая нужные правки текстом — от замены объектов до смены общей атмосферы, — регулируя при этом интенсивность изменений. Инструмент Blend позволяет пойти еще дальше и смешать визуальные характеристики двух разных видео, создавая уникальные гибридные стили и эффекты с помощью кривой влияния. А с помощью Loop вы научились делать бесшовные, идеально зацикленные видеофрагменты.<br /><br />Наконец, вы познакомились с самым продвинутым инструментом — Storyboard (Раскадровка). Он дает возможность создавать не просто отдельные клипы, а структурированные видеоистории. Используя текстовые карточки на временной шкале для описания сцен, действий персонажей и управления таймингом, вы теперь можете выстраивать последовательные нарративы и полностью контролировать развитие сюжета в ваших видеопроектах с Sora.</div><div class="t-redactor__text">Теперь, вооружившись знанием этих инструментов — от базовой генерации до продвинутой раскадровки, — вы готовы экспериментировать и воплощать самые разные визуальные идеи с помощью Sora. Успешного вам творчества и интересных проектов!</div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><ul><li data-list="bullet"><strong>Blend (Бленд):</strong> Инструмент редактирования, позволяющий объединять и смешивать визуальное содержимое и стиль двух разных видеоклипов.</li><li data-list="bullet"><strong>Explore (Раздел Explore):</strong> Раздел в интерфейсе Sora, где можно найти работы других пользователей, черпать вдохновение и изучать примеры использования инструмента.</li><li data-list="bullet"><strong>Loop (Луп / Цикл):</strong> Функция редактирования для создания бесшовного, повторяющегося видео из выбранного фрагмента исходного клипа. Пользователь может настроить точки начала и конца цикла, а также выбрать его тип (короткий, обычный, длинный).</li><li data-list="bullet"><strong>Recut (Обрезка / Удлинение / "Повтор"):</strong> Инструмент редактирования на временной шкале, позволяющий выбрать нужный фрагмент видео, обрезать лишние части и/или удлинить его, позволяя Sora достроить продолжение.</li><li data-list="bullet"><strong>Remix (Ремикс):</strong> Инструмент редактирования, который позволяет изменять содержимое (объекты, стиль, детали) существующего видео, описывая желаемые правки естественным языком (текстом).</li><li data-list="bullet"><strong>Sora:</strong> Модель искусственного интеллекта и инструмент для генерации и редактирования видео на основе текстовых описаний.</li><li data-list="bullet"><strong>Storyboard (Раскадровка):</strong> Продвинутый инструмент редактирования, использующий временную шкалу и карточки с текстовыми описаниями для управления последовательностью сцен, действий персонажей и таймингом в видео.</li><li data-list="bullet"><strong>Библиотека (Library):</strong> Место в интерфейсе Sora, где хранятся и отображаются сгенерированные пользователем видео.</li><li data-list="bullet"><strong>Временная шкала (Timeline):</strong> Интерфейсный элемент в редакторах Recut и Storyboard, визуально представляющий длительность видео и позволяющий размещать/редактировать фрагменты или карточки действий во времени.</li><li data-list="bullet"><strong>Естественный язык (Natural Language):</strong> Обычный человеческий язык (в данном контексте - текст), используемый для описания видео в запросах или для внесения изменений через инструмент Remix.</li><li data-list="bullet"><strong>Запрос (Prompt):</strong> Текстовое описание, которое пользователь вводит в Sora, чтобы указать, какое видео он хочет сгенерировать.</li><li data-list="bullet"><strong>Карточки с описанием (Description Cards):</strong> Элементы в режиме Storyboard, содержащие текстовые описания сцен, персонажей или действий, которые размещаются на временной шкале для управления сюжетом видео.</li><li data-list="bullet"><strong>Кредиты (Credits):</strong> Условные единицы, расходуемые при генерации видео в Sora; стоимость зависит от настроек генерации.</li><li data-list="bullet"><strong>Кривая влияния (Influence Curve):</strong> Графический элемент в редакторе Blend, позволяющий настроить, какой из двух исходных клипов оказывает большее влияние на результат в определенный момент времени.</li><li data-list="bullet"><strong>Настройки генерации (Generation Settings):</strong> Параметры, которые можно изменить перед генерацией видео, такие как стиль, соотношение сторон, разрешение, длительность, количество вариантов.</li><li data-list="bullet"><strong>Панель инструментов (Toolbar):</strong> Основная область ввода в интерфейсе Sora, где пользователь пишет текстовый запрос для генерации видео.</li><li data-list="bullet"><strong>Сила редактирования (Edit Strength):</strong> Настройка в инструменте Remix, определяющая, насколько сильно Sora будет изменять исходное видео при внесении текстовых правок (варианты: Слабо, Умеренно, Сильно).</li></ul></div><h2  class="t-redactor__h2">Примеры видео созданные в Sora</h2><iframe width="100%" height="100%" src="https://player.vimeo.com/video/927400626" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe><iframe width="100%" height="100%" src="https://player.vimeo.com/video/941713443" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe><iframe width="100%" height="100%" src="https://player.vimeo.com/video/1037658224" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>ChatGPT Deep Research: Автоматизация Глубокого Анализа</title>
			<link>https://course.aiacademy.me/tpost/pm95c9s4r1-chatgpt-deep-research-avtomatizatsiya-gl</link>
			<pubDate>Fri, 11 Apr 2025 10:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3430-3162-4365-a632-373965363935/image.png" type="image/png"/>
			<description>Автоматизируйте анализ данных с Deep Research ChatGPT! AI ищет в сети, создает отчеты с источниками. Узнайте, как ускорить исследования.</description>
			<turbo:content>
<![CDATA[<header><h1>ChatGPT Deep Research: Автоматизация Глубокого Анализа</h1></header><figure><img src="https://static.tildacdn.com/tild3430-3162-4365-a632-373965363935/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~7 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🧠</div>
            <div class="intro-content">
                <strong>Что такое Deep Research:</strong> Поймете, как эта функция ChatGPT выполняет сложные исследовательские задачи, используя несколько LLM и актуальный веб-поиск для сбора и анализа больших объемов информации.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🛠️</div>
            <div class="intro-content">
                <strong>Как использовать Deep Research:</strong> Узнаете, как активировать функцию в интерфейсе, сформулировать детальный запрос для исследования и отвечать на уточняющие вопросы ИИ для повышения качества результата.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📊</div>
            <div class="intro-content">
                <strong>Анализ результатов:</strong> Научитесь интерпретировать подробные отчеты, генерируемые Deep Research, включая краткое изложение, анализ данных (например, новинок конкурентов, мнений потребителей), выводы и проверку источников информации.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Практическое применение:</strong> Увидите, как автоматизировать процесс сбора и анализа данных для маркетинга, финансов, инженерии и других областей, экономя время и получая структурированные отчеты для принятия решений.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             ChatGPT / Deep Research / AI Анализ
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             Автоматизация Исследований / Анализ Данных / LLM
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Ручной сбор и анализ информации для серьезного исследования — это часы, а иногда и дни кропотливой работы. Нужно просмотреть множество источников, отсеять нерелевантное, систематизировать данные и сформулировать выводы. Велик риск упустить важные детали или потратить время на информацию, которая быстро устареет, особенно при анализе динамичных рынков или конкурентной среды.<br /><br />Функция Deep Research в ChatGPT создана, чтобы автоматизировать эту рутину. Вы ставите четкую исследовательскую задачу, а система самостоятельно обращается к актуальным веб-источникам, анализирует большие объемы данных и формирует структурированный отчет с основными тезисами и ссылками. Это позволяет получить комплексный анализ ситуации, например, обзор новинок конкурентов или потребительских настроений, значительно быстрее и сосредоточиться на стратегических выводах.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239042" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Deep Research (Глубокое исследование):</strong> Функция в ChatGPT, разработанная для автоматического выполнения сложных, многоэтапных исследовательских задач. Использует несколько больших языковых моделей и доступ к веб-поиску для сбора, анализа и синтеза актуальной информации из интернета.<br /><br /><strong>Большая Языковая Модель (Large Language Model / LLM):</strong> Тип модели искусственного интеллекта, обученный на больших объемах текстовых данных. Deep Research использует возможности таких моделей для понимания запросов, анализа информации и генерации отчетов. (В лекции упоминаются как "самые большие модели").<br /><br /><strong>Веб-поиск / Просмотр веб-страниц:</strong> Встроенная возможность Deep Research получать доступ к информации на веб-сайтах в режиме реального времени, что позволяет собирать актуальные данные для исследования.<br /><br /><strong>Запрос (Prompt):</strong> Детальное описание исследовательской задачи, которое пользователь предоставляет Deep Research для инициации анализа. Чем подробнее запрос, тем точнее может быть результат.<br /><br /><strong>Исследовательская задача:</strong> Конкретная цель или набор вопросов, которые должен решить Deep Research (например, анализ рынка, обзор конкурентов, изучение настроений потребителей).<br /><br /><strong>Источники (Sources):</strong> Ссылки на веб-страницы и другие ресурсы, которые Deep Research использовал для сбора информации при подготовке отчета. Позволяют проверить достоверность и углубиться в первоисточники.<br /><br /><strong>Уточняющие вопросы (Clarifying Questions):</strong> Вопросы, которые Deep Research задает пользователю после получения первоначального запроса. Цель — получить дополнительные детали (например, географический регион, типы продуктов), чтобы сфокусировать исследование и повысить релевантность ответа.<br /><br /><strong>Интерактивная панель / Мониторинг выполнения:</strong> Элемент интерфейса, позволяющий пользователю наблюдать за процессом работы Deep Research в реальном времени, включая этапы анализа ("цепочку мыслей") и просматриваемые источники.<br /><br /><strong>Отчет (Report):</strong> Конечный результат работы Deep Research. Представляет собой структурированный документ, содержащий краткое изложение (summary), ответы на поставленные исследовательские вопросы, ключевые выводы и ссылки на использованные источники.<br /><br /><strong>Анализ настроений потребителей (Consumer Sentiment Analysis):</strong> Пример задачи, выполняемой Deep Research. Включает анализ данных из социальных сетей (как Twitter, Reddit) для определения общего мнения и отношения пользователей к определенной теме, продукту или бренду.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Оптимизация GPT-4o Mini через Fine-tuning и Дистилляцию: Демо и Результаты</title>
			<link>https://course.aiacademy.me/tpost/26vesp3v01-optimizatsiya-gpt-4o-mini-cherez-fine-tu</link>
			<pubDate>Thu, 10 Apr 2025 18:30:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild3230-3961-4331-b830-393737313531/image.png" type="image/png"/>
			<turbo:content>
<![CDATA[<header><h1>Оптимизация GPT-4o Mini через Fine-tuning и Дистилляцию: Демо и Результаты</h1></header><figure><img src="https://static.tildacdn.com/tild3230-3961-4331-b830-393737313531/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предоставленных примеров */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}
.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}
.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}
.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.reading-time-icon {
    color: #8B7FFF;
}
.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}
.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}
.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}
.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* Default for mobile */
    margin-bottom: 4px;
}
.intro-content code {
    font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
    background-color: rgba(139, 127, 255, 0.08);
    color: #5a5a8a; /* Darker purple for readability */
    padding: 2px 5px;
    border-radius: 4px;
    font-size: 0.9em;
}
.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.tag-icon {
    color: #8B7FFF;
}

/* Desktop Styles */
@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline; /* Switch to inline for desktop */
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~58 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">⚙️</div>
            <div class="intro-content">
                <strong>Fine-tuning GPT-4o Mini:</strong> Поймете, когда тонкая настройка эффективнее промпт-инжиниринга, и как использовать ее для адаптации стиля, формата или повышения точности <code>gpt-4o-mini</code> на конкретных задачах (классификация, извлечение).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">⚗️</div>
            <div class="intro-content">
                <strong>Дистилляция через Chain-of-Thought:</strong> Освоите метод дистилляции, где "рассуждения" более мощной модели (<code>gpt-4</code>) используются для обучения <code>gpt-4o-mini</code>, позволяя ей достигать сравнимого качества при меньшей стоимости.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🛠️</div>
            <div class="intro-content">
                <strong>Полный Цикл Настройки и Оценки:</strong> Проследите весь процесс на демо-примере: генерация синтетического датасета с помощью GPT-4 и саморефлексии, оценка baseline-моделей (с <code>promptfoo</code>), запуск fine-tuning через API и оценка итоговой модели.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📊</div>
            <div class="intro-content">
                <strong>Анализ Результатов:</strong> Увидите наглядное сравнение производительности и стоимости fine-tuned <code>gpt-4o-mini</code> с <code>gpt-4</code>, базовой <code>gpt-4o-mini</code> и <code>gpt-3.5-turbo</code>. Узнаете, как добиться значительной экономии без существенной потери качества.
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Практические Рекомендации:</strong> Получите советы по подготовке данных, выбору гиперпараметров, интерпретации метрик и избежанию распространенных ошибок при fine-tuning и дистилляции моделей.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 10.04.2025
        </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             Fine-tuning / Дистилляция Моделей / GPT-4o Mini / Оптимизация Моделей
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI API / promptfoo / Снижение Затрат / Chain-of-Thought / Evals
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Используете GPT-4 для сложных задач вроде классификации или извлечения данных, но счета за API заметно растут? Или пробовали GPT-4o Mini для экономии, но не хватает точности для вашего специфического сценария? В этом видео мы разбираем практический метод решения этой дилеммы: fine-tuning (тонкая настройка) модели GPT-4o Mini с помощью дистилляции. Показываем, как использовать "рассуждения" (chain-of-thought) от GPT-4, чтобы обучить более компактную модель и добиться сравнимого качества ответов при значительно меньших затратах.<br /><br />Мы пройдем весь процесс на реальном примере с кодом: от генерации синтетических данных с помощью GPT-4 и саморефлексии до запуска fine-tuning через API и оценки результатов с использованием инструмента <em>promptfoo</em>. Вы увидите, как сравнивать производительность и стоимость разных подходов, научитесь интерпретировать метрики и поймете, как внедрить этот метод для оптимизации ваших AI-решений. Видео будет полезно разработчикам и продакт-менеджерам, которые ищут рабочие способы сделать AI-функции эффективнее и доступнее.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239043" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Chain-of-Thought (CoT) / Цепочка рассуждений:</strong> Метод промптинга, при котором модель перед выдачей ответа генерирует промежуточные шаги рассуждений. В контексте дистилляции, используется для извлечения "знаний" из модели-учителя для обучения модели-ученика.<br /><br /><strong>Distillation / Дистилляция Моделей:</strong> Процесс обучения меньшей, более быстрой модели ("студент", например, gpt-4o-mini) для имитации поведения более крупной и мощной модели ("учитель", например, gpt-4) на конкретной задаче. Цель — снизить затраты и задержку при сохранении качества.<br /><br /><strong>Epoch / Эпоха (в Fine-tuning):</strong> Один полный проход всего обучающего набора данных во время процесса тонкой настройки модели. Количество эпох влияет на степень обучения модели.<br /><br /><strong>Evaluation / Evals / Оценка:</strong> Процесс измерения производительности модели (например, точности классификации) на тестовом наборе данных для сравнения различных моделей, промптов или методов настройки.<br /><br /><strong>Fine-tuning / Тонкая настройка:</strong> Процесс дообучения предварительно обученной модели (как gpt-4o-mini) на специфическом наборе данных для адаптации ее поведения, стиля, формата вывода или повышения точности на конкретной узкой задаче.<br /><br /><strong>GPT-4o Mini:</strong> Компактная и быстрая мультимодальная модель от OpenAI (на момент лекции), разработанная как более доступная альтернатива GPT-4/GPT-4o, поддерживающая fine-tuning.<br /><br /><strong>JSONL (JSON Lines):</strong> Текстовый формат данных, где каждая строка является валидным JSON-объектом. Используется OpenAI для загрузки данных для fine-tuning.<br /><br /><strong>Latency / Задержка:</strong> Время, которое требуется модели для обработки запроса и генерации ответа. Критически важный параметр для интерактивных приложений.<br /><br /><strong>Model Teacher / Student (Модель Учитель / Студент):</strong> Термины в дистилляции. Модель-учитель — большая, мощная модель (например, gpt-4), чье поведение (ответы, рассуждения) мы хотим воспроизвести. Модель-студент — меньшая, быстрая модель (например, gpt-4o-mini), которую мы обучаем с помощью данных от учителя.<br /><br /><strong>Overfitting / Переобучение:</strong> Нежелательный эффект при обучении, когда модель слишком хорошо "запоминает" обучающие примеры (включая шум) и теряет способность к обобщению, плохо работая на новых данных.<br /><br /><strong>promptfoo:</strong> Инструмент командной строки с открытым исходным кодом (упомянутый в демо) для систематического тестирования, сравнения и оценки различных промптов и моделей ИИ на наборах данных.<br /><br /><strong>Self-reflection / Саморефлексия (в генерации данных):</strong> Техника, при которой модель ИИ (например, gpt-4) используется для анализа и критики своих же ранее сгенерированных данных (например, синтетических примеров) с целью их итеративного улучшения.<br /><br /><strong>Synthetic Data / Синтетические данные:</strong> Данные, сгенерированные искусственно (например, с помощью LLM), а не собранные из реальных источников. Используются для создания обучающих или тестовых наборов данных.<br /><br /><strong>Tokens / Токены:</strong> Базовые единицы текста (могут быть словами, частями слов, знаками препинания), на которые модель разбивает входные и выходные данные. Стоимость использования API и лимиты на длину контекста обычно рассчитываются в токенах.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Документация и Ресурсы OpenAI:</strong><br /><br /><ul><li data-list="bullet"><a href="https://platform.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI API Platform</a>: Основной портал для доступа к API, документации, управления ключами и моделями fine-tuning. </li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/fine-tuning" target="_blank" rel="noreferrer noopener">Fine-tuning Guide:</a> Официальное руководство по тонкой настройке моделей OpenAI, включая подготовку данных и запуск заданий. </li><li data-list="bullet"><a href="https://platform.openai.com/docs/models" target="_blank" rel="noreferrer noopener">Models Documentation:</a> Справочник по доступным моделям OpenAI, включая gpt-4o-mini. </li><li data-list="bullet"><a href="https://cookbook.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI Cookbook:</a> Коллекция примеров кода и руководств по различным техникам работы с API OpenAI. </li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/production-best-practices" target="_blank" rel="noreferrer noopener">Production Best Practices:</a> Рекомендации OpenAI по созданию надежных и оптимизированных приложений на базе их API. </li></ul><br /><strong>Инструменты и Демо:</strong><br /><ul><li data-list="bullet"><a href="https://www.promptfoo.dev/" target="_blank" rel="noreferrer noopener">promptfoo:</a> Сайт и документация инструмента для оценки моделей, использованного в демо. </li></ul></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Как Использовать ChatGPT в Учебе: Обзор, Примеры, Советы</title>
			<link>https://course.aiacademy.me/tpost/fjofkykzl1-kak-ispolzovat-chatgpt-v-uchebe-obzor-pr</link>
			<pubDate>Thu, 10 Apr 2025 19:15:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3039-6161-4866-a664-303231303831/image.png" type="image/png"/>
			<description>Эффективное применение ChatGPT в учебе. Видеолекция: интерфейс, выбор модели (GPT-4o), структурирование конспектов, подготовка к экзаменам, оформление цитат.</description>
			<turbo:content>
<![CDATA[<header><h1>Как Использовать ChatGPT в Учебе: Обзор, Примеры, Советы</h1></header><figure><img src="https://static.tildacdn.com/tild3039-6161-4866-a664-303231303831/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили адаптированы из предоставленных примеров */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%); /* Светло-голубой/фиолетовый градиент */
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px); /* Учитываем padding */
    max-width: 800px;       /* Максимальная ширина блока */
    margin: 16px auto;        /* Центрирование с отступами */
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05); /* Легкая тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; /* Стандартный системный шрифт */
    box-sizing: border-box;  /* Учитывать padding и border в размере */
}

.intro-header {
    display: flex;
    flex-direction: column; /* Столбец на малых экранах */
    align-items: flex-start;
    gap: 8px;               /* Отступ между элементами */
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;       /* Полужирный */
    color: #2d3748;         /* Темно-серый */
}

.reading-time {
    font-size: 13px;
    color: #6b7280;         /* Серый */
    background: rgba(139, 127, 255, 0.1); /* Полупрозрачный фиолетовый фон */
    padding: 4px 8px;
    border-radius: 16px;    /* Скругленные углы */
    display: inline-flex;   /* Для иконки и текста в строку */
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;         /* Фиолетовый цвет иконки */
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;              /* Отступ между пунктами */
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column; /* Иконка над текстом на малых экранах */
    gap: 8px;
    background: rgba(255, 255, 255, 0.8); /* Белый полупрозрачный фон */
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;     /* Фиолетовый фон иконки */
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;         /* Не сжимать иконку */
}

.intro-content {
    color: #4a5568;         /* Серо-синий */
    font-size: 14px;
    line-height: 1.4;       /* Межстрочный интервал */
}

.intro-content strong {
    color: #2d3748;         /* Темно-серый */
    font-weight: 600;
    display: block;         /* strong с новой строки на малых экранах */
    margin-bottom: 4px;     /* Отступ под strong */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1); /* Разделитель */
    display: flex;
    flex-direction: column; /* Теги в столбец на малых экранах */
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

/* Медиа-запрос для экранов шире 640px */
@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto; /* Увеличиваем отступы */
    }
    .intro-header {
        flex-direction: row; /* Заголовок в строку */
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row; /* Иконка и текст в строку */
        align-items: flex-start; /* Выравнивание по верху */
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px; /* Чуть крупнее шрифт */
    }
    .intro-content strong {
        display: inline;      /* strong в строку с текстом */
        margin-bottom: 0;
        margin-right: 4px;    /* Отступ справа от strong */
    }
    .intro-footer {
        flex-direction: row;  /* Теги в строку */
        gap: 16px;
        flex-wrap: wrap;      /* Перенос тегов при необходимости */
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~15 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🧭</div> <div class="intro-content">
                <strong>Интерфейс и Навигация:</strong> Освоите основной интерфейс ChatGPT: чат, пользовательские инструкции, историю, проекты и шаблоны (prompts) для организации учебного процесса.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">⚙️</div> <div class="intro-content">
                <strong>Выбор Моделей:</strong> Разберетесь в доступных моделях (GPT-4o, GPT-4 и др.) и научитесь выбирать оптимальную для конкретных задач: от написания текстов до анализа данных.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✍️</div> <div class="intro-content">
                <strong>Практические Навыки:</strong> Увидите на примерах, как ChatGPT помогает структурировать конспекты, преобразовывать рукописные заметки, форматировать цитаты (APA) и готовиться к экзаменам.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✅</div> <div class="intro-content">
                <strong>Эффективная Работа:</strong> Поймете принципы составления эффективных запросов (промптов) и важность критической оценки ответов ИИ для надежных результатов в учебе.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 10.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             ChatGPT / AI в Образовании / Обучение
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             Интерфейс / Промпты / Модели / Примеры Использования
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Сталкиваетесь с трудностями при систематизации конспектов или подготовке к экзаменам? ChatGPT может стать полезным инструментом в учебе, но его эффективность зависит от умения правильно ставить задачи. Эта лекция поможет разобраться, как использовать возможности ИИ для решения конкретных учебных проблем: от структурирования информации и анализа текста до помощи в написании работ и планировании подготовки. Мы покажем, как превратить ChatGPT из простой "говорилки" в продуктивного ассистента.<br /><br />На видео — подробный разбор интерфейса: как работают чаты, проекты, пользовательские инструкции и для чего нужны разные модели (GPT-4, GPT-4o и другие). На практических примерах вы увидите, как ChatGPT помогает обрабатывать лекции, распознавать рукописные заметки, форматировать библиографию по стандартам и создавать планы обучения. Главное — научиться задавать правильные вопросы и критически оценивать ответы, чтобы ИИ действительно помогал вам учиться лучше, а не выполнял работу за вас.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239044" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>ChatGPT (Чат-бот):</strong> Собирательное название для больших языковых моделей от OpenAI, способных вести диалог, генерировать текст, отвечать на вопросы и выполнять другие языковые задачи. В лекции используется как основной инструмент.<br /><br /><strong>Подсказка / Запрос (Prompt):</strong> Текст (вопрос, инструкция, команда), который пользователь вводит для взаимодействия с ChatGPT. Качество ответа модели напрямую зависит от качества подсказки.<br /><br /><strong>Инженерия подсказок (Prompt Engineering):</strong> Процесс формулирования и уточнения запросов (подсказок) для получения наиболее точных, релевантных и полезных ответов от языковой модели.<br /><br /><strong>Пользовательские инструкции (Custom Instructions):</strong> Настройки в ChatGPT, позволяющие предоставить модели информацию о себе (роль, цели, предпочтения в ответах), чтобы персонализировать ее ответы во всех последующих чатах.<br /><br /><strong>История чата (Chat History):</strong> Список предыдущих диалогов с ChatGPT, позволяющий вернуться к ним, продолжить или переименовать.<br /><br /><strong>Модель ИИ (AI Model):</strong> Конкретная версия алгоритма ИИ (например, GPT-4, GPT-4o). Разные модели могут отличаться скоростью, способностями, объемом знаний и стоимостью использования.<br /><br /><strong>Мультимодальность (Multimodal):</strong> Способность модели ИИ обрабатывать и понимать информацию разных типов (модальностей) одновременно, например, текст, изображения, аудио. Модель GPT-4o является мультимодальной.<br /><br /><strong>Контекст (Context):</strong> Информация из предыдущих сообщений в диалоге или из загруженных в проект файлов, которую модель использует для генерации релевантных ответов.<br /><br /><strong>Критическое мышление (Critical Thinking):</strong> Способность анализировать информацию, оценивать ее достоверность, выявлять предвзятость и делать обоснованные выводы. Необходимо при использовании ИИ, так как модели могут генерировать неточную или ошибочную информацию.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Ресурсы OpenAI:</strong></div><div class="t-redactor__text"><ul><li data-list="bullet"><a href="https://platform.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI Platform</a>: Основной портал для разработчиков для доступа к API, документации и управления моделями.</li><li data-list="bullet"><a href="https://openai.com/chatgpt/" target="_blank" rel="noreferrer noopener">Информация о ChatGPT</a>: Общая информация о возможностях ChatGPT на сайте OpenAI.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/models" target="_blank" rel="noreferrer noopener">Обзор моделей OpenAI</a>: Документация с описанием различных моделей, доступных через API (включая GPT-4, GPT-4o и др.).</li></ul></div><div class="t-redactor__embedcode"><style>
/* Стили идентичны вашему примеру */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}
.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}
.promo-content {
    position: relative;
    z-index: 1;
}
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}
.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}
.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important; /* Важно для переопределения возможных конфликтов */
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    margin-bottom: 0;
}
.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}
.promo-price-note {
    font-size: 14px;
    color: #6b7280;
    margin-top: 12px;
    text-align: center;
}
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    /* Небольшое исправление для мобильных, чтобы пункты были читаемы */
    .promo-features ul { display: inline-block; text-align: left; }
    .promo-features li { padding-left: 20px; text-align: left; display: list-item; /* Возвращаем к списку */ width: auto; margin-right: 0; } /* Убираем inline-block и правый марджин */
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}
@media (max-width: 480px) {
      .promo-cta-block { padding: 20px 20px; }
      .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: list-item; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;} /* Гарантируем, что это список */
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    .promo-price-note { font-size: 12px; margin-top: 8px; }
      .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🎓</div> <div class="promo-title">Станьте эффективнее в учебе с AI-помощником</div> <div class="promo-description">
            Забудьте о рутине: доверьте ИИ структурирование конспектов, поиск информации, оформление работ и подготовку к сессии. Получите доступ к мощным инструментам, которые помогут учиться быстрее и качественнее.
        </div>
        <div class="promo-features">
            <ul>
                <li>Мощные модели для сложных задач (GPT-4o, GPT-4)</li>
                <li>Анализ текста и изображений (конспекты, схемы)</li>
                <li>Помощь с поиском актуальной информации (веб-доступ)</li>
                <li>Структурирование идей и написание текстов</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать AI-помощник для учебы за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="false">
			<link>https://course.aiacademy.me/tpost/uvxvmpnj41-iskusstvennii-intellekt-dlya-uchitelei-o</link>
		</item>
		<item turbo="true">
			<title>Введение в GPTs: Создайте свой ChatGPT без кода</title>
			<link>https://course.aiacademy.me/tpost/8m71xt7ga1-vvedenie-v-gpts-sozdaite-svoi-chatgpt-be</link>
			<pubDate>Thu, 10 Apr 2025 19:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3135-3262-4330-b465-366331613163/image.png" type="image/png"/>
			<description>Узнайте, что такое GPTs от OpenAI и как создать свою версию ChatGPT для любых задач без программирования. Инструкции, знания, действия, GPT Store от OpenAI Academy на русском языке</description>
			<turbo:content>
<![CDATA[<header><h1>Введение в GPTs: Создайте свой ChatGPT без кода</h1></header><figure><img src="https://static.tildacdn.com/tild3135-3262-4330-b465-366331613163/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~6 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">💡</div>
            <div class="intro-content">
                <strong>Что такое GPTs:</strong> Поймете, как GPTs позволяют создавать настраиваемые версии ChatGPT для конкретных целей и рабочих процессов, доступные каждому.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔧</div>
            <div class="intro-content">
                <strong>Создание без кода:</strong> Узнаете, что для создания GPT не требуются навыки программирования — достаточно инструкций, дополнительных знаний и, при необходимости, подключения к внешним системам через действия.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">⏱️</div>
            <div class="intro-content">
                <strong>Преимущества перед ChatGPT:</strong> Разберетесь, почему использование GPT экономит время на повторяющихся задачах, сохраняя контекст, инструкции и файлы для многократного применения.
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">🤖</div>
            <div class="intro-content">
                <strong>Примеры использования:</strong> Увидите GPTs в действии на примерах помощника по кадрам, использующего базу знаний компании, и ассистента по написанию текстов, дающего рекомендации по улучшению.
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">📊</div>
            <div class="intro-content">
                <strong>Категории GPTs:</strong> Познакомитесь с классификацией GPTs на ускорители (административные задачи), помощники (новые навыки) и преобразователи (изменение рабочих процессов).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🛒</div>
            <div class="intro-content">
                <strong>Обзор GPT Store:</strong> Получите представление о магазине GPT Store как месте для поиска и использования GPT, созданных другими пользователями и внутри вашей организации.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 10.04.2025 </div> <div class="tag">
            <span class="tag-icon">#️⃣</span>
             GPTs / Custom GPT / ChatGPT / Введение
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI / AI Помощники / No-Code / Автоматизация
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Устали повторять одни и те же инструкции и загружать одинаковые файлы в ChatGPT для рутинных задач? Представьте, что у вас есть специализированный помощник, который уже знает все нужные вводные и контекст. В этом видео вы узнаете, как создать именно такого помощника — собственную GPT-модель — без единой строчки кода. Это позволит автоматизировать повторяющиеся действия и сэкономить время.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239046" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>GPT / ГПТ (Generative Pre-trained Transformer):</strong> Настраиваемая версия ChatGPT, созданная пользователем для выполнения конкретной цели, задачи или рабочего процесса. Может включать специфические инструкции, дополнительные знания и возможности (действия).<br /><br /><strong>ChatGPT / Чат-ГПТ:</strong> Базовая большая языковая модель OpenAI, способная вести диалог, генерировать текст и выполнять другие языковые задачи. Служит основой для создания GPTs.<br /><br /><strong>Инструкции (Instructions):</strong> Указания, которые пользователь дает при создании GPT, определяющие ее роль, поведение, тон и задачи.<br /><br /><strong>Знания (Knowledge):</strong> Дополнительная информация (например, файлы с внутренними документами, руководствами), которую пользователь может предоставить GPT для использования при ответах, помимо ее общих знаний.<br /><br /><strong>Действия (Actions):</strong> Дополнительные возможности, которые можно подключить к GPT, позволяющие ей взаимодействовать с внешним миром: искать информацию в интернете, создавать изображения, анализировать данные или подключаться к другим сервисам через API.<br /><br /><strong>Конструктор GPT (GPT Builder):</strong> Интерфейс внутри ChatGPT, позволяющий создавать и настраивать собственные GPT-модели без написания кода, путем диалога и заполнения полей конфигурации.<br /><br /><strong>Магазин GPT (GPT Store):</strong> Платформа OpenAI, где пользователи могут находить, использовать и делиться GPTs, созданными сообществом и самой OpenAI.<br /><br /><strong>Категории GPT (Categories):</strong> Условное разделение GPTs по типу решаемых задач:<br /><ul><li data-list="bullet"><strong>Ускорители (Accelerators):</strong> Для более быстрого и качественного выполнения административных задач.</li><li data-list="bullet"><strong>Помощники (Helpers):</strong> Для выполнения задач, требующих специфических навыков, которых может не быть у пользователя.</li><li data-list="bullet"><strong>Преобразователи (Transformers):</strong> Для фундаментального изменения рабочих процессов.</li></ul></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Промпт-Инжиниринг для Новичков: Как Писать Эффективные Запросы к ИИ</title>
			<link>https://course.aiacademy.me/tpost/o1i0fbrrd1-prompt-inzhiniring-dlya-novichkov-kak-pi</link>
			<pubDate>Thu, 10 Apr 2025 21:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild6466-3761-4439-b038-363436656165/image.png" type="image/png"/>
			<description>Получайте точные ответы от чат-ботов! ✅ Простое видео-руководство по промпт-инжинирингу для начинающих. Узнайте, как структура (контекст, роль, ожидание) улучшает запросы к ИИ.
</description>
			<turbo:content>
<![CDATA[<header><h1>Промпт-Инжиниринг для Новичков: Как Писать Эффективные Запросы к ИИ</h1></header><figure><img src="https://static.tildacdn.com/tild6466-3761-4439-b038-363436656165/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
             ~5 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">💡</div>
            <div class="intro-content">
                <strong>Что такое Промпт:</strong> Поймете, что промпт (подсказка) — это просто ваш запрос или инструкция для ИИ, и почему четкость формулировки напрямую влияет на качество ответа чат-бота.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🧱</div>
            <div class="intro-content">
                <strong>Структура Эффективного Промпта:</strong> Освоите трехкомпонентную модель: <strong>Контекст</strong> (исходные данные), <strong>Роль</strong> (кто вы или кем должен быть ИИ) и <strong>Ожидание</strong> (желаемый результат).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔄</div>
            <div class="intro-content">
                <strong>Улучшение Промптов (Примеры):</strong> Увидите на конкретных примерах (анализ рыночных трендов, обработка отзывов), как добавление контекста, роли и ожиданий превращает общий вопрос в точную инструкцию для ИИ.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🚀</div>
            <div class="intro-content">
                <strong>Практический Совет:</strong> Узнаете, как использовать сам чат-бот, чтобы получить примеры хороших промптов для ваших конкретных задач и роли, ускоряя обучение.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
              От 10.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             ПромптИнжиниринг / ОсновыИИ / ЧатБоты
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             Структура Промпта / Контекст Роль Ожидание / Примеры
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Получать от чат-бота общие или нерелевантные ответы — знакомая ситуация. Кажется, что ИИ способен на многое, но часто не понимает, что именно вам нужно. Дело не всегда в модели: качество ответа напрямую зависит от того, как вы формулируете запрос. Умение правильно ставить задачу ИИ — это не сложная наука, а навык четкой коммуникации, который можно развить.<br /><br />Это видео — практическое руководство по основам промпт-инжиниринга для всех, кто хочет использовать чат-боты эффективнее. Мы разберем простую, но рабочую структуру запроса: как добавить контекст, определить роль для ИИ и четко описать ожидаемый результат. На конкретных примерах вы увидите, как эти шаги помогают превратить расплывчатый вопрос в точную инструкцию, чтобы получать от ИИ именно ту информацию, которая вам необходима.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239047" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Промпт (Подсказка / Запрос / англ. Prompt):</strong> Текст (вопрос, инструкция, команда или любая другая входная информация), который пользователь передает ИИ-модели для получения ответа или выполнения задачи.<br /><br /><strong>Промпт-инжиниринг (Инженерия подсказок / англ. Prompt Engineering):</strong> Процесс и навык создания и оптимизации промптов для эффективного взаимодействия с ИИ-моделями и получения от них наиболее точных, релевантных и полезных результатов.<br /><br /><strong>Контекст (в промпте):</strong> Исходная информация, данные или общие сведения, которые предоставляются ИИ-модели в рамках промпта, чтобы она лучше поняла задачу и имела основу для генерации ответа.<br /><br /><strong>Роль (в промпте):</strong> Описание роли, которую должен принять пользователь ("Я — менеджер по продукту...") или ИИ-модель ("Представь, что ты — опытный редактор...") для выполнения задачи в определенном стиле или с определенной точки зрения.<br /><br /><strong>Ожидание (в промпте):</strong> Четкое описание желаемого результата, формата ответа или конкретных действий, которые пользователь хочет получить от ИИ-модели (например, "выдели основные тенденции", "предложи шаги", "составь список").<br /><br /><strong>Чат-бот (англ. Chatbot):</strong> Программа или сервис на основе ИИ, предназначенный для ведения диалога с пользователем на естественном языке, ответа на вопросы и выполнения различных задач.<br /><br /><strong>ИИ-модель (Модель Искусственного Интеллекта / англ. AI Model):</strong> Алгоритм или система, обученная на больших объемах данных, способная выполнять задачи, обычно требующие человеческого интеллекта, такие как понимание и генерация текста, распознавание образов и т. д.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Мастерство Промптов ChatGPT: Гайд по Контексту и Запросам</title>
			<link>https://course.aiacademy.me/tpost/clop23hz01-masterstvo-promptov-chatgpt-gaid-po-kont</link>
			<pubDate>Thu, 10 Apr 2025 18:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3836-3438-4133-b764-373039613134/image.png" type="image/png"/>
			<description>Как заставить ChatGPT давать нужные ответы? Узнайте секреты эффективных промптов: контекст, ожидания, форматы, роли. Практический гайд в формате видео + примеры.</description>
			<turbo:content>
<![CDATA[<header><h1>Мастерство Промптов ChatGPT: Гайд по Контексту и Запросам</h1></header><figure><img src="https://static.tildacdn.com/tild3836-3438-4133-b764-373039613134/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили взяты из ваших примеров */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Делаем strong жирным и блочным на мобильных */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

/* Адаптация для экранов пошире */
@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    /* Делаем strong инлайновым с отступом справа на десктопе */
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
             ~9 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🎯</div>
            <div class="intro-content">
                <strong>Формулировать Эффективные Промпты:</strong> Поймете ключевую структуру запроса к ChatGPT — предоставление <strong>Контекста</strong> (информации о задаче) и <strong>Ожиданий</strong> (желаемого результата).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✨</div>
            <div class="intro-content">
                <strong>Улучшать Качество Ответов:</strong> Увидите на примерах (подготовка к тесту, исследование), как добавление деталей и конкретики превращает расплывчатые просьбы в полезные ответы от ИИ.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🗣️</div>
             <div class="intro-content">
                <strong>Использовать Голосовой Ввод:</strong> Узнаете, как эффективно взаимодействовать с ChatGPT голосом, предоставляя необходимый контекст и ожидания в диалоговом режиме.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">💡</div>
            <div class="intro-content">
                <strong>Применять Продвинутые Техники:</strong> Научитесь запрашивать у ChatGPT ответы в <strong>нужном формате</strong> (тезисы, таблицы), просить <strong>примеры</strong> для лучшего понимания и назначать ИИ определенную <strong>роль</strong> (например, "профессор") для более релевантных ответов.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 10.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
              ChatGPT / Промптинг / AI
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
              OpenAI / Промпт-инжиниринг / Контекст / Голосовой ввод
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
              На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__text">Получаете от ChatGPT общие или бесполезные ответы? Часто проблема не в модели, а в том, как сформулирован запрос. Это видео научит главному навыку для работы с ИИ — умению задавать вопросы так, чтобы получать нужный результат. Разберем простую, но эффективную схему промпта, основанную на двух элементах: контексте вашей задачи и четких ожиданиях от ответа.<br /><br />На практических примерах — от подготовки к экзамену до помощи в исследованиях — вы увидите, как превратить расплывчатые идеи в конкретные инструкции для ChatGPT. Покажем, как использовать голосовой ввод и как запрашивать ответы в нужном формате или с определенной ролевой моделью. Полезно всем, кто хочет использовать ChatGPT продуктивнее и перестать тратить время на переформулирование запросов.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239048" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Промпт (Prompt):</strong> Запрос, инструкция или вопрос, который пользователь дает языковой модели (например, ChatGPT), чтобы получить ответ.<br /><br /><strong>Контекст (Context):</strong> Фоновая информация, детали задачи или предыстория, которую вы предоставляете ИИ вместе с запросом, чтобы помочь ему лучше понять вашу потребность.<br /><br /><strong>Ожидание (Expectation):</strong> Четкое описание того, какой результат или тип ответа вы хотите получить от ИИ (например, "список из 10 вопросов", "объяснение в три шага", "ответ в формате таблицы").<br /><br /><strong>Мультимодальность (Multimodal):</strong> Способность ИИ обрабатывать и понимать информацию из разных источников или в разных форматах, таких как текст, голос, изображения.<br /><br /><strong>Голосовой режим (Voice Mode):</strong> Функция ChatGPT (в мобильном приложении), позволяющая общаться с ИИ голосом, задавая вопросы и получая устные ответы.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><a href="https://openai.com/chatgpt/overview/" target="_blank" rel="noreferrer noopener">ChatGPT Overview - OpenAI</a> — Официальная страница с обзором возможностей ChatGPT.<br /><br /><a href="https://platform.openai.com/docs/guides/prompt-engineering" target="_blank" rel="noreferrer noopener">Prompt engineering - OpenAI API Documentation</a> — Руководство OpenAI по созданию эффективных промптов (содержит общие полезные принципы, применимые и вне API).<br /><br /><a href="https://help.openai.com/en/collections/3742473-chatgpt" target="_blank" rel="noreferrer noopener">OpenAI Help Center - ChatGPT Collection</a> — Раздел справочного центра OpenAI, посвященный вопросам по использованию ChatGPT.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>ChatGPT Видит, Слышит, Говорит: Что Такое Мультимодальный ИИ? (Обзор GPT-4o)</title>
			<link>https://course.aiacademy.me/tpost/931x64lri1-chatgpt-vidit-slishit-govorit-chto-takoe</link>
			<pubDate>Thu, 10 Apr 2025 19:15:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3830-3639-4630-b838-376330326531/image.png" type="image/png"/>
			<description>Узнайте, как ChatGPT с моделью GPT-4o выходит за рамки простого текста! Это видео — наглядное объяснение мультимодальности ИИ: способности понимать ваш голос, "видеть" изображения, анализировать файлы и, конечно, работать с текстом.</description>
			<turbo:content>
<![CDATA[<header><h1>ChatGPT Видит, Слышит, Говорит: Что Такое Мультимодальный ИИ? (Обзор GPT-4o)</h1></header><figure><img src="https://static.tildacdn.com/tild3830-3639-4630-b838-376330326531/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Общие стили для блока */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%); /* Градиентный фон */
    border-radius: 12px; /* Скругленные углы */
    padding: 16px; /* Внутренние отступы */
    width: calc(100% - 32px); /* Ширина с учетом отступов */
    max-width: 800px; /* Максимальная ширина */
    margin: 16px auto; /* Центрирование и внешние отступы */
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05); /* Легкая тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; /* Современный шрифт */
    box-sizing: border-box; /* Учет padding и border в размерах */
}

/* Заголовок блока */
.intro-header {
    display: flex;
    flex-direction: column; /* Элементы в столбец на мобильных */
    align-items: flex-start;
    gap: 8px; /* Пространство между элементами */
    margin-bottom: 16px; /* Отступ снизу */
}

/* Текст заголовка "Чему вы научитесь" */
.intro-title {
    font-size: 18px;
    font-weight: 600; /* Полужирное начертание */
    color: #2d3748; /* Темно-серый цвет текста */
}

/* Блок времени просмотра */
.reading-time {
    font-size: 13px;
    color: #6b7280; /* Серый цвет текста */
    background: rgba(139, 127, 255, 0.1); /* Полупрозрачный фиолетовый фон */
    padding: 4px 8px;
    border-radius: 16px; /* Форма "таблетки" */
    display: inline-flex; /* Расположение в строку */
    align-items: center; /* Выравнивание по центру */
    gap: 4px; /* Пространство между иконкой и текстом */
}

.reading-time-icon {
    color: #8B7FFF; /* Фиолетовый цвет иконки */
}

/* Список пунктов */
.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px; /* Пространство между пунктами */
    width: 100%;
}

/* Отдельный пункт списка */
.intro-item {
    display: flex;
    flex-direction: column; /* Иконка над текстом на мобильных */
    gap: 8px;
    background: rgba(255, 255, 255, 0.8); /* Полупрозрачный белый фон */
    padding: 12px;
    border-radius: 8px; /* Скругленные углы */
    width: 100%;
    box-sizing: border-box;
}

/* Иконка пункта */
.intro-icon {
    background: #8B7FFF; /* Фиолетовый фон */
    color: white; /* Белый цвет символа */
    width: 24px;
    height: 24px;
    border-radius: 6px; /* Скругленные углы */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px; /* Размер символа */
    flex-shrink: 0; /* Не сжимать иконку */
}

/* Текст пункта */
.intro-content {
    color: #4a5568; /* Темно-серый цвет текста */
    font-size: 14px;
    line-height: 1.4; /* Межстрочный интервал */
}

/* Выделение ключевой мысли в пункте */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* Начинается с новой строки */
    margin-bottom: 4px; /* Небольшой отступ снизу */
}

/* Футер блока с тегами */
.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1); /* Разделительная линия */
    display: flex;
    flex-direction: column; /* Теги в столбец на мобильных */
    align-items: flex-start;
    gap: 8px; /* Пространство между тегами */
}

/* Стиль тега */
.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px; /* Форма "таблетки" */
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF; /* Фиолетовая иконка тега */
}

/* Адаптация для экранов шире 640px */
@media (min-width: 640px) {
    .intro-compact {
        padding: 24px; /* Увеличенные отступы */
        margin: 32px auto; /* Увеличенные внешние отступы */
    }
    .intro-header {
        flex-direction: row; /* Заголовок и время в строку */
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row; /* Иконка слева от текста */
        align-items: flex-start; /* Выравнивание по верху */
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px; /* Немного крупнее шрифт */
    }
    .intro-content strong {
        display: inline; /* Ключевая мысль в строку с текстом */
        margin-bottom: 0;
        margin-right: 4px; /* Отступ справа */
    }
    .intro-footer {
        flex-direction: row; /* Теги в строку */
        gap: 12px; /* Увеличенное пространство */
        flex-wrap: wrap; /* Перенос тегов на новую строку при необходимости */
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏱️</span> ~11 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">💡</div>
            <div class="intro-content">
                <strong>Что такое Мультимодальность:</strong> Поймете концепцию мультимодальности в ИИ — способность моделей, таких как ChatGPT, обрабатывать и генерировать информацию разных типов (текст, аудио, изображения, файлы).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔄</div>
            <div class="intro-content">
                <strong>Взаимодействие Текст-Текст и Текст-Веб:</strong> Увидите, как использовать ChatGPT для генерации идей (например, для мероприятий) и для поиска актуальной информации в интернете с ссылками на источники.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🗣️</div>
            <div class="intro-content">
                <strong>Голосовое Общение с ИИ:</strong> Узнаете, как общаться с ChatGPT голосом для получения советов и подготовки к задачам (например, к встрече), и как ИИ отвечает также голосом.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🖼️</div>
            <div class="intro-content">
                <strong>Работа с Изображениями и Файлами:</strong> Посмотрите, как ChatGPT создает изображения по текстовому описанию, анализирует содержимое загруженных картинок (фото доски) и извлекает суть из документов (PDF).
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
            От 10.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
            Мультимодальность / ChatGPT / GPT-4o
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
            AI / Искусственный Интеллект / Обработка Данных
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
            На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Термин "мультимодальный ИИ" звучит чаще, но что он означает на практике? Речь идет о способности искусственного интеллекта, такого как GPT-4o в основе ChatGPT, работать не только с текстом, но и понимать, обрабатывать и генерировать информацию в разных форматах: голос, изображения, код, таблицы данных. Это превращает ИИ из простого собеседника в универсального помощника, способного решать более комплексные задачи, где требуется "видеть", "слышать" и анализировать разнообразные данные, а не только слова.<br /><br />В этом видео мы не просто объясняем теорию, а наглядно показываем мультимодальность в действии. Вы увидите шесть конкретных примеров использования ChatGPT: от генерации идей и поиска информации в сети до полноценного голосового диалога, создания уникальных изображений по запросу, анализа содержимого фотографии с заметками и быстрого извлечения сути из PDF-документа. Это демонстрация того, как современные ИИ-модели взаимодействуют с миром через разные "органы чувств", и как это можно применить в работе и повседневных задачах.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239049" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Мультимодальность (Multimodality)</strong>: Способность ИИ-модели обрабатывать, понимать и генерировать информацию в различных форматах (модальностях), таких как текст, изображения, аудио, код, видео и другие типы данных, а не только в одном.<br /><br /><strong>ИИ-модель (AI Model)</strong>: Алгоритм или система искусственного интеллекта, обученная на данных для выполнения определенных задач (например, GPT-4o).<br /><br /><strong>GPT-4o</strong>: Флагманская мультимодальная модель от OpenAI (на момент записи лекции), способная обрабатывать и генерировать текст, аудио и изображения, лежащая в основе ChatGPT.<br /><br /><strong>ChatGPT</strong>: Разговорный ИИ-интерфейс от OpenAI, предоставляющий доступ к возможностям их моделей, включая GPT-4o.<br /><br /><strong>Модальность (Modality)</strong>: Тип или формат данных, с которым работает ИИ. В лекции упоминаются: текст, изображения, аудио (голос), файлы (PDF).<br /><br /><strong>Запрос (Prompt)</strong>: Входные данные (текст, голос, изображение), которые пользователь подает ИИ-модели для получения ответа или выполнения задачи.<br /><br /><strong>Генерация Изображений (Image Generation)</strong>: Процесс создания ИИ-моделью визуальных изображений на основе текстового описания (запроса).<br /><br /><strong>Анализ Изображений / Зрение (Image Analysis / Vision)</strong>: Способность ИИ-модели "видеть" и интерпретировать содержимое изображений, загруженных пользователем.<br /><br /><strong>Голосовой Режим (Voice Mode)</strong>: Функция, позволяющая взаимодействовать с ИИ (например, ChatGPT) с помощью голоса как для ввода запросов, так и для получения ответов.<br /><br /><strong>Анализ Файлов (File Analysis)</strong>: Возможность загружать файлы (например, PDF, таблицы данных) в ИИ-систему для их анализа, обобщения или извлечения информации.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><ul><li data-list="bullet"><a href="https://openai.com/chatgpt/" target="_blank" rel="noreferrer noopener">ChatGPT</a>: Страница продукта ChatGPT.</li><li data-list="bullet"><a href="https://openai.com/index/hello-gpt-4o/" target="_blank" rel="noreferrer noopener">GPT-4o</a>: Анонс и описание возможностей модели GPT-4o.</li><li data-list="bullet"><a href="https://platform.openai.com/" target="_blank" rel="noreferrer noopener">Платформа OpenAI API</a>: Портал для разработчиков для доступа к API моделей OpenAI (включая возможности работы с разными модальностями).</li><li data-list="bullet"><a href="https://openai.com/dall-e-3/" target="_blank" rel="noreferrer noopener">DALL·E 3</a>: Информация о модели генерации изображений OpenAI (технология, вероятно используемая в ChatGPT для генерации изображений).</li></ul></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>OpenAI, LLM и ChatGPT: Как Устроен Современный ИИ | Введение (2025)</title>
			<link>https://course.aiacademy.me/tpost/nir2sutre1-openai-llm-i-chatgpt-kak-ustroen-sovreme</link>
			<pubDate>Thu, 10 Apr 2025 19:15:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild6163-6331-4834-b539-353463366433/image.png" type="image/png"/>
			<description>Узнайте основы ИИ от OpenAI: история компании, как работают большие языковые модели (LLM) и GPT, мультимодальные возможности ChatGPT (GPT-4o, DALL-E 3) и новая модель OpenAI o1.
</description>
			<turbo:content>
<![CDATA[<header><h1>OpenAI, LLM и ChatGPT: Как Устроен Современный ИИ | Введение (2025)</h1></header><figure><img src="https://static.tildacdn.com/tild6163-6331-4834-b539-353463366433/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили адаптированы из предоставленных примеров */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

/* Медиа-запрос для адаптивности */
@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline; /* Отображение strong в строку на больших экранах */
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~6 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🎯</div>
            <div class="intro-content">
                <strong>Миссия и История OpenAI:</strong> Поймете ключевые цели компании с момента основания и как появился ChatGPT.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🧠</div>
            <div class="intro-content">
                <strong>Основы LLM:</strong> Узнаете, что такое большие языковые модели, как работают нейронные сети и архитектура GPT (трансформер), и как они обучаются на данных.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">💡</div>
             <div class="intro-content">
                <strong>Возможности ChatGPT:</strong> Разберетесь, как ChatGPT служит интерфейсом к LLM и какие мультимодальные функции (GPT-4o, DALL-E 3, анализ данных, браузинг, голос) он предлагает.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">1️⃣</div>
            <div class="intro-content">
                <strong>OpenAI One Preview:</strong> Познакомитесь с новой моделью, ориентированной на сложные рассуждения, ее особенностями и текущими ограничениями по сравнению с GPT-4.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 10.04.2025
        </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             OpenAI / LLM / ChatGPT / GPT-4o / Введение в ИИ
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             Нейронные Сети / Трансформеры / Мультимодальность / OpenAI One
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Это видео — краткое введение в мир технологий OpenAI. Мы рассмотрим историю компании, её миссию по созданию безопасного ИИ и объясним, как работают большие языковые модели (LLM): от нейронных сетей и архитектуры GPT до процессов обучения на данных и генерации текста. Вы поймете, как ChatGPT стал удобным интерфейсом для взаимодействия с этими сложными системами.<br /><br />Мы также разберем ключевые модели, доступные через ChatGPT: мультимодальную GPT-4o, способную работать с текстом, аудио и изображениями, генератор изображений DALL-E 3, инструменты анализа данных и браузинга. Отдельно познакомим с OpenAI o1 — новой моделью, разработанной для решения сложных задач, требующих глубоких рассуждений, и объясним её отличия от GPT-4.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239050" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>API (Application Programming Interface / Интерфейс прикладного программирования):</strong> Способ взаимодействия программных систем, через который разработчики могли получать доступ к моделям OpenAI (например, GPT-3) до появления ChatGPT.<br /><br /><strong>ChatGPT (Чат ГПТ):</strong> Сервис OpenAI, запущенный в ноябре 2022 года, предоставляющий доступ к большим языковым моделям через интуитивно понятный интерфейс чата. Позволил широкой аудитории взаимодействовать с LLM.<br /><br /><strong>DALL-E 3:</strong> Модель OpenAI (упомянута в лекции как "Dolly 3"), используемая в ChatGPT для генерации изображений по текстовым описаниям (подсказкам).<br /><br /><strong>GPT (Generative Pre-trained Transformer / Генеративный Предварительно Обученный Трансформер):</strong> Тип архитектуры нейронной сети (трансформер), используемый в моделях OpenAI (например, GPT-4o). Модели предварительно обучаются на больших объемах текста и способны генерировать новый текст.<br /><br /><strong>GPT-4o:</strong> Флагманская модель OpenAI (упомянута в лекции как "GPT-SOROC"), работающая в ChatGPT и способная обрабатывать текст, изображение и аудио в реальном времени.<br /><br /><strong>LLM (Large Language Model / Большая языковая модель):</strong> Модель ИИ, специально разработанная для понимания и генерации текста, похожего на человеческий. Обучается на огромных массивах текстовых данных.<br /><br /><strong>OpenAI:</strong> Исследовательская и внедренческая компания, основанная в 2015 году с миссией обеспечить пользу от общего искусственного интеллекта всему человечеству.<br /><br /><strong>OpenAI One / One Preview:</strong> Первая модель в новой серии продуктов OpenAI, разработанная для решения сложных задач, требующих глубоких рассуждений. One Preview — ранняя версия этой модели.<br /><br /><strong>Вывод (Inference):</strong> Этап работы модели GPT, на котором она генерирует ответ на основе полученного запроса, предсказывая наиболее вероятные следующие слова.<br /><br /><strong>Мультимодальность:</strong> Способность ИИ-модели обрабатывать и генерировать информацию в различных форматах (модальностях), таких как текст, изображения, аудио. Пример: GPT-4o.<br /><br /><strong>Нейронная сеть:</strong> Архитектура машинного обучения, вдохновленная человеческим мозгом, состоящая из слоев взаимосвязанных узлов (нейронов) для обработки информации. Лежит в основе LLM.<br /><br /><strong>Общеискусственный интеллект (ОИИ / AGI - Artificial General Intelligence):</strong> Гипотетический интеллект машины, способный понять или изучить любую интеллектуальную задачу, с которой может справиться человек. Достижение безопасного и полезного ОИИ — миссия OpenAI.<br /><br /><strong>Обучение (модели):</strong> Процесс, в ходе которого нейронная сеть анализирует большие объемы данных, выявляет закономерности и корректирует свои параметры (нейронные связи) для минимизации ошибок при выполнении задачи (например, предсказании следующего слова).<br /><br /><strong>Оптимизация:</strong> Процесс корректировки параметров нейронной сети во время обучения для улучшения ее производительности и точности предсказаний.<br /><br /><strong>Расширенный анализ данных (Advanced Data Analysis):</strong> Функция ChatGPT, позволяющая анализировать, изменять и визуализировать данные из загруженных файлов.<br /><br /><strong>Цепочка мыслей (Chain-of-thought):</strong> Метод, используемый моделью OpenAI One, при котором она генерирует последовательность рассуждений перед тем, как дать окончательный ответ. Это помогает отслеживать и проверять ее работу.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><a href="https://openai.com/" target="_blank" rel="noreferrer noopener">OpenAI (Официальный сайт)</a> — Главный сайт компании OpenAI.<br /><br /><a href="https://openai.com/chatgpt/" target="_blank" rel="noreferrer noopener">ChatGPT (Страница продукта)</a> — Официальная страница продукта ChatGPT.<br /><br /><a href="https://platform.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI API Platform (Портал для разработчиков)</a> — Ресурсы и документация для разработчиков, использующих API OpenAI.<br /><br /><a href="https://openai.com/blog/" target="_blank" rel="noreferrer noopener">Блог OpenAI (Анонсы и исследования)</a> — Место, где публикуются последние новости, анонсы моделей (включая GPT-4o, OpenAI One) и результаты исследований.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>ChatGPT: Организация Задач с Проектами и Автоматизация с GPTs | Гайд</title>
			<link>https://course.aiacademy.me/tpost/704i17bzl1-chatgpt-organizatsiya-zadach-s-proektami</link>
			<pubDate>Thu, 10 Apr 2025 19:15:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3035-3632-4566-a230-393263636566/image.png" type="image/png"/>
			<description>Практический гайд по ChatGPT: наведите порядок в задачах с функцией "Проекты" и автоматизируйте рутину, создавая свои GPTs. Настройка инструкций, знаний, возможностей.
</description>
			<turbo:content>
<![CDATA[<header><h1>ChatGPT: Организация Задач с Проектами и Автоматизация с GPTs | Гайд</h1></header><figure><img src="https://static.tildacdn.com/tild3035-3632-4566-a230-393263636566/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Общие стили блока */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%); /* Градиентный фон */
    border-radius: 12px; /* Скругленные углы */
    padding: 16px; /* Внутренние отступы */
    width: calc(100% - 32px); /* Ширина с учетом отступов */
    max-width: 800px; /* Максимальная ширина */
    margin: 16px auto; /* Центрирование и внешние отступы */
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05); /* Тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; /* Шрифт */
    box-sizing: border-box; /* Учет padding и border в ширине */
}

/* Заголовок блока */
.intro-header {
    display: flex;
    flex-direction: column; /* Элементы в столбец на мобильных */
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

/* Текст заголовка */
.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748; /* Темно-серый цвет текста */
}

/* Блок с временем просмотра */
.reading-time {
    font-size: 13px;
    color: #6b7280; /* Серый цвет текста */
    background: rgba(139, 127, 255, 0.1); /* Полупрозрачный фон */
    padding: 4px 8px;
    border-radius: 16px; /* Овальная форма */
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Иконка времени */
.reading-time-icon {
    color: #8B7FFF; /* Фиолетовый цвет */
}

/* Список пунктов */
.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

/* Отдельный пункт списка */
.intro-item {
    display: flex;
    flex-direction: column; /* Иконка над текстом на мобильных */
    gap: 8px;
    background: rgba(255, 255, 255, 0.8); /* Полупрозрачный белый фон */
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

/* Иконка пункта */
.intro-icon {
    background: #8B7FFF; /* Фиолетовый фон */
    color: white; /* Белый цвет иконки (emoji) */
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0; /* Иконка не сжимается */
}

/* Текстовое содержимое пункта */
.intro-content {
    color: #4a5568; /* Средне-серый цвет текста */
    font-size: 14px;
    line-height: 1.4; /* Межстрочный интервал */
}

/* Стиль для выделенного текста (ключевая идея пункта) */
.intro-content strong {
    color: #2d3748; /* Темнее основного текста */
    font-weight: 600;
    display: block; /* Начинается с новой строки на мобильных */
    margin-bottom: 4px;
}

/* Подвал блока (с тегами) */
.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1); /* Разделитель */
    display: flex;
    flex-direction: column; /* Теги в столбец на мобильных */
    align-items: flex-start;
    gap: 8px;
}

/* Отдельный тег */
.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px; /* Овальная форма */
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Иконка тега */
.tag-icon {
    color: #8B7FFF;
}

/* Адаптация для экранов шире 640px */
@media (min-width: 640px) {
    .intro-compact {
        padding: 24px; /* Увеличиваем отступы */
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row; /* Заголовок и время в строку */
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row; /* Иконка и текст в строку */
        align-items: flex-start; /* Выравнивание по верху */
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px; /* Немного крупнее шрифт */
    }
    .intro-content strong {
        display: inline; /* Ключевая идея в строку с текстом */
        margin-bottom: 0;
        margin-right: 4px; /* Отступ справа */
    }
    .intro-footer {
        flex-direction: row; /* Теги в строку */
        gap: 16px;
        flex-wrap: wrap; /* Перенос тегов при необходимости */
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~18 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">📂</div>
            <div class="intro-content">
                <strong>Организация с Проектами:</strong> Научитесь использовать Проекты для группировки чатов, файлов и инструкций, чтобы ChatGPT лучше понимал контекст ваших задач и давал более точные ответы.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🤖</div>
             <div class="intro-content">
                <strong>Автоматизация с GPTs:</strong> Поймете, что такое кастомные GPT, как они отличаются от Проектов и для каких задач подходят (автоматизация повторяющихся действий, создание специализированных помощников).
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🛠️</div>
            <div class="intro-content">
                <strong>Создание своего GPT (Без кода):</strong> Освоите интерфейс GPT Builder для пошагового создания персонализированных ИИ-помощников под конкретные рабочие или учебные задачи.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">⚙️</div>
            <div class="intro-content">
                <strong>Настройка GPT:</strong> Узнаете, как писать эффективные инструкции, добавлять файлы знаний для экспертизы GPT и подключать нужные возможности (веб-поиск, DALL-E, анализ данных).
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Тестирование и Публикация:</strong> Научитесь проверять работу GPT в предпросмотре, публиковать его для себя или команды и управлять доступом.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 10.04.2025
        </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             Организация / Автоматизация / Продуктивность
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             ChatGPT / Проекты / GPTs / Custom GPTs / GPT Builder
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
        </div>
    </div>
</div></div><div class="t-redactor__text">Тратите много времени на организацию работы и повторяющиеся задачи? Узнайте, как ChatGPT помогает навести порядок и автоматизировать рутину с помощью двух инструментов: Проектов и кастомных GPTs.<br /><br />В этом видео — практическое руководство без сложных терминов:<br /><br /><ol><li data-list="ordered"><strong>Наведите порядок с Проектами.</strong> Покажем, как группировать чаты, файлы и заметки по каждой задаче. Результат — ChatGPT лучше понимает контекст и дает более точные ответы, нужные именно вам.</li><li data-list="ordered"><strong>Автоматизируйте рутину с GPTs.</strong> Научитесь создавать собственных ИИ-помощников без программирования. Поручите им типовые задачи: сделать конспект лекции, написать черновик письма, помочь с отладкой кода или подготовиться к собеседованию.</li><li data-list="ordered"><strong>Разберитесь в деталях.</strong> Пошагово объясним, как настроить свой GPT: написать понятные инструкции, добавить нужные файлы для «обучения», включить поиск в интернете или генерацию изображений.</li></ol><br />Посмотрите, чтобы тратить меньше времени на организацию и рутину, и больше — на важные задачи.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239051" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>Проекты (Projects):</strong> Функция в ChatGPT, позволяющая группировать связанные чаты, загруженные файлы и специфичные инструкции в единое рабочее пространство для лучшей организации и контекста при работе над конкретной задачей или темой.<br /><br /><strong>GPTs / GPT-модели / Кастомные GPT (Custom GPTs):</strong> Персонализированные версии ChatGPT, которые пользователи могут создавать и настраивать для выполнения специфических задач. Настройка включает в себя добавление инструкций, дополнительных знаний (файлов) и выбор встроенных возможностей (Capabilities).<br /><br /><strong>Инструкции (Instructions):</strong> Набор правил, указаний и примеров, которые определяют поведение, стиль ответа, роль и цель кастомного GPT или задают контекст для Проекта. Ключевой элемент настройки.<br /><br /><strong>Знания (Knowledge):</strong> Дополнительная информация (обычно в виде загруженных файлов), которую предоставляют кастомному GPT для расширения его базовых знаний и формирования экспертизы в определенной области. GPT использует эти файлы при генерации ответов.<br /><br /><strong>Возможности (Capabilities):</strong> Встроенные инструменты, которые можно включить или отключить для кастомного GPT, например:<br /><br /><ul><li data-list="bullet"><strong>Поиск в интернете (Web Browse):</strong> Позволяет GPT искать актуальную информацию в сети.</li><li data-list="bullet"><strong>DALL·E / Генерация изображений (Image Generation):</strong> Дает GPT возможность создавать изображения по запросу.</li><li data-list="bullet"><strong>Анализ данных / Интерпретатор кода (Code Interpreter / Data Analysis):</strong> Позволяет GPT выполнять код Python, анализировать данные, создавать графики, работать с файлами.</li></ul><br /><strong>Конструктор GPT (GPT Builder):</strong> Интерфейс в ChatGPT для создания и редактирования кастомных GPT. Включает вкладки "Создать" (Create) для настройки через диалог и "Настроить" (Configure) для прямого редактирования инструкций, знаний и возможностей.<br /><br /><strong>Начало разговора (Conversation Starters):</strong> Заранее подготовленные примеры запросов, которые отображаются при запуске кастомного GPT и помогают пользователю понять, какие вопросы можно задавать.<br /><br /><strong>Предпросмотр (Preview):</strong> Область в Конструкторе GPT, где можно тестировать работу создаваемого GPT в реальном времени и проверять, как он отвечает на запросы.<br /><br /><strong>Публикация (Publishing):</strong> Процесс сохранения и определения уровня доступа к созданному GPT (только для себя, по ссылке,</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Официальные ресурсы OpenAI:</strong><br /><ul><li data-list="bullet"><a href="https://chat.openai.com/" target="_blank" rel="noreferrer noopener">ChatGPT</a>: Основная страница для доступа и использования ChatGPT.</li><li data-list="bullet"><a href="https://help.openai.com/en/" target="_blank" rel="noreferrer noopener">OpenAI Help Center</a>: Центр поддержки OpenAI с ответами на частые вопросы и руководствами.</li><li data-list="bullet"><a href="https://help.openai.com/en/articles/8554397-creating-a-gpt" target="_blank" rel="noreferrer noopener">Creating a GPT</a>: Официальное руководство по созданию кастомных GPTs (на английском).</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/prompt-engineering" target="_blank" rel="noreferrer noopener">GPT Best Practices</a>: Рекомендации по созданию эффективных GPTs (на английском).</li></ul></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Модели OpenAI o1 для Рассуждений: Обзор, Практика и Демо</title>
			<link>https://course.aiacademy.me/tpost/xhr49flvg1-modeli-openai-o1-dlya-rassuzhdenii-obzor</link>
			<pubDate>Thu, 10 Apr 2025 19:10:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild6433-6231-4139-a436-346561626231/image.png" type="image/png"/>
			<description>Лекция про OpenAI o1: модели ИИ для рассуждений (CoT). Сравнение с GPT-4, демо метапрограммирования, планирования и кейс Sourcegraph для кода. </description>
			<turbo:content>
<![CDATA[<header><h1>Модели OpenAI o1 для Рассуждений: Обзор, Практика и Демо</h1></header><figure><img src="https://static.tildacdn.com/tild6433-6231-4139-a436-346561626231/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~55 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🧠</div>
            <div class="intro-content">
                <strong>Концепция и Рассуждение OpenAI o1:</strong> Поймете суть моделей o1 (Preview/Mini), их отличие от GPT ("думай прежде чем говорить") и механизм рассуждений Chain-of-Thought.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">↔️</div>
            <div class="intro-content">
                <strong>o1 vs GPT-4 и Промптинг:</strong> Разберетесь, когда выбирать o1 для сложных задач, а когда GPT-4, и освоите специфические техники промптинга для o1.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">🔄</div>
             <div class="intro-content">
                <strong>Метапрограммирование (Демо 1):</strong> Увидите, как использовать o1 для автоматической генерации и улучшения "рутин" (инструкций) для AI-агентов с помощью Evals.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📈</div>
            <div class="intro-content">
                <strong>Планирование и Выполнение (Демо 2):</strong> Изучите архитектуру, где o1 создает сложный план (логистика), а GPT-4 его выполняет, взаимодействуя с внешними системами.
            </div>
        </div>
         <div class="intro-item">
            <div class="intro-icon">💻</div>
            <div class="intro-content">
                <strong>Реальный Кейс (Sourcegraph):</strong> Узнаете, как o1 применяется в продукте Cody для глубокого понимания и генерации кода в больших репозиториях.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 10.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             OpenAI o1 / Рассуждение / Chain-of-Thought / Метапрограммирование
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI API / o1-preview / o1-mini / GPT-4 / Evals
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Стандартные языковые модели отлично справляются с быстрым генерированием текста, но часто "торопятся" с ответом на сложные, многоэтапные задачи, где требуется не скорость, а глубина анализа. OpenAI представляет o1 (One) — новую серию моделей, специально созданных для того, чтобы сначала рассуждать, а потом отвечать. В этой лекции мы детально разбираем их архитектуру, уникальный механизм "Chain-of-Thought" (цепочка мыслей) и показываем, как использовать их сильные стороны для решения нетривиальных проблем в математике, сложном программировании и стратегическом планировании — там, где стандартные подходы могут давать сбой.<br /><br />Вы получите не только теоретическое сравнение o1 с GPT-4 и специфические техники промптинга, но и увидите эти модели в действии. Мы демонстрируем два подробных технических примера: автоматическую генерацию и итеративное улучшение инструкций для AI-агентов с помощью метапрограммирования, а также построение сложной системы планирования логистики, где o1 отвечает за стратегию, а GPT-4 — за исполнение. В дополнение — реальный кейс от компании Sourcegraph, которые уже применяют o1 для работы с кодом в продакшене. Это практическое руководство по внедрению рассуждающего ИИ в ваши проекты.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239052" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text"><strong>OpenAI o1 / o1-preview / o1-mini:</strong>  Новая серия моделей OpenAI), специально разработанная для решения сложных задач, требующих многоэтапного рассуждения. o1-preview — продвинутая версия, o1-mini — более быстрая и экономичная. <br /><br /><strong>Reasoning (Рассуждение):</strong> Способность модели ИИ не просто генерировать ответ на основе шаблонов, а анализировать проблему, строить гипотезы, проверять их и выбирать оптимальный путь решения.<br /><br /><strong>Chain-of-Thought (CoT) / Цепочка Мыслей:</strong> Метод, при котором модель перед выдачей финального ответа генерирует промежуточные шаги рассуждений, имитируя процесс решения задачи человеком. В o1 это происходит "под капотом".<br /><br /><strong>Reasoning Tokens (Токены Рассуждений):</strong> (В контексте o1) Внутренние токены, генерируемые моделью в процессе Chain-of-Thought. Не передаются конечному пользователю напрямую через API.<br /><br /><strong>Output Tokens (Выходные Токены):</strong> Токены, составляющие финальный ответ модели, который передается пользователю через API. Используются для построения диалога.<br /><br /><strong>Prompting (Промптинг):</strong> Процесс формулирования запросов (подсказок) для языковой модели с целью получения желаемого результата. Для o1 рекомендуются более высокоуровневые запросы без пошаговых инструкций.<br /><br /><strong>Meta-programming / Metaprompting (Метапрограммирование / Метапромптинг):</strong> Техника использования одной языковой модели (например, o1) для генерации или улучшения промптов/инструкций для другой языковой модели (или для себя же) на основе данных оценки (Evals) или других критериев.<br /><br /><strong>Evals / Evaluation (Оценка):</strong> Процесс измерения производительности и точности ответов модели ИИ с использованием набора тестовых данных и критериев. В лекции используется для итеративного улучшения рутин агента.<br /><br /><strong>Agent (AI Агент):</strong> Система на базе ИИ, способная не только отвечать на запросы, но и выполнять действия, взаимодействовать с инструментами (API) для достижения поставленной цели.<br /><br /><strong>Routine (Рутина):</strong> (В контексте Демо 1) Структурированный набор инструкций и правил для AI-агента, определяющий его поведение и шаги для решения конкретной задачи (например, обработки запроса на отмену рейса).<br /><br /><strong>Planning (Планирование):</strong> Использование ИИ (в Демо 2 — o1) для создания высокоуровневого, многошагового плана или стратегии для решения сложной задачи (например, в логистике).<br /><br /><strong>Execution (Выполнение):</strong> Использование ИИ (в Демо 2 — GPT-4) для тактического выполнения шагов, определенных на этапе планирования, включая вызовы API и обработку результатов.<br /><br /><strong>Sourcegraph / Cody:</strong> Компания-партнер OpenAI (Sourcegraph) и их AI-ассистент для разработчиков (Cody), использующий модели OpenAI для понимания и генерации кода.<br /><br /><strong>Context Window (Контекстное Окно):</strong> Максимальный объем информации (в токенах), который модель может учитывать при обработке запроса и генерации ответа. Для o1 (на момент лекции) заявлено 128k токенов.<br /><br /><strong>Scratchpad / Notebook Prompting:</strong> Техника промптинга (упомянутая в Q&amp;A), при которой модель просят "записывать свои мысли" в отдельную часть ответа перед финальным результатом, чтобы получить некоторое представление о процессе её рассуждений.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Документация и Ресурсы OpenAI</strong><br /><br /><ul><li data-list="bullet"><a href="https://platform.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI API Platform</a> - Основной портал для доступа к API и документации.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/models" target="_blank" rel="noreferrer noopener">OpenAI Models Documentation</a> - Обзор доступных моделей OpenAI.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/api-reference/chat" target="_blank" rel="noreferrer noopener">Chat Completions API</a> - Документация по API, используемому в демо для выполнения задач.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/prompt-engineering" target="_blank" rel="noreferrer noopener">Prompt Engineering Guide</a> - Руководство по составлению эффективных промптов, включая техники вроде Scratchpad.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/guides/evaluating-models/overview" target="_blank" rel="noreferrer noopener">Evaluating Models Guide</a> - Руководство по оценке производительности моделей, релевантное для Evals из Демо 1.</li><li data-list="bullet"><a href="https://github.com/openai/openai-cookbook" target="_blank" rel="noreferrer noopener">OpenAI Cookbook</a> - Сборник рецептов и примеров кода на GitHub.</li><li data-list="bullet"><a href="https://openai.com/blog/" target="_blank" rel="noreferrer noopener">OpenAI Blog</a> - Анонсы новых моделей и исследований.</li></ul><br /><strong>Внешние Инструменты и Ресурсы</strong><br /><ul><li data-list="bullet"><a href="https://sourcegraph.com/" target="_blank" rel="noreferrer noopener">Sourcegraph</a> - Сайт компании Sourcegraph.</li><li data-list="bullet"><a href="https://sourcegraph.com/cody" target="_blank" rel="noreferrer noopener">Cody by Sourcegraph</a> - Страница AI-ассистента Cody.</li></ul></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Надежный JSON от OpenAI API: Практический гайд по Structured Outputs</title>
			<link>https://course.aiacademy.me/tpost/2m0hercod1-nadezhnii-json-ot-openai-api-praktichesk</link>
			<pubDate>Thu, 10 Apr 2025 19:15:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для разработчиков</category>
			<enclosure url="https://static.tildacdn.com/tild6537-3835-4663-b364-666531613335/image.png" type="image/png"/>
			<description>Получайте 100% надежный JSON от OpenAI API через Structured Outputs. Узнайте, как использовать JSON Schema, strict=True. Внутри демо и лучшие практики.</description>
			<turbo:content>
<![CDATA[<header><h1>Надежный JSON от OpenAI API: Практический гайд по Structured Outputs</h1></header><figure><img src="https://static.tildacdn.com/tild6537-3835-4663-b364-666531613335/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предыдущего примера блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

/* Убедимся, что strong рендерится жирным, если CSS подключен */
.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block; /* или inline, как в медиа-запросе */
    margin-bottom: 4px; /* или margin-right: 4px; для inline */
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~56 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">🤔</div>
            <div class="intro-content">
                <strong>Проблема Ненадежного JSON:</strong> Поймете, почему стандартные выводы LLM, режим JSON и Function Calling без `strict=True` часто приводят к ошибкам формата и ломают интеграцию с приложениями.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">⚙️</div>
            <div class="intro-content">
                <strong>Гарантия Схемы с Structured Outputs:</strong> Узнаете, как функция "Структурированные выводы" обеспечивает 100% соответствие ответа модели заданной JSON-схеме или сигнатуре функции через `response_format` и `strict=True`.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">💻</div>
            <div class="intro-content">
                <strong>Практические Примеры и Код:</strong> Увидите демо-реализации: извлечение данных (Python/Pydantic, Node/Zod), создание детерминированного UI (математический помощник) и интерактивного интерфейса (e-commerce ассистент) с вызовами инструментов.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">✅</div>
            <div class="intro-content">
                <strong>Нюансы для Продакшена:</strong> Научитесь обрабатывать нерелевантные запросы пользователя и отказы модели (refusals), чтобы создавать действительно надежные AI-приложения.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 10.04.2025
        </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             Структурированные Выводы / JSON Schema / Надежность API
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             OpenAI API / Structured Outputs / JSON Schema / Function Calling / Pydantic / Zod
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Интеграция LLM в рабочие приложения часто превращается в борьбу с невалидным JSON и непредсказуемым поведением API. Вместо создания продукта разработчики тратят время на парсеры, валидаторы и бесконечные правки промптов, которые всё равно не дают стопроцентной гарантии. OpenAI предлагает инженерное решение этой проблемы: функция "Структурированные Выводы" (Structured Outputs) обеспечивает возврат данных от модели точно в том формате, который нужен вашему коду, — надежно и предсказуемо.<br /><br />В этом подробном разборе с демонстрациями вы узнаете, как работают Структурированные Выводы и как применять их на практике. Мы покажем реализацию через response_format с JSON Schema и strict=True в вызовах функций, разберем удобные хелперы в SDK для Python (Pydantic) и Node.js (Zod). Вы увидите создание детерминированных и интерактивных интерфейсов на основе надежных ответов API и научитесь обрабатывать важные нюансы: нерелевантные запросы и отказы модели. Перестаньте гадать, сработает ли парсинг в этот раз, — начните строить надежные AI-приложения.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239053" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь Терминов</h2><div class="t-redactor__text"><strong>Structured Outputs (Структурированные Выводы):</strong> Функция OpenAI API, которая гарантирует, что вывод модели будет строго соответствовать предоставленной JSON-схеме или сигнатуре вызываемой функции (при strict=True). Обеспечивает 100% надежность формата ответа.<br /><br /><strong>JSON Schema (JSON-Схема):</strong> Стандартный формат для описания структуры JSON-данных. Используется в параметре response_format для указания модели точного формата выходного JSON при использовании Структурированных Выводов.<br /><br /><strong>Function Calling / Tools (Вызов Функций / Инструменты):</strong> Возможность OpenAI API, позволяющая модели определять, когда нужно вызвать внешнюю функцию (определенную разработчиком), и генерировать аргументы для нее в формате JSON.<br /><br /><strong>Strict Mode (strict=True):</strong> Параметр при определении инструментов (functions/tools), который активирует режим Структурированных Выводов для аргументов функции, гарантируя их соответствие заданной сигнатуре.<br /><br /><strong>JSON Mode (Режим JSON):</strong> Более старый режим работы API (response_format={ "type": "json_object" }), который <em>старается</em> вернуть валидный JSON, но не гарантирует соответствие конкретной схеме и может иногда выдавать ошибки формата.<br /><br /><strong>Constrained Decoding (Ограниченное Декодирование):</strong> Техника, используемая "под капотом" Структурированных Выводов. Модель на каждом шаге генерации может выбирать только те токены, которые соответствуют заданной JSON-схеме или сигнатуре функции, предотвращая ошибки формата.<br /><br /><strong>Token Masking (Маскировка Токенов):</strong> Часть механизма Ограниченного Декодирования, где недопустимые на данном шаге токены "скрываются" от модели, сужая ее выбор до валидных вариантов.<br /><br /><strong>Context-Free Grammar (Контекстно-Свободная Грамматика):</strong> Формальный способ описания структуры языка (в данном случае, JSON-схемы), который используется для определения допустимых токенов при Ограниченном Декодировании.<br /><br /><strong>Pydantic:</strong> Библиотека Python для валидации данных и управления настройками на основе аннотаций типов Python. Используется в Python SDK OpenAI для удобного определения схем и парсинга структурированных ответов.<br /><br /><strong>Zod:</strong> Библиотека TypeScript (используемая в Node.js) для описания и валидации схем данных. Используется в Node.js SDK OpenAI аналогично Pydantic для работы со Структурированными Выводами.<br /><br /><strong>.parse() method (Метод .parse()):</strong> Вспомогательный метод в SDK OpenAI (Python/Node.js), который автоматически обрабатывает ответ API, используя Pydantic/Zod для валидации и возвращает готовый типизированный объект.<br /><br /><strong>Refusal (Отказ):</strong> Ответ модели, указывающий на то, что она не может или не должна выполнять запрос по соображениям безопасности или этики. При использовании Структурированных Выводов отказ возвращается в специальном поле, и разработчик должен проверять его наличие.<br /><br /><strong>Deterministic UI (Детерминированный UI):</strong> Пользовательский интерфейс, компоненты и структура которого могут быть надежно предсказаны и построены на основе ответа API, что становится возможным благодаря гарантированному формату Структурированных Выводов.</div><h2  class="t-redactor__h2">Полезные ссылки</h2><div class="t-redactor__text"><strong>Документация и Ресурсы OpenAI:</strong><br /><br /><ul><li data-list="bullet"><a href="https://platform.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI API Platform</a>: Основной портал для доступа к API и документации.</li><li data-list="bullet"><a href="https://platform.openai.com/docs/api-reference/chat/create" target="_blank" rel="noreferrer noopener">API Reference - Chat Completions</a>: Документация по API Chat Completions, включая параметры response_format и tools/tool_choice.</li><li data-list="bullet"><a href="https://cookbook.openai.com/" target="_blank" rel="noreferrer noopener">OpenAI Cookbook</a>: Сборник практических примеров и руководств, включая примеры работы с API.</li><li data-list="bullet"><a href="https://github.com/openai/openai-python" target="_blank" rel="noreferrer noopener">Python SDK (GitHub)</a>: Репозиторий и документация для библиотеки OpenAI Python.</li><li data-list="bullet"><a href="https://github.com/openai/openai-node" target="_blank" rel="noreferrer noopener">Node.js SDK (GitHub)</a>: Репозиторий и документация для библиотеки OpenAI Node.js/TypeScript.</li></ul><br /><strong>Внешние Библиотеки (упомянутые в лекции):</strong><br /><ul><li data-list="bullet"><a href="https://docs.pydantic.dev/latest/" target="_blank" rel="noreferrer noopener">Pydantic</a>: Библиотека для валидации данных в Python (используется в Python SDK).</li><li data-list="bullet"><a href="https://zod.dev/" target="_blank" rel="noreferrer noopener">Zod</a>: Библиотека для валидации схем в TypeScript/JavaScript (используется в Node.js SDK).</li></ul></div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%); /* Немного другой градиент для отличия */
    border-radius: 16px; /* Чуть больше скругление */
    padding: 32px 40px; /* Больше отступы */
    width: calc(100% - 32px);
    max-width: 850px; /* Чуть шире */
    margin: 40px auto; /* Отступы сверху/снизу */
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1); /* Более заметная тень */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center; /* Центрируем контент */
    position: relative; /* Для псевдоэлементов */
    overflow: hidden; /* Чтобы псевдоэлементы не вылезали */
}

/* Декоративные псевдоэлементы для фона */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%; /* Форма блоба */
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%; /* Другая форма блоба */
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимация для псевдоэлементов */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер для контента, чтобы он был поверх псевдоэлементов */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка (опционально) */
.promo-icon {
    font-size: 36px; /* Крупнее иконка */
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF; /* Цвет иконки */
}

/* Заголовок */
.promo-title {
    font-size: 24px; /* Крупный заголовок */
    font-weight: 700; /* Жирный */
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px; /* Немного крупнее описание */
    line-height: 1.6;
    margin-bottom: 28px; /* Больше отступ до кнопки */
    max-width: 680px; /* Ограничиваем ширину для читаемости */
    margin-left: auto;
    margin-right: auto;
}

/* Кнопка призыва к действию */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF; /* Фирменный цвет */
    color: #ffffff !important; /* Белый текст, !important на случай конфликтов */
    padding: 16px 36px; /* Увеличенные отступы */
    border-radius: 12px; /* Скругление */
    font-size: 18px; /* Крупнее шрифт */
    font-weight: 600;
    text-decoration: none; /* Убираем подчеркивание */
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25); /* Заметная тень */
}

.promo-button:hover {
    background-color: #7a6ff0; /* Чуть темнее при наведении */
    transform: translateY(-3px) scale(1.02); /* Легкий подъем и увеличение */
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35); /* Усиление тени */
}

/* Адаптивность */
@media (max-width: 768px) {
    .promo-cta-block {
        padding: 24px 28px;
    }
    .promo-title {
        font-size: 22px;
    }
    .promo-description {
        font-size: 16px;
    }
    .promo-button {
        font-size: 17px;
        padding: 14px 30px;
    }
    .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.7); /* Уменьшаем декорации на мобильных */
        opacity: 0.5;
    }
}

@media (max-width: 480px) {
     .promo-cta-block {
        padding: 20px 20px;
    }
     .promo-title {
        font-size: 20px;
    }
    .promo-description {
        font-size: 15px;
        margin-bottom: 20px;
    }
    .promo-button {
        font-size: 16px;
        padding: 12px 24px;
        width: 100%; /* Кнопка на всю ширину */
        box-sizing: border-box;
    }
     .promo-cta-block::before, .promo-cta-block::after {
        transform: scale(0.5);
    }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div> <div class="promo-title">Доступ к API ведущих AI-моделей из России</div>
        <div class="promo-description">
            Интегрируйте GPT-4o, Claude 3, Midjourney, Gemini и другие нейросети в ваши проекты. Стабильный доступ без VPN, оплата в рублях, договор и закрывающие документы для юрлиц.
        </div>
        <a href="https://aiacademy.me/api" target="_blank" class="promo-button">Подробнее о API и тарифах</a>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		<item turbo="true">
			<title>Планирование групповых проектов с ChatGPT: Практический гайд</title>
			<link>https://course.aiacademy.me/tpost/a1zbm838t1-planirovanie-gruppovih-proektov-s-chatgp</link>
			<pubDate>Fri, 11 Apr 2025 11:00:00 +0300</pubDate>
			<author>Антон Леськов</author>
			<category>Для всех</category>
			<enclosure url="https://static.tildacdn.com/tild3039-6162-4761-b736-306663343639/image.png" type="image/png"/>
			<description>Используйте ChatGPT для эффективного планирования групповых проектов. Видео-гайд: генерация идей, создание графиков задач, координация команды с помощью ИИ.</description>
			<turbo:content>
<![CDATA[<header><h1>Планирование групповых проектов с ChatGPT: Практический гайд</h1></header><figure><img src="https://static.tildacdn.com/tild3039-6162-4761-b736-306663343639/image.png"/></figure><div class="t-redactor__embedcode"><style>
/* Стили копируются из предоставленных примеров блока .intro-compact */
.intro-compact {
    background: linear-gradient(135deg, #E8F0FF 0%, #F5F2FF 100%);
    border-radius: 12px;
    padding: 16px;
    width: calc(100% - 32px);
    max-width: 800px;
    margin: 16px auto;
    box-shadow: 0 4px 16px rgba(139, 127, 255, 0.05);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}

.intro-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
}

.intro-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

.reading-time {
    font-size: 13px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.reading-time-icon {
    color: #8B7FFF;
}

.intro-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

.intro-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(255, 255, 255, 0.8);
    padding: 12px;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box;
}

.intro-icon {
    background: #8B7FFF;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.intro-content {
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
}

.intro-content strong {
    color: #2d3748;
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.intro-footer {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 127, 255, 0.1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.tag {
    font-size: 12px;
    color: #6b7280;
    background: rgba(139, 127, 255, 0.1);
    padding: 4px 8px;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.tag-icon {
    color: #8B7FFF;
}

@media (min-width: 640px) {
    .intro-compact {
        padding: 24px;
        margin: 32px auto;
    }
    .intro-header {
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }
    .intro-item {
        flex-direction: row;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 16px;
    }
    .intro-content {
        font-size: 15px;
    }
    .intro-content strong {
        display: inline;
        margin-bottom: 0;
        margin-right: 4px;
    }
    .intro-footer {
        flex-direction: row;
        gap: 16px;
        flex-wrap: wrap;
    }
}
</style>

<div class="intro-compact">
    <div class="intro-header">
        <div class="intro-title">Чему вы научитесь</div>
        <div class="reading-time">
            <span class="reading-time-icon">⏳</span>
            ~7 минут просмотра
        </div>
    </div>
    <div class="intro-list">
        <div class="intro-item">
            <div class="intro-icon">💡</div>
            <div class="intro-content">
                <strong>Планирование Проекта с ИИ:</strong> Узнаете, как ставить задачи ChatGPT для генерации структурированных идей: от выбора тем до определения ключевых пунктов, источников, методов анализа и ролей в команде.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">📅</div>
            <div class="intro-content">
                <strong>Создание Графиков и Задач:</strong> Научитесь использовать ИИ для автоматического составления детальных планов-графиков проекта в виде таблиц, включая распределение задач, ответственных, сроков и зависимостей.
            </div>
        </div>
        <div class="intro-item">
            <div class="intro-icon">💬</div>
            <div class="intro-content">
                <strong>Эффективная Коммуникация:</strong> Поймете, как применять ChatGPT для быстрой подготовки четких и профессиональных сообщений команде, например, для напоминания о задачах и дедлайнах.
            </div>
        </div>
    </div>
    <div class="intro-footer">
        <div class="tag">
            <span class="tag-icon">📅</span>
             От 11.04.2025 </div>
        <div class="tag">
            <span class="tag-icon">#️⃣</span>
             Групповые Проекты / Планирование / Координация / Управление Задачами
        </div>
         <div class="tag">
            <span class="tag-icon">💡</span>
             ChatGPT / AI Помощник / Промпт-инжиниринг / Командная работа
        </div>
         <div class="tag">
            <span class="tag-icon">🇷🇺</span>
             На русском языке
         </div>
    </div>
</div></div><div class="t-redactor__text">Групповая работа над проектом часто превращается в хаос: поиск идей затягивается, задачи распределяются неравномерно, а на координацию и напоминания уходит ценное время. Вместо того чтобы фокусироваться на сути исследования или разработки, команда вязнет в организационных вопросах. В этом видео покажем, как использовать ChatGPT в качестве практического инструмента, чтобы снять с группы часть этой рутинной нагрузки и направить усилия на сам проект.<br /><br />Мы не будем говорить об абстрактных возможностях ИИ. Вместо этого разберем на конкретных примерах, как формулировать запросы к ChatGPT, чтобы получить реальную помощь: структурированные варианты тем для проекта, готовый план-график с распределением задач и сроками в виде таблицы, и даже черновик корректного сообщения для команды с напоминанием о дедлайнах. Цель — показать понятный процесс, который поможет систематизировать работу и улучшить координацию в вашей группе.</div><div class="t-redactor__embedcode"><iframe src="https://vkvideo.ru/video_ext.php?oid=-230052904&id=456239035" width="426" height="240" allow="autoplay; encrypted-media; fullscreen; picture-in-picture; screen-wake-lock;" frameborder="0" allowfullscreen></iframe></div><h2  class="t-redactor__h2">Словарь терминов</h2><div class="t-redactor__text">ChatGPT (Чат ГПТ): Большая языковая модель от OpenAI, использованная в видео в качестве инструмента для генерации идей, планирования задач, составления графиков и написания текстов сообщений в контексте групповой работы над проектом.<br /><br />Промпт (Задание для ИИ): Текстовая инструкция или запрос, который пользователь формулирует для языковой модели (в данном случае, ChatGPT) с целью получить конкретный результат. Качество и детализация промпта напрямую влияют на релевантность и полезность ответа ИИ. В видео используются промпты для генерации тем проекта, планов и сообщений.<br /><br />Структурированный вывод / ответ: Формат ответа ИИ, который включает четкие заголовки, маркированные списки или таблицы. Пользователь может запросить такой формат в промпте для упрощения анализа и использования полученной информации (например, плана проекта).<br /><br />План проекта / График работ: Систематизированное описание задач, этапов, сроков выполнения, ответственных лиц и зависимостей между задачами в рамках проекта. В видео демонстрируется, как ChatGPT может помочь в создании основы для такого плана.<br /><br />Зависимости (в проекте): Логические связи между задачами проекта, указывающие на то, что одна задача не может начаться или завершиться до тех пор, пока не будет выполнена другая. Учет зависимостей важен для реалистичного планирования сроков.<br /><br />Роли (в команде): Функциональные обязанности или области ответственности, распределенные между участниками группового проекта (например, исследователь, аналитик, редактор). ChatGPT может предложить возможные роли при генерации плана проекта.<br /><br />Координация (команды): Процесс согласования действий участников группы для достижения общих целей проекта. Видео показывает, как ИИ может помочь в аспектах координации, таких как планирование и информирование команды.</div><div class="t-redactor__embedcode"><style>
/* Базовый стиль блока CTA (стили из вашего примера сохранены) */
.promo-cta-block {
    background: linear-gradient(135deg, #F0F5FF 0%, #F8F0FF 100%);
    border-radius: 16px;
    padding: 32px 40px;
    width: calc(100% - 32px);
    max-width: 850px;
    margin: 40px auto;
    box-shadow: 0 8px 24px rgba(139, 127, 255, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Декоративные псевдоэлементы (стили из вашего примера сохранены) */
.promo-cta-block::before {
    content: "";
    position: absolute;
    top: -60px;
    left: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(139, 127, 255, 0.1), transparent 70%);
    border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
    opacity: 0.8;
    z-index: 0;
    animation: promo-blob-move 15s infinite alternate ease-in-out;
}

.promo-cta-block::after {
    content: "";
    position: absolute;
    bottom: -70px;
    right: -50px;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(100, 200, 255, 0.1), transparent 70%);
    border-radius: 60% 40% 45% 55% / 45% 55% 45% 55%;
    opacity: 0.7;
    z-index: 0;
    animation: promo-blob-move-alt 18s infinite alternate ease-in-out;
}

/* Анимации (стили из вашего примера сохранены) */
@keyframes promo-blob-move {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(10px, 5px) rotate(15deg) scale(1.05); }
}
@keyframes promo-blob-move-alt {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    100% { transform: translate(-5px, -10px) rotate(-10deg) scale(0.95); }
}

/* Контейнер контента */
.promo-content {
    position: relative;
    z-index: 1;
}

/* Иконка */
.promo-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: inline-block;
    color: #8B7FFF;
}

/* Заголовок */
.promo-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 12px;
}

/* Описание */
.promo-description {
    color: #4a5568;
    font-size: 17px;
    line-height: 1.6;
    /* Уменьшим нижний отступ, так как теперь есть блок фич */
    margin-bottom: 16px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
/* Блок для ключевых фич */
.promo-features {
    font-size: 15px;
    color: #5a6578;
    line-height: 1.5;
    margin-bottom: 28px;
    display: inline-block;
    text-align: left;
    padding-left: 20px;
    max-width: 450px;
}

.promo-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promo-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}

.promo-features li::before {
    content: "✓";
    color: #8B7FFF;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0px;
}

/* Кнопка */
.promo-button {
    display: inline-block;
    background-color: #8B7FFF;
    color: #ffffff !important;
    padding: 16px 36px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 5px 15px rgba(139, 127, 255, 0.25);
    /* Убираем нижний отступ у кнопки, чтобы текст был ближе */
    margin-bottom: 0;
}

.promo-button:hover {
    background-color: #7a6ff0;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(139, 127, 255, 0.35);
}

/* Новый стиль для текста с ценой под кнопкой */
.promo-price-note {
    font-size: 14px; /* Меньше основного текста */
    color: #6b7280;  /* Менее контрастный цвет */
    margin-top: 12px; /* Отступ сверху от кнопки */
    text-align: center; /* Центрирование */
}


/* Адаптивность (добавлены стили для .promo-price-note) */
@media (max-width: 768px) {
    .promo-cta-block { padding: 24px 28px; }
    .promo-title { font-size: 22px; }
    .promo-description { font-size: 16px; }
    .promo-features { font-size: 14px; padding-left: 0; max-width: 100%; text-align: center;}
    .promo-features li { padding-left: 20px; text-align: left; display: inline-block; width: auto; margin-right: 10px;}
    .promo-features li::before { top: 1px; }
    .promo-button { font-size: 17px; padding: 14px 30px; }
    /* Стиль для цены на мобильных */
    .promo-price-note { font-size: 13px; margin-top: 10px; }
    .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.7); opacity: 0.5; }
}

@media (max-width: 480px) {
     .promo-cta-block { padding: 20px 20px; }
     .promo-title { font-size: 20px; }
    .promo-description { font-size: 15px; margin-bottom: 20px; }
    .promo-features { font-size: 13px; margin-bottom: 20px; }
    .promo-features li { display: block; width: 100%; text-align: left; margin-right: 0; margin-bottom: 6px;}
    .promo-button { font-size: 16px; padding: 12px 24px; width: 100%; box-sizing: border-box; }
    /* Стиль для цены на малых экранах */
    .promo-price-note { font-size: 12px; margin-top: 8px; }
     .promo-cta-block::before, .promo-cta-block::after { transform: scale(0.5); }
}
</style>

<div class="promo-cta-block">
    <div class="promo-content">
        <div class="promo-icon">🚀</div>
        <div class="promo-title">Полный доступ к лучшим AI для ваших задач</div>
        <div class="promo-description">
            Раскройте весь потенциал нейросетей с нашим максимальным тарифом! Получите всё необходимое для работы и творчества в одном месте, без VPN и ограничений.
        </div>
        <div class="promo-features">
            <ul>
                <li>Топовые модели: GPT-4.5, GPT-4o, Claude 3.7, O1 и др.</li>
                <li>Генерация изображений: Midjourney и DALL-E</li>
                <li>Высокие лимиты: 2 млн символов для топ-моделей</li>
                <li>Доп. функции: Vision, веб-поиск, транскрипция аудио</li>
            </ul>
        </div>
        <a href="https://chat.aiacademy.me/register?tier=3&" target="_blank" class="promo-button">Попробовать полный доступ за 1 ₽ (3 дня)</a>
        <div class="promo-price-note">Далее 2490 ₽ / месяц</div>
    </div>
</div></div><div class="t-redactor__embedcode"><script>
var links = document.getElementsByTagName('a');
Array.prototype.forEach.call(links, function (link) {
    if (link.href.indexOf("aiacademy.me") > 0 && link.href.indexOf("#") < 0) {
        try {
            var linkURL = new URL(link.href, location.origin);
            var currentURL = new URL(location.href);

            // Проверяем, есть ли UTM-метки в текущем URL
            var hasUtmParams = false;
            var utm_params_to_check = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'];
            utm_params_to_check.forEach(function(param) {
                if (currentURL.searchParams.has(param)) {
                    hasUtmParams = true;
                }
            });

            if (hasUtmParams) {
                // Если UTM-метки УЖЕ есть, то просто копируем все параметры из текущего URL (включая UTM)
                currentURL.searchParams.forEach(function(value, key) {
                    linkURL.searchParams.set(key, value);
                });
            } else {
                // Если UTM-меток НЕТ, добавляем SEO-метки и другие нужные параметры
                linkURL.searchParams.set('utm_source', 'seo');
                linkURL.searchParams.set('utm_medium', 'openai-academy');
                linkURL.searchParams.set('utm_campaign', 'video');

                // **Динамический content (пример, нужно уточнить как именно вы хотите)**
                // Этот пример подставляет в utm_content заголовок страницы, но вам может понадобиться другой способ
                var articleTitle = document.title; // Получаем заголовок страницы
                if (articleTitle) {
                    linkURL.searchParams.set('utm_content', articleTitle);
                } else {
                    linkURL.searchParams.set('utm_content', 'generic_article_page'); // Запасной вариант
                }

                // Добавьте здесь другие параметры, если нужно (например, tier)
                // linkURL.searchParams.set('tier', '...');
            }


            link.href = linkURL.href;
        } catch (e) {
            console.error("Ошибка при обработке URL:", link.href, e);
        }
    }
});
</script></div>]]>
			</turbo:content>
		</item>
		</channel>
</rss>