К основному содержанию
правило

smolagents — правило для Cursor: агенты на Python и установка

Правило задаёт рекомендации по структуре приложений на smolagents и безопасности инструментов. Оно срабатывает для файлов Python.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/smolagents.mdc
Открыть на GitHub

Что делает smolagents

Правило для Cursor охватывает файлы **/*.py и помогает организовать код агента и его инструменты по отдельным модулям. В примере из руководства функции поиска и вычислений оформлены как инструменты smolagents; логику веб-поиска предлагается отделить от основного файла агента.

В примере опасный eval используется для вычисления выражения, и руководство помечает такой подход как небезопасный. Это важно, если агент обрабатывает выражения: простое добавление вычислительного инструмента может открыть путь к исполнению произвольного кода. Файл правила нужно поместить в .cursor/rules/smolagents.mdc.

Какие задачи решает

  • разнести код агента и инструменты по модулям
  • оформить поиск как инструмент smolagents
  • заметить небезопасное вычисление через eval

Примеры запросов агенту

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

Как установить smolagents

Вручную: положить файлы

.cursor/rules/smolagents.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о smolagents

Как установить smolagents в Cursor?

Добавьте правило в файл .cursor/rules/smolagents.mdc.

Что делает правило smolagents?

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

На какие файлы действует правило?

Оно применяется к файлам, соответствующим шаблону **/*.py.

Исходный текст

smolagents.mdc · CC0-1.0
---
description: Definitive guidelines for building robust, performant, and maintainable AI agents using smolagents, focusing on practical patterns and avoiding common pitfalls.
globs: **/*.py
---
# smolagents Best Practices

This guide outlines the definitive best practices for developing `smolagents` applications. Adhering to these principles ensures your agents are reliable, efficient, and easy to maintain.

## 1. Code Organization and Structure

Organize your agent logic and tools into clear, distinct modules. This improves readability, reusability, and testability.

❌ BAD: Monolithic agent file
```python
# agent.py
from smolagents import CodeAgent, HfApiModel, tool
import requests # Direct import in agent file

@tool
def search_web(query: str) -> str:
    # ... complex search logic ...
    return "search result"

@tool
def calculate_math(expression: str) -> float:
    # ... math logic ...
    return eval(expression) # DANGER! Unsafe!

agent = CodeAgent(tools=[search_web, calculate_math], model=HfApiModel())
agent.run("What is 2+2 and also search for 'latest AI news'")
```

✅ GOOD: Modular structure
```python
# src/tools.py
from smolagents import tool
import requests
import json

@tool
def web_search(query: str) -> str:
    """
    Performs a web search for the given query.
    Args:
        query: The search term.
    Returns:
        A summary of the search results or an error message.
    """
    try:
        # Replace with a real search API (e.g., DuckDuckGoSearchTool, custom API)
        response = requests.get(f"https://api.example.com/search?q

© sanjeed5 · CC0-1.0 · sanjeed5/awesome-cursor-rules-mdc

Похожие правила IDE

Все правила IDE по теме «Настройка агента: память, контекст, субагенты» →
llm-app-security devops-skills Набор проверок и правил для защиты чат-ботов, RAG-систем и AI-функций от инъекций промптов, утечек данных и атак по классификации OWASP LLM Top 10. CX Codex +1 327установок ai-security-hardening devops-skills Защищает приложения на базе LLM от prompt injection, утечек данных и атак на цепочку поставок. Пригодится при выводе моделей в прод и подготовке к аудитам SOC2 или ISO 27001. CX Codex +1 326установок secure-secret-drop moeadham Скилл поднимает временную ссылку на Cloudflare Quick Tunnel, чтобы вы отдали пароль или ключ агенту, не вставляя его в чат. CX Codex +1 4 000установок building-pydantic-ai-agents pydantic Добавляет в ассистент шаблоны и правила для разработки агентов на фреймворке Pydantic AI. Помогает настраивать инструменты, внедрять зависимости и писать тесты. CX Codex +1 1 800установок custom-metrics launchdarkly Управляет кастомными бизнес-метриками в LaunchDarkly: создание через MCP-сервер, отправка событий через AI SDK и привязка к вариациям промптов. CX Codex +1 1 800установок built-in-metrics launchdarkly Оборачивает вызовы провайдера ИИ в трекер LaunchDarkly и снимает длительность, токены и статус успех/ошибка. Нужен, когда агент уже работает и хочется видеть его метрики. CX Codex +1 1 800установок

Из того же набора240

Весь набор →
spacy Задаёт Cursor правила работы со spaCy в коде Python: требует аннотации типов, пакетную обработку через nlp.pipe и декларативные конфиги. ★ 3 580звёзд репо solidjs Правило задаёт практики для SolidJS 1.x: реактивность, компоненты, состояние и очистка ресурсов. Применяется к JavaScript и JSX-файлам. ★ 3 580звёзд репо solidity Правило задаёт стиль и требования к Solidity-коду: фиксированный pragma, кастомные ошибки, защита от реентрантности. Пригодится, когда пишете контракты в Cursor. ★ 3 580звёзд репо socket-io Задаёт стандарты работы с Socket.IO v4.x в Cursor: защищённая инициализация, разделение по комнатам, обработка сбоев сети и подтверждение доставки. ★ 3 580звёзд репо shadcn Правило для Cursor задаёт команде единый стиль работы с shadcn/ui: структура папок, типы, варианты через CVA, формы на React Hook Form и Zod. Пригодится, когда компонентов становится много. ★ 3 580звёзд репо setuptools Направляет ИИ-ассистента на сборку современных Python-пакетов через декларативный pyproject.toml и структуру src/. ★ 3 580звёзд репо servemux Правило подсказывает, как организовать HTTP-маршруты на http.ServeMux и использовать возможности Go 1.22+. Пригодится при разработке API на Go. ★ 3 580звёзд репо sentry Правило задаёт, как инициализировать Sentry в проекте: где ставить SDK, какие переменные окружения использовать, как не сломать чужой код. ★ 3 580звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой