Знания предметной области загружаются по требованию
「Don't put everything in the system prompt. Load on demand.」
Ошибка «полной системной подсказки»
У вас есть 20 навыков, каждый из которых подробно описан: pdf-processing (как читать PDF), code-review (контрольный список проверки), git-workflow (часто используемые git-подпрограммы)... Интуитивный метод: поместите их все в системную подсказку, чтобы в любой момент можно было просмотреть модель.
Результат:
<ул>Способ создания s05 заключается в разделении его на два слоя.
двухуровневая архитектура
Уровень 1 · Дешево: в системную подсказку помещаются только название навыка и описание, состоящее из одного предложения (около 100 жетонов каждый). 20 навыков = 2 тыс. жетонов, приемлемо.
# список навыков в системной подсказке
Доступные навыки:
- pdf: обработка PDF-файлов. Извлечение текста, таблиц, метаданных.
- проверка кода: контрольный список систематической проверки кода.
- git-workflow: общие шаблоны ветвления и перебазирования git.
Уровень 2 · По требованию. Когда модели необходимо использовать определенный навык, вызовите load_skill(name="pdf"), и полное тело навыка (возможно, 5–10 тысяч токенов) вставляется в контекст черезtool_result. Ни один из жетонов неиспользованных навыков не загружается.
#tool_result возвращает полный навык
<название навыка="pdf">
Шаг 1. Используйте pdfplumber для извлечения...
Шаг 2. При необходимости выполните резервное копирование OCR...
Шаг 3. Структурируйте вывод в виде таблицы Markdown...
</skill>
Сравните стоимость токенов
Протестируйте это в реальном сценарии. Предположим, у вас есть 20 навыков и на каждом теле в среднем по 3000 жетонов. Пользователь задает вопрос (типа «Исправить ошибку в интерфейсе входа») — этот вопрос, вероятно, не требует каких-либо навыков.
SKILL.md формат
Файлы навыков используют заголовок + тело YAML:
--- название: PDF описание: Обработка PDF-файлов. Извлечение текста, таблиц, метаданных. тэги: документ, парсинг --- Шаг 1: Используйте pdfplumber для извлечения. Обработка макетов с несколькими столбцами... Шаг 2. Для отсканированных PDF-файлов вернитесь к распознаванию текста через tesseract...
Фронтальная часть предназначена для уровня 1 (имя/описание/теги), а тело — для уровня 2. Этот метод написания вдохновлен статическими блогами (Джекилл, Хьюго), и люди, знакомые с ним, могут понять его с первого взгляда.