DF self-evolving-agent
Автоматизация, при которой ИИ-ассистент анализирует свои логи и предлагает улучшения для AGENTS.md. v5.0: семантическое встраивание (Ollama nomic-embed-text, FP ~8%), мониторинг потоковой передачи в реальном времени (уведомления <30 сек), анализ флота (несколько экземпляров). v4.3: интерактивное утверждение, многоформатные отчеты, GitHub Issues. v4.2: Ollama LLM. v4.1: кроссплатформенная доставка. v4.0: 4-этапный конвейер. Только предложения, никогда не вносит прямых изменений.
машинный переводПоказать оригиналСкрыть оригинал«AI 비서가 자기 로그를 분석해서 AGENTS.md 개선안을 제안하는 자동화. v5.0: 시맨틱 임베딩(Ollama nomic…»
AI 비서가 자기 로그를 분석해서 AGENTS.md 개선안을 제안하는 자동화. v5.0: 시맨틱 임베딩(Ollama nomic-embed-text, FP ~8%), 실시간 스트리밍 모니터(<30초 알림), 플릿 분석(다중 인스턴스). v4.3: 대화형 승인, 멀티포맷 리포트, GitHub Issues. v4.2: Ollama LLM. v4.1: 멀티플랫폼 배달. v4.0: 4단계 파이프라인. 제안만 함, 직접 수정 절대 없음.
Автоматизация, при которой ИИ-ассистент анализирует свои логи и предлагает улучшения для AGENTS.md. v5.0: семантическое встраивание (Ollama nomic-embed-text…
Как процесс F 31/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: scripts/v5/embedding-analyze.sh, scripts/v5/stream-monitor.sh, scripts/v5/fleet-analyzer.sh
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 17
✓ Критических и высоких находок нет
Средние и низкие: 17
-
средняя Опасные команды
cmd-persistencedata/fleet/main-analysis.json:76Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)"launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/ai.openclaw.watchdog.plist",
строка в коде -
средняя Утечка данных
net-credential-usedocs/feature-roadmap-v4.1.md:450Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl -sf "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \ -
средняя Опасные команды
cmd-persistenceinstall/install.sh:59Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)local plist_dst="$HOME/Library/LaunchAgents/com.sea.monitor.plist"
строка в коде -
средняя Опасные команды
cmd-persistenceinstall/install.sh:97Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)run "launchctl load '$plist_dst'"
строка в коде -
средняя Опасные команды
cmd-persistenceinstall/install.sh:170Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (строковый литерал в коде, не выполняется)echo " macOS: ~/Library/LaunchAgents/com.sea.monitor.plist"
строка в коде -
средняя Утечка данных
exfil-webhook-urlscripts/setup-wizard.sh:311URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (определение детектора / чёрного списка)if echo "$wh" | grep -q "^https://hooks.slack.com/"; then
детектор -
средняя Утечка данных
exfil-webhook-urlscripts/setup-wizard.sh:318URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (определение детектора / чёрного списка)if [ -z "$wh" ] || ! echo "$wh" | grep -q "^https://hooks.slack.com/"; then
детектор -
низкая Секреты в коде
secret-high-entropy-tokendata/alerts/2026-02-18.json:5Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"id": "2026…_ko",
в кавычках -
низкая Утечка данных
exfil-webhook-urldocs/feature-roadmap-v4.1.md:450URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)curl -sf "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \заглушка -
низкая Утечка данных
exfil-webhook-urlREADME.md:541URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)webhook_url: "https://hooks.slack.com/services/T.../B.../..."
заглушка -
низкая Утечка данных
exfil-webhook-urlscripts/setup-wizard.sh:99URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)echo " bash $0 --platform slack --webhook https://hooks.slack.com/..."
заглушка -
низкая Утечка данных
exfil-webhook-urlscripts/setup-wizard.sh:314URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)echo " ${RED}❌ https://hooks.slack.com/... 형식이어야 합니다${RESET}"заглушка -
низкая Утечка данных
exfil-webhook-urlscripts/setup-wizard.sh:319URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)echo "${RED}❌ 유효한 Slack Webhook URL 필요: --webhook https://hooks.slack.com/...${RESET}" >&2заглушка -
низкая Утечка данных
exfil-webhook-urlscripts/v4/deliver.sh:121URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)"https://api.telegram.org/bot${TG_TOKEN}/sendMessage" \заглушка -
низкая Утечка данных
exfil-webhook-urlscripts/v4/interactive-approve.sh:259URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)"https://api.telegram.org/bot${tg_token}/sendMessage" \заглушка -
низкая Рискованное назначение
intent-offensive-securitySECURITY.md:127Наступательная безопасность / двойное назначение (допустимо для авторизованного тестирования; проверьте назначение)If you discover a security issue in this skill (e.g., unintended data exfiltration, credential access, or privilege escalation):
-
низкая Утечка данных
exfil-webhook-urlSKILL.md:615URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)webhook_url: "https://hooks.slack.com/services/T.../B.../..."
заглушка
Просканировано файлов: 80. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - предупреждение
body-longтело SKILL.md ≈ 5283 токенов (рекомендуется < 5000); вынесите детали в references/ - предупреждение
missing-refссылка на отсутствующий файл: scripts/v5/embedding-analyze.sh - предупреждение
missing-refссылка на отсутствующий файл: scripts/v5/stream-monitor.sh - предупреждение
missing-refссылка на отсутствующий файл: scripts/v5/fleet-analyzer.sh - предупреждение
missing-refссылка на отсутствующий файл: scripts/v5/trend-analyzer.sh - предупреждение
missing-refссылка на отсутствующий файл: scripts/v5/orchestrator.sh
Процессный рейтинг: все десять параметров 31/100
- 0Инструменты и файлы. Не хватает 5 файла(ов): scripts/v5/embedding-analyze.sh, scripts/v5/stream-monitor.sh, scripts/v5/fleet-analyzer.sh
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 2, без проверки текущего состояния
- 70Стоимость исполнения. Тело инструкции 5283 токенов
- 100Шаги. Шагов: 98
- 100Согласованность. Имя и обязательные поля на месте
- low Разделов верхнего уровня: 21. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- -2Ссылки на localhost: у другого пользователя не заработает
- -294 эмодзи в инструкциях: шум для модели
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 240 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 45 заголовков
- +3Пошаговые инструкции: 98 пунктов
- +4Есть примеры (33 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (8 из 24)
- +3Все 4 скриптов описаны в инструкциях
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 53.