AI Agents · Урок

Иерархическая декомпозиция задач

Цель верхнего уровня → подцели → подподцели — единственный способ, которым люди и агенты справляются с большими задачами

Урок 1 из 415 шагов

«Иерархическая декомпозиция задач» — бесплатный урок AI Agents на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Когда задачи становятся большими

«Переработайте модуль аутентификации» — слишком большая задача для одного запроса. Агент должен разбить её на более мелкие, управляемые части.

Иерархическая декомпозиция задач (HTD) — способ, которым люди и агенты решают такие задачи.

Иерархия

  1. Цель — задача высокого уровня
  2. Подцели — основные этапы
  3. Задачи — конкретные шаги
  4. Действия — отдельные вызовы инструментов

Example Decomposition

Goal: Refactor authentication module to use OAuth.

  Sub-goal 1: Set up OAuth dependencies
    Task: Add dependency to requirements.txt
    Task: Configure OAuth client

  Sub-goal 2: Replace existing auth flow
    Task: Replace login endpoint
    Task: Replace session middleware
    Task: Update tests

  Sub-goal 3: Migration and rollout
    Task: Write migration script
    Task: Update documentation

LLM-Driven Decomposition

DECOMPOSE_PROMPT = '''
Decompose this goal into 3-6 sub-goals. For each sub-goal, list 2-5 concrete tasks.
Return JSON: {sub_goals: [{name, tasks: [str]}]}

Goal: {goal}
'''

Рекурсивная декомпозиция

Если задача всё ещё слишком велика, декомпозируйте IT-задачу дальше. Остановитесь, когда задача помещается в один шаг LLM (примерно 3–5 вызовов инструментов).

Когда прекратить декомпозицию

Эвристики:

  • Описание задачи помещается в одно предложение
  • У задачи есть четкие критерии приемки
  • Задача затрагивает небольшое число файлов
  • Задачу можно проверить с помощью конкретного теста

Древовидные структуры

Представляйте декомпозицию в виде дерева. Каждый узел — это задача со следующими свойствами: описание, статус (ожидает выполнения/выполняется/завершено/не выполнено), дочерние узлы:

@dataclass
class TaskNode:
    description: str
    status: Literal['pending', 'running', 'done', 'failed']
    children: list['TaskNode']
    result: str | None = None

Выполняйте обход в глубину

Обходите дерево в глубину. Завершайте каждый конечный узел, прежде чем переходить дальше:

def execute(node):
    if node.children:
        for child in node.children:
            execute(child)
    else:
        node.status = 'running'
        try:
            node.result = run_leaf(node)
            node.status = 'done'
        except Exception as e:
            node.status = 'failed'

Агрегируйте результаты

После завершения дочерних узлов выполните aggregate для родительского узла:

def aggregate(parent):
    summaries = [c.result for c in parent.children if c.status == 'done']
    parent.result = llm.invoke(f'Summarise these sub-task results: {summaries}').content

Показывайте дерево пользователям

Для долго работающих агентов показывайте пользователям дерево с обновлениями статуса в реальном времени. Это укрепляет доверие и обеспечивает прозрачность:

[x] Add OAuth dependency
[x] Configure OAuth client
[~] Replace login endpoint   <-- in progress
[ ] Replace session middleware
[ ] Update tests

Разрешите редактирование дерева

Опытные пользователи могут захотеть пропускать, добавлять или переупорядочивать задачи. Поддерживайте ручное редактирование дерева плана.

Перепланируйте при сбое

Если подзадача неоднократно завершается сбоем, вернитесь к родительскому узлу и выполните декомпозицию заново:

if failed_count(node) > 2:
    parent = node.parent
    parent.children = llm_replan(parent, failure_context=node.last_error)

Стоимость декомпозиции

Каждая декомпозиция — это вызов LLM. Помогает кэширование: одна и та же цель → одна и та же исходная декомпозиция.

Когда прекратить разбиение

Когда агенту следует прекратить декомпозицию задач?

Повторение

Цели → подцели → задачи → действия. Постройте дерево, выполняйте обход в глубину, агрегируйте результаты, перепланируйте при сбое. Это стандартный шаблон для долгосрочной работы.

Можно начать бесплатно

Изучай AI Agents с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
60
Уроки
239

Часто задаваемые вопросы

Урок «Иерархическая декомпозиция задач» бесплатный?

Да — полный текст урока «Иерархическая декомпозиция задач» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.

Чему я научусь в уроке «Иерархическая декомпозиция задач»?

Цель верхнего уровня → подцели → подподцели — единственный способ, которым люди и агенты справляются с большими задачами Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Agents?

Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Иерархическая декомпозиция задач»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Agents?

Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Иерархическая декомпозиция задач
  2. Стек целей и возврат назад
  3. Модели мира и прогнозирование на несколько шагов
  4. Циклы рефлексии и самокритики
← Назад к AI Agents