Как устроен запрос

Чему научитесь

Видео 5:18 и текст урока

К концу урока вы сможете:

Видео и текст урока.

Смотреть урок на Skilljar Accessing the API · 5:18

Когда вы строите приложение на Claude, полезно понимать весь жизненный цикл запроса: так проще принимать архитектурные решения и искать ошибки. Разберём, что происходит с момента, когда пользователь нажимает «отправить» в чате, до момента, когда ответ Claude появляется на экране.

Окно чата: сообщение «What is quantum computing?», пустое поле ввода и кнопка Send.
Окно чата: пользователь спрашивает «What is quantum computing?» и нажимает Send.

Пять шагов запроса

Любое обращение к Claude проходит по одной и той же схеме из пяти фаз: запрос на сервер, запрос в Anthropic API, обработка моделью, ответ серверу и ответ клиенту.

Шаг 1, Request to Server: веб- или мобильное приложение отправляет вопрос на ваш сервер.
Шаг 1, Request to Server: веб- или мобильное приложение отправляет «What is quantum computing?» на ваш сервер.

Зачем нужен свой сервер

Никогда не обращайтесь к Anthropic API напрямую из клиентского кода. Причины такие:

Поэтому веб- или мобильное приложение отправляет запрос на ваш собственный сервер, а уже он обращается к Anthropic API с ключом, который надёжно хранится на нём.

Как сервер делает запрос к API

Сервер может обращаться к Anthropic API через официальный SDK или обычными HTTP-запросами. Anthropic выпускает SDK для Python, TypeScript, JavaScript, Go и Ruby.

Шаг Request to Anthropic API: текст пользователя кладётся в сообщение user, а оно — в список сообщений.
Request to Anthropic API: введённый текст кладут в сообщение с ролью user, а сообщение — в список messages.

В каждом запросе обязательно есть поля:

Что происходит внутри Claude

Получив запрос, Claude обрабатывает его в четыре стадии: токенизация, эмбеддинг, контекстуализация и генерация.

Токенизация: «What is quantum computing?» разбито на токены What, is, quantum, computing и ?.
Токенизация: вопрос разбит на токены «What», «is», «quantum», «computing» и «?».

Токенизация

Сначала Claude режет входной текст на небольшие куски — токены. Это могут быть целые слова, части слов, пробелы или символы. Для простоты считайте, что одно слово — один токен.

Эмбеддинг

Каждый токен превращается в эмбеддинг — длинный список чисел, который описывает все возможные значения этого слова. Эмбеддинги можно представлять как числовые определения, которые передают смысловые связи между словами.

Слово quantum ветвится на четыре значения и латинский корень quantus — «сколько».
У слова «quantum» несколько значений; на схеме есть и его латинский корень quantus — «сколько».

У слов часто несколько значений. Например, «quantum» может означать:

Контекстуализация

Claude уточняет каждый эмбеддинг по соседним словам, чтобы определить самое вероятное значение в этом контексте. Числовые представления подстраиваются так, чтобы на первый план вышло подходящее определение.

Стадия контекстуализации: столбцы чисел, связанные дугами.
Контекстуализация: числа каждого эмбеддинга корректируются с учётом соседних токенов.

Генерация

Контекстуализированные эмбеддинги проходят через выходной слой (output layer), который считает вероятность каждого возможного следующего слова. Claude не всегда берёт самое вероятное слово: он сочетает вероятность с управляемой случайностью, чтобы ответы звучали естественно и разнообразно.

Вероятности следующего слова: Quantum 30%, Great 23%, Are 19%, What 10%, This 10%, To 8%.
Вероятности следующего слова от выходного слоя: «Quantum» 30%, «Great» 23%, «Are» 19% и так далее.

Выбрав слово, Claude дописывает его в последовательность и повторяет весь процесс для следующего слова.

Когда Claude останавливается

После каждого токена Claude проверяет несколько условий, чтобы решить, продолжать ли:

Выходные токены заканчиваются токеном конца последовательности; рядом три проверки остановки.
Ответ «Quantum mechanics is a form of computing.» заканчивается токеном конца последовательности; справа три проверки остановки.

Ответ API

Когда генерация закончена, API возвращает структурированный ответ, в котором есть:

Ответ идёт из Anthropic API обратно в SDK на вашем сервере, текст лежит в сообщении assistant.
Ответ возвращается из Anthropic API в SDK на вашем сервере; сгенерированный текст лежит в сообщении с ролью assistant.

Сервер получает этот ответ и пересылает сгенерированный текст клиентскому приложению, где тот появляется в интерфейсе.

Весь путь: чат, SDK на вашем сервере, Anthropic API и обратно.
Весь путь целиком: чат → SDK на вашем сервере → Anthropic API → и обратно.

Главное

Понимание этого пути помогает:

Заучивать каждую деталь не нужно: цель урока — познакомиться с терминами и общей схемой, с которыми вы будете сталкиваться при работе с Claude API.

Дальше

Следующий шаг — создать API-ключ в консоли: без него первый запрос не сделать.

Оригинал урока: Accessing the API.