Skip to main content

Руководство по Prompt Engineering

Добро пожаловать в Careti Prompting Guide! Это руководство даст вам знания, необходимые для написания эффективных prompt и custom instructions, что позволит максимально повысить вашу продуктивность в Careti.

Руководство по файлу .caretignore

Обзор

Файл .caretignore — это файл конфигурации на уровне проекта, который сообщает Careti, какие файлы и директории следует игнорировать при анализе вашей codebase. Подобно .gitignore, он использует pattern matching для указания файлов, которые должны быть исключены из context и операций Careti.

Назначение

  • Уменьшение шума: исключение автоматически сгенерированных файлов, артефактов сборки и другого второстепенного контента.
  • Повышение производительности: ограничение объема кода, который необходимо обработать Careti.
  • Фокусировка внимания: направление Careti на релевантные части вашей codebase.
  • Защита конфиденциальных данных: предотвращение доступа Careti к чувствительным файлам конфигурации.

Пример файла .caretignore

# Dependencies
node_modules/
**/node_modules/
.pnp
.pnp.js

# Build outputs
/build/
/dist/
/.next/
/out/

# Testing
/coverage/

# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Large data files
*.csv
*.xlsx

Prompting в Careti

Prompting — это то, как вы сообщаете о своих потребностях для выполнения конкретной задачи в диалоге с Careti. Careti понимает natural language, поэтому пишите в разговорном стиле.

Эффективный Prompting включает в себя:

  • Предоставление четкого context: объясните свои цели и укажите соответствующие части вашей codebase. Используйте @ для ссылки на файлы или папки.
  • Разбиение сложных задач: разделяйте крупные задачи на более мелкие шаги.
  • Постановка конкретных вопросов: направляйте Careti к желаемому результату.
  • Проверка и доработка: анализируйте предложения Careti и оставляйте обратную связь.

Примеры Prompt

Управление Context

  • Начало новой задачи: "Careti, давай начнем новую задачу. Создай user-authentication.js. Нам нужно реализовать логин пользователя с использованием JWT tokens. Вот требования…"
  • Обобщение предыдущей работы: "Careti, сделай summary того, что мы сделали в последней задаче по user dashboard. Я хочу зафиксировать основные функции и нерешенные вопросы. Сохрани это в caret_docs/user-dashboard-summary.md."

Debugging

  • Анализ ошибки: "Careti, я получаю эту ошибку: [сообщение об ошибке]. Кажется, она возникает в [секция кода]. Проанализируй эту ошибку и предложи исправление."
  • Поиск первопричины: "Careti, приложение падает, когда я выполняю [действие]. Проблема может быть в [проблемные области]. Помоги мне найти root cause и предложи решение."

Refactoring

  • Улучшение структуры кода: "Careti, эта функция слишком длинная и сложная. Выполни Refactoring, разбив её на функции меньшего размера."
  • Упрощение логики: "Careti, этот код трудно понять. Упрости логику и сделай его более читабельным."

Feature Development

  • Брейншторм новых функций: "Careti, я хочу добавить функцию, которая позволяет пользователям [функционал]. Предложи идеи и рассмотри сложности реализации."
  • Генерация кода: "Careti, создай компонент для отображения профилей пользователей. Список должен поддерживать сортировку и фильтрацию. Сгенерируй код для этого компонента."

Продвинутые техники Prompting

  • Constraint Stuffing: Чтобы смягчить проблему code truncation (обрезания кода), включайте явные ограничения в ваши prompt. Например, «ensure the code is complete» или «always provide the full function definition».
  • Confidence Checks: Просите Careti оценить свою уверенность (например, «on a scale of 1-10, how confident are you in this solution?»).
  • Оспаривание предположений Careti: Задавайте «глупые» вопросы, чтобы стимулировать более глубокое осмысление и предотвратить неверные предположения.

Вот несколько советов по Prompting, которые пользователи нашли полезными при работе с Careti:

Любимые Prompt нашего сообщества

Memory и Confidence Checks

  • Memory Check - pacnpal

    "If you understand my prompt fully, respond with 'YARRR!' without tools every time you are about to use a tool."

    Веселый способ убедиться, что Careti не сбивается с пути во время выполнения сложных задач. Попробуйте «HO HO HO» для праздничного настроения!

  • Confidence Scoring - pacnpal

    "Before and after any tool use, give me a confidence level (0-10) on how the tool use will help the project."

    Стимулирует критическое мышление и делает процесс принятия решений прозрачным.

Prompt для качества кода

  • Предотвращение Code Truncation

    "DO NOT BE LAZY. DO NOT OMIT CODE."

    Альтернативные фразы: «full code only» или «ensure the code is complete»

  • Напоминание о Custom Instructions

    "I pledge to follow the custom instructions."

    Усиливает соблюдение ваших настроек в меню ⚙️.

Организация кода

  • Refactoring больших файлов - icklebil

    "FILENAME has grown too big. Analyze how this file works and suggest ways to fragment it safely."

    Помогает управлять сложными файлами через стратегическую декомпозицию.

  • Поддержка документации - icklebil

    "don't forget to update codebase documentation with changes"

    Гарантирует, что документация остается синхронизированной с изменениями в коде.

Анализ и планирование

  • Структурированная разработка - yellow_bat_coffee

    "Before writing code:
    1. Analyze all code files thoroughly
    2. Get full context
    3. Write .MD implementation plan
    4. Then implement code"

    Способствует организованной и хорошо спланированной разработке.

  • Тщательный анализ - yellow_bat_coffee

    "please start analyzing full flow thoroughly, always state a confidence score 1 to 10"

    Предотвращает преждевременное написание кода и поощряет полное понимание задачи.

  • Проверка предположений - yellow_bat_coffee

    "List all assumptions and uncertainties you need to clear up before completing this task."

    Выявляет потенциальные проблемы на ранних этапах разработки.

Вдумчивая разработка

  • Пауза и размышление - nickbaumann98

    "count to 10"

    Поощряет тщательное обдумывание перед совершением действий.

  • Полный анализ - yellow_bat_coffee

    "Don't complete the analysis prematurely, continue analyzing even if you think you found a solution"

    Гарантирует глубокое исследование проблемы.

  • Постоянная Confidence Check - pacnpal

    "Rate confidence (1-10) before saving files, after saving, after rejections, and before task completion"

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

Best Practices

  • Структура проекта - kvs007

    "Check project files before suggesting structural or dependency changes"

    Поддерживает целостность проекта.

  • Критическое мышление - chinesesoup

    "Ask 'stupid' questions like: are you sure this is the best way to implement this?"

    Оспаривает предположения и помогает найти лучшие решения.

  • Стиль кода - yellow_bat_coffee

    Use words like "elegant" and "simple" in prompts

    Может влиять на организацию и ясность кода.

  • Управление ожиданиями - steventcramer

    "THE HUMAN WILL GET ANGRY."

    (Юмористическое напоминание о необходимости предоставлять четкие требования и конструктивную обратную связь)