Как разделить огромные промпты и сократить растрату токенов агентами
TuBrief 편집팀
2026년 3월 14일
0
Computing/Software원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
커뮤니티의 다른 글
댓글 (0)
Log in to leave a comment
아직 작성된 글이 없습니다
원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
Log in to leave a comment
아직 작성된 글이 없습니다
Монолитная структура, в которую в один системный промпт запихивают всевозможные гайдлайны и инструменты, быстро исчерпывает себя. Стоит диалогу немного затянуться, и агент начинает забывать инструкции, прописанные в середине промпта. Из-за многократной отправки десятков тысяч токенов при каждом запросе затраты на инференс взлетают до небес, а ждать появления первого токена приходится очень долго.
В реальной работе эту проблему решают с помощью структуры поэтапной загрузки контекста на основе открытой спецификации agentskills.io. Это подход, при котором нужные навыки подгружаются только в необходимый момент, экономя токены.
Монолитный системный промпт следует разбивать на основе границ доменов, прав на выполнение инструментов и частоты использования. Чтобы избежать конфликтов между навыками при поиске семантического сходства, в одной сессии должно быть активно не более 3 навыков одновременно.
В верхней части разделенного файла навыка укажите YAML-frontmatter, содержащий идентификатор (используйте только дефисы, строчные латинские буквы и цифры) и цель выполнения.
name: backend-api-generator
description: Generates Spring Boot REST API controller and service boilerplate code. Use when the user asks to create API endpoints, build REST controllers, or define DTO mappings for backend services.
when_to_use:
`
Процесс создания структуры поэтапной загрузки прост:
Замена монолитной структуры, которая постоянно занимала от 15 000 до 30 000 токенов, на структуру отложенной загрузки SKILL.md позволяет снизить начальные накладные расходы по токенам более чем на 90%. Согласно внутренним тестовым данным Anthropic, это позволяет сократить задержку p95 с 12% до 40% и уменьшить среднее потребление токенов на один диалог на 29.6%.
Когда последовательно загружается несколько навыков, инструкции предыдущего навыка часто остаются в сессии и искажают следующие задачи. Для проверок с высоким уровнем риска или задач, оставляющих много логов, в YAML-frontmatter необходимо добавить настройку разветвления контекста (context: fork) для изоляции на уровне процессов.
`
Нельзя забывать и обчетком определении контракта данных (Data Contract):
allowed-tools) в метаданных YAML, чтобы предотвратить произвольное выполнение Bash или бездумные сетевые вызовы.`markdown
All responses must strictly adhere to the following JSON structure without markdown wrapping:
{
"status": "SUCCESS" | "FAILED",
"generated_files": [
{
"path": "string",
"content": "string"
}
],
"error_message": "string | null"
}
`
Изоляция в виде дочернего процесса позволяет избежать ситуации, когда логи вызовов инструментов затопляют основную сессию. Поскольку основной сеанс диалога остается чистым, вероятность возникновения ошибок при передаче данных между субагентами также снижается.
Если требования расплывчаты или ошибки вызова инструментов повторяются, агент попадает в бесконечный цикл повторных попыток. Это момент, когда десятки долларов на API сгорают всего за несколько минут. Включение пошагового контрольного списка статической проверки (Verification Checklist) в текст файла навыка заставляет агента самостоятельно проводить проверку перед завершением задачи.
`markdown
Before declaring the task finished, you MUST sequentially execute the following verification checklist:
`
Написать выключатель (Circuit Breaker), физически прерывающий цикл, тоже просто:
MAXIMUM_TOOL_CALL_LIMIT: 3).`markdown
[SKILL EXECUTION HALTED]
Skill Name: backend-api-generator
Failure Reason: [Brief error description]
Attempts Made: [Number of retries]
Suggested Action: [Action required by backend developer]
`
Для опасных операций, таких как удаление файлов или сброс базы данных, безопаснее устанавливать опцию disable-model-invocation: true. Это запрещает агенту самостоятельно вызывать навык и ограничивает его выполнение только теми случаями, когда разработчик сам вводит слеш-команду (/skill-name).
Когда члены команды пишут навыки вместе, им следует придерживаться стандартной архитектуры каталогов agentskills.io, чтобы не мучиться из-за конфликтов файлов Markdown. Тело навыка, CLI-скрипты, справочную документацию и ресурсы со статическими шаблонами следует четко разделить и разместить внутри родительской папки.
| Путь к каталогу и файлу | Роль | Инструкции по написанию |
|---|---|---|
| skills/api-generator/SKILL.md | Обязательный документ точки входа | Содержит YAML-frontmatter и инструкции по основным процедурам (до 500 строк) |
| skills/api-generator/scripts/ | Папка исполняемого кода | Расположение CLI-скриптов на Python/Bash, вызываемых агентом при необходимости |
| skills/api-generator/references/ | Папка вспомогательной справочной документации | Содержит объемные спецификации API, схемы БД, руководства по стилю |
| skills/api-generator/assets/ | Папка шаблонов статических ресурсов | Хранение бойлерплейта генерируемого кода, примеров файлов конфигурации |
Для проверки качества навыков используется фреймворк оценки promptfoo.
SKILL.md и модель LLM в файле promptfooconfig.yaml.npx promptfoo@latest eval в терминале для измерения процента соблюдения инструкций.`yaml
description: "Backend Agent Skills Validation Suite"
prompts:
`
При развертывании используется комбинация стратегии разработки на основе ствола (trunk-based development) с ветками короткого времени жизни и тегов Git (v1.2.0). Если агент в продакшене начинает вести себя странно, можно мгновенно откатиться к предыдущему тегу с помощью команды git checkout tags/v1.1.0 -b hotfix/rollback.