Создать быстрый и надежный инструмент для автоматического проведения комплексных исследований, который экономит часы ручной работы и предоставляет готовый структурированный отчет за 5-10 минут.
Данная автоматизация представляет собой комплексную систему проведения глубокого исследования по любой заданной теме. Система автоматически разбивает тему на 5 подтем, проводит исследование каждой из них с использованием 25 источников, создает структурированный HTML-отчет и отправляет готовый PDF-документ пользователю на email.
Необходимые API ключи и настройки
Структура Google Sheets таблицы:
Обязательные столбцы:
Детальная архитектура
Назначение: Точка входа для пользователя Настройки:
{
"formTitle": "Глубокий анализ",
"formDescription": "Введите тему для анализа",
"formFields": [
{
"fieldLabel": "Search Topic",
"placeholder": "тема",
"requiredField": true
},
{
"fieldLabel": "Email",
"placeholder": "name@example.com",
"requiredField": true
}
]
}
1.2 AI Планирование - Plan Topics
Назначение: Разбивает основную тему на 5 подтем для исследования
Подключенные компоненты:
Системный промпт Plan Topics:
# Обзор
Вы — помощник-исследователь ИИ, созданный для создания пяти высокорелевантных и глубоких тем поиска на основе заданной темы поиска. Ваша цель — разбить предоставленную тему поиска на пять ключевых подтем, которые позволят провести глубокое исследование и всестороннее понимание.
## Инструкции:
1) Разбейте тему: Определите пять отдельных, но взаимосвязанных подтем, которые при исследовании дадут всестороннее понимание основной темы поиска.
2) Обеспечьте глубину и релевантность: Каждая тема поиска должна быть достаточно конкретной, чтобы обеспечить глубокое исследование, но достаточно широкой, чтобы обеспечить значимые идеи.
3) Избегайте избыточности: Пять тем поиска должны быть уникальными и охватывать различные аспекты основной темы.
## Формат вывода (JSON):
{
"topic_1": "<Первая тема углубленного поиска>",
"topic_2": "<Вторая тема углубленного поиска>",
"topic_3": "<Третья тема углубленного поиска>",
"topic_4": "<Четвертая тема углубленного поиска>",
"topic_5": "<Пятая тема углубленного поиска>"
}
## Пример:
Ввод: "Автоматизация бизнеса на базе ИИ"
Вывод:
{
"topic_1": "Роль ИИ в автоматизации бизнес-процессов",
"topic_2": "Инструменты и технологии ИИ-автоматизации",
"topic_3": "Проблемы и этические аспекты автоматизации ИИ",
"topic_4": "Успешные кейсы внедрения ИИ в бизнесе",
"topic_5": "Будущее автоматизации ИИ: тенденции и инновации"
}
Structured Output Parser Schema "5 Topics":
{
"topic_1": "Understanding AI Agents",
"topic_2": "Building AI Agents with n8n",
"topic_3": "Optimizing Prompt Engineering",
"topic_4": "Storing and Retrieving AI Knowledge",
"topic_5": "Scaling AI Automation for Businesses"
}
ЧТО ТАКОЕ Structured Output Parser Schema: Это инструмент, который заставляет AI возвращать данные ТОЧНО в заданном JSON формате. Без него AI может вернуть текст как угодно - абзацами, списками, в любом виде. Схема говорит AI: "Верни мне именно 5 тем в формате topic_1, topic_2 и т.д."
ЗАЧЕМ ЭТО НУЖНО ЗДЕСЬ:
КАК ЭТО РАБОТАЕТ:
Назначение: Создает заголовок, введение и названия глав для отчета
Подключенные компоненты:
Системный промпт Intro:
# Обзор
Вы — ИИ-генератор названий отчетов и вступлений. Ваша задача — создать убедительное название, краткое введение и пять четких заголовков глав для исследовательского отчета на основе заданной основной темы поиска и пяти подтем.
## Инструкции:
1) Название: Создайте четкое и интересное название, отражающее общую тему отчета.
2) Введение: Напишите короткое введение (2 абзаца), которое предоставит контекст, объяснит значимость темы и обрисует, что будет охватывать отчет. Этот раздел должен начинаться с заголовка под названием «Введение».
3) Оглавление: В конце введения перечислите пять разделов отчета, каждый из которых представлен в виде четко отформатированного названия главы в заголовках <h2>.
4) Названия глав: Убедитесь, что название каждой главы отформатировано как заголовок <h2>, чтобы сделать его визуально отличным.
## Оформление:
- Название: элемент <h1>, по центру, оформленный профессиональным темно-синим цветом.
- Введение: заключено в <div> со светло-серым фоном (#f4f4f4) для контраста.
- Абзацы: читаемый размер шрифта (16 пикселей), соответствующая высота строки (1,6) и нейтральный цвет текста (#333).
- Горизонтальная линия (<hr>) должна использоваться для разделения двух вводных абзацев.
- Названия глав: четко отформатированы как элементы <h2> для удобства чтения.
## Формат вывода (JSON):
{
"title": "<Сгенерированное название отчета>",
"introduction": "<Сгенерированное введение>",
"chapter_1": "<h2>Глава 1: [Название]</h2>",
"chapter_2": "<h2>Глава 2: [Название]</h2>",
"chapter_3": "<h2>Глава 3: [Название]</h2>",
"chapter_4": "<h2>Глава 4: [Название]</h2>",
"chapter_5": "<h2>Глава 5: [Название]</h2>"
}
## Пример:
{
"title": "<h1 style='text-align: center; color: #00366D;'>Искусственный интеллект в современном бизнесе: комплексный анализ автоматизации</h1>",
"introduction": "<div style='background-color: #f4f4f4; padding: 20px; font-size: 16px; line-height: 1.6; color: #333;'><h2>Введение</h2><p>Автоматизация на основе искусственного интеллекта стала ключевым фактором трансформации современного бизнеса...</p><hr><p>Данный отчет исследует пять критических аспектов внедрения ИИ...</p></div>",
"chapter_1": "<h2 style='text-align: center; color: #00366D;'>Глава 1: Роль ИИ в автоматизации</h2>"
}
Structured Output Parser Schema "Title, Intro, Chapters":
{
"title": "<Generated Report Title>",
"introduction": "<Generated Introduction>",
"chapter_1": "<h2>Chapter 1: [Title]</h2>",
"chapter_2": "<h2>Chapter 2: [Title]</h2>",
"chapter_3": "<h2>Chapter 3: [Title]</h2>",
"chapter_4": "<h2>Chapter 4: [Title]</h2>",
"chapter_5": "<h2>Chapter 5: [Title]</h2>"
}
ЧТО ТАКОЕ Structured Output Parser Schema: Здесь схема обеспечивает получение всех компонентов структуры отчета в строго определенном формате. Без неё AI мог бы вернуть всё в одном тексте или в произвольном порядке.
ЗАЧЕМ ЭТО НУЖНО ЗДЕСЬ:
КАК ЭТО РАБОТАЕТ:
Назначение: Сохраняет структуру отчета в Google Sheets
Настройки Google Sheets:
Последовательность: Set Topics → Split Out → Split Out1 → Merge1 → Merge → Switch
Set Topics:
{
"assignments": [
{
"name": "topics",
"value": "['topic_1','topic_2','topic_3','topic_4','topic_5']",
"type": "array"
}
]
}
Назначение: Создает массив названий тем для последующего разделения.
Split Out:
Split Out1:
Merge1:
Merge:
Switch:
Назначение: Ищет информацию по первой теме через Tavily API
HTTP Request настройки:
Апи ключ возьмите отсюда
JSON Body:
{
"query": "{{ $json.output }}",
"topic": "general",
"search_depth": "advanced",
"chunks_per_source": 3,
"max_results": 5
}
Объяснение параметров:
Назначение: Разделяет результаты Tavily на отдельные источники
Настройки:
Назначение: Присваивает номера 1-5 источникам первой темы
JavaScript код:
// Create separate items for each URL with a number
return items.map((item, index) => {
return {
json: {
number: index + 1,
url: item.json.url,
numberedUrl: `${index + 1}. ${item.json.url}`
}
};
});
Объяснение:
Назначение: AI создает HTML-отчет на основе найденной информации
Подключенные компоненты:
Системный промпт Writer:
# Обзор
Вы — продвинутый помощник-исследователь с искусственным интеллектом, специализирующийся на написании профессиональных HTML-отчетов на основе предоставленного заголовка, исследования, источника и заданного руководства по стилю. Ваша задача — создать полностью отформатированный HTML-отчет, который будет визуально привлекательным и структурированным в соответствии с профессиональными стандартами письма.
## Руководство по созданию отчетов
1. Соблюдение руководства по стилю
- Отчет должен строго соответствовать предоставленному руководству по стилю HTML, обеспечивая единообразие стиля, цветов, шрифтов, отступов и макета.
2. Структура и форматирование
- Отчет должен быть хорошо структурирован и отформатирован в профессиональном HTML.
- Заголовок (<h1>) — предоставляется как «Заголовок»
- Основной текст — полностью отформатированный исследовательский контент с правильным разделением (<h2>, <h3>, <p>).
- Каждый раздел должен быть заключен в div, стилизованный в соответствии с предоставленным руководством, чтобы обеспечить единообразие.
- Используйте <p> для абзацев, <ul>/<ol> для списков и <hr> для разделения разделов, когда это необходимо.
- Заголовки «Обзор» или «Заключение» не нужны, просто выведите полный отчет.
- Горизонтальная линия (<hr>) должна использоваться для разделения разделов для лучшей визуальной ясности.
3. Контент, основанный на исследованиях
- Логически обобщайте информацию и гарантируйте, что отчет хорошо изучен, основан на фактах и написан профессионально.
- Используйте информативное написание. Предоставьте как можно больше подробностей.
- Поддерживайте логическую последовательность идей, эффективно суммируя ключевые моменты.
4. Атрибуция источника и кликабельные ссылки
- Используйте номер, указанный перед источником, в качестве кликабельного атрибута в отчете.
- Ссылки на источники должны быть встроены в текст с помощью: <a href="SOURCE_URL" target="_blank">[1]</a>
- Не включайте раздел «Ссылки» — вместо этого все источники должны быть встроены в контент.
## Пример структуры вывода:
<!DOCTYPE html>
<html>
<head>
<title>Research Report: [Title]</title>
<style>
body { font-family: Arial, sans-serif; line-height: 1.6; margin: 20px; }
h1, h2, h3 { color: #333; }
.report-section { background-color: #f4f4f4; padding: 20px; font-size: 16px; line-height: 1.6; color: #333; margin-bottom: 10px; }
</style>
</head>
<body>
<div class="report-section">
<h1>Research Report: [Title]</h1>
</div>
<div class="report-section">
<h2>Introduction</h2>
<p>Контент исследования с встроенными ссылками <a href="https://example.com" target="_blank">[1]</a>.</p>
<hr>
<p>Дополнительный анализ с ссылкой <a href="https://example2.com" target="_blank">[2]</a>.</p>
</div>
</body>
</html>
Входные данные для Writer:
Title: {{ $('Split Out2').item.json.title }}
Research: {{ $('Split Out2').item.json.content }}
Source: {{ $json.numberedUrl }}
Style Guide Example: {{ $('Switch').item.json['1 Глава'] }}
2.5 Агрегация данных - Aggregate & Aggregate1
Aggregate (для контента):
Aggregate1 (для источников):
Зачем нужна агрегация:
Назначение: Синхронизирует агрегированный контент и источники
Настройки:
Назначение: Извлекает названия разделов из сгенерированного HTML
Настройки:
Зачем это нужно: Для автоматического создания оглавления нужно знать, какие разделы создал AI в отчете.
Назначение: Собирает все названия разделов в один массив
JavaScript код:
return [{
sections: $input.all().map(item => item.json.section)
}];
2.9 Сохранение результатов - Google Sheets1
Назначение: Сохраняет все данные первой темы в таблицу
Настройки:
Идентичная структура с темой 1, отличия только в:
Тема 2: Tavily1 → Split Out3 → Code1 → Writer1 → Aggregate2 → Aggregate3 → Merge4 → HTML1 → Combine1 → Google Sheets2
Тема 3: Tavily2 → Split Out4 → Code2 → Writer2 → Aggregate4 → Aggregate5 → Merge5 → HTML2 → Combine2 → Google Sheets3
Тема 4: Tavily3 → Split Out5 → Code3 → Writer3 → Aggregate6 → Aggregate7 → Merge6 → HTML3 → Combine3 → Google Sheets4
Тема 5: Tavily4 → Split Out6 → Code4 → Writer4 → Aggregate8 → Aggregate9 → Merge7 → HTML4 → Combine4 → Google Sheets5
3.1 Объединение всех результатов - Merge2
Назначение: Собирает результаты всех 5 тем в одном месте
Настройки:
Назначение: Оптимизирует обработку данных
Настройки:
Назначение: Извлекает все источники из Google Sheets
Настройки Google Sheets:
3.4 Генерация списка источников - Sources
Назначение: AI создает HTML-список всех 25 источников
Подключенные компоненты:
Системный промпт Sources:
# Обзор
Вы — помощник ИИ, специализирующийся на создании хорошо отформатированных разделов исходного кода HTML для исследовательских отчетов. Вам будет предоставлен список источников, каждому из которых присвоен номер. Ваша задача — создать раздел «Источники» в формате HTML.
## Правила форматирования:
- Заголовок раздела должен быть <h2>Источники</h2>.
- Используйте неупорядоченный список (<ul>) для отображения источников.
- Каждый источник должен быть в формате:
<li><a href="SOURCE_URL" target="_blank">[NUMBER] Название источника</a></li>
- Необходимо сохранить исходную нумерацию источников.
## Пример структуры вывода:
<div class="sources-section">
<h2>Источники</h2>
<ul>
<li><a href="https://example1.com" target="_blank">[1] Research on AI Development</a></li>
<li><a href="https://example2.com" target="_blank">[2] The Impact of Automation</a></li>
<li><a href="https://example3.com" target="_blank">[3] Machine Learning Trends</a></li>
</ul>
</div>
Входные данные:
Sources:
{{ $json['1 Тема: Источники'] }}
{{ $json['2 Тема: Источники'] }}
{{ $json['3 Тема: Источники'] }}
{{ $json['4 Тема: Источники'] }}
{{ $json['5 Тема: Источники'] }}
3.5 Сохранение источников - Send Sources
Назначение: Сохраняет готовый список источников в таблицу
Настройки Google Sheets:
Назначение: Извлекает полную структуру отчета для создания оглавления
Настройки: Идентичны Get Sources, получает все столбцы таблицы.
Назначение: AI генерирует структурированное оглавление
Подключенные компоненты:
Системный промпт Table of Contents:
# Обзор
Вы — помощник ИИ, которому поручено создать структурированное оглавление (ToC) в профессиональном HTML-форматировании для исследовательского отчета. Ваш вывод должен соответствовать предоставленному руководству по стилю и быть чистым, читаемым и хорошо структурированным.
## Рекомендации
1) Форматируйте главы как элементы <h2>
- Каждая глава должна быть отдельным заголовком <h2>.
2) Форматируйте разделы как упорядоченный список (<ol>)
- Каждый раздел в главе должен быть элементом списка (<li>) внутри <ol>.
- Поддерживайте четкую иерархию и отступы для удобства чтения.
3) Применяйте данное руководство по стилю
- Оберните оглавление в <div> с тем же отступом, размером шрифта и цветом, что и руководство по стилю.
- Добавьте горизонтальную линию (<hr>) для разделения.
## Пример вывода:
<div style="background-color: #f4f4f4; padding: 20px; font-size: 16px; line-height: 1.6; color: #333;">
<h2>Оглавление</h2>
<hr>
<ol>
<li>
<h2>Глава 1: Введение</h2>
<ol>
<li>Контекст и важность</li>
<li>Цели исследования</li>
</ol>
</li>
<li>
<h2>Глава 2: Основные концепции</h2>
<ol>
<li>Теоретические основы</li>
<li>Практические применения</li>
</ol>
</li>
</ol>
</div>
Входные данные Table of Contents:
Chapter 1: {{ $('Plan Topics').first().json.output.topic_1 }}
Sections: {{ $json['1 Тема: Разделы'] }}
Chapter 2: {{ $('Plan Topics').first().json.output.topic_2 }}
Sections: {{ $json['2 Тема: Разделы'] }}
Chapter 3: {{ $('Plan Topics').first().json.output.topic_3 }}
Sections: {{ $json['3 Тема: Разделы'] }}
Chapter 4: {{ $('Plan Topics').first().json.output.topic_4 }}
Sections: {{ $json['4 Тема: Разделы'] }}
Chapter 5: {{ $('Plan Topics').first().json.output.topic_5 }}
Sections: {{ $json['5 Тема: Разделы'] }}
Style Guide: {{ $json['Вступление'] }}
3.8 Сохранение оглавления - Send ToC
Назначение: Сохраняет готовое оглавление в таблицу
Настройки Google Sheets:
Назначение: Извлекает полную финальную версию всех данных отчета
Настройки: Идентичны предыдущим Google Sheets read операциям, получает все заполненные столбцы.
Назначение: JavaScript объединяет все части отчета в единый HTML-документ
JavaScript код:
// N8N Code Node to combine multiple fields into a single field with new lines
// Access the incoming data
const item = items[0];
// Create a new field called "CombinedContent" that joins all fields with newlines
const combinedContent = [
item.json.Заголовок || '',
item.json.Вступление || '',
item.json.ToC || '',
item.json['1 Глава'] || '',
item.json['1 Тема: контент'] || '',
item.json['2 Глава'] || '',
item.json['2 Тема: контент'] || '',
item.json['3 Глава'] || '',
item.json['3 Тема: контент'] || '',
item.json['4 Глава'] || '',
item.json['4 Тема: контент'] || '',
item.json['5 Глава'] || '',
item.json['5 Тема: контент'] || '',
item.json.Источники || ''
].join('\n\n');
// Add the combined content to the item
item.json.CombinedContent = combinedContent;
// Return the modified item
return [item];
Что происходит:
Назначение: Преобразует HTML в профессиональный PDF документ
HTTP Request настройки:
Апи ключ возьмите здесь https://app.apitemplate.io/manage-api/
Query Parameters:
JSON Body:
{
"body": "{{$json["CombinedContent"].replace(/"/g, '\\"').replace(/\n/g, '\\n')}}",
"css": "<style>.bg{background: red};</style>",
"data": {
"name": "This is a title"
},
"settings": {
"paper_size": "A4",
"orientation": "1",
"header_font_size": "9px",
"margin_top": "40",
"margin_right": "10",
"margin_bottom": "40",
"margin_left": "10",
"print_background": "1",
"displayHeaderFooter": true,
"custom_header": "<style>#header, #footer { padding: 0 !important; }</style>\n<table style=\"width: 100%; padding: 0px 5px;margin: 0px!important;font-size: 8px\">\n <tr>\n <td style=\"text-align:left; width:30%!important;\"><span class=\"date\"></span></td>\n <td style=\"text-align:center; width:30%!important;\"><span class=\"pageNumber\"></span></td>\n <td style=\"text-align:right; width:30%!important;\"><span class=\"totalPages\"></span></td>\n </tr>\n</table>",
"custom_footer": "<style>#header, #footer { padding: 0 !important; }</style>\n<table style=\"width: 100%; padding: 0px 5px;margin: 0px!important;font-size: 8px\">\n <tr>\n <td style=\"text-align:left; width:30%!important;\"><span class=\"date\"></span></td>\n <td style=\"text-align:center; width:30%!important;\"><span class=\"pageNumber\"></span></td>\n <td style=\"text-align:right; width:30%!important;\"><span class=\"totalPages\"></span></td>\n </tr>\n</table>"
}
}
Объяснение настроек PDF:
Результат: APITemplate.io возвращает объект с download_url для скачивания готового PDF.
Назначение: Скачивает готовый PDF файл по полученной ссылке
HTTP Request настройки:
Что происходит:
Назначение: Отправляет PDF отчет пользователю на email
Gmail настройки:
Your Deep Research Report on {{ $('On form submission').first().json['Search Topic'] }} is complete.
You can find it attached below.
Attachments:
Результат: Пользователь получает email с прикрепленным PDF отчетом на 15-25 страниц с полным исследованием по его теме.
8 OpenAI Chat Model нод используют модель gpt-4o-mini:
Обязательные столбцы:
Готово. Данная автоматизация превращает любую тему в профессиональный исследовательский отчет полностью автоматически за 5-10 минут.
JSON-файл и инструкцию в видеоформате вы всегда можете получить, вступив в наш уникальный Клуб автоматизаций.