Skip to main content

Понимание задач

ℹ️Note

Это документация для Careti. Она основана на версии Careti v3.38.1 и содержит специальные политики/ограничения Careti (например, место хранения задач, политики контрольных точек, аутентификация/маршрутизация), которые отмечены в тексте как <Note>.

ℹ️Note

История ввода/учетная запись: Функции истории ввода/восстановления Careti могут работать в соответствии с caret-docs/features/f10-input-history-system.md, и информация об учетной записи/организации может управляться вместе.

Что такое Tasks?

Большинство пользователей взаимодействуют с Careti через tasks — фундаментальную единицу работы, которая лежит в основе каждой сессии кодирования. Независимо от того, создаете ли вы новую функцию, исправляете ошибку, рефакторите код или изучаете кодовую базу, каждое взаимодействие с Careti происходит в контексте задачи. Task представляет собой полноценный разговор и рабочую сессию между вами и AI агентом, созданную с помощью prompts — инструкций, которые вы предоставляете, чтобы сообщить Careti, что вы хотите сделать. Tasks служат самодостаточными рабочими сессиями, которые фиксируют весь ваш разговор с Careti, включая все изменения кода, выполнение команд и принятые решения.

Этот подход гарантирует, что ваша работа организована, отслеживаема и может быть возобновлена. Каждая task поддерживает свой собственный изолированный контекст, позволяя вам работать над несколькими проектами одновременно, не путаясь. Прелесть системы задач Careti заключается в ее гибкости и постоянстве, обеспечивая совместную сессию кодирования, где вы задаете направление с помощью prompts, а Careti точно выполняет ваше видение.

Ключевые характеристики

Каждая task в Careti:

  • Имеет уникальный идентификатор: Каждая task получает свой собственный ID и выделенный каталог для хранения
  • Содержит полный разговор: Все сообщения, использование инструментов и результаты сохраняются
  • Отслеживает используемые ресурсы: Использование токенов, затраты на API и время выполнения отслеживаются
  • Может быть прервана и возобновлена: Tasks сохраняют свое состояние между сессиями VS Code
  • Создает checkpoints: Изменения файлов отслеживаются с помощью снимков на основе Git
  • Обеспечивает документирование: Tasks можно экспортировать в формате markdown для командной документации
  • Обеспечивает управление затратами: Отслеживание ресурсов помогает контролировать использование API и затраты

Эти функции делают Careti не просто инструментом кодирования, а комплексным агентом разработки, который понимает полный жизненный цикл вашей работы.

Создание Tasks с помощью Prompts

Tasks начинаются с prompts — ваших инструкций для Careti. Качество ваших результатов во многом зависит от того, как вы описываете то, что хотите.

Prompt Components

Хорошо структурированный prompt обычно включает в себя:

  • Goal: Что вы хотите достичь
  • Context: Справочная информация и ограничения
  • Requirements: Конкретные функции или необходимый функционал
  • Preferences: Выбор технологий, стиль кодирования и т. д.
  • Examples: Ссылки для руководства реализацией
ℹ️Note

Хотите овладеть искусством prompting?

Погрузитесь в Модуль 1: "Prompting" в Careti Learn, чтобы стать экспертом в создании эффективных prompts. Модуль охватывает:

  • Структурированные методы prompting
  • Стратегии оптимизации контекста
  • Общие шаблоны prompting
  • Продвинутая разработка prompts
  • Реальные примеры и упражнения

Хорошие навыки prompting приводят к более быстрому завершению задач, более точным результатам, меньшему количеству необходимых итераций и лучшему качеству кода.

Task Execution Modes

Careti работает в двух различных режимах, которые помогают структурировать ваш рабочий процесс:

  • Plan Mode: Для сбора информации, обсуждения подходов и создания стратегий без внесения изменений
  • Act Mode: Для фактической реализации, где Careti выполняет изменения файлов, запускает команды и использует инструменты

Узнайте больше о режимах Plan и Act, чтобы понять, когда и как эффективно использовать каждый режим.

Task Resources

Каждая task потребляет ресурсы, которые отслеживаются:

  • Tokens: Объем обработанного текста (ввод и вывод)
  • API Costs: Денежная стоимость, основанная на модели и использовании токенов
  • Time: Продолжительность от начала до завершения
  • Checkpoints: Количество созданных снимков состояния файлов

Common Task Patterns

Code Generation

Create a TypeScript function that validates email addresses using regex. 
Include unit tests using Jest and handle edge cases like international domains.

Bug Fixing

@terminal The app crashes when clicking the submit button. 
Fix the error and ensure proper error handling is in place.

Refactoring

Refactor the authentication logic in @auth.ts to use async/await 
instead of callbacks. Maintain all existing functionality.

Feature Implementation

Add a dark mode toggle to the settings page. Use the existing theme 
context and persist the preference to localStorage.

Task Resumption

Одной из мощных функций Careti является возможность возобновления прерванных tasks:

When Tasks Get Interrupted

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

Resuming a Task

  1. Откройте task из истории
  2. Careti загружает полный разговор
  3. Состояния файлов проверяются на соответствие checkpoints
  4. Task продолжается с учетом прерывания
  5. При необходимости вы можете предоставить дополнительный контекст

Understanding Task Context

Tasks поддерживают контекст на протяжении всего своего жизненного цикла:

  • Conversation History: Все предыдущие сообщения и ответы
  • File Changes: Отслеживаемые изменения и их порядок
  • Tool Results: Вывод из команд и операций
  • Checkpoint States: Снимки состояний файлов в ключевых точках

Этот контекст позволяет Careti:

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

Узнайте больше об управлении контекстом, чтобы понять, как Careti управляет и оптимизирует контекст между tasks.

Понимание того, как работают tasks, имеет основополагающее значение для эффективного использования Careti. С помощью хорошо продуманных prompts и понимания жизненного цикла task вы можете использовать весь потенциал Careti для ускорения вашего рабочего процесса разработки.