Разработка с Claude API

Запросы, потоковые ответы, tool use, структурированный вывод и стоимость.

92 уроков, первые 3 бесплатно. Полный доступ: 1490 руб.

Уроки курса

  1. Welcome to the course
  2. Overview of Claude models
  3. Accessing the API
  4. Getting an API key
  5. Making a request
  6. Multi-Turn conversations
  7. Chat exercise
  8. System prompts
  9. System prompts exercise
  10. Temperature
  11. Course satisfaction survey
  12. Response streaming
  13. Structured data
  14. Structured data exercise
  15. Quiz on accessing Claude with the API
  16. Prompt evaluation
  17. A typical eval workflow
  18. Generating test datasets
  19. Running the eval
  20. Model based grading
  21. Code based grading
  22. Exercise on prompt evals
  23. Quiz on prompt evaluation
  24. Prompt engineering
  25. Being clear and direct
  26. Being specific
  27. Structure with XML tags
  28. Providing examples
  29. Exercise on prompting
  30. Quiz on prompt engineering techniques
  31. Introducing tool use
  32. Project overview
  33. Tool functions
  34. Tool schemas
  35. Handling message blocks
  36. Sending tool results
  37. Multi-turn conversations with tools
  38. Implementing multiple turns
  39. Using multiple tools
  40. Fine grained tool calling
  41. The text edit tool
  42. The web search tool
  43. Quiz on tool use with Claude
  44. Introducing Retrieval Augmented Generation
  45. Text chunking strategies
  46. Text embeddings
  47. The full RAG flow
  48. Implementing the RAG flow
  49. BM25 lexical search
  50. A Multi-Index RAG pipeline
  51. Extended thinking
  52. Image support
  53. PDF support
  54. Citations
  55. Prompt caching
  56. Rules of prompt caching
  57. Prompt caching in action
  58. Code execution and the Files API
  59. Quiz on features of Claude
  60. Introducing MCP
  61. MCP clients
  62. Project setup
  63. Defining tools with MCP
  64. The server inspector
  65. Implementing a client
  66. Defining resources
  67. Accessing resources
  68. Defining prompts
  69. Prompts in the client
  70. MCP review
  71. Quiz on Model Context Protocol
  72. Anthropic apps
  73. Claude Code setup
  74. Claude Code in action
  75. Enhancements with MCP servers
  76. Agents and workflows
  77. Parallelization workflows
  78. Chaining workflows
  79. Routing workflows
  80. Agents and tools
  81. Environment inspection
  82. Workflows vs agents
  83. Quiz on Agents and Workflows
  84. Final Assessment
  85. Course Wrap Up
  86. What You'll Learn
  87. What You'll Learn
  88. What You'll Learn
  89. What You'll Learn
  90. What You'll Learn
  91. What You'll Learn
  92. What You'll Learn
Исполнение кода и API файлов: Расширяем возможности Claude

Исполнение кода и API файлов: Расширяем возможности Claude

В мире больших языковых моделей (LLM) Claude от Anthropic выделяется не только своими разговорными способностями, но и мощными инструментами, которые позволяют ему выходить за рамки простого диалога. Два таких инструмента — это Files API и Code Execution. На первый взгляд они могут показаться независимыми, но их совместное использование открывает по-настоящему интересные возможности для делегирования Claude сложных и вычислительно интенсивных задач. Представьте, что у вас есть интеллектуальный помощник, который не только понимает ваши инструкции, но и может самостоятельно писать, выполнять код и работать с файлами, чтобы достичь поставленной цели.

Files API: Удобный способ работы с данными

Традиционно, если вы хотели передать Claude изображение, PDF-файл или другой документ, вам приходилось кодировать его в формат base64 и включать непосредственно в тело сообщения. Это работало, но могло быть неудобно, особенно для больших файлов или когда один и тот же файл нужно было использовать многократно. Files API предлагает элегантное решение этой проблемы.

С помощью Files API вы можете загружать файлы (изображения, PDF, текстовые документы, таблицы CSV и многое другое) на сервер Anthropic заранее, используя отдельный вызов API. В ответ вы получаете объект метаданных файла, содержащий уникальный идентификатор — file ID. В дальнейшем, вместо того чтобы каждый раз передавать содержимое файла, вы просто ссылаетесь на этот file ID в своих сообщениях к Claude. Такой подход значительно упрощает управление файлами, снижает нагрузку на сеть и делает взаимодействие с Claude более эффективным, особенно при работе с объемными данными или при необходимости многократного обращения к одному и тому же источнику информации.

Инструмент Code Execution: Claude как программист

Code Execution — это встроенный инструмент, который позволяет Claude самостоятельно писать и выполнять код. Вам не нужно предоставлять собственную реализацию или настраивать среду выполнения. Вы просто включаете предопределенную схему инструмента в свой запрос, и Claude получает возможность использовать Python для решения задач. Это превращает Claude из простого генератора текста в активного исполнителя, способного проводить вычисления, обрабатывать данные и даже создавать новые артефакты.

Ключевые особенности среды выполнения кода Claude:

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

Синергия: Files API и Code Execution в действии

Настоящая мощь этих двух функций раскрывается при их совместном использовании. Поскольку среда выполнения кода Claude изолирована и не имеет сетевого доступа, Files API становится основным и единственным способом передачи данных в эту среду и из нее. Это создает мощный и безопасный рабочий процесс для решения сложных вычислительных задач.

Типичный рабочий процесс выглядит следующим образом:

  1. Вы загружаете исходный файл данных (например, таблицу CSV с финансовыми отчетами или текстовый документ для анализа) с помощью Files API.
  2. В своем сообщении к Claude вы включаете специальный блок container_upload, указывая file ID загруженного файла. Это сообщает Claude, какие данные доступны для его среды выполнения.
  3. Вы просите Claude проанализировать данные, выполнить расчеты или преобразовать информацию.
  4. Claude генерирует и выполняет Python-код для обработки вашего файла в изолированном контейнере.
  5. В процессе или по завершении анализа Claude может генерировать новые файлы, такие как графики, отчеты или преобразованные данные, которые также становятся доступными для вас.

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

Практический пример: Анализ данных о клиентах

Представим, что у нас есть данные о пользователях стримингового сервиса, включая их тарифные планы, привычки просмотра и информацию о том, отказались ли они от подписки (так называемый "отток" или "churn"). Эти данные хранятся в файле streaming.csv. Наша задача — попросить Claude провести детальный анализ, чтобы выявить основные факторы, влияющие на отток клиентов, и представить результаты в виде профессиональной визуализации.

Сначала мы загружаем файл streaming.csv через Files API. В результате этой операции мы получаем уникальный file ID. Затем мы формируем сообщение для Claude, в котором:

Claude получает этот запрос, "видит" доступный файл и, используя свой инструмент Code Execution, приступает к работе. Он самостоятельно пишет Python-код для чтения CSV-файла, проводит статистический анализ, выявляет корреляции и, наконец, генерирует графики, которые визуализируют его находки. Весь этот процесс происходит автоматически, без вашего прямого вмешательства в написание кода.

Понимание ответа Claude и загрузка результатов

Когда Claude использует Code Execution, его ответ становится более структурированным и информативным. Он включает в себя несколько типов блоков:

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

Одной из самых мощных возможностей является способность Claude генерировать новые файлы, такие как графики, диаграммы или отчеты. Когда Claude создает визуализацию, она сохраняется в его контейнере, и вы можете загрузить ее, используя Files API. Для этого вам нужно найти в ответе Claude блоки с type: "code_execution_output". Эти блоки будут содержать file ID сгенерированного контента. Используя этот file ID, вы можете загрузить файл, например, с помощью функции download_file("file_id_из_ответа"). В результате вы получаете не только текстовый анализ, но и профессиональные визуализации, создание которых вручную потребовало бы значительных усилий по программированию.

За пределами анализа данных: Безграничные возможности

Хотя анализ данных является естественным и очевидным применением, комбинация Files API и Code Execution открывает гораздо более широкий спектр возможностей:

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