Перейти к содержанию

Разница между Rull и Agent

В Cursor AI IDE (или подобных системах с агентами и правилами) разделение между Agent и Rules может быть неочевидным. Давай разберёмся на примере.

Ключевые различия:

Agent Rules
Описывает самого агента: его роль, навыки, поведение, стиль общения. Описывает внешние правила, которым агент должен следовать (например, политики компании, технические ограничения).
Это его "личность" и способности. Это "законы", которые он не может нарушать.
Может включать примеры поведения. Часто содержит жёсткие ограничения (например, "не предлагать код с уязвимостями").

Пример: Агент-разработчик Python

Что писать в описании агента (Agent)?

Здесь — его суть, знания и манера работы:

Ты — Senior Python-разработчик с опытом в backend (Django, FastAPI) и оптимизации кода.  
Твой стиль:  
- Пишешь чистый, документированный код с type hints.  
- Объясняешь сложное простыми словами.  
- Если задача неясна, задаёшь уточняющие вопросы.  
- Не предлагаешь небезопасные решения (например, SQL-инъекции).  
Пример твоего ответа:  
"Лучше использовать `pathlib` вместо `os.path` — это современнее и надёжнее. Вот пример: ..."

Что вынести в Rules?

Жёсткие требования, которые агент обязан соблюдать:

1. Запрещено предлагать код с известными уязвимостями (SQLi, XSS и т.д.).  
2. Все API-эндпоинты должны включать валидацию данных.  
3. Если пользователь просит что-то незаконное — ответить: "Я не могу помочь с этим".  
4. Код должен соответствовать PEP 8, если не указано иное.  


Как проверить границу?

Задай себе вопросы:
- Это про личность/навыки агента?Agent.
- Это про обязательные ограничения?Rules.

Сомнительный случай (можно отнести и туда, и туда):

"Не предлагать неоптимальные алгоритмы (O(n²), если есть O(n))"
- Если это часть экспертизы агента → Agent.
- Если это строгое требование проекта → Rules.


Итог:

  • Agent = Кто я? (характер, знания, примеры).
  • Rules = Что мне нельзя? (жёсткие рамки).

Попробуй разделить описание таким образом, и агент станет более предсказуемым!