Справочник агента
Инструмент LLM (call_llm)
Вызов вторичной LLM для узких подзадач. Инструмент автоматически загружает содержимое файлов по указанным путям.
Когда использовать
| Сценарий | Модель | Возможности |
|---|---|---|
| Резюме большого файла | haiku | attachments |
| Классификация содержимого | haiku | outputFormat: "classification" |
| Извлечение структурированных данных | haiku | outputSchema |
| Глубокий анализ | sonnet/opus | thinking: true (только API-ключ) |
| Параллельная обработка | любая | Несколько вызовов в одном сообщении |
Пути аутентификации
Возможности зависят от способа аутентификации:
| Возможность | API-ключ | OAuth |
|---|---|---|
| Текстовые вложения | Да | Да |
| Вложения-изображения | Да | Нет |
| Структурированный вывод | Гарантируется (tool_choice) | На основе промпта |
| Расширенное размышление | Да | Нет |
| Все модели | Да | Да |
- API-ключ: полный набор возможностей через прямой Anthropic SDK
- OAuth: базовые возможности через нативный callback агента
Параметры
| Параметр | Тип | Описание |
|---|---|---|
prompt | string | Запрос для LLM (обязательный) |
attachments | array | Пути к файлам/изображениям для включения |
model | string | Любая модель из реестра моделей. По умолчанию Haiku (самая быстрая) |
systemPrompt | string | Необязательный системный промпт |
maxTokens | number | Максимальное количество токенов вывода (1–64000, по умолчанию 4096) |
temperature | number | Температура выборки 0–1 (игнорируется, если thinking=true) |
thinking | boolean | Включить расширенное размышление (только API-ключ) |
thinkingBudget | number | Бюджет токенов для размышления (1024–100000, по умолчанию 10000) |
outputFormat | enum | Предопределённый формат вывода |
outputSchema | object | Пользовательская JSON Schema |
Вложения
terminalbash
// Простой файл
attachments: ["/src/auth.ts"]
// Большой файл — укажите диапазон строк (обязательно для файлов >2000 строк)
attachments: [{ path: "/logs/app.log", startLine: 1000, endLine: 1500 }]
// Смесь файлов и изображений (для изображений только API-ключ)
attachments: ["/src/component.tsx", "/designs/mockup.png"]Диапазоны строк
Для файлов более 2000 строк или 500 КБ необходимо указать диапазон строк:
terminalbash
{ path: "/path/to/large-file.log", startLine: 100, endLine: 600 }Если вы попытаетесь загрузить слишком большой файл, инструмент сообщит о структуре файла.
Поддерживаемые форматы
- Текстовые файлы: любой файл в кодировке UTF-8 (
.ts,.js,.py,.md,.jsonи т. д.) - Изображения:
.png,.jpg,.jpeg,.gif,.webp(не более 5 МБ каждое, только API-ключ)
Форматы вывода
| Формат | Возвращает |
|---|---|
summary | { summary, key_points[], word_count } |
classification | { category, confidence, reasoning } |
extraction | { items[], count } |
analysis | { findings[], issues[], recommendations[] } |
comparison | { similarities[], differences[], verdict } |
validation | { valid, errors[], warnings[] } |
Параллельная обработка
Вызывайте несколько раз в одном сообщении для параллельного выполнения:
terminalbash
call_llm(prompt: "Summarize", attachments: ["/file1.ts"])
call_llm(prompt: "Summarize", attachments: ["/file2.ts"])
call_llm(prompt: "Summarize", attachments: ["/file3.ts"])
// Все вызовы выполняются параллельно — примерно в 3 раза быстрее последовательных!Сценарии для параллельных вызовов:
- Анализ нескольких файлов сразу
- Получение нескольких точек зрения на один и тот же код
- Обработка пакетных данных
- Генерация вариантов
Примеры
Резюме файла (экономичный вариант)
terminalbash
call_llm({
prompt: "Summarize the main functionality",
attachments: ["/src/auth/handler.ts"],
model: "claude-haiku-4-5-20251001"
})Извлечение структурированных данных
terminalbash
call_llm({
prompt: "Extract all API endpoints from this file",
attachments: ["/src/routes.ts"],
outputSchema: {
type: "object",
properties: {
endpoints: {
type: "array",
items: {
type: "object",
properties: {
method: { type: "string" },
path: { type: "string" },
handler: { type: "string" }
}
}
}
},
required: ["endpoints"]
}
})Классификация содержимого
terminalbash
call_llm({
prompt: "Classify this support ticket by urgency and category",
attachments: ["/tickets/latest.txt"],
outputFormat: "classification"
})
// Возвращает: { category: "billing", confidence: 0.92, reasoning: "..." }Глубокий анализ с размышлением (только API-ключ)
terminalbash
call_llm({
prompt: "Analyze this algorithm for edge cases and potential bugs",
attachments: ["/src/sorting.ts"],
model: "claude-sonnet-4-6",
thinking: true,
thinkingBudget: 15000
})Анализ скриншота (только API-ключ)
terminalbash
call_llm({
prompt: "Describe the UI issues in this screenshot",
attachments: ["/screenshots/bug-report.png"],
model: "claude-sonnet-4-6"
})Ограничения
| Ограничение | Предел |
|---|---|
| Максимум вложений | 20 на вызов |
| Максимальный размер текстового файла | 2000 строк или 500 КБ |
| Максимальный размер изображения | 5 МБ |
| Максимальный общий объём содержимого | 2 МБ по всем вложениям |
thinking + структурированный вывод | Взаимоисключающие |
thinking + haiku | Не поддерживается (используйте Sonnet/Opus) |
thinking + OAuth | Не поддерживается (используйте API-ключ) |
| изображения + OAuth | Не поддерживается (используйте API-ключ) |
Обработка ошибок
Инструмент предоставляет подробные сообщения об ошибках с рекомендациями по устранению. Частые ошибки:
Ошибки вложений
| Ошибка | Причина | Решение |
|---|---|---|
| Файл не найден | Путь не существует | Проверьте написание пути, используйте абсолютные пути |
| Файл слишком большой | более 2000 строк или более 500 КБ | Используйте диапазон строк: { path, startLine, endLine } |
| Диапазон строк слишком большой | Диапазон превышает 2000 строк | Уменьшите диапазон или разделите на несколько вызовов |
| Обнаружен двоичный файл | Нетекстовый файл без расширения изображения | Используйте только текстовые файлы или поддерживаемые изображения |
| Отказ в доступе | Невозможно прочитать файл | Проверьте права доступа к файлу |
| Пустой файл | В файле нет содержимого | Пропускайте пустые файлы |
| Сломанная символьная ссылка | Цель символьной ссылки отсутствует | Исправьте или удалите символьную ссылку |
Ошибки параметров
| Ошибка | Причина | Решение |
|---|---|---|
thinking + outputFormat | Несовместимые режимы | Уберите один из параметров |
thinking + haiku | Haiku не поддерживает thinking | Используйте Sonnet или Opus |
thinking + OAuth | OAuth не поддерживает thinking | Используйте API-ключ или уберите thinking |
| изображения + OAuth | OAuth не поддерживает изображения | Используйте API-ключ или уберите изображения |
thinkingBudget без thinking | Не задан thinking=true | Добавьте thinking: true |
| Некорректный диапазон строк | startLine > endLine | Исправьте значения диапазона |
| Неизвестная модель | Модель отсутствует в реестре | Проверьте доступные модели в настройках |
Ошибки API (при использовании API-ключа)
| Статус | Значение | Устранение |
|---|---|---|
| 401 | Недействительный API-ключ | Проверьте/обновите учётные данные |
| 403 | Отказ в доступе | Проверьте доступ к модели в вашем тарифе |
| 429 | Превышен лимит запросов | Уменьшите число параллельных вызовов, подождите перед повтором |
| 500/502/503 | API недоступен | Повторите через несколько секунд |
Когда не использовать
- Вы можете решить это самостоятельно, не прибегая к более дешёвой модели
- Задача требует контекста вашего диалога
- Вам нужны инструменты (
Read,Bash,Glob) — вместо этого используйте инструментTaskс субагентами - Простые однострочные ответы, для которых не требуется изоляция
Нужен такой агент в вашей компании?
Устанавливаем под ключ: настройка на компьютерах сотрудников, единый аккаунт, интеграция с 1С и внутренними системами, обучение команды. Подробнее о внедрении →