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

推荐订阅源

The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
WordPress大学
WordPress大学
H
Help Net Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
MyScale Blog
MyScale Blog
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
博客园 - 【当耐特】
P
Proofpoint News Feed
D
DataBreaches.Net

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

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Deep Research для бедных поверх Codex
mike_melanin · 2026-06-18 · via Все публикации подряд на Хабре

Простой

4 мин

49

Codex Deep Research Skill

Codex Deep Research Skill

Обычный ответ LLM по сложной теме – часто мусор.

Не потому что модель тупая. Просто за один prompt не получаешь полноты ответа. Это быстрый ответ из головы модели: красиво, складно, иногда даже убедительно. Но если нужно реально разобраться в рынке, технологии, конкурентах, вакансиях, конференциях или любом другом you name it кейсе, почти всегда нужен не ответ, а небольшое исследование.

То есть:

  • разложить тему на направления;

  • сходить в источники;

  • сравнить позиции;

  • вытащить цифры, риски и кейсы;

  • собрать нормальный markdown-отчёт со ссылками.

Поэтому я всё чаще запускаю Deep Research буквально по поводу и без. Для меня это стал дефолтный режим работы со сложными вопросами.

Проблема вот в чём: встроенный Deep Research в ChatGPT и Claude удобный, но не всегда управляемый.

Во-первых, лимиты. Покупать подписку за $100 только ради более частого Deep Research мне пока банально жалко. Плюсом у ChatGPT нет отображения счётчика оставшихся запусков. Про “щедрые” лимиты Claude на 20-баксовой подписке я помолчу.

Во-вторых, непонятно, что происходит под капотом. Иногда ощущение, что он посмотрел 20 источников по теме. Иногда – что перелопатил половину интернета, сжёг миллиард токенов и потратил час на ресёрч. Напрямую управлять шириной и глубиной прогона никак нельзя.

В итоге я решил собрать свой локальный Deep Research через API – на тех сервисах, где у меня уже были доступные кредиты.

Так появился Deep Research Codex – локальный wrapper поверх GPT Researcher, который запускается из Codex как skill.

Сразу дисклеймер: это не аналог Deep Research внутри ChatGPT или Claude. Там, скорее всего, гораздо более сложная система планирования, поиска, ранжирования и проверки источников. Я взял open-source базу – GPT Researcher – поменял внутри то, что мешало моему сценарию, и собрал вокруг него удобный runner.

Что получилось

Workflow такой:

сырой запрос -> prefilter -> подтверждение -> deep research -> markdown report

Я пишу в Codex что-то вроде:

Сделай research по AI-агентам в клиентской поддержке: ROI, риски, реальные кейсы, что можно показать B2B-клиенту.

Дальше skill сначала запускает prefilter. Он не лезет сразу в web research, а превращает мой сырой запрос в нормальный brief:

  • тема;

  • цель;

  • контекст;

  • ключевые вопросы;

  • scope;

  • web query;

  • формат результата.

Я вижу, как система поняла задачу, и только потом подтверждаю запуск.

Это главное отличие от магической кнопки: я могу остановиться до дорогого или кривого прогона.

Как работает мой Deep Research

Внутри используется GPT Researcher.

В дефолтном профиле сейчас:

breadth = 4
depth = 2
concurrency = 4
Deep Research каскад

Deep Research каскад

Если по-человечески:

  • breadth – насколько широко раскладывать тему;

  • depth – насколько глубоко уходить по веткам;

  • concurrency – сколько задач выполнять параллельно.

Например, тема “AI-агенты в поддержке” может распасться на такие ветки:

1. Экономика поддержки
2. Качество ответов
3. Интеграции
4. Риски

Потом внутри каждой ветки появляются уточняющие вопросы, источники и follow-up темы. Сначала система идёт широко, потом глубже.

Для меня смысл именно в этом: не просить LLM “ну подумай получше”, а запускать воспроизводимый research-процесс с понятными параметрами.

Почему Tavily и Bedrock

Никакой религии тут нет. Я собрал первую рабочую версию на тех API, где у меня уже были credits и где было проще быстро поднять пайплайн.

Для web search используется Tavily. Это search API, который удобно использовать в agentic и RAG-сценариях.

У Tavily есть бесплатный старт: можно зарегистрироваться без карты и получить бесплатные API credits на месяц. Для личных экспериментов и небольших research-прогонов этого обычно хватает.

Для LLM-вызовов я использую AWS Bedrock и Claude через Bedrock. Не потому, что Bedrock обязателен, а потому что у меня там были бесплатные лимиты/credits. Поэтому первый wrapper получился Bedrock-first.

В принципе, это можно переделать под другие API. GPT Researcher уже поддерживает разных LLM-провайдеров, а search API тоже можно заменить. Просто Tavily + Bedrock – это была самая быстрая связка, которая у меня была под рукой.

Что нужно для запуска

Сейчас мой wrapper рассчитан на:

  • Tavily для web search;

  • AWS Bedrock;

  • Claude через Bedrock;

  • Bedrock embeddings;

  • запуск из shell или Codex.

Клонируем репозиторий:

git clone https://github.com/mikemelanin/deep-research-codex.git
cd deep-research-codex

Создаём окружение и ставим зависимости:

python3 -m venv .venv
./.venv/bin/pip install -r gpt-researcher/requirements.txt boto3

Создаём локальный конфиг:

cp .env.example .env

В .env нужно добавить Tavily API key и настройки AWS Bedrock.

Установка Codex skill

Команду нужно выполнять из корня репозитория deep-research-codex, где есть папка skills/research.

mkdir -p ~/.codex/skills
cp -R skills/research ~/.codex/skills/research

Что здесь происходит:

  • skills/research – папка skill внутри текущего репозитория;

  • ~/.codex/skills/research – место, куда Codex ожидает пользовательские skills;

  • cp -R копирует всю папку research вместе с файлами внутри.

Если запускать команду не из корня репозитория, она не найдёт skills/research.

Если проект лежит не в ~/deep-research-codex, можно указать путь явно:

export DEEP_RESEARCH_CODEX_HOME="/path/to/deep-research-codex"

После этого в Codex можно писать обычным языком:

Сделай research по теме ...
Собери markdown-отчёт с источниками ...
Сделай deep research на русском ...

Запуск без Codex

Обычный запуск:

./research.sh "Тема исследования"

Русский отчёт:

./research.sh --ru "Тема исследования"

Только prefilter, без web research:

./research.sh --prefilter-only "Тема исследования"

Запуск из файла:

./research.sh --file "./context.md"

Продолжить из сохранённого prefilter:

./research.sh --from-prefilter "./logs/YYYYMMDD-HHMMSS-prefilter.json"

Что в этом полезного

Для меня главное – не “сделать ещё один Deep Research”, а сделать его более ручным и предсказуемым.

Я могу:

  • увидеть, как система поняла задачу;

  • остановиться до запуска web research;

  • управлять шириной и глубиной;

  • гонять research чаще, потому что использую доступные API;

  • получать итог сразу в markdown;

  • запускать всё из Codex рядом с другими агентными задачами.

Это не идеальный open-source Deep Research. Это рабочий инструмент под мой процесс: Codex как управляющий слой, GPT Researcher как research engine, Tavily как web search, Bedrock как текущий LLM backend.

Обычный LLM-ответ хорош для быстрых вопросов. Но если тема сложная, мне всё чаще нужен не ответ, а research-процесс.

И вот это я себе и собрал. Мой тг.