Продолжаем анализировать паттерны проектирования агентов из репозитория https://github.com/x1xhlol/system‑prompts‑and‑models‑of‑ai‑tools и после разбора XML‑тегов в первой части переходим к следующему ключевому элементу.

Речь пойдет о механизме To‑Do list (списка задач) — одном из самых важных и часто встречающихся паттернов в продвинутых системных промптах. Его реализация и цели могут сильно различаться.

Список агентов и решений, которые используют механизм To‑Do List или аналогичные системы планирования:

  • Augment Code

  • Claude Code

  • Cursor Prompts

  • Kiro

  • Manus Agent Tools & Prompt

  • Codex CLI

  • Qoder

  • Same.dev

  • Trae

  • v0 Prompts and Tools

  • VSCode Agent

  • Windsurf

  • Z.ai Code

  • Traycer AI

1. Augment Code

  • Как реализовано: Через формальный набор инструментов (add_tasks, update_tasks, reorganize_tasklist). Промпт предписывает четкие состояния для каждой задачи, которые, вероятно, отображаются в UI: [ ] (не начато), [/] (в процессе), [x] (завершено).

  • Особенности и цель: Здесь todo list — это инструмент для управления сложными, многошаговыми задачами. Промпт вводит триггеры (Tasklist Triggers в версии для GPT-5), которые заставляют агента использовать этот механизм при определенных условиях (например, если изменения затрагивают несколько файлов). Цель — структурирование работы и инкрементальное, управляемое выполнение.

2. Claude Code

  • Как реализовано: Через инструмент TodoWrite. Промпт требует использовать его ОЧЕНЬ часто (VERY frequently).

  • Особенности и цель: Это уникальная реализация. В среде командной строки (CLI) у пользователя нет графического интерфейса, чтобы видеть, что делает агент. Здесь todo list используется так же как основной канал коммуникации и обратной связи. Агент проговаривает свои действия, создавая и отмечая задачи.

3. Cursor Prompts

  • Как реализовано: Через инструмент todo_write.

  • Особенности и цель: Это одна из самых продвинутых реализаций. Промпт не просто дает инструмент, он учит модель, как правильно им пользоваться. Секция <todo_spec> содержит правила, что такое хороший пункт плана (не более 14 слов, начинается с глагола) и что такое плохой. Цель — не просто планирование, а обучение модели созданию качественных, высокоуровневых и осмысленных планов.

4. Kiro

  • Как реализовано: Через файл‑артефакт. В специализированном режиме Spec mode агент проходит через этапы «Требования → Дизайн → План». Конечным продуктом этого воркфлоу является файл tasks.md, который содержит список задач с чекбоксами.

  • Особенности и цель: Здесь todo list — это формальный, персистентный артефакт, который создается в файловой системе проекта. Он является результатом большого этапа проектирования. Цель — создание детального и долгосрочного плана реализации фичи, который потом может исполняться по частям.

5. Manus Agent Tools & Prompt

  • Как реализовано: Гибридная система. Промпт говорит о существовании внешнего <planner_module>, который присылает агенту высокоуровневый план. Агент, в свою очередь, должен создать и поддерживать более детальный план в файле todo.md.

  • Особенности и цель: Это иерархическая система планирования. Есть стратегический план от планировщика, и есть тактический, детальный план в todo.md, который ведет сам агент. Цель — связать высокоуровневые бизнес‑цели с низкоуровневыми задачами исполнения.

6. Codex CLI

  • Как реализовано: Через инструмент update_plan.

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

7. Qoder

  • Как реализовано: Через инструменты add_tasks и update_tasks.

  • Особенности и цель: Промпт четко разделяет задачи на простые (до 3 шагов), где планирование не нужно, и сложные, где оно обязательно. Это прагматичный подход, который не перегружает простые задачи излишней бюрократией.

8. Same.dev

  • Как реализовано: Через файл‑артефакт. Промпт (<memos>) предписывает агенту создать и поддерживать файл .same/todos.md.

  • Особенности и цель: Как и в Kiro, это внешняя, персистентная память для плана. Это делает работу агента прозрачной для пользователя и устойчивой к прерываниям сессии. Агент обязан обновлять этот файл в начале и в конце своего хода, что делает ведение плана строгим ритуалом.

9. v0 Prompts and Tools

  • Как реализовано: Через специализированного субагента TodoManager. Основной агент не управляет списком сам, а вызывает субагента с командами set_tasks, move_to_task и т. д.

  • Особенности и цель: Это архитектурный паттерн разделение ответственности. Задача управления планом вынесена в отдельный, специализированный компонент. Это делает систему более модульной. Промпт также требует создавать milestone‑level tasks (задачи уровня вех), а не микро‑задачи, что указывает на фокус на высокоуровневом, стратегическом планировании.

10. VSCode Agent

  • Как реализовано: Через инструмент manage_todo_list.

  • Особенности и цель: Промпт gpt-5.txt содержит раздел todoListToolInstructions, который требует использовать todo list для всех многошаговых задач. Описан очень строгий «CRITICAL workflow»: 1) Спланируй, 2) Отметь ОДНУ задачу как in-progress, 3) Выполни ее, 4) СРАЗУ отметь как completed, 5) Переходи к следующей. Цель — максимальная прозрачность, методичность и предотвращение расфокусировки агента.

11. Traycer AI

  • Как реализовано: Это система генерации плана как конечного продукта. Агент‑техлид в режиме phase_mode использует инструмент write_phases для создания высокоуровневого плана (фаз).

  • Особенности и цель: В отличие от других систем, здесь агент не использует план для своей работы, а создает его для других (вероятно, для других агентов или для пользователя).

Общие выводы и паттерны

  1. Повсеместное распространение: Механизмы планирования и todo list являются стандартом де‑факто для любого серьезного кодинг‑агента, который решает задачи сложнее одного действия.

  2. Три основных способа реализации:

    • Управление через инструменты (Tool‑Based): Самый частый подход. Агент использует инструменты (todo_write, update_plan) для интерактивного управления списком задач. (Примеры: Cursor,ClaudeCode, Codex CLI, VSCode Agent).

    • Управление через файлы (File‑Based): План хранится в виде .md файла в проекте. Это делает его персистентным и легко читаемым для пользователя. (Примеры: Kiro, Same.dev, Manus).

    • Управление через субагента (Agent‑Based): Задача планирования делегируется отдельному специализированному агенту. (Пример: v0).

Зачем агенту нужен план? От декомпозиции до управления вниманием

На первый взгляд, ответ очевиден: чтобы разбить сложную задачу на простые шаги. Но это лишь верхушка айсберга. Механизмы планирования и To‑Do листы решают несколько критических проблем. Одна из них — склонность LLM уходить от темы и забывать предыдущие цели, особенно в длинных контекстах или при работе со сложными задачами.

1. Управление вниманием посредством декламации

При выполнении длинных задач, состоящих из десятков шагов (типичная сессия агента может включать 20+ вызовов инструментов), модель рискует потеряться в середине — забыть первоначальную цель или увлечься побочной задачей.

Постоянно обновляя To‑Do лист и отмечая выполненные пункты, агент помещает актуальный план в конец своего контекста. Это не случайное действие, а целенаправленный механизм манипулирования вниманием. Перенося глобальный план в самую свежую часть своей памяти, агент постоянно напоминает себе о главных целях. Он как бы декламирует план снова и снова, не давая своему вниманию рассеяться. Это элегантное решение промтинга для смещения фокуса модели на стратегическую цель, не требуя сложных архитектурных изменений.

2. Декомпозиция сложности и повышение качества

Это более классическая, но не менее важная причина.

  • От хаоса к структуре: План превращает одну большую и абстрактную задачу в последовательность маленьких, конкретных и выполнимых действий.

  • Проектирование до кода: Сам процесс создания плана — это уже этап проектирования. Как видно из примеров Cursor и Codex CLI, промпты заставляют агента создавать хорошие, детализированные планы. Это заставляет модель сначала продумать решение, а не бросаться писать код, что кардинально повышает качество итогового результата.

3. Управляемость и сотрудничество

План — это ключевой элемент интерфейса между человеком и ИИ.

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

  • Точка синхронизации: План становится общим пространством для работы. Пользователь может редактировать план, добавляя или удаляя задачи, превращая монолог агента в диалог и совместную работу.

Мысли в качестве вывода

Концепция динамических To‑Do list пытается решить фундаментальные проблемы, с дрейфом целей и декомпозиции сложных задач, но на практике это не всегда срабатывает.

На мой взгляд, причина в том, что To‑Do list является слишком низкоуровневым инструментом для решения проблемы более высокого порядка. Для эффективного управления сложными процессами требуется некоторая высокоуровневая концептуальная рамка, но пока топовые агенские системы ее не использую, хотя умный поиск дает некоторые методы и подходы:

  • CBR‑системы используют адаптацию прошлого опыта для новых задач.

  • Memory‑augmented агенты поддерживают долгосрочный контекст и персонализацию.

  • Reflection‑based системы включают механизмы самокоррекции и обучения на ошибках.

Обо всём об этом, без лишней воды и хайповых новостей в стиле — «вышла новая ChatGPT o56_turbo_MAX_better_than_yesterday» — в моем телеграмм канале Агент LLM

Комментарии (0)


  1. bibiw_one
    16.09.2025 06:44

    Ссылка на первую часть в начале статьи битая


    1. DmitriiFilippov Автор
      16.09.2025 06:44

      Спасибо! поправил