Главная/Документация/Справочник агента/Инструмент LLM (call_llm)
Справочник агента

Инструмент LLM (call_llm)

Вызов вторичной LLM для узких подзадач. Инструмент автоматически загружает содержимое файлов по указанным путям.

Когда использовать

СценарийМодельВозможности
Резюме большого файлаhaikuattachments
Классификация содержимогоhaikuoutputFormat: "classification"
Извлечение структурированных данныхhaikuoutputSchema
Глубокий анализsonnet/opusthinking: true (только API-ключ)
Параллельная обработкалюбаяНесколько вызовов в одном сообщении

Пути аутентификации

Возможности зависят от способа аутентификации:

ВозможностьAPI-ключOAuth
Текстовые вложенияДаДа
Вложения-изображенияДаНет
Структурированный выводГарантируется (tool_choice)На основе промпта
Расширенное размышлениеДаНет
Все моделиДаДа
  • API-ключ: полный набор возможностей через прямой Anthropic SDK
  • OAuth: базовые возможности через нативный callback агента

Параметры

ПараметрТипОписание
promptstringЗапрос для LLM (обязательный)
attachmentsarrayПути к файлам/изображениям для включения
modelstringЛюбая модель из реестра моделей. По умолчанию Haiku (самая быстрая)
systemPromptstringНеобязательный системный промпт
maxTokensnumberМаксимальное количество токенов вывода (1–64000, по умолчанию 4096)
temperaturenumberТемпература выборки 0–1 (игнорируется, если thinking=true)
thinkingbooleanВключить расширенное размышление (только API-ключ)
thinkingBudgetnumberБюджет токенов для размышления (1024–100000, по умолчанию 10000)
outputFormatenumПредопределённый формат вывода
outputSchemaobjectПользовательская 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 + haikuHaiku не поддерживает thinkingИспользуйте Sonnet или Opus
thinking + OAuthOAuth не поддерживает thinkingИспользуйте API-ключ или уберите thinking
изображения + OAuthOAuth не поддерживает изображенияИспользуйте API-ключ или уберите изображения
thinkingBudget без thinkingНе задан thinking=trueДобавьте thinking: true
Некорректный диапазон строкstartLine > endLineИсправьте значения диапазона
Неизвестная модельМодель отсутствует в реестреПроверьте доступные модели в настройках

Ошибки API (при использовании API-ключа)

СтатусЗначениеУстранение
401Недействительный API-ключПроверьте/обновите учётные данные
403Отказ в доступеПроверьте доступ к модели в вашем тарифе
429Превышен лимит запросовУменьшите число параллельных вызовов, подождите перед повтором
500/502/503API недоступенПовторите через несколько секунд

Когда не использовать

  • Вы можете решить это самостоятельно, не прибегая к более дешёвой модели
  • Задача требует контекста вашего диалога
  • Вам нужны инструменты (Read, Bash, Glob) — вместо этого используйте инструмент Task с субагентами
  • Простые однострочные ответы, для которых не требуется изоляция

Нужен такой агент в вашей компании?

Устанавливаем под ключ: настройка на компьютерах сотрудников, единый аккаунт, интеграция с 1С и внутренними системами, обучение команды. Подробнее о внедрении →