<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LLM / AI and Data Engineering - DataTalks.RU. Data Engineering / DWH / Data Pipeline</title>
	<atom:link href="https://datatalks.ru/category/llm-ai-and-data-engineering/feed/" rel="self" type="application/rss+xml" />
	<link>https://datatalks.ru/category/llm-ai-and-data-engineering/</link>
	<description>RoadMap для инженера данных. Дорожная карта по инструментам Data Engineer</description>
	<lastBuildDate>Sat, 14 Feb 2026 15:42:14 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://datatalks.ru/wp-content/uploads/2024/12/cropped-logo_datatalks-32x32.png</url>
	<title>LLM / AI and Data Engineering - DataTalks.RU. Data Engineering / DWH / Data Pipeline</title>
	<link>https://datatalks.ru/category/llm-ai-and-data-engineering/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Context engineering = data governance + data engineering + data science</title>
		<link>https://datatalks.ru/context-engineering-data-teams/</link>
					<comments>https://datatalks.ru/context-engineering-data-teams/#respond</comments>
		
		<dc:creator><![CDATA[Data Engineer (Admin)]]></dc:creator>
		<pubDate>Thu, 12 Feb 2026 18:47:06 +0000</pubDate>
				<category><![CDATA[LLM / AI and Data Engineering]]></category>
		<category><![CDATA[Context engineering]]></category>
		<guid isPermaLink="false">https://datatalks.ru/?p=2850</guid>

					<description><![CDATA[<p>Источник статьи: Data teams should become context teams Data-команды должны стать командами контекста Context engineering = управление данными + инженерия данных + наука о данных. Помните, как ваша компания подключила BI-инструмент напрямую к продакшен-базе данных? Цифры постоянно были неверными. Никто не доверял дашбордам — поэтому мы построили data-стэки, чтобы это исправить. AI-агенты сегодня — это [&#8230;]</p>
<p>Сообщение <a href="https://datatalks.ru/context-engineering-data-teams/">Context engineering = data governance + data engineering + data science</a> появились сначала на <a href="https://datatalks.ru">DataTalks.RU. Data Engineering / DWH / Data Pipeline</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Источник статьи:</strong> <a href="https://thenewaiorder.substack.com/p/data-teams-should-become-context" target="_blank" rel="noopener">Data teams should become context teams</a></p>
<h1>Data-команды должны стать командами контекста</h1>
<blockquote><p>Context engineering = управление данными + инженерия данных + наука о данных.</p></blockquote>
<hr />
<p>Помните, как ваша компания подключила BI-инструмент напрямую к продакшен-базе данных? Цифры постоянно были неверными. Никто не доверял дашбордам — поэтому мы построили data-стэки, чтобы это исправить.</p>
<p><strong>AI-агенты</strong> сегодня — это эквивалент BI-инструментов, подключённых к продакшен-БД. Теперь у каждой компании есть внутренние <strong>AI-агенты</strong>, подключённые к сырым источникам контекста: дискам, Notion, почте. Это вроде бы работает, но полностью доверять ответам нельзя.</p>
<p><strong>Context engineering</strong> — это создание источников истины для всех знаний компании надёжным и эффективным способом. И именно этим <strong>data-команды</strong> занимались с данными на протяжении многих лет.</p>
<p><strong>Context engineering</strong> требует ключевых навыков, которыми обладают data-команды:</p>
<ul>
<li><strong>Context Engineering</strong> = управление данными + инженерия данных + наука о данных</li>
<li>Context engineering требует управления для определения источников истины контекста</li>
<li>Context engineering требует инженерии для их загрузки и консолидации</li>
<li>Context engineering требует науки для измерения и повышения надёжности AI</li>
</ul>
<h2>Что такое context engineering?</h2>
<p><strong>Context engineering</strong> направлен на создание оптимального контекста для <strong>AI-агентов</strong>.</p>
<h3>Что такое оптимальный контекст для агента?</h3>
<ul>
<li><strong>Доля ответов:</strong> процент вопросов, на которые агент действительно может ответить</li>
<li><strong>Точность:</strong> процент ответов, которые являются корректными</li>
<li><strong>Стоимость:</strong> расходы на LLM, которые несёт агент</li>
<li><strong>Скорость:</strong> насколько быстро агент отвечает</li>
</ul>
<h3>Какие компромиссы нужно оптимизировать?</h3>
<p>Слишком мало контекста → неправильные ответы или их отсутствие.<br />
Агент знает недостаточно. Он галлюцинирует, упускает нюансы или полностью сдаётся.</p>
<p>Слишком много контекста → дорого и запутанно.</p>
<p>Входные токены могут очень быстро увеличить счёт за LLM (1 миллион токенов в Claude Opus 4.5 стоит $5). Вызов с большим объёмом контекста легко может отправлять 50–100 тыс. токенов на один запрос, что будет стоить ~50 центов. И помимо стоимости, нерелевантный контекст размывает сигнал — модель путается в шуме.</p>
<h3>Как можно спроектировать контекст?</h3>
<p>Выбирайте, какие источники включать, а какие исключать.</p>
<p>Определяйте, какой контент является источником истины по конкретной теме (правильное определение, самый свежий источник). Иногда вы можете обнаружить, что сами изначально не были в этом уверены.</p>
<h3>Создавайте новый контекст там, где его ещё нет.</h3>
<p>Форматируйте контекст так, чтобы модель могла эффективно его парсить: делайте его более модульным, хорошо структурированным.</p>
<p>Коротко говоря, <strong>context engineering</strong> следует тем же принципам, что и <strong>data engineering</strong>: измерять, итерировать, оптимизировать. Отслеживайте производительность вашего агента. Определяйте причины сбоев. Добавляйте недостающий контекст. Тестируйте улучшения. Повторяйте.</p>
<h1>Управление контекстом: источник истины контекста — это новый источник истины данных</h1>
<p>Нам нужно <strong>управление контекстом</strong> так же, как раньше нам было нужно управление данными.</p>
<p>Нам было нужно управление данными, потому что без него «выручка» означала три разных вещи в зависимости от того, кого вы спрашивали. Команда маркетинга считала валовые бронирования. Финансы считали чистый ARR. Продуктовая команда считала активные подписки. Нет метрического слоя, нет канонического определения — поэтому каждый дашборд рассказывал свою историю.</p>
<p>Сегодня нам нужно управление контекстом, потому что знания компании имеют ту же самую проблему. Спросите «какова наша политика возвратов?» — и ответ будет зависеть от того, какой документ агент найдёт первым: устаревший Notion, последний ответ в Zendesk или сообщение от юридического отдела в Slack за прошлый квартал. А иногда никто на самом деле и не задумывался, каким должен быть правильный ответ.</p>
<p>Многие специалисты по данным помнят тревожные времена, когда приходили в компанию, где BI был подключён напрямую к продакшен-базе данных. Все данные были на месте, но ни одна цифра не совпадала с другой, всё работало медленно и болезненно. Сегодня мы делаем ровно то же самое, подключая AI ко всем знаниям нашей компании.</p>
<p><a href="https://datatalks.ru/wp-content/uploads/2026/02/Context_governance.jpg"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-2857" src="https://datatalks.ru/wp-content/uploads/2026/02/Context_governance.jpg" alt="" width="1140" height="752" srcset="https://datatalks.ru/wp-content/uploads/2026/02/Context_governance.jpg 1140w, https://datatalks.ru/wp-content/uploads/2026/02/Context_governance-300x198.jpg 300w, https://datatalks.ru/wp-content/uploads/2026/02/Context_governance-1024x675.jpg 1024w, https://datatalks.ru/wp-content/uploads/2026/02/Context_governance-768x507.jpg 768w, https://datatalks.ru/wp-content/uploads/2026/02/Context_governance-450x297.jpg 450w, https://datatalks.ru/wp-content/uploads/2026/02/Context_governance-780x515.jpg 780w" sizes="(max-width: 1140px) 100vw, 1140px" /></a></p>
<p>Мы все знаем, что знания компании полны неточностей, устаревших элементов и противоречий. Поэтому подключать агента напрямую к этому хаосу — не самая лучшая идея.</p>
<p>Нам нужен <strong>контекстный слой:</strong> единый, управляемый, версионируемый источник истины для знаний компании. Чёткий ответ на каждый вопрос, с которым может столкнуться агент. И нам нужна инфраструктура, чтобы его строить и поддерживать.</p>
<h1>Context engineering: контекстный стек — это data-стек</h1>
<ul>
<li>Чтобы создать источники истины данных, мы построили <strong>data-стек</strong>.</li>
<li>Чтобы создать источники истины контекста, нам нужен <strong>контекстный стек</strong>.</li>
</ul>
<p><a href="https://datatalks.ru/wp-content/uploads/2026/02/Context_engineering_tools.jpg"><img decoding="async" class="aligncenter size-full wp-image-2859" src="https://datatalks.ru/wp-content/uploads/2026/02/Context_engineering_tools.jpg" alt="" width="1484" height="950" srcset="https://datatalks.ru/wp-content/uploads/2026/02/Context_engineering_tools.jpg 1484w, https://datatalks.ru/wp-content/uploads/2026/02/Context_engineering_tools-300x192.jpg 300w, https://datatalks.ru/wp-content/uploads/2026/02/Context_engineering_tools-1024x656.jpg 1024w, https://datatalks.ru/wp-content/uploads/2026/02/Context_engineering_tools-768x492.jpg 768w, https://datatalks.ru/wp-content/uploads/2026/02/Context_engineering_tools-450x288.jpg 450w, https://datatalks.ru/wp-content/uploads/2026/02/Context_engineering_tools-780x499.jpg 780w" sizes="(max-width: 1484px) 100vw, 1484px" /></a></p>
<p>Ситуация сегодня такая же, как с данными 10 лет назад: у нас есть источники, у нас есть инструменты потребления. Но у нас нет промежуточного слоя — <strong>контекстного ETL-слоя</strong>.</p>
<p><strong>Нам нужны:</strong></p>
<ul>
<li>Инструменты ingestion для автоматического подтягивания источников контекста</li>
<li>Инструменты трансформации для выбора источника истины контекста</li>
<li>Контекстный слой как источник истины знаний компании</li>
<li>Оркестрация для поддержания актуальности контекста</li>
</ul>
<p><strong>Мониторинг AI</strong> для измерения и отслеживания производительности нашего контекста в AI-агентах</p>
<p>Некоторые data-команды уже начали собирать части этого самостоятельно. Я видел, как команды пишут скрипты для выгрузки метаданных схем и статистики профилирования из хранилища, синхронизируют документацию из data-каталога или отбирают проверенные запросы из BI-инструмента в markdown-файлы. Это работает — но это множество скриптов и постоянная поддержка.</p>
<p>С мониторингом всё ещё сложнее. Большинство инструментов для аналитических агентов пока не поддерживают фреймворки оценки, поэтому нет простого способа построить unit-тесты, которые проверяют, что ваш контекст по-прежнему выдаёт правильные ответы после изменений.</p>
<p>Когда у нас есть управление и стек, нам нужно использовать техники <strong>data science</strong>, чтобы итерироваться и улучшать контекст.</p>
<h1>Context sciences: тонкая настройка контекста как параметров ML-модели</h1>
<p>В ML вы определяете метрику успеха (<strong>accuracy</strong> и т.д.) и имеете <strong>train/test-набор размеченных данных</strong>. Затем вы настраиваете параметры, признаки, обучающие выборки. После каждого изменения измеряете производительность, пока не найдёте оптимум.</p>
<p>В <strong>context engineering</strong> должен быть тот же цикл. Вы определяете метрики успеха (надёжность, стоимость и т.д.). Ваши параметры — это источники истины контекста, форматирование контекста, инструменты. Вы можете создать набор <strong>unit-тестов</strong> из промптов и ожидаемых ответов. Вы меняете контекст, заново прогоняете тестовые промпты, измеряете влияние, оставляете то, что работает.</p>
<p><a href="https://datatalks.ru/wp-content/uploads/2026/02/Context_sciences.png"><img decoding="async" class="aligncenter size-full wp-image-2860" src="https://datatalks.ru/wp-content/uploads/2026/02/Context_sciences.png" alt="" width="1686" height="890" srcset="https://datatalks.ru/wp-content/uploads/2026/02/Context_sciences.png 1686w, https://datatalks.ru/wp-content/uploads/2026/02/Context_sciences-300x158.png 300w, https://datatalks.ru/wp-content/uploads/2026/02/Context_sciences-1024x541.png 1024w, https://datatalks.ru/wp-content/uploads/2026/02/Context_sciences-768x405.png 768w, https://datatalks.ru/wp-content/uploads/2026/02/Context_sciences-1536x811.png 1536w, https://datatalks.ru/wp-content/uploads/2026/02/Context_sciences-450x238.png 450w, https://datatalks.ru/wp-content/uploads/2026/02/Context_sciences-780x412.png 780w, https://datatalks.ru/wp-content/uploads/2026/02/Context_sciences-1600x845.png 1600w" sizes="(max-width: 1686px) 100vw, 1686px" /></a></p>
<p><strong>Дополнительная сложность</strong> — как измерять метрики → стоимость и скорость измерить легко, но для оценки надёжности агента нужны более специализированные инструменты: проверять использованные файлы? точное совпадение? LLM как судья?</p>
<p>Чтобы это реализовать, нужно построить собственный <strong>evaluation framework</strong>. Определить KPI, которые вы будете отслеживать — что такое успех агента, как его измерять, какие ещё параметры важны (стоимость, скорость и т.д.). Затем создать набор <strong>unit-тестов</strong> и тонко настраивать контекст, измеряя производительность на разных наборах контекста.</p>
<h2>Как начать переход уже сейчас</h2>
<p>Как вы видите, контекстный стек пока ещё не сформирован. Нам всё ещё не хватает инструментов для открытого курирования и улучшения контекста.</p>
<p>Я думаю, что первым шагом для data-команд может быть демонстрация того, что они владеют <strong>context engineering</strong> в своей области: можете ли вы действительно заставить контекст для вашего аналитического агента работать?</p>
<p>Как я показывал в своих предыдущих статьях с бенчмарками аналитических агентов, готовые решения «из коробки» не работают и являются чёрными ящиками контекста. Если <strong>data-команды</strong> инвестируют в <strong>context engineering</strong> для собственных аналитических агентов, я уверен, они смогут показать, что это работает лучше, чем решения «из коробки».</p>
<p><strong>Два подхода уже сейчас позволяют войти в context engineering:</strong></p>
<ul>
<li>AI-агенты, работающие с файловой системой (<strong>Cursor</strong>, <strong>Claude Code</strong>, <strong>Cowork</strong>, <strong>Codex</strong>)</li>
<li>Эти инструменты читают контекст напрямую из файлов, которыми вы управляете. Вы точно видите, что знает агент, можете изменить это, отредактировав файл, и сразу измерить эффект.</li>
<li>Кроме того, можно построить <strong>evaluation framework</strong> поверх этого, поскольку всё доступно через код.</li>
</ul>
<h2>Собственные (in-house) агенты</h2>
<p><strong>Если вы построили собственного агента, вы контролируете весь конвейер контекста:</strong> какие элементы контекста добавлять и как оценивать агента. Создайте набор unit-тестов из промптов и начните прогонять их в разных сценариях контекста.</p>
<h1>Ссылки на дополнительные статьи / материалы</h1>
<ul>
<li>GitHub: <a href="https://github.com/humanlayer/12-factor-agents/" target="_blank" rel="noopener">12-Factor Agents &#8212; Principles for building reliable LLM applications</a></li>
<li><a href="https://www.datacamp.com/blog/context-engineering" target="_blank" rel="noopener">Context Engineering: A Guide With Examples</a></li>
<li><a href="https://github.com/different-ai/openwork" target="_blank" rel="noopener">GitHub: OpenWork</a></li>
<li><a href="https://github.com/microsoft/data-formulator" target="_blank" rel="noopener">GitHub: Data Formulator: AI-powered Data Visualization</a></li>
</ul>
<h2>Сайты со Skills для ai-agents</h2>
<ul>
<li><a href="https://skills.sh" target="_blank" rel="noopener">skills.sh</a></li>
<li><a href="https://skillhub.club/" target="_blank" rel="noopener">skillhub.club</a></li>
<li><a href="https://skillsmp.com" target="_blank" rel="noopener">skillsmp.com</a></li>
<li><a href="https://github.com/VoltAgent/awesome-agent-skills" target="_blank" rel="noopener">GitHub: Awesome Agent Skills</a></li>
</ul>
<h2>Обучающие материалы по ai, llm</h2>
<ul>
<li><a href="https://github.com/microsoft/ai-agents-for-beginners" target="_blank" rel="noopener">GitHub: Microsoft AI Agents for Beginners &#8212; A Course</a></li>
<li><a href="https://github.com/pguso/ai-agents-from-scratch" target="_blank" rel="noopener">GitHub: AI Agents From Scratch</a></li>
<li><a href="https://github.com/Marktechpost/AI-Tutorial-Codes-Included" target="_blank" rel="noopener">GitHub: Codes/Notebooks for AI Projects</a></li>
<li><a href="https://github.com/KalyanKS-NLP/rag-zero-to-hero-guide" target="_blank" rel="noopener">RAG Zero to Hero Guide</a></li>
<li><a href="https://github.com/NirDiamant/RAG_Techniques" target="_blank" rel="noopener">Advanced RAG Techniques: Elevating Your Retrieval-Augmented Generation Systems</a></li>
<li><a href="https://github.com/langchain-ai/rag-from-scratch" target="_blank" rel="noopener">RAG From Scratch</a></li>
<li><a href="https://github.com/microsoft/skills" target="_blank" rel="noopener">GitHub: Skills, MCP servers, Custom Agents, Agents.md for SDKs to ground Coding Agents</a></li>
<li><a href="https://github.com/microsoft/mcp-for-beginners" target="_blank" rel="noopener">Model Context Protocol (MCP) Curriculum for Beginners</a></li>
<li><a href="https://github.com/Devinterview-io/llms-interview-questions" target="_blank" rel="noopener">63 Must-Know LLMs Interview Questions in 2026</a></li>
</ul>
<h2>Data Engineering AI</h2>
<ul>
<li><a href="https://github.com/astronomer/agents" target="_blank" rel="noopener">GitHub Astronomer: AI agent tooling for data engineering workflows</a> &#8212; Includes an MCP server for Airflow, a CLI tool (af) for interacting with Airflow from your terminal, and skills that extend AI coding agents with specialized capabilities for working with Airflow and data warehouses.</li>
</ul>
<p>Сообщение <a href="https://datatalks.ru/context-engineering-data-teams/">Context engineering = data governance + data engineering + data science</a> появились сначала на <a href="https://datatalks.ru">DataTalks.RU. Data Engineering / DWH / Data Pipeline</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://datatalks.ru/context-engineering-data-teams/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ChatGPT DeepSeek Copilot и другие LLM для Data Engineer</title>
		<link>https://datatalks.ru/chatgpt-deepseek-copilot-llm-data-engineer/</link>
					<comments>https://datatalks.ru/chatgpt-deepseek-copilot-llm-data-engineer/#respond</comments>
		
		<dc:creator><![CDATA[Data Engineer (Admin)]]></dc:creator>
		<pubDate>Fri, 14 Feb 2025 21:44:49 +0000</pubDate>
				<category><![CDATA[LLM / AI and Data Engineering]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[Copilot]]></category>
		<category><![CDATA[DeepSeek]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[LLM для Data Engineer]]></category>
		<category><![CDATA[LLM-Driven Data Engineering]]></category>
		<guid isPermaLink="false">https://datatalks.ru/?p=1083</guid>

					<description><![CDATA[<p>Пока размышляю над темой и пишу черновик статьи &#8212; здесь будет заглушка с полезными ссылками: https://github.com/DataExpert-io/llm-driven-data-engineering Data Engineer 2.0. Part I: Large Language Models Data Engineer 2.0. Part II: Retrieval Augmented Generation What are LLM Agents? LLM Data Engineering 3——Data Collection Magic: Acquiring Top Training Data A Guide to AI Agents for Data Engineers Мне [&#8230;]</p>
<p>Сообщение <a href="https://datatalks.ru/chatgpt-deepseek-copilot-llm-data-engineer/">ChatGPT DeepSeek Copilot и другие LLM для Data Engineer</a> появились сначала на <a href="https://datatalks.ru">DataTalks.RU. Data Engineering / DWH / Data Pipeline</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Пока размышляю над темой и пишу черновик статьи &#8212; здесь будет заглушка с полезными ссылками:</p>
<ul>
<li><a href="https://github.com/DataExpert-io/llm-driven-data-engineering" target="_blank" rel="noopener">https://github.com/DataExpert-io/llm-driven-data-engineering</a></li>
<li><a href="https://medium.com/adevinta-tech-blog/data-engineer-2-0-part-i-large-language-models-7b745c4683e4" target="_blank" rel="noopener">Data Engineer 2.0. Part I: Large Language Models</a></li>
<li><a href="https://medium.com/adevinta-tech-blog/data-engineer-2-0-part-ii-retrieval-augmented-generation-47eada9045c9" target="_blank" rel="noopener">Data Engineer 2.0. Part II: Retrieval Augmented Generation</a></li>
<li><a href="https://www.k2view.com/what-are-llm-agents/" target="_blank" rel="noopener">What are LLM Agents?</a></li>
<li><a href="https://huggingface.co/blog/JessyTsu1/data-collect" target="_blank" rel="noopener">LLM Data Engineering 3——Data Collection Magic: Acquiring Top Training Data</a></li>
<li><a href="https://royondata.substack.com/p/a-guide-to-ai-agents-for-data-engineers" target="_blank" rel="noopener">A Guide to AI Agents for Data Engineers</a></li>
</ul>
<p>Мне очень симпатична идея работы с LLM. При правильном подходе ты не застреваешь на каких-то деталях и сильно ускоряешь рутину.</p>


<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p>А пока представим, какой могла бы быть структура статьи.</p>
<hr />
<h1>Prompt Engineering Guide</h1>
<p><strong>Промпт инжиниринг</strong> — это относительно новая дисциплина, связанная с разработкой и оптимизацией промптов для эффективного использования языковых моделей (Language Models, LMs) в самых разных приложениях и исследовательских задачах. Навыки инженерии промптов помогают лучше понять возможности и ограничения больших языковых моделей (Large Language Models, LLMs).</p>
<p><a href="https://datatalks.ru/wp-content/uploads/2025/02/promt_engineering.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1414" src="https://datatalks.ru/wp-content/uploads/2025/02/promt_engineering.png" alt="" width="686" height="312" srcset="https://datatalks.ru/wp-content/uploads/2025/02/promt_engineering.png 686w, https://datatalks.ru/wp-content/uploads/2025/02/promt_engineering-300x136.png 300w, https://datatalks.ru/wp-content/uploads/2025/02/promt_engineering-450x205.png 450w" sizes="(max-width: 686px) 100vw, 686px" /></a></p>
<p>Исследователи используют инженерию промптов для улучшения способностей LLM в решении широкого спектра задач, как простых, так и сложных, включая ответы на вопросы и арифметические рассуждения. Разработчики применяют инженерию промптов для создания надежных и эффективных методов взаимодействия с LLM и другими инструментами.</p>
<p>Промпт инжиниринг не ограничивается только разработкой и созданием промптов. Она включает в себя широкий спектр навыков и техник, которые полезны для взаимодействия и разработки с использованием LLM. Это важный навык для взаимодействия, создания и понимания возможностей LLM. С помощью инженерии промптов можно повысить безопасность LLM и создать новые функции, такие как расширение возможностей LLM за счет доменных знаний и внешних инструментов.</p>
<h1>1. Введение в LLM для Data Engineer</h1>
<h2>Алгоритмы машинного обучения</h2>
<p><a href="https://datatalks.ru/wp-content/uploads/2025/02/machine_learning.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1641" src="https://datatalks.ru/wp-content/uploads/2025/02/machine_learning.jpeg" alt="" width="1837" height="666" srcset="https://datatalks.ru/wp-content/uploads/2025/02/machine_learning.jpeg 1837w, https://datatalks.ru/wp-content/uploads/2025/02/machine_learning-300x109.jpeg 300w, https://datatalks.ru/wp-content/uploads/2025/02/machine_learning-1024x371.jpeg 1024w, https://datatalks.ru/wp-content/uploads/2025/02/machine_learning-768x278.jpeg 768w, https://datatalks.ru/wp-content/uploads/2025/02/machine_learning-1536x557.jpeg 1536w, https://datatalks.ru/wp-content/uploads/2025/02/machine_learning-450x163.jpeg 450w, https://datatalks.ru/wp-content/uploads/2025/02/machine_learning-780x283.jpeg 780w, https://datatalks.ru/wp-content/uploads/2025/02/machine_learning-1600x580.jpeg 1600w" sizes="(max-width: 1837px) 100vw, 1837px" /></a></p>
<p><strong>Обучение с учителем (Supervised Learning) &#8212; Модель учится по размеченным данным (есть «вход» и «правильный ответ»).</strong></p>
<ul>
<li><strong>Линейная регрессия</strong> &#8212; Прогнозирует численные значения на основе линейной зависимости. Пример: предсказание цены дома.</li>
<li><strong>Логистическая регрессия</strong> &#8212; Классификация (да/нет), основанная на логистической функции. Пример: будет ли клиент платить кредит.</li>
<li><strong>k-ближайших соседей (k-NN)</strong> &#8212; Классификация/регрессия по ближайшим точкам из обучающей выборки. Пример: распознавание рукописных цифр.</li>
<li><strong>Деревья решений (Decision Trees)</strong> &#8212; Принятие решений по условиям в виде дерева. Пример: диагностика болезней.</li>
<li><strong>Случайный лес (Random Forest)</strong> &#8212; Комбинация многих деревьев решений для устойчивости. Пример: прогноз оттока клиентов.</li>
<li><strong>Метод опорных векторов (SVM)</strong> &#8212; Строит оптимальную границу между классами. Пример: классификация текста.</li>
<li><strong>Наивный Байес (Naive Bayes)</strong> &#8212; Вероятностная классификация на основе теоремы Байеса. Пример: фильтрация спама.</li>
<li><strong>Градиентный бустинг (XGBoost, LightGBM и др.)</strong> &#8212; Сильные ансамбли слабых моделей, обучающихся последовательно. Пример: соревнования Kaggle.</li>
</ul>
<p><strong>Обучение без учителя (Unsupervised Learning) &#8212; </strong>Модель ищет структуры в неразмеченных данных.</p>
<ul>
<li><strong>Кластеризация k-средних (k-means)</strong> &#8212; Делит данные на k групп по схожести. Пример: сегментация клиентов.</li>
<li><strong>Иерархическая кластеризация</strong> &#8212; Создаёт дерево вложенных кластеров. Пример: таксономия документов.</li>
<li><strong>Метод главных компонент (PCA)</strong> &#8212; Снижает размерность данных с сохранением важной информации. Пример: визуализация данных.</li>
<li><strong>Автоэнкодеры</strong> &#8212; Нейросети для сжатия и восстановления входных данных. Пример: обнаружение аномалий.</li>
</ul>
<p><strong>Обучение с подкреплением (Reinforcement Learning)</strong> &#8212; Агент обучается действовать, получая награды за поведение.</p>
<ul>
<li><strong>Q-обучение (Q-learning) &#8212; Табличный метод</strong> — выбирает действия с максимальной ожидаемой наградой. Пример: игры, маршруты.</li>
<li><strong>Deep Q-Network (DQN)</strong> &#8212; Использует нейросети вместо таблицы. Пример: игра в Atari.</li>
<li><strong>Policy Gradient / Actor-Critic</strong> &#8212; Оптимизация поведения агента напрямую. Пример: робототехника, управление.</li>
</ul>
<h2>Краткий обзор LLM (Large Language Models) и их эволюции</h2>
<p><strong>LLM (Large Language Models)</strong> — это нейросетевые модели, обученные на больших объемах текстовых данных для обработки и генерации естественного языка. Основа — трансформер-архитектура (Transformer), предложенная Google в 2017 году.</p>
<p><span style="color: #ff6600;"><strong>Видео &#171;Введение в LLM&#187; (YouTube)</strong></span></p>
<p><iframe title="Введение в LLM" width="1170" height="878" src="https://www.youtube.com/embed/MN6w0lJVmHU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p><strong>Large Language Model (LLM, Большая языковая модель)</strong> — это нейросетевая система, способная генерировать, анализировать и «‎понимать» текст, а также выполнять различные задачи, связанные с обработкой естественного языка (Natural Language Processing, NLP). Такие модели обучаются на огромных объемах текстовых данных (книги, статьи, веб-страницы и т.д.), что позволяет им «понимать» контекст и семантику естественного языка.</p>
<p>А «большими» эти модели называются потому, что содержат огромное количество параметров (нейронной сети) — от 1 миллиарда и больше. Именно это и обеспечивает их высокую способность к обобщению и адаптации под разные задачи.</p>
<p><strong>С точки зрения бизнеса, LLM это мощный инструмент, который имеет весьма обширное применение:</strong></p>
<ul>
<li>Чат-боты и виртуальные ассистенты.</li>
<li>Вопросно-ответные системы.</li>
<li>Написание кода/Ассистенты кода.</li>
<li>Генерация контента.</li>
<li>Анализ и обработка текстовых данных.</li>
<li>Классификация текста.</li>
<li>Написание Summary по тексту.</li>
<li>Машинный перевод.</li>
</ul>
<p><strong>Этапы эволюции:</strong></p>
<p><strong>2018–2019:</strong></p>
<ul>
<li><strong>OpenAI GPT, GPT-2</strong> – первые масштабные языковые модели; <strong>GPT-2</strong> (1.5B параметров) показал способность к генерации связного текста.</li>
<li><strong>BERT (Google)</strong> – ввел bidirectional обучение, стал стандартом для задач NLP.</li>
</ul>
<p><strong>2020:</strong></p>
<ul>
<li><strong>GPT-3 (175B)</strong> – качественный скачок в возможностях генерации текста, кодирования, логики.</li>
<li><strong>T5 (Google)</strong> – унификация NLP-задач под формат “текст-в-текст”.</li>
</ul>
<p><strong>2022:</strong></p>
<ul>
<li><strong>ChatGPT (на базе GPT-3.5)</strong> – адаптирован под диалог через RLHF (обучение с подкреплением с участием человека).</li>
<li><strong>PaLM</strong> (Google), <strong>Gopher</strong> (DeepMind) – рост параметров до 500B+.</li>
</ul>
<p><strong>2023–2024:</strong></p>
<ul>
<li><strong>GPT-4</strong> (мультимодальность, улучшенное рассуждение).</li>
<li><strong>Claude</strong> (Anthropic), <strong>LLaMA</strong> (Meta), <strong>Mistral</strong>, <strong>DeepSeek</strong>, <strong>Gemini</strong> (Google) – открытые и проприетарные LLM, оптимизированные под конкретные задачи.</li>
<li>Появление специализированных моделей для кода: <strong>Codex</strong>, <strong>DeepSeek-Coder</strong>, <strong>StarCoder</strong>, <strong>CodeLLaMA</strong>.</li>
</ul>
<p><strong>2024+:</strong></p>
<ul>
<li>Сдвиг к мультимодальным моделям, интеграции инструментов, он-девелопмент LLM (Copilot-подходы), оптимизация под локальное использование (Quantization, MoE).</li>
</ul>
<p>LLM стали основой ИИ-продуктов — от чат-ботов и ассистентов до кода, анализа данных и научных открытий.</p>
<p><strong>Таблица с компаниями и их LLM:</strong></p>
<table>
<thead>
<tr>
<th>Компания</th>
<th>Модель(и)</th>
<th>Год</th>
<th>Тип доступа</th>
<th>Особенности</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>OpenAI</strong></td>
<td>GPT-2, GPT-3, GPT-3.5, GPT-4</td>
<td>2019–2023</td>
<td>Проприетарные</td>
<td>Лидеры в диалоговых LLM; основа ChatGPT</td>
</tr>
<tr>
<td><strong>Anthropic</strong></td>
<td>Claude 1, 2, 3</td>
<td>2023–2024</td>
<td>Частично открыт</td>
<td>Безопасность, интерпретируемость, контекст до 200k</td>
</tr>
<tr>
<td><strong>Google DeepMind</strong></td>
<td>PaLM, Gemini</td>
<td>2022–2024</td>
<td>Проприетарные</td>
<td>Мультимодальность, интеграция с Google продуктами</td>
</tr>
<tr>
<td><strong>Meta</strong></td>
<td>LLaMA, LLaMA 2, 3</td>
<td>2023–2024</td>
<td>Open-source</td>
<td>Высокая производительность, доступны для исследователей</td>
</tr>
<tr>
<td><strong>Mistral</strong></td>
<td>Mistral 7B, Mixtral</td>
<td>2023–2024</td>
<td>Open-source</td>
<td>Эффективные MoE модели, конкурируют с GPT-3.5</td>
</tr>
<tr>
<td><strong>Cohere</strong></td>
<td>Command R, Command R+</td>
<td>2023–2024</td>
<td>Open/API</td>
<td>Оптимизированы под RAG, доступны через API</td>
</tr>
<tr>
<td><strong>DeepSeek</strong></td>
<td>DeepSeek-VL, DeepSeek-Coder</td>
<td>2023–2024</td>
<td>Open-source</td>
<td>Специализация на коде и визуально-языковых задачах</td>
</tr>
<tr>
<td><strong>xAI (Elon Musk)</strong></td>
<td>Grok</td>
<td>2023–2024</td>
<td>Проприетарная</td>
<td>Интеграция с X (ex-Twitter), фокус на открытость</td>
</tr>
<tr>
<td><strong>Microsoft</strong></td>
<td>Phi-2, Orca</td>
<td>2023–2024</td>
<td>Open-source/API</td>
<td>Малые LLM, обучение на синтетических данных</td>
</tr>
<tr>
<td><strong>Alibaba</strong></td>
<td>Qwen, Tongyi Qianwen</td>
<td>2023–2024</td>
<td>Частично открыт</td>
<td>Китайский рынок, мультимодальность</td>
</tr>
<tr>
<td><strong>Huawei</strong></td>
<td>PanGu</td>
<td>2021–2024</td>
<td>Частично открыт</td>
<td>Академический фокус, китайская экосистема</td>
</tr>
</tbody>
</table>
<h2>Почему Data Engineers должны обращать внимание на LLM</h2>
<p>Давайте попробуем описать, какую работу можно поручить LLM:</p>
<table>
<thead>
<tr>
<th>Причина</th>
<th>Объяснение</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Автоматизация рутинных задач</strong></td>
<td>LLM могут генерировать SQL-запросы, ETL-скрипты, трансформации данных и документацию.</td>
</tr>
<tr>
<td><strong>DataOps и инфраструктура</strong></td>
<td>ChatOps-интеграция: LLM можно подключать к CI/CD пайплайнам, мониторингу и алертингу.</td>
</tr>
<tr>
<td><strong>Обработка неструктурированных данных</strong></td>
<td>Извлечение информации из логов, JSON, XML, PDF, текстов — без сложной парсинг-логики.</td>
</tr>
<tr>
<td><strong>Объяснение и ревью кода</strong></td>
<td>Быстрый анализ чужих DAG’ов, Spark-кода, SQL, dbt-моделей.</td>
</tr>
<tr>
<td><strong>Натуральный интерфейс к данным</strong></td>
<td>Через NL2SQL или NL2Data пользователь может &#171;разговаривать&#187; с базой данных или Lakehouse.</td>
</tr>
<tr>
<td><strong>RAG и аналитика</strong></td>
<td>Retrieval-Augmented Generation позволяет строить интеллектуальные системы поверх хранилищ.</td>
</tr>
<tr>
<td><strong>Оптимизация запросов</strong></td>
<td>LLM могут предлагать оптимизации SQL-запросов и конфигураций Spark/Presto.</td>
</tr>
<tr>
<td><strong>Документация и стандартизация</strong></td>
<td>Автоматическое составление схем, описаний пайплайнов, моделей, переменных.</td>
</tr>
</tbody>
</table>
<blockquote>
<p><span style="color: #ff6600;">LLM</span> = ускорение, автоматизация, понимание и взаимодействие с данными на новом уровне.</p>
</blockquote>
<p>Data Engineers, внедряя LLM, становятся не просто &#171;интеграторами пайплайнов&#187;, а архитекторами умных, адаптивных систем данных.</p>
<h3><strong>Примеры задач, которые можно поручить LLM</strong></h3>
<p><strong>Генерация кода и скриптов</strong></p>
<table>
<thead>
<tr>
<th>Задача</th>
<th>Примеры</th>
</tr>
</thead>
<tbody>
<tr>
<td>SQL-запросы</td>
<td>Написание JOIN’ов, оконных функций, агрегаций</td>
</tr>
<tr>
<td>ETL-скрипты</td>
<td>Генерация PySpark/SQL/DBT трансформаций</td>
</tr>
<tr>
<td>Bash/CLI-команды</td>
<td>Обработка файлов, автоматизация cron-задач</td>
</tr>
<tr>
<td>API-интеграции</td>
<td>Подключение к REST/gRPC источникам</td>
</tr>
</tbody>
</table>
<p><strong>Анализ и интерпретация данных</strong></p>
<table>
<thead>
<tr>
<th>Задача</th>
<th>Примеры</th>
</tr>
</thead>
<tbody>
<tr>
<td>Объяснение данных</td>
<td>Расшифровка схем, типов, значений, null-паттернов</td>
</tr>
<tr>
<td>Вывод инсайтов</td>
<td>Автоматический descriptive analytics</td>
</tr>
<tr>
<td>Анализ логов</td>
<td>Поиск ошибок, аномалий, событий</td>
</tr>
</tbody>
</table>
<p><strong>Оптимизация и ревью</strong></p>
<table>
<thead>
<tr>
<th>Задача</th>
<th>Примеры</th>
</tr>
</thead>
<tbody>
<tr>
<td>Оптимизация SQL</td>
<td>Предложения по индексам, упрощению подзапросов</td>
</tr>
<tr>
<td>Ревью пайплайнов</td>
<td>Обнаружение дублирования, циклов, узких мест</td>
</tr>
<tr>
<td>Улучшение конфигураций</td>
<td>Настройка Spark, Airflow, Kafka</td>
</tr>
</tbody>
</table>
<p><strong>Документация и стандарты</strong></p>
<table>
<thead>
<tr>
<th>Задача</th>
<th>Примеры</th>
</tr>
</thead>
<tbody>
<tr>
<td>Автогенерация документации</td>
<td>Описание моделей, таблиц, DAG&#8217;ов</td>
</tr>
<tr>
<td>Кодстайл и linting</td>
<td>Приведение к внутренним стандартам</td>
</tr>
<tr>
<td>Комментарии и объяснения</td>
<td>Генерация docstring&#8217;ов, README, описаний</td>
</tr>
</tbody>
</table>
<p><strong>Data Discovery &amp; Q&amp;A</strong></p>
<table>
<thead>
<tr>
<th>Задача</th>
<th>Примеры</th>
</tr>
</thead>
<tbody>
<tr>
<td>Natural Language to SQL</td>
<td>&#171;Покажи средний чек по регионам за март&#187;</td>
</tr>
<tr>
<td>NL к документации</td>
<td>&#171;Что делает pipeline <code inline="">daily_user_metrics</code>?&#187;</td>
</tr>
<tr>
<td>Semantic search</td>
<td>Поиск по метаданным, схемам, названиям полей</td>
</tr>
</tbody>
</table>
<p><strong>Интеграции и автоматизация</strong></p>
<table>
<thead>
<tr>
<th>Задача</th>
<th>Примеры</th>
</tr>
</thead>
<tbody>
<tr>
<td>ChatOps</td>
<td>Ответы в Slack/Teams на вопросы о данных или пайплайнах</td>
</tr>
<tr>
<td>CI/CD поддержка</td>
<td>Генерация YAML, test-кейсов, условий отката</td>
</tr>
<tr>
<td>RAG-интеграции</td>
<td>Ответы на основе корпоративной базы знаний</td>
</tr>
</tbody>
</table>
<h2>Как LLM и мультиагентные системы могут упростить работу с данными</h2>
<p><strong>Агент</strong> — это самостоятельный программный компонент, управляемый LLM, способный выполнять конкретную задачу: писать код, вызывать API, читать файлы, управлять пайплайнами и т.д. Он действует по инструкции, часто формулируемой на естественном языке, и может взаимодействовать с внешними системами.</p>
<p><strong>Мультиагентная система (Multi-Agent System, MAS)</strong> — это набор таких агентов, которые работают совместно, передают задачи друг другу, координируются через LLM и вместе решают более сложные задачи, чем один агент в одиночку.</p>
<p><strong>Пример:</strong></p>
<ol>
<li>Ты пишешь &#171;построй отчёт по продажам&#187;.</li>
<li>Агент 1 интерпретирует запрос и формирует SQL.</li>
<li>Агент 2 выполняет SQL и получает данные.</li>
<li>Агент 3 визуализирует результат.</li>
<li>Агент 4 генерирует текстовую интерпретацию и оформляет в PDF.</li>
</ol>
<p>LLM в центре координирует эту работу — как &#171;мозг&#187; системы. Это делает MAS мощным инструментом для автоматизации аналитики, ETL и поддержки принятия решений.</p>
<p><strong>LLM и мультиагентные системы</strong> радикально упрощают работу с данными, превращая сложные, многоэтапные процессы в интерактивные и автоматизированные сценарии.</p>
<p>Во-первых, LLM позволяют обращаться к данным на естественном языке. Специалисту не нужно знать точный синтаксис SQL, структуру схемы или внутренности хранилища — достаточно сформулировать вопрос, и модель сама построит нужный запрос или пайплайн.</p>
<p>Во-вторых, мультиагентные системы могут автоматизировать целые цепочки задач. Один агент может сгенерировать SQL, второй — выполнить его, третий — построить визуализацию, а четвертый — оформить результат в отчет. Такая распределённая архитектура снижает нагрузку на одного специалиста и ускоряет процессы.</p>
<p>Также LLM-агенты могут работать асинхронно с внешними источниками — подключаться к API, мониторить данные, запускать пайплайны по событиям. Это делает их идеальными для DataOps и мониторинга.</p>
<p>Наконец, за счёт памяти и контекста, мультиагентные LLM-системы способны обучаться на истории задач и адаптироваться под стиль команды или конкретного проекта, минимизируя повторяющуюся ручную работу.</p>
<p>В результате data engineer становится не просто исполнителем, а оператором интеллектуальной системы, делегирующим задачи ИИ.</p>
<h2>Роль Prompt Engineering в работе с LLM: как правильная формулировка запросов влияет на качество результата</h2>
<p><strong>Prompt Engineering</strong> — это практика составления точных, контекстуальных и целевых запросов (prompts) для получения максимально качественных ответов от LLM.</p>
<p>Правильная формулировка запроса критически влияет на:</p>
<ul>
<li><strong>Точность ответа</strong> — чётко сформулированный prompt снижает вероятность &#171;галлюцинаций&#187; и ошибок модели.</li>
<li><strong>Полноту и структурированность</strong> — указание формата вывода (таблица, список, JSON) помогает получить пригодный для работы результат.</li>
<li><strong>Контроль поведения</strong> — с помощью system prompt или инструкций можно задать стиль ответа, ограничить тему, указать роль (например: &#171;ты дата-инженер&#187;).</li>
<li><strong>Стабильность результатов</strong> — правильно спроектированный prompt уменьшает вариативность при повторных запросах.</li>
</ul>
<p>В работе data engineer prompt engineering применяется для:</p>
<ul>
<li>генерации SQL/ETL кода по описанию;</li>
<li>интерпретации данных;</li>
<li>построения цепочек агентов (в MAS);</li>
<li>создания шаблонов автодокументации;</li>
<li>взаимодействия с LLM через API (например, в бэкенде DataOps-инструментов).</li>
</ul>
<h3>Пример составления промпта</h3>
<p><strong>Допустим у нас есть задача:</strong> Сгенерировать SQL-запрос для аналитики</p>
<p><strong>Prompt:</strong></p>
<hr />
<blockquote>
<p><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">Ты — </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">опытный </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">Data </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">Engineer. </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">На </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">основе </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">описания </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">задачи </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">сгенерируй </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">оптимальный </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">SQL-</span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">запрос. </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">Формат </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">вывода — </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">только </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">SQL-</span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">код </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">без </span><span class="_fadeIn_m1hgl_8" style="color: inherit; font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: -0.02em; font-style: italic;">пояснений.</span></p>
<p data-start="291" data-end="478"><span class="_fadeIn_m1hgl_8">Описание </span><span class="_fadeIn_m1hgl_8">задачи:</span><br data-start="311" data-end="314" /><span class="_fadeIn_m1hgl_8">В </span><span class="_fadeIn_m1hgl_8">таблице </span><code data-start="326" data-end="334">orders</code> <span class="_fadeIn_m1hgl_8">нужно </span><span class="_fadeIn_m1hgl_8">посчитать </span><span class="_fadeIn_m1hgl_8">среднюю </span><span class="_fadeIn_m1hgl_8">сумму </span><span class="_fadeIn_m1hgl_8">заказов (</span><code data-start="374" data-end="388">total_amount</code><span class="_fadeIn_m1hgl_8">) </span><span class="_fadeIn_m1hgl_8">по </span><span class="_fadeIn_m1hgl_8">каждому </span><span class="_fadeIn_m1hgl_8">региону (</span><code data-start="410" data-end="418">region</code><span class="_fadeIn_m1hgl_8">) </span><span class="_fadeIn_m1hgl_8">за </span><span class="_fadeIn_m1hgl_8">март </span><span class="_fadeIn_m1hgl_8">2024 </span><span class="_fadeIn_m1hgl_8">года. </span><span class="_fadeIn_m1hgl_8">Исключи </span><span class="_fadeIn_m1hgl_8">заказы </span><span class="_fadeIn_m1hgl_8">со </span><span class="_fadeIn_m1hgl_8">статусом </span><code data-start="466" data-end="477">cancelled</code><span class="_fadeIn_m1hgl_8">.</span></p>
</blockquote>
<hr />
<p>Результат:</p>
<pre class="urvanov-syntax-highlighter-plain-tag">SELECT region, AVG(total_amount) AS avg_order_amount
FROM orders
WHERE status != 'cancelled'
  AND order_date &gt;= '2024-03-01'
  AND order_date &lt; '2024-04-01'
GROUP BY region;</pre>
<p><strong>Что мы делаем с помощью prompt:</strong></p>
<ol>
<li>Задает контекст роли (ты — Data Engineer).</li>
<li>Уточняет формат вывода (только SQL-код).</li>
<li>Дает четкое описание задачи, включая названия колонок, фильтры и агрегации.</li>
<li>Подходит для интеграции в пайплайн или автоматизацию (т.к. вывод — чистый код).</li>
</ol>
<h1>2. Основная терминология LLM/RAG и т.п.</h1>
<h2>Основные термины по группам LLM/Prompt/Token/RAG и т.д.</h2>
<h3><strong>Large Language Model (LLM)</strong></h3>
<p><strong>Большая языковая модель (LLM)</strong> — это статистическая языковая модель, обученная на огромном объеме данных, которую можно использовать для генерации и перевода текста и другого контента, а также для выполнения других задач обработки естественного языка (NLP). Если кратко, то это нейросеть, обученная на огромных массивах текстов, способная генерировать, интерпретировать и анализировать естественный язык.</p>
<p><strong>Видео &#171;Краткое объяснение больших языковых моделей&#187; (YouTube):</strong></p>
<p><iframe title="Large Language Models explained briefly" width="1170" height="658" src="https://www.youtube.com/embed/LPZh9BOjkQs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p><strong>Примеры моделей:</strong> GPT (OpenAI), Claude (Anthropic), Gemini (Google), LLaMA (Meta).</p>
<p><strong>Технология:</strong> основаны на <strong>архитектуре Transformer</strong>, обучаются предсказывать следующий токен в тексте (language modeling).</p>
<h3><strong>Prompt / Prompt Engineering</strong></h3>
<ul>
<li><strong>Prompt</strong> — это запрос или инструкция, которую пользователь передаёт LLM.</li>
<li><strong>Prompt Engineering</strong> — это практика формулировки запросов для получения нужного результата.</li>
<li><strong>Few-shot prompting</strong> — запрос с несколькими примерами.</li>
<li><strong>Zero-shot prompting</strong> — запрос без примеров.</li>
</ul>
<p>Шаблоны помогают стандартизировать взаимодействие с LLM (например: &#171;Ты — SQL-эксперт, напиши запрос по описанию&#8230;&#187;).</p>
<h3><strong>Token / Контекстное окно</strong></h3>
<ul>
<li><strong>Токен</strong> — минимальная единица текста (обычно слово, часть слова или символ), с которой работает LLM.</li>
<li><strong>Контекстное окно</strong> — максимальное количество токенов, которое модель может “удерживать в памяти” за один запрос.</li>
</ul>
<p><strong>Важно:</strong> лимит токенов влияет на длину входа + выхода, стоимость и точность. <strong>Пример:</strong> GPT-4-turbo — до 128k токенов.</p>
<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ac.png" alt="💬" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Контекстное окно LLM — что это и как оно влияет на работу моделей?</strong></p>
<p><iframe title="&#x1f4ac; Контекстное окно LLM — что это и как оно влияет на работу моделей?" width="1170" height="658" src="https://www.youtube.com/embed/kTO-fN18V_0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<h3><strong>Fine-tuning / Instruct-tuning / RLHF</strong></h3>
<ul>
<li><strong>Fine-tuning</strong> &#8212; Тонкая настройка: Для того, чтобы большая языковая модель могла выполнять определенную задачу, например, перевод, она должна быть точно настроена на эту конкретную деятельность. Тонкая настройка оптимизирует производительность определенных задач. <br />То есть это может быть дообучение модели на специализированных данных (напр., банковские транзакции или медицинские тексты).</li>
<li><strong>Instruct-tuning</strong> &#8212; обучение под выполнение инструкций на естественном языке.</li>
<li><strong>RLHF (Reinforcement Learning with Human Feedback)</strong> &#8212; улучшение модели с помощью обратной связи от людей, часто для более этичного или полезного поведения.</li>
</ul>
<p><strong>Видео на русском &#171;Fine-tuning, RAG, Llama, prompt-engineering, LLM-арены | Что происходит в LLM&#187; (YouTube)</strong></p>
<p><iframe title="Fine-tuning, RAG, Llama, prompt-engineering, LLM-арены | Что происходит в LLM" width="1170" height="658" src="https://www.youtube.com/embed/sbMzUOXcyWw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p>RAG vs Fine-Tuning vs Prompt Engineering: Optimizing AI Models</p>
<p><iframe title="RAG vs Fine-Tuning vs Prompt Engineering: Optimizing AI Models" width="1170" height="658" src="https://www.youtube.com/embed/zYGDpG-pTho?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<h3><strong>RAG (Retrieval-Augmented Generation)</strong></h3>
<p><strong>RAG</strong> — подход, при котором LLM использует внешний поиск (по векторной базе или индексу), чтобы дополнить свой контекст перед генерацией ответа.</p>
<p>Пример: при запросе о внутренних бизнес-данных, модель сначала ищет релевантные документы, затем формирует ответ на их основе.<br />Применяется в чат-ботах, корпоративной аналитике, справочных системах.</p>
<p><strong>Видео &#171;RAG | САМОЕ ПОНЯТНОЕ ОБЪЯСНЕНИЕ&#187; (YouTube)</strong></p>
<p><iframe title="RAG | САМОЕ ПОНЯТНОЕ ОБЪЯСНЕНИЕ!" width="1170" height="878" src="https://www.youtube.com/embed/22tkx79icy4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<h3><strong>Embeddings / Векторизация</strong></h3>
<p><strong>Embedding</strong> — представление текста в виде числового вектора в многомерном пространстве.<br />Тексты, похожие по смыслу, имеют близкие векторы.</p>
<p><strong>Применяются для:</strong></p>
<ul>
<li>семантического поиска</li>
<li>кластеризации</li>
<li>построения RAG-систем</li>
</ul>
<p><strong>Примеры моделей:</strong> OpenAI embeddings, BGE (BAAI), Cohere embeddings.</p>
<p><strong>Word embeddings для векторизации текста | Обработка естественного языка</strong></p>
<p><iframe title="Word embeddings для векторизации текста | Обработка естественного языка" width="1170" height="658" src="https://www.youtube.com/embed/jxbr6GV9h4o?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p><strong>Лекция. Векторные представления слов, Bag of Words. Латентный семантический анализ</strong></p>
<p><iframe title="Лекция. Векторные представления слов, Bag of Words. Латентный семантический анализ" width="1170" height="658" src="https://www.youtube.com/embed/EOgwODW67PE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<h3><strong>Agent / Multi-Agent System (MAS)</strong></h3>
<ul>
<li><strong>Агент</strong> — это LLM-компонент с заданной функцией (например, писать SQL, вызывать API, строить графики).</li>
<li><strong>Мультиагентная система (MAS)</strong> — набор агентов, координируемых между собой, для выполнения сложных задач по шагам.</li>
</ul>
<p>Пример: один агент парсит задачу, другой запускает запрос, третий — визуализирует.</p>
<p><strong>Видео на английском &#171;AI Agents, Clearly Explained&#187; (YouTube)</strong></p>
<p><iframe title="AI Agents, Clearly Explained" width="1170" height="658" src="https://www.youtube.com/embed/FwOTs4UxQS4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p><strong>Видео на английском &#171;Conceptual Guide: Multi Agent Architectures&#187; (YouTube)</strong></p>
<p><iframe title="Conceptual Guide: Multi Agent Architectures" width="1170" height="878" src="https://www.youtube.com/embed/4nZl32FwU-o?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<h3><strong>Chain / Workflow / Orchestration</strong></h3>
<ul>
<li><strong>Chain</strong> — последовательность шагов, выполняемых LLM или агентами (пример: сначала SQL, потом интерпретация, потом отчёт).</li>
<li><strong>Workflow</strong> — логика выполнения многозадачного процесса.</li>
<li><strong>Orchestration</strong> — управление выполнением этих процессов, включая условия, повторные попытки, параллелизм.</li>
</ul>
<p><strong>Инструменты:</strong> LangChain, Semantic Kernel, CrewAI.</p>
<h3><strong>Hallucination</strong></h3>
<p><strong>Галлюцинация</strong> — когда LLM уверенно выдаёт недостоверную или вымышленную информацию.<br />Причины: недостаточный контекст, сжатие токенов, ошибки в данных.</p>
<p>Уменьшение галюцинаций достигается за счет:</p>
<ul>
<li>точные prompts</li>
<li>RAG (подкрепление знаниями)</li>
<li>валидация через инструменты или постпроцессинг.</li>
</ul>
<h3><strong>Model Types: Open vs Closed</strong></h3>
<ul>
<li>Open-source модели (например, LLaMA, Mistral, DeepSeek) — доступны для локального запуска и кастомизации.</li>
<li>Проприетарные модели (например, GPT-4, Claude 3, Gemini) — доступны через API, обычно точнее, но закрыты.</li>
<li>Выбор зависит от требований к приватности, цене, масштабируемости и контролю над логикой работы.</li>
</ul>
<h2>Архитектура Transformer (фундаментальная нейросетевая модель)</h2>
<ul>
<li>Для лучшего понимания как работает Transformer рекомендую сайт <strong><a href="https://poloclub.github.io/transformer-explainer/" target="_blank" rel="noopener">TRANSFORMER EXPLAINER</a></strong>.</li>
<li>Еще есть хорошая статья <strong><a href="https://re-cinq.com/blog/llm-architectures" target="_blank" rel="noopener">The Evolving Landscape of Large Language Model (LLM) Architectures</a></strong> про архитектуры LLM.</li>
</ul>
<p><a href="https://datatalks.ru/wp-content/uploads/2025/02/llm-architecture.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1411" src="https://datatalks.ru/wp-content/uploads/2025/02/llm-architecture.png" alt="" width="1340" height="759" srcset="https://datatalks.ru/wp-content/uploads/2025/02/llm-architecture.png 1340w, https://datatalks.ru/wp-content/uploads/2025/02/llm-architecture-300x170.png 300w, https://datatalks.ru/wp-content/uploads/2025/02/llm-architecture-1024x580.png 1024w, https://datatalks.ru/wp-content/uploads/2025/02/llm-architecture-768x435.png 768w, https://datatalks.ru/wp-content/uploads/2025/02/llm-architecture-450x255.png 450w, https://datatalks.ru/wp-content/uploads/2025/02/llm-architecture-780x442.png 780w" sizes="(max-width: 1340px) 100vw, 1340px" /></a></p>
<p>Основная проблема заключается в стратегии, которую используют эти нейронные сети для предсказания пропущенного слова в предложении. До появления transformers современные нейронные сети полагались на архитектуру кодер-декодер, мощный, но требующий много времени и ресурсов механизм, который не подходит для параллельных вычислений, что ограничивает возможности масштабируемости.</p>
<p><strong>Transformers</strong> представляют собой альтернативу традиционным нейронным сетям для обработки последовательных данных, а именно текста (хотя transformers также использовались с другими типами данных, такими как изображения и аудио, с не менее успешными результатами).</p>
<p><strong>Transformers</strong> основаны на той же архитектуре кодер-декодер, что и рекуррентные и сверточные нейронные сети. Такая нейронная архитектура направлена на обнаружение статистических связей между токенами текста.</p>
<p>Это делается с помощью комбинации методов встраивания. <strong>Embedding (Встраивания)</strong> — это представления токенов, таких как предложения, абзацы или документы, в многомерном векторном пространстве, где каждое измерение соответствует изученной функции или атрибуту языка.</p>
<p><strong>Процесс embedding происходит в кодере.</strong> Из-за огромного размера LLM создание embedding требует обширного обучения и значительных ресурсов. Однако то, что отличает transformers от предыдущих нейронных сетей, заключается в том, что процесс embedding в высокой степени параллелизуем, что обеспечивает более эффективную обработку. Это возможно благодаря <strong>механизму внимания (attention mechanism)</strong>.</p>
<p>Рекуррентные и сверточные нейронные сети делают свои предсказания слов исключительно на основе предыдущих слов. В этом смысле их можно считать однонаправленными. Напротив, механизм внимания позволяет transformers предсказывать слова двунаправленно, то есть на основе как предыдущих, так и последующих слов. Целью слоя внимания, который включен как в кодер, так и в декодер, является захват контекстных отношений, существующих между различными словами во входном предложении.</p>
<p><a href="https://datatalks.ru/wp-content/uploads/2025/02/architecture_transformers_llm.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1407" src="https://datatalks.ru/wp-content/uploads/2025/02/architecture_transformers_llm.jpeg" alt="" width="1547" height="901" srcset="https://datatalks.ru/wp-content/uploads/2025/02/architecture_transformers_llm.jpeg 1547w, https://datatalks.ru/wp-content/uploads/2025/02/architecture_transformers_llm-300x175.jpeg 300w, https://datatalks.ru/wp-content/uploads/2025/02/architecture_transformers_llm-1024x596.jpeg 1024w, https://datatalks.ru/wp-content/uploads/2025/02/architecture_transformers_llm-768x447.jpeg 768w, https://datatalks.ru/wp-content/uploads/2025/02/architecture_transformers_llm-1536x895.jpeg 1536w, https://datatalks.ru/wp-content/uploads/2025/02/architecture_transformers_llm-450x262.jpeg 450w, https://datatalks.ru/wp-content/uploads/2025/02/architecture_transformers_llm-780x454.jpeg 780w" sizes="(max-width: 1547px) 100vw, 1547px" /></a></p>
<ul>
<li><strong>Embedding Layer / Слой встраивания</strong> создает <strong>embeddings</strong> из входного текста. Эта часть большой языковой модели фиксирует семантическое и синтаксическое значение ввода, чтобы модель могла понимать контекст.</li>
<li><strong>FeedForward Layer / Слой прямой связи (FFN)</strong> большой языковой модели состоит из нескольких полностью связанных слоев, которые преобразуют <strong>embeddings входные данные</strong>. При этом эти слои позволяют модели собирать абстракции более высокого уровня — то есть понимать намерение пользователя с помощью текстового ввода.</li>
<li><strong>Recurrent layer / Рекуррентный слой</strong> интерпретирует слова входного текста последовательно. Он фиксирует связь между словами в предложении.</li>
<li><strong>Attention mechanism / Механизм</strong> внимания позволяет языковой модели сосредоточиться на отдельных частях входного текста, которые имеют отношение к поставленной задаче. Этот слой позволяет модели генерировать наиболее точные выходные данные.</li>
</ul>
<hr />
<p><strong data-start="172" data-end="231"><span class="_fadeIn_m1hgl_8">1. Входное </span><span class="_fadeIn_m1hgl_8">представление (</span><span class="_fadeIn_m1hgl_8">Embedding + </span><span class="_fadeIn_m1hgl_8">Positional </span><span class="_fadeIn_m1hgl_8">Encoding)</span></strong></p>
<p><span class="_fadeIn_m1hgl_8">Текст </span><span class="_fadeIn_m1hgl_8">разбивается </span><span class="_fadeIn_m1hgl_8">на </span><span class="_fadeIn_m1hgl_8">токены, </span><span class="_fadeIn_m1hgl_8">каждый </span><span class="_fadeIn_m1hgl_8">из </span><span class="_fadeIn_m1hgl_8">которых </span><span class="_fadeIn_m1hgl_8">преобразуется </span><span class="_fadeIn_m1hgl_8">в </span><span class="_fadeIn_m1hgl_8">вектор </span><span class="_fadeIn_m1hgl_8">фиксированной </span><span class="_fadeIn_m1hgl_8">размерности (</span><span class="_fadeIn_m1hgl_8">embedding).</span><br data-start="342" data-end="345" /><span class="_fadeIn_m1hgl_8">Поскольку </span><span class="_fadeIn_m1hgl_8">Transformer </span><span class="_fadeIn_m1hgl_8">не </span><span class="_fadeIn_m1hgl_8">обладает </span><span class="_fadeIn_m1hgl_8">встроенной </span><span class="_fadeIn_m1hgl_8">последовательной </span><span class="_fadeIn_m1hgl_8">природой (</span><span class="_fadeIn_m1hgl_8">как </span><span class="_fadeIn_m1hgl_8">RNN), </span><span class="_fadeIn_m1hgl_8">к </span><span class="_fadeIn_m1hgl_8">этим </span><span class="_fadeIn_m1hgl_8">векторам </span><span class="_fadeIn_m1hgl_8">добавляются </span><strong data-start="455" data-end="503"><span class="_fadeIn_m1hgl_8">позиционные </span><span class="_fadeIn_m1hgl_8">кодировки (</span><span class="_fadeIn_m1hgl_8">positional </span><span class="_fadeIn_m1hgl_8">encodings)</span></strong><span class="_fadeIn_m1hgl_8">, </span><span class="_fadeIn_m1hgl_8">чтобы </span><span class="_fadeIn_m1hgl_8">модель </span><span class="_fadeIn_m1hgl_8">понимала </span><span class="_fadeIn_m1hgl_8">порядок </span><span class="_fadeIn_m1hgl_8">токенов.</span></p>
<p><strong data-start="548" data-end="569"><span class="_fadeIn_m1hgl_8">2. Encoder </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">Decoder</span></strong><br data-start="569" data-end="572" /><span class="_fadeIn_m1hgl_8">Исходная </span><span class="_fadeIn_m1hgl_8">архитектура </span><span class="_fadeIn_m1hgl_8">Transformer </span><span class="_fadeIn_m1hgl_8">включает </span><span class="_fadeIn_m1hgl_8">два </span><span class="_fadeIn_m1hgl_8">блока:</span></p>
<ul>
<li><strong data-start="629" data-end="640"><span class="_fadeIn_m1hgl_8">Encoder</span></strong><span class="_fadeIn_m1hgl_8"> — </span><span class="_fadeIn_m1hgl_8">принимает </span><span class="_fadeIn_m1hgl_8">входную </span><span class="_fadeIn_m1hgl_8">последовательность </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">кодирует </span><span class="_fadeIn_m1hgl_8">её </span><span class="_fadeIn_m1hgl_8">в </span><span class="_fadeIn_m1hgl_8">скрытое </span><span class="_fadeIn_m1hgl_8">представление.</span></li>
<li><strong data-start="723" data-end="734"><span class="_fadeIn_m1hgl_8">Decoder</span></strong><span class="_fadeIn_m1hgl_8"> — </span><span class="_fadeIn_m1hgl_8">генерирует </span><span class="_fadeIn_m1hgl_8">выходной </span><span class="_fadeIn_m1hgl_8">текст, </span><span class="_fadeIn_m1hgl_8">используя </span><span class="_fadeIn_m1hgl_8">кодировщик </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">ранее </span><span class="_fadeIn_m1hgl_8">сгенерированные </span><span class="_fadeIn_m1hgl_8">токены.<br /></span></li>
</ul>
<p><span class="_fadeIn_m1hgl_8">В </span><span class="_fadeIn_m1hgl_8">LLM </span><span class="_fadeIn_m1hgl_8">чаще </span><span class="_fadeIn_m1hgl_8">используют </span><span class="_fadeIn_m1hgl_8">только </span><span class="_fadeIn_m1hgl_8">часть </span><span class="_fadeIn_m1hgl_8">декодера (</span><span class="_fadeIn_m1hgl_8">autoregressive </span><span class="_fadeIn_m1hgl_8">decoder), </span><span class="_fadeIn_m1hgl_8">так </span><span class="_fadeIn_m1hgl_8">как </span><span class="_fadeIn_m1hgl_8">задача — </span><span class="_fadeIn_m1hgl_8">генерировать </span><span class="_fadeIn_m1hgl_8">текст.</span></p>
<p><strong data-start="930" data-end="963"><span class="_fadeIn_m1hgl_8">3. Механизм </span><span class="_fadeIn_m1hgl_8">внимания (</span><span class="_fadeIn_m1hgl_8">Attention)</span></strong></p>
<p><span class="_fadeIn_m1hgl_8">Ключевой </span><span class="_fadeIn_m1hgl_8">элемент — </span><strong data-start="985" data-end="1003"><span class="_fadeIn_m1hgl_8">Self-</span><span class="_fadeIn_m1hgl_8">Attention</span></strong><span class="_fadeIn_m1hgl_8">, </span><span class="_fadeIn_m1hgl_8">который </span><span class="_fadeIn_m1hgl_8">позволяет </span><span class="_fadeIn_m1hgl_8">каждому </span><span class="_fadeIn_m1hgl_8">токену </span><span class="_fadeIn_m1hgl_8">учитывать </span><span class="_fadeIn_m1hgl_8">все </span><span class="_fadeIn_m1hgl_8">остальные </span><span class="_fadeIn_m1hgl_8">токены </span><span class="_fadeIn_m1hgl_8">в </span><span class="_fadeIn_m1hgl_8">последовательности.</span><br data-start="1090" data-end="1093" /><span class="_fadeIn_m1hgl_8">Вычисляется </span><span class="_fadeIn_m1hgl_8">весовая </span><span class="_fadeIn_m1hgl_8">матрица, </span><span class="_fadeIn_m1hgl_8">отражающая </span><span class="_fadeIn_m1hgl_8">важность </span><span class="_fadeIn_m1hgl_8">каждого </span><span class="_fadeIn_m1hgl_8">токена </span><span class="_fadeIn_m1hgl_8">относительно </span><span class="_fadeIn_m1hgl_8">других. </span><span class="_fadeIn_m1hgl_8">Это </span><span class="_fadeIn_m1hgl_8">обеспечивает </span><span class="_fadeIn_m1hgl_8">контекстуальное </span><span class="_fadeIn_m1hgl_8">понимание.</span></p>
<p><strong data-start="1226" data-end="1274"><span class="_fadeIn_m1hgl_8">4. Многоголовое </span><span class="_fadeIn_m1hgl_8">внимание (</span><span class="_fadeIn_m1hgl_8">Multi-</span><span class="_fadeIn_m1hgl_8">Head </span><span class="_fadeIn_m1hgl_8">Attention)</span></strong></p>
<p><span class="_fadeIn_m1hgl_8">Вместо </span><span class="_fadeIn_m1hgl_8">одного </span><span class="_fadeIn_m1hgl_8">внимания </span><span class="_fadeIn_m1hgl_8">используется </span><span class="_fadeIn_m1hgl_8">несколько </span><span class="_fadeIn_m1hgl_8">параллельных &#171;</span><span class="_fadeIn_m1hgl_8">голов&#187;, </span><span class="_fadeIn_m1hgl_8">каждая </span><span class="_fadeIn_m1hgl_8">из </span><span class="_fadeIn_m1hgl_8">которых </span><span class="_fadeIn_m1hgl_8">смотрит </span><span class="_fadeIn_m1hgl_8">на </span><span class="_fadeIn_m1hgl_8">данные </span><span class="_fadeIn_m1hgl_8">под </span><span class="_fadeIn_m1hgl_8">своим </span><span class="_fadeIn_m1hgl_8">углом. </span><span class="_fadeIn_m1hgl_8">Это </span><span class="_fadeIn_m1hgl_8">повышает </span><span class="_fadeIn_m1hgl_8">способность </span><span class="_fadeIn_m1hgl_8">модели </span><span class="_fadeIn_m1hgl_8">улавливать </span><span class="_fadeIn_m1hgl_8">разные </span><span class="_fadeIn_m1hgl_8">аспекты </span><span class="_fadeIn_m1hgl_8">контекста.</span></p>
<p><strong data-start="1471" data-end="1492"><span class="_fadeIn_m1hgl_8">5. Feed-</span><span class="_fadeIn_m1hgl_8">Forward </span><span class="_fadeIn_m1hgl_8">сети</span></strong></p>
<p><span class="_fadeIn_m1hgl_8">После </span><span class="_fadeIn_m1hgl_8">внимания </span><span class="_fadeIn_m1hgl_8">идут </span><span class="_fadeIn_m1hgl_8">полносвязные </span><span class="_fadeIn_m1hgl_8">слои </span><span class="_fadeIn_m1hgl_8">с </span><span class="_fadeIn_m1hgl_8">нелинейностями, </span><span class="_fadeIn_m1hgl_8">которые </span><span class="_fadeIn_m1hgl_8">трансформируют </span><span class="_fadeIn_m1hgl_8">представления </span><span class="_fadeIn_m1hgl_8">токенов.</span></p>
<p><strong data-start="1601" data-end="1638"><span class="_fadeIn_m1hgl_8">6. Нормализация </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">резидуальные </span><span class="_fadeIn_m1hgl_8">связи</span></strong></p>
<p><span class="_fadeIn_m1hgl_8">Чтобы </span><span class="_fadeIn_m1hgl_8">обучение </span><span class="_fadeIn_m1hgl_8">было </span><span class="_fadeIn_m1hgl_8">стабильным </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">глубоким, </span><span class="_fadeIn_m1hgl_8">применяются </span><strong data-start="1696" data-end="1719"><span class="_fadeIn_m1hgl_8">Layer </span><span class="_fadeIn_m1hgl_8">Normalization</span></strong> <span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">остаточные (</span><span class="_fadeIn_m1hgl_8">skip) </span><span class="_fadeIn_m1hgl_8">связи </span><span class="_fadeIn_m1hgl_8">между </span><span class="_fadeIn_m1hgl_8">слоями.</span></p>
<h2>Токенизация</h2>
<p>Исторически так сложилось, что компьютеры не могут читать текст так же как это делают люди — они могут работать только с числами. И LLM тут не исключение. Чтобы LLM смогла «‎прочитать» текст, его сначала необходимо преобразовать в числа.</p>
<p>Этим и занимается токенизация: она разбивает текст на более мелкие единицы, называемые токенами. Затем токены превращаются в целые числа. И последовательность целых чисел подается в LLM в качестве входных данных.</p>
<p>Программа, которая занимается токенизацией, называется токенизатор (tokenizer). Токенизаторы существуют отдельно от LLM и взаимодействуют с ними по мере необходимости (но могут использоваться и вполне самостоятельно). Так же, как и LLM, токенизатор необходимо сначала обучить. Причем, обучаются они отдельно от LLM и до начала ее обучения.</p>
<p>Уже обученный токенизатор выполняет две функции:</p>
<ul>
<li><strong>Энкодинг (encode)</strong> — преобразует текст в последовательность целых чисел (токенов).</li>
<li><strong>Декодинг (decode)</strong> — выполняет обратную операцию, преобразует последовательность чисел в текст.</li>
</ul>
<p>Операция энкодинга вызывается перед подачей данных в LLM (чтобы закодировать текст), а декодинг вызывается после отработки LLM, чтобы превратить последовательность чисел (сгенерированных LLM) в текст.</p>
<h2>Процесс преобразования текста в токены</h2>
<p>Процесс преобразования текста в токены называется токенизацией. Это ключевой шаг, который позволяет LLM понимать и обрабатывать текст.</p>
<p><strong>Разбиение текста на элементы</strong></p>
<p><strong>Текст разбивается на маленькие части — токены.</strong> Токены могут быть целыми словами, их частями (например, приставками, суффиксами), либо отдельными символами, в зависимости от используемой токенизирующей модели.</p>
<p><a href="https://datatalks.ru/wp-content/uploads/2025/02/tokenization-black-box.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1430" src="https://datatalks.ru/wp-content/uploads/2025/02/tokenization-black-box.png" alt="" width="850" height="699" srcset="https://datatalks.ru/wp-content/uploads/2025/02/tokenization-black-box.png 850w, https://datatalks.ru/wp-content/uploads/2025/02/tokenization-black-box-300x247.png 300w, https://datatalks.ru/wp-content/uploads/2025/02/tokenization-black-box-768x632.png 768w, https://datatalks.ru/wp-content/uploads/2025/02/tokenization-black-box-450x370.png 450w, https://datatalks.ru/wp-content/uploads/2025/02/tokenization-black-box-780x641.png 780w" sizes="(max-width: 850px) 100vw, 850px" /></a></p>
<p>Есть онлайн инструмент <a href="https://gptforwork.com/tools/tokenizer" target="_blank" rel="noopener">GPT tokenizer</a>, в котором можно поэкспериментировать с текстом и посмотреть на то, как текст разбивается на токены.</p>
<p><strong>Типы токенизации</strong></p>
<p><strong>Словесная токенизация:</strong> каждый токен — отдельное слово (редко используется в LLM из-за проблем с редкими словами).</p>
<p><strong>Подсловная (subword) токенизация:</strong> слова разбиваются на более мелкие части (BPE, WordPiece, SentencePiece). Это позволяет модели эффективно работать с новыми или редкими словами, комбинируя знакомые кусочки.</p>
<p><strong>Преобразование в числовые индексы</strong></p>
<p>Каждому токену сопоставляется уникальный числовой идентификатор из словаря модели. Именно эти числа подаются на вход нейросети.</p>
<p><strong>Пример</strong><br />Фраза: &#171;Data engineering&#187; может разбиться на токены: [&#171;Data&#187;, &#187; engineer&#187;, &#171;ing&#187;] — где первые два токена — целые слова или части слова, а третий — суффикс, который помогает модели лучше понимать морфологию.</p>
<p><strong>Зачем это нужно</strong></p>
<p>Токенизация позволяет модели:</p>
<ul>
<li>Универсально обрабатывать любые тексты</li>
<li>Эффективно использовать память (за счёт фиксированной длины токенов)</li>
<li>Генерировать текст по токенам (по одному за раз)</li>
</ul>
<h2>Описание процесса создания и работы LLM</h2>
<p><strong>Сбор и подготовка данных</strong></p>
<p>Для обучения собираются огромные корпуса текстов из интернета, книг, статей, кода и других источников. Тексты очищаются и нормализуются.</p>
<p><strong>Токенизация</strong></p>
<p>Тексты разбиваются на токены — минимальные смысловые единицы, которые модель будет обрабатывать.</p>
<p><strong>Обучение на задаче языкового моделирования</strong></p>
<p>Модель обучается предсказывать следующий токен по предыдущим (autoregressive learning) или восстанавливать пропущенные слова (masked language modeling). При этом нейросеть учится понимать структуру языка, синтаксис и контекст.</p>
<p><strong>Архитектура Transformer</strong></p>
<p>Основой LLM является Transformer — сеть с механизмом внимания (attention), который позволяет модели учитывать важность разных частей входного текста и эффективно работать с контекстом.</p>
<p><strong>Fine-tuning и оптимизация</strong></p>
<p>После базового обучения модель дообучают на специализированных данных или инструкциях (instruct tuning, RLHF), чтобы повысить полезность и безопасность.</p>
<h3><strong>Принцип обработки информации</strong></h3>
<ol>
<li>Входящий текст преобразуется в токены.</li>
<li>Каждый токен проходит через слои Transformer, где механизм внимания взвешивает влияние всех токенов друг на друга.</li>
<li>Модель генерирует вероятности для следующего токена, выбирая наиболее подходящий.</li>
<li>Так происходит поэтапное формирование ответа или кода.</li>
</ol>
<h3><strong>Принцип поиска и интеграции знаний (например, в RAG)</strong></h3>
<ol>
<li>Если запрос выходит за рамки знаний модели или требует точных данных, запускается модуль поиска.</li>
<li>Текст запроса переводится в embedding — векторное представление.</li>
<li>По векторной базе данных (например, корпоративный документ или база знаний) находится наиболее релевантная информация.</li>
<li>Найденный контент добавляется к контексту запроса для LLM.</li>
<li>Модель генерирует ответ, опираясь как на собственные знания, так и на найденные данные.</li>
</ol>
<h3><strong>За счет чего LLM так круто работает?</strong></h3>
<ul>
<li data-start="88" data-end="290"><strong data-start="88" data-end="137"><span class="_fadeIn_m1hgl_8">Архитектура </span><span class="_fadeIn_m1hgl_8">Transformer </span><span class="_fadeIn_m1hgl_8">с </span><span class="_fadeIn_m1hgl_8">механизмом </span><span class="_fadeIn_m1hgl_8">внимания</span></strong><br data-start="137" data-end="140" /><span class="_fadeIn_m1hgl_8">Transformer </span><span class="_fadeIn_m1hgl_8">позволяет </span><span class="_fadeIn_m1hgl_8">модели </span><span class="_fadeIn_m1hgl_8">учитывать </span><span class="_fadeIn_m1hgl_8">весь </span><span class="_fadeIn_m1hgl_8">контекст </span><span class="_fadeIn_m1hgl_8">сразу, </span><span class="_fadeIn_m1hgl_8">а </span><span class="_fadeIn_m1hgl_8">не </span><span class="_fadeIn_m1hgl_8">только </span><span class="_fadeIn_m1hgl_8">соседние </span><span class="_fadeIn_m1hgl_8">слова, </span><span class="_fadeIn_m1hgl_8">что </span><span class="_fadeIn_m1hgl_8">обеспечивает </span><span class="_fadeIn_m1hgl_8">глубокое </span><span class="_fadeIn_m1hgl_8">понимание </span><span class="_fadeIn_m1hgl_8">текста </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">гибкую </span><span class="_fadeIn_m1hgl_8">генерацию.</span></li>
<li data-start="295" data-end="472"><strong data-start="295" data-end="334"><span class="_fadeIn_m1hgl_8">Обучение </span><span class="_fadeIn_m1hgl_8">на </span><span class="_fadeIn_m1hgl_8">огромных </span><span class="_fadeIn_m1hgl_8">объемах </span><span class="_fadeIn_m1hgl_8">данных</span></strong><br data-start="334" data-end="337" /><span class="_fadeIn_m1hgl_8">LLM </span><span class="_fadeIn_m1hgl_8">тренируются </span><span class="_fadeIn_m1hgl_8">на </span><span class="_fadeIn_m1hgl_8">миллиардах </span><span class="_fadeIn_m1hgl_8">слов </span><span class="_fadeIn_m1hgl_8">из </span><span class="_fadeIn_m1hgl_8">разных </span><span class="_fadeIn_m1hgl_8">источников — </span><span class="_fadeIn_m1hgl_8">книг, </span><span class="_fadeIn_m1hgl_8">сайтов, </span><span class="_fadeIn_m1hgl_8">кода. </span><span class="_fadeIn_m1hgl_8">Это </span><span class="_fadeIn_m1hgl_8">даёт </span><span class="_fadeIn_m1hgl_8">модели </span><span class="_fadeIn_m1hgl_8">обширные </span><span class="_fadeIn_m1hgl_8">знания </span><span class="_fadeIn_m1hgl_8">о </span><span class="_fadeIn_m1hgl_8">языке, </span><span class="_fadeIn_m1hgl_8">фактах </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">логике.</span></li>
<li data-start="477" data-end="636"><strong data-start="477" data-end="508"><span class="_fadeIn_m1hgl_8">Масштаб </span><span class="_fadeIn_m1hgl_8">модели </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">параметров</span></strong><br data-start="508" data-end="511" /><span class="_fadeIn_m1hgl_8">Миллиарды </span><span class="_fadeIn_m1hgl_8">параметров </span><span class="_fadeIn_m1hgl_8">позволяют </span><span class="_fadeIn_m1hgl_8">захватывать </span><span class="_fadeIn_m1hgl_8">сложные </span><span class="_fadeIn_m1hgl_8">закономерности </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">зависимости, </span><span class="_fadeIn_m1hgl_8">делая </span><span class="_fadeIn_m1hgl_8">ответы </span><span class="_fadeIn_m1hgl_8">более </span><span class="_fadeIn_m1hgl_8">точными </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">разнообразными.</span></li>
<li data-start="641" data-end="831"><strong data-start="641" data-end="687"><span class="_fadeIn_m1hgl_8">Обучение </span><span class="_fadeIn_m1hgl_8">с </span><span class="_fadeIn_m1hgl_8">обратной </span><span class="_fadeIn_m1hgl_8">связью </span><span class="_fadeIn_m1hgl_8">человека (</span><span class="_fadeIn_m1hgl_8">RLHF)</span></strong><br data-start="687" data-end="690" /><span class="_fadeIn_m1hgl_8">Финетюнинг </span><span class="_fadeIn_m1hgl_8">с </span><span class="_fadeIn_m1hgl_8">помощью </span><span class="_fadeIn_m1hgl_8">отзывов </span><span class="_fadeIn_m1hgl_8">людей </span><span class="_fadeIn_m1hgl_8">помогает </span><span class="_fadeIn_m1hgl_8">модели </span><span class="_fadeIn_m1hgl_8">лучше </span><span class="_fadeIn_m1hgl_8">понимать </span><span class="_fadeIn_m1hgl_8">задачи, </span><span class="_fadeIn_m1hgl_8">избегать </span><span class="_fadeIn_m1hgl_8">нежелательного </span><span class="_fadeIn_m1hgl_8">поведения </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">выдавать </span><span class="_fadeIn_m1hgl_8">более </span><span class="_fadeIn_m1hgl_8">полезные </span><span class="_fadeIn_m1hgl_8">ответы.</span></li>
<li data-start="836" data-end="992"><strong data-start="836" data-end="870"><span class="_fadeIn_m1hgl_8">Универсальность </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">адаптивность</span></strong><br data-start="870" data-end="873" /><span class="_fadeIn_m1hgl_8">LLM </span><span class="_fadeIn_m1hgl_8">могут </span><span class="_fadeIn_m1hgl_8">решать </span><span class="_fadeIn_m1hgl_8">разные </span><span class="_fadeIn_m1hgl_8">задачи — </span><span class="_fadeIn_m1hgl_8">от </span><span class="_fadeIn_m1hgl_8">генерации </span><span class="_fadeIn_m1hgl_8">кода </span><span class="_fadeIn_m1hgl_8">до </span><span class="_fadeIn_m1hgl_8">творчества — </span><span class="_fadeIn_m1hgl_8">просто </span><span class="_fadeIn_m1hgl_8">меняя </span><span class="_fadeIn_m1hgl_8">prompt, </span><span class="_fadeIn_m1hgl_8">без </span><span class="_fadeIn_m1hgl_8">дополнительного </span><span class="_fadeIn_m1hgl_8">дообучения.</span></li>
<li data-start="997" data-end="1208"><strong data-start="997" data-end="1046"><span class="_fadeIn_m1hgl_8">Использование </span><span class="_fadeIn_m1hgl_8">токенизации </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">контекстного </span><span class="_fadeIn_m1hgl_8">окна</span></strong><br data-start="1046" data-end="1049" /><span class="_fadeIn_m1hgl_8">Разбиение </span><span class="_fadeIn_m1hgl_8">текста </span><span class="_fadeIn_m1hgl_8">на </span><span class="_fadeIn_m1hgl_8">токены </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">возможность </span><span class="_fadeIn_m1hgl_8">учитывать </span><span class="_fadeIn_m1hgl_8">тысячи </span><span class="_fadeIn_m1hgl_8">токенов </span><span class="_fadeIn_m1hgl_8">контекста </span><span class="_fadeIn_m1hgl_8">позволяет </span><span class="_fadeIn_m1hgl_8">моделям </span><span class="_fadeIn_m1hgl_8">работать </span><span class="_fadeIn_m1hgl_8">с </span><span class="_fadeIn_m1hgl_8">большими </span><span class="_fadeIn_m1hgl_8">объемами </span><span class="_fadeIn_m1hgl_8">информации </span><span class="_fadeIn_m1hgl_8">и </span><span class="_fadeIn_m1hgl_8">строить </span><span class="_fadeIn_m1hgl_8">сложные </span><span class="_fadeIn_m1hgl_8">ответы.</span></li>
</ul>
<p>Почти все современные так или иначе основаны на архитектуре Трансформеров. Но постепенно появляются и другие решения:</p>
<ul>
<li><strong>MoE (Mixture of Experts)</strong> – все те же трансформеры, но теперь параметры модели делятся между несколькими «‎экспертами», которые могут фокусироваться на разных аспектах данных (например, языки, домены). При использовании такой модели одновременно работает только часть экспертов. Это позволяет создавать более крупные модели, при этом сохраняя высокую скорость генерации текста.</li>
<li><strong>Mamba</strong> – новый тип нейросетей на основе State Space Models (SSM), который отказывается от механизма Внимания (attention) Трансформеров в пользу линейной, последовательной обработки информации. Имеет линейную сложность O(n) в отличие от O(n²) у Трансформеров. В результате Mamba быстрее и лучше работает с длинными последовательностями.</li>
<li><strong>Diffusion LLM</strong> – языковая модель, которая использует диффузионный подход (как в генерации изображений в Stable Diffusion), но применённый для пошагового «восстанавления» текста из шума. Потенциально, такие модели более креативны, чем Трансформеры.</li>
</ul>
<h1>3. MCP (Model Context Protocol)</h1>
<p><strong>Model Context Protocol (MCP)</strong> &#8212; это открытый протокол (анонсированный Anthropic), который стандартизирует, как приложения предоставляют контекст LLM. Думайте о MCP как о порте USB-C для приложений ИИ. Так же, как USB-C предоставляет стандартизированный способ подключения ваших устройств к различным периферийным устройствам и аксессуарам, MCP предоставляет стандартизированный способ подключения моделей ИИ к различным источникам данных и инструментам.</p>
<ul>
<li><strong>Сайт:</strong> <a href="https://modelcontextprotocol.io/introduction" target="_blank" rel="noopener">https://modelcontextprotocol.io/introduction</a></li>
<li><strong>GitHub:</strong> <a href="https://github.com/modelcontextprotocol" target="_blank" rel="noopener">https://github.com/modelcontextprotocol</a></li>
</ul>
<p>MCP помогает вам создавать агентов и сложные рабочие процессы поверх LLM. LLM часто нуждаются в интеграции с данными и инструментами, и MCP обеспечивает:</p>
<ul>
<li>Растущий список готовых интеграций, к которым ваш LLM может напрямую подключиться</li>
<li>Гибкость переключения между поставщиками и вендорами LLM</li>
<li>Лучшие практики по защите данных в вашей инфраструктуре</li>
</ul>
<p><strong>Чтобы понять MCP, сначала нужно понять LLM и Agent.</strong></p>
<p>LLM (Large Language Model) в основном отвечает на вопросы посредством знаний, полученных во время обучения. Другими словами, вы не можете отвечать на информацию, которая не была изучена, и вы не можете выполнять дополнительные действия, кроме ответов на вопросы, такие как воспроизведение музыки или поиск файлов на компьютере.</p>
<p>Чтобы преодолеть эти ограничения LLM и расширить функциональность приложений LLM, мы можем позволить LLM взаимодействовать с другими приложениями или источниками данных.</p>
<p><a href="https://datatalks.ru/wp-content/uploads/2025/02/LLM_Agent_other_systems.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1480" src="https://datatalks.ru/wp-content/uploads/2025/02/LLM_Agent_other_systems.jpeg" alt="" width="721" height="558" srcset="https://datatalks.ru/wp-content/uploads/2025/02/LLM_Agent_other_systems.jpeg 721w, https://datatalks.ru/wp-content/uploads/2025/02/LLM_Agent_other_systems-300x232.jpeg 300w, https://datatalks.ru/wp-content/uploads/2025/02/LLM_Agent_other_systems-450x348.jpeg 450w" sizes="(max-width: 721px) 100vw, 721px" /></a></p>
<p>Например, если вам нужна информация о вступительном экзамене в колледж в этом месяце, вы можете найти последние данные через поисковую систему Google и предоставить ответ на основе этих данных, или если вы хотите узнать текущую информацию о ценах акций, вы можете получить информацию об акциях через веб-сайт Yahoo Finance. Внешние приложения или источники данных, которые связаны с LLM таким образом, называются инструментами. Однако, когда есть много инструментов, LLM должен подумать, какой инструмент использовать для данной проблемы, и принять решение.</p>
<hr />
<p>MCP устанавливает четкие правила того, как ИИ может находить, подключаться и использовать внешние инструменты – будь то запрос к базе данных или запуск команды. Это позволяет моделям выходить за рамки своих обучающих данных, делая их более гибкими и осведомленными об окружающем мире.</p>
<p>Одной из ярких особенностей MCP является динамическое обнаружение — агенты ИИ автоматически обнаруживают доступные серверы MCP и их возможности без жестко запрограммированных интеграций. Например, если вы запускаете новый сервер MCP (например, CRM), агенты могут немедленно распознать и использовать его через стандартизированный API, предлагая гибкость, с которой традиционные подходы не могут сравниться.</p>
<p><a href="https://datatalks.ru/wp-content/uploads/2025/02/anthropic.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1482" src="https://datatalks.ru/wp-content/uploads/2025/02/anthropic.jpeg" alt="" width="927" height="457" srcset="https://datatalks.ru/wp-content/uploads/2025/02/anthropic.jpeg 927w, https://datatalks.ru/wp-content/uploads/2025/02/anthropic-300x148.jpeg 300w, https://datatalks.ru/wp-content/uploads/2025/02/anthropic-768x379.jpeg 768w, https://datatalks.ru/wp-content/uploads/2025/02/anthropic-450x222.jpeg 450w, https://datatalks.ru/wp-content/uploads/2025/02/anthropic-780x385.jpeg 780w" sizes="(max-width: 927px) 100vw, 927px" /></a></p>
<p>По своей сути MCP следует архитектуре клиент-сервер, где хост-приложение может подключаться к нескольким серверам:</p>
<p><a href="https://datatalks.ru/wp-content/uploads/2025/02/mcp_architecture_llm.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1483" src="https://datatalks.ru/wp-content/uploads/2025/02/mcp_architecture_llm.jpeg" alt="" width="721" height="495" srcset="https://datatalks.ru/wp-content/uploads/2025/02/mcp_architecture_llm.jpeg 721w, https://datatalks.ru/wp-content/uploads/2025/02/mcp_architecture_llm-300x206.jpeg 300w, https://datatalks.ru/wp-content/uploads/2025/02/mcp_architecture_llm-450x309.jpeg 450w" sizes="(max-width: 721px) 100vw, 721px" /></a></p>
<p>Why MCP really is a big deal | Model Context Protocol with Tim Berglund</p>
<p><iframe title="Why MCP really is a big deal | Model Context Protocol with Tim Berglund" width="1170" height="658" src="https://www.youtube.com/embed/FLpS7OfD5-s?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p>MCP + LLM: Стандарт, превращающий нейросети в настоящие инструменты</p>
<p><iframe title="MCP + LLM: Стандарт, превращающий нейросети в настоящие инструменты" width="1170" height="658" src="https://www.youtube.com/embed/qtr2KvjhuYs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<h1>4. Machine learning operations (MLOps)</h1>
<p><strong>Machine learning operations (MLOps)</strong> — это набор практик, которые автоматизируют и упрощают рабочие процессы и развертывания машинного обучения (ML).</p>
<p><strong>MLOps</strong> — это культура и практика ML, которые объединяют разработку приложений ML (Dev) с развертыванием и эксплуатацией систем ML (Ops). Ваша организация может использовать MLOps для автоматизации и стандартизации процессов на протяжении всего жизненного цикла ML. Эти процессы включают разработку модели, тестирование, интеграцию, выпуск и управление инфраструктурой.</p>
<p><strong>Формула:</strong></p>
<p><code>MLOps = DataOps + DevOps + ModelOps</code></p>
<p><a href="https://datatalks.ru/wp-content/uploads/2025/02/mlops.jpeg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1497" src="https://datatalks.ru/wp-content/uploads/2025/02/mlops.jpeg" alt="" width="1010" height="659" srcset="https://datatalks.ru/wp-content/uploads/2025/02/mlops.jpeg 1010w, https://datatalks.ru/wp-content/uploads/2025/02/mlops-300x196.jpeg 300w, https://datatalks.ru/wp-content/uploads/2025/02/mlops-768x501.jpeg 768w, https://datatalks.ru/wp-content/uploads/2025/02/mlops-450x294.jpeg 450w, https://datatalks.ru/wp-content/uploads/2025/02/mlops-780x509.jpeg 780w" sizes="(max-width: 1010px) 100vw, 1010px" /></a></p>
<p><strong>Сайт где почитать про MLOps:</strong> <a href="https://ml-ops.org/content/mlops-principles" target="_blank" rel="noopener">https://ml-ops.org/content/mlops-principles</a></p>
<h1>Методы инструктивного обучения</h1>
<p>Эти методы используются после базового предобучения модели, чтобы сделать её полезной, безопасной и соответствующей человеческим ожиданиям. Большинство из них относятся к обучению с подкреплением с обратной связью от человека (RLHF) или его вариациям.</p>
<table>
<thead>
<tr>
<th>Метод</th>
<th>Основан на</th>
<th>Нужен RM?</th>
<th>RL?</th>
<th>Преимущества</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>SFT</strong></td>
<td>Размеченные ответы</td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td>Просто, быстро</td>
</tr>
<tr>
<td><strong>RLHF</strong></td>
<td>Предпочтения человека</td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td>Контролируемое поведение</td>
</tr>
<tr>
<td><strong>PPO</strong></td>
<td>RM-награда</td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td>Точная настройка</td>
</tr>
<tr>
<td><strong>DPO</strong></td>
<td>Предпочтения</td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td>Простота, эффективность</td>
</tr>
<tr>
<td><strong>DRPO</strong></td>
<td>RM-награда</td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td>Нет RL, но с наградами</td>
</tr>
<tr>
<td><strong>SMPO</strong></td>
<td>Предпочтения + пороги</td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td>Лучше с неопределёнными RM</td>
</tr>
<tr>
<td><strong>GRPO</strong></td>
<td>Награда (через Gumbel)</td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td>Теоретическая строгость</td>
</tr>
</tbody>
</table>
<h2>RLHF (Reinforcement Learning from Human Feedback)</h2>
<p>обучение модели через человеческую обратную связь.</p>
<p><strong>Этапы:</strong></p>
<ul>
<li>Сначала — SFT (см. ниже).</li>
<li>Собираются предпочтения человека между парами ответов.</li>
<li>Обучается Reward Model (RM) — предсказывать, какой ответ лучше.</li>
<li>Затем — обучение через RL (например, PPO) с этим RM как «награда».</li>
</ul>
<p><strong>Плюсы:</strong> качество, безопасность, контроль.<br /><strong>Минусы:</strong> сложность и дороговизна.</p>
<h2>SFT (Supervised Fine-Tuning)</h2>
<p>дообучение модели на парах (инструкция → хороший ответ), написанных или проверенных человеком.</p>
<p>Пример: «Как сварить рис?» → «Промойте рис&#8230;»</p>
<p>Используется как первый этап RLHF.<br />Быстрое, дешёвое, но ограниченное — модель просто повторяет шаблоны.</p>
<h2>DPO (Direct Preference Optimization)</h2>
<p>альтернатива RLHF без RL.<br />Обучает модель напрямую предпочитать более качественные ответы, используя предпочтения.<br />Метод: максимизация разницы логитов между «хорошим» и «плохим» ответом.</p>
<p>Формула вдохновлена вероятностной интерпретацией политики в RL.</p>
<p><strong>Плюсы:</strong> проще, стабильнее, дешевле, чем RL (PPO).<br /><strong>Минусы:</strong> не всегда даёт ту же гибкость, что PPO.</p>
<h2>DRPO (Direct Reward Policy Optimization)</h2>
<p>избегает RL, но оптимизирует политику (ответы модели) не по предпочтениям, а по предсказанной награде от RM.</p>
<p>То есть:</p>
<ul>
<li>DPO → использует сравнительные предпочтения.</li>
<li>DRPO → использует скалярные значения награды от RM.</li>
</ul>
<p>Промежуточный подход между PPO и DPO.</p>
<h2>PPO (Proximal Policy Optimization)</h2>
<p>стандартный алгоритм RL (из OpenAI), адаптированный для LLM.</p>
<p>Используется в RLHF. Обновляет политику (модель) так, чтобы не слишком сильно отклоняться от исходной версии, но улучшать ответы по RM-награде.</p>
<p><strong>Плюсы:</strong> мощный, гибкий.<br /><strong>Минусы:</strong> сложно настраивать, дорогой в обучении.</p>
<h2>SMPO (Softmax Margin Policy Optimization)</h2>
<p>гибрид DPO и PPO.</p>
<p>Добавляет margin (порог различия между хорошим и плохим ответом) в обучение, управляя балансом между качеством и стабильностью.</p>
<p><strong>Особенность:</strong> лучше справляется с «неуверенными» предпочтениями (когда разница между ответами мала).<br />Улучшение над DPO в некоторых сценариях.</p>
<h2>GRPO (Gumbel Reward Policy Optimization)</h2>
<p>более теоретически обоснованный метод для RL с дифференцируемыми наградами.<br />Использует Gumbel-Softmax для приближённой выборки, позволяя работать с наградами в стиле RL, но обучаясь напрямую как в DPO.</p>
<p>Идея: соединить преимущества DPO (простота) и PPO (награды).</p>
<h1>Обзор ключевых LLM-инструментов для Data Engineer</h1>
<p>ChatGPT (OpenAI) – генерация SQL, автоматизация ETL, кодогенерация</p>
<p>DeepSeek Copilot – обработка данных, поддержка DataOps</p>
<p>Google Gemini, Claude и другие – ML workflows, работа с API</p>
<p>Сравнение LLMs по критериям</p>
<p>Качество генерации SQL<br />Возможность интеграции с data-стеком<br />Поддержка сложных pipeline</p>
<h1>Основные кейсы применения LLM в Data Engineering</h1>
<p>Автоматическая генерация SQL-запросов и их оптимизация<br />Prompt Engineering: использование chain-of-thought (CoT) для сложных запросов<br />Zero-shot vs. Few-shot prompting<br />Примеры промтов для SQL<br />Автоматизация ETL/ELT процессов<br />LLM + Airflow: автоматическая генерация DAG<br />Применение structured output prompting для формирования JSON<br />Data Quality &amp; Anomaly Detection<br />Использование retrieval-augmented generation (RAG)<br />Аномалии в данных: prompting для поиска закономерностей<br />Документирование данных и генерация Data Contracts<br />Применение LLM для автоматической генерации документации<br />Prompt-техники для интерпретации схем БД<br />Обогащение и профилирование данных через AI<br />Prompt-трюки для извлечения скрытых паттернов</p>
<h1>Мультиагентные системы в Data Engineering</h1>
<p>Что такое мультиагентные системы и как они работают<br />Архитектура мультиагентных решений: взаимодействие агентов<br />Применение мультиагентных систем в Data Engineering<br />Агенты для data ingestion (авто-обнаружение источников)<br />Агенты для data transformation (AI-контролируемые пайплайны)<br />Агенты для data governance &amp; compliance (автоматическое DLP)<br />Агенты для мониторинга и алертов (AI-анализ метрик)<br />Использование Prompt Engineering в мультиагентных системах<br />Роль System Prompt в управлении агентами<br />Интерактивное уточнение запросов через self-reflection prompting</p>
<h1>Практический туториал: создание AI-ассистента для Data Engineering</h1>
<p>Часть 1: Создаем SQL-генератор с OpenAI + LangChain<br />Используем Few-shot prompting для обучения модели<br />Настраиваем embedding-слой для context-aware SQL<br />Часть 2: AI-агент для ETL-автоматизации (LLM + Airflow)<br />Применяем RAG для обработки схем данных<br />Автоматическая генерация ETL-скриптов<br />Часть 3: Интеграция мультиагентной системы с Apache Airflow<br />Запускаем несколько агентов для data pipeline<br />Применяем self-improving prompting</p>
<h1>Заключение</h1>
<p>Преимущества и ограничения LLM в Data Engineering<br />Будущее AI-инструментов в обработке данных<br />Практические рекомендации:<br />Как настроить промты для production-ready решений<br />Оптимизация работы LLM в data pipeline<br />Этичные аспекты применения LLM в Data Engineering</p>
<blockquote>
<p>Статья будет полезна не только Data Engineers, но и ML-инженерам, DevOps и архитекторам, работающим с AI и данными.</p>
</blockquote><p>Сообщение <a href="https://datatalks.ru/chatgpt-deepseek-copilot-llm-data-engineer/">ChatGPT DeepSeek Copilot и другие LLM для Data Engineer</a> появились сначала на <a href="https://datatalks.ru">DataTalks.RU. Data Engineering / DWH / Data Pipeline</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://datatalks.ru/chatgpt-deepseek-copilot-llm-data-engineer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
