Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

Урок: диагностика компьютера через skill

Научитесь разделять общее правило проекта, процедуру агента, справку и исполняемый инструмент. В результате агент должен выбрать system-stats, получить реальные данные и дать короткий ответ с указанием недоступных метрик.

Что понадобится

  • macOS или Linux, терминал с bash/zsh и Python 3.
  • Codex с доступом к папке проекта и разрешением на локальную диагностику.
  • Для macOS: системные sysctl и vm_stat; для Linux: доступ к /proc.
  • Для дополнительных секций: ps для процессов, lsof для портов.

Python-пакеты устанавливать не нужно. Windows этим примером не поддерживается. Диагностика относится к машине, где выполняется Python: в удалённой среде это будет удалённая машина, а не ваш ноутбук.

Как устроен пример

  • AGENTS.md — общее правило: диагностика только через skill, без изменения настроек и завершения процессов.
  • SKILL.md — когда применять skill и какие действия выполнять.
  • Справка — аргументы, формат результата, ошибки и ориентиры интерпретации.
  • Python-инструмент — сбор данных и вывод JSON.

Skill задаёт процедуру, а Python выполняет измерения. Само наличие этих файлов ещё не доказывает, что агент соблюдает процедуру: это проверяется по его действиям. Подробнее о skills — в документации OpenAI.

1. Проверьте инструмент

Откройте терминал в корне проекта — в папке, где лежит этот README. Выполните:

TOOL_ARGS='{"section":"load,mem,disk"}' python3 tools/system-stats/system-stats.py

Ожидается JSON с ключами load, mem, disk. Значения зависят от вашей машины. Все три секции должны содержать измерения.

При запуске из Codex песочница может блокировать системные вызовы. В этом случае агент должен запросить разрешение на запуск того же инструмента вне песочницы и повторить проверку после одобрения. Отключать защиту всего проекта или менять настройки ОС не требуется. Для проверки самого Python-инструмента можно выполнить команду выше в обычном локальном терминале.

2. Проверьте выбор skill агентом

Откройте эту папку как проект в Codex и начните новый чат:

Проверь состояние компьютера: нагрузку, память и диск. Ответь кратко.

Посмотрите действия агента, а затем его ответ. Ожидается, что он прочитает system-stats, обратится к справке и запустит Python-инструмент с секциями load,mem,disk либо с аргументами по умолчанию. Он не должен запускать порты или benchmark без отдельного запроса.

Если skill не обнаружен, проверьте, что открыта именно папка проекта и в ней есть .agents/skills/system-stats/SKILL.md. Для отдельной проверки явного выбора начните новый чат:

Используй skill system-stats: проверь нагрузку, память и диск.

Успех явного выбора не засчитывайте как успех автоматического выбора.

Ожидаемый формат ответа (условный пример, не измерения вашей машины):

Нагрузка: средняя за 5 минут — 1,2 при 8 логических CPU.
Память: доступно около 25% от общего объёма.
Диск /: занято 63%.

Сверьте цифры ответа с JSON именно этого запуска. Если после разрешённого запуска секция всё ещё возвращает error, сохраните текст ошибки для разбора с преподавателем: эта проверка ещё не пройдена.

3. Проверьте отдельный запрос и ошибку

Попросите агента:

Через system-stats покажи только время работы системы.

Ожидается запуск с section=uptime и ответ по этой секции. Результат одной секции выводится без внешнего ключа uptime.

Затем в терминале проверьте неправильный аргумент:

TOOL_ARGS='{"section":"unknown"}' python3 tools/system-stats/system-stats.py
echo $?

Ожидается JSON с error, содержащим invalid arguments, и код выхода 1. Сбор метрик при таком запросе не выполняется. В отличие от этого, ошибка отдельного сборщика находится внутри результата при коде выхода 0.

Остальные секции описаны в справке. Для основного урока они не нужны. all включает и порты, и benchmark; это не сокращение для базовой проверки.

Как понять, что урок пройден

  • Вы можете объяснить назначение четырёх составляющих примера.
  • Базовый запрос вызвал нужный skill и только три требуемые секции.
  • Отдельный запрос вызвал только uptime.
  • Все запрошенные секции вернули измерения, ответ агента соответствует JSON.
  • Неверный аргумент вернул понятную ошибку и код 1.
  • Агент не собирал метрики обходными командами и не менял систему.

Для сдачи достаточно указать выполненные запросы, фактически вызванные команды и результат каждой проверки. Урок пройден, когда базовая диагностика и uptime работают, а намеренно неверный аргумент возвращает ожидаемую ошибку. Ошибка сбора данных не засчитывается как успешное выполнение задания.

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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages