TGViewer
FastNews | Никита Пастухов FastNews | Никита Пастухов @fastnewsdev · 2.58K subscribers
Post #281 1.01K
Skills

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

Яркие примеры:
rtk
caveman
React best practices

Со скилами вы могли сталкиваться, если активно используете кодинг-агентов (Codex / Claude Code / Cursor / OpenCode / etc). В базе своей формула очень проста:

Skill = Context + Scripts

С точки зрения реализации, skill - это директория на системе


.agents/skills/
└── Pytest_Skill/
├── SKILL.md
└── scripts/
├── run_pytest.sh
└── list_tests.py


- Pytest_Skill - название скила
- SKILL.md - текстовая простыня, которую мы загрузим в контекст, когда агент захочет научиться работать с pytest
- scripts/ - директория со скриптами (python / shell), правила использования которых описаны в SKILL.md

Логично, что агент сам по себе не понимает, что такое скилы. Для этого ему нужна парочка инструментов:


class SkillsToolkit:
def load_skill(skill_id: str) -> str: ...

def run_skill_script(skill_id: str, script: str) -> str: ...


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


[{
"name": "Pytest_Skill",
"description": "Use this skill to test your python code",
... // всякие бесполезные поля
}]



| assistant |
| script result |
| run script | // исполнение скрипта из набора скила
| skill content |
| load skill | // загрузка конкретного скила в контекст
| user |
| tools definitions |
| skills metadata | // информация о доступных скилах
| system |


Итого, скилы - это всего лишь:
- метаинформация в контексте
- пара инструментов
- директория на системе

Зато в совокупности это позволяет нам загружать в контекст огромные инструкции для очень специфичных задач по востребованию (а не держать их в контексте всегда).

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

Последняя Rocket Science штука здесь - это загрузка нужных инструментов "на лету" из интернета. Что ж, это всего лишь вопрос пары дополнительных инструментов, которые ищут скилы на стоках по API:


class SkillSearchToolkit:
async def search_skills(query: str, limit: int = 10) -> str: ...

async def install_skill(skill_id: str) -> str: ...


Мы просто динамически ищем скилы на https://skills.sh по API, качаем их с гита и ставим в локальную папку. Для этого у нас тоже есть готовый инструмент autogen.beta.tools.SkillSearchToolkit

Очень темное колдунство, не иначе.

#Agents
GitHub GitHub - rtk-ai/rtk: CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies - rtk-ai/rtk
  • ❤ 13
  • 🙈 1
More from @fastnewsdev
  1. Sep 20, 2026Последние 2 недели я заметил, что Opus 5 значительно отупел в Claude Code. Обычно такое сл…
  2. Sep 18, 2026С днем рождения🎉 Сегодня, ровно 3 года назад, 18 сентября 2023 года, вышла первая версия…
  3. Sep 17, 2026Забавно, что лучшую иллюстрацию OpenSource комьюнити я нашел в сериале про рестораны... См…
  4. Sep 14, 2026Я снова пропустил #digest агенсткого тулинга, потому что там все как-то тухленько. Но кое-…
  5. Sep 10, 2026Я сам себя заменю. Это мой карьерный план! У Прокопова был интересный пост: 20 лет точил с…
  6. Sep 7, 2026Я как-то немного потерял смысл делать #digest агентского тулинга, т.к. там сейчас только и…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →