Извлечение знаний из внешних материалов через TasK API
Ваш агент может работать с источником любого (в рамках разумного) размера, не загружая его целиком в контекст. Задаёт вопросы, уточняет, ищет фрагменты — и получает ответы с опорой на источник.
Поддерживает статьи, YouTube-видео, видео- и аудиофайлы (Whisper-транскрибация), документы (PDF, DJVU, HTML).
Требует bash, curl, jq, GNU realpath и доступ к TasK API (документация). Для получения доступа — напишите команде.
Skill совместим с различными AI-агентами. Примеры ниже даны для pi — для других инструментов смотрите их документацию по установке skills.
git clone https://github.com/prikotov/knowledge-extraction.git .agents/skills/knowledge-extractionПосле установки создайте в корне проекта файл .task_token.json:
{
"access_token": "ваш-токен-доступа"
}Разместите .task_token.json в рабочем проекте, из которого запускаете Skill.
Скрипты используют текущий каталог ($PWD) как начальную точку и ищут токен
в нём и родительских каталогах. Для явного выбора каталога можно задать
KNOWLEDGE_EXTRACTION_WORKSPACE=/path/to/project.
Необязательный .task_config.json — конфигурация Skill. Сейчас он поддерживает
переопределение адреса API:
{
"api_url": "https://api.ai-aid.pro/v1"
}Skill использует методы TasK API:
- Загрузка по URL — индексирует материал: статью, видео, документ.
- Диалог через Chat API — вопросы и ответы с опорой на источник, цепочка уточнений.
- Поиск по чанкам — находит фрагменты, близкие по смыслу к запросу.
Пользователь просит разобрать материал:
Агент загружает материал и начинает диалог с вопроса «О чём этот материал?». Дальше — цепочка уточнений:
Агент: — О чём этот материал?
TasK: — Локус контроля: 4 убеждения, которые тихо хоронят ваши амбиции. О склонности приписывать ответственность внешним обстоятельствам или собственным действиям.Агент: — Какие убеждения разбирает автор? Приведи формулировки.
TasK: — Внешний локус контроля: вера в судьбу, удачу, других людей. Внутренний локус — способность брать ответственность за результат.Агент: — Что автор предлагает для смены локуса?
TasK: — Сместить фокус с личности на действия, провести дебрифинг ошибок, вырабатывать стратегии на будущее.
Ответ агента пользователю:
Автор разбирает, как локус контроля влияет на амбиции: внешний локус (виню обстоятельства) хоронит их, внутренний (беру ответственность) — растит. Советует сместить фокус с личности на действия и проводить дебрифинг ошибок. Источник
Если диалог не дал нужного фрагмента — агент ищет по чанкам:
Что автор говорит про локус контроля?
Агент: — Найди фрагменты про теорию локуса контроля Роттера.
TasK: — Чанк #3: Джулиан Роттер в 1954 году предложил теорию локуса контроля… Чанк #7: люди с внутренним локусом контроля убеждены, что управляют своей жизнью…
Ответ агента пользователю:
Автор ссылается на теорию Роттера (1954) и выделяет два типа: внутренний локус — «я управляю своей жизнью», внешний — «всё решают обстоятельства».
Полученные факты и цитаты агент оформляет под задачу: саммари, дайджест-карточка, research-заметка.
Обработка YouTube-видео может занимать десятки минут — материал загружается асинхронно, статус можно проверить не дожидаясь готовности.
После установки skill агент автоматически узнаёт о нём. Примеры запросов:
Разбери https://habr.com/ru/articles/1061876/
Что автор говорит про локус контроля? Найди в https://habr.com/ru/articles/1061876/
Команды выполняются из корня рабочего проекта. После установки, показанной выше,
путь к скриптам будет .agents/skills/knowledge-extraction/scripts/:
# Загрузить материал
.agents/skills/knowledge-extraction/scripts/ingest.sh --source-url https://habr.com/ru/articles/1061876/
# Загрузить локальный файл (PDF, видео, аудио и т. п.)
.agents/skills/knowledge-extraction/scripts/ingest.sh --source-file "/path/to/video.mp4"
# Начать диалог
.agents/skills/knowledge-extraction/scripts/chat.sh --source-url https://habr.com/ru/articles/1061876/
# Продолжить диалог
.agents/skills/knowledge-extraction/scripts/chat.sh --chat <UUID> --question "Какие убеждения разбирает автор?"
# Поиск по чанкам
.agents/skills/knowledge-extraction/scripts/search.sh --source-url https://habr.com/ru/articles/1061876/ --query "локус контроля"
# Проверить статус обработки
.agents/skills/knowledge-extraction/scripts/ingest.sh --check
# При ошибке API chat.sh завершится с ошибкой и напечатает, например:
# HTTP 422: Need to top up balance.
⚠️ .task_token.json— добавить в.gitignore, никогда не коммитить. Не просить агента прописывать или читать этот файл.
Сами скрипты не содержат секретов: токен читается из .task_token.json.
MIT