Разработка с 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

Тест: Тест по доступу к Claude через API

Проверьте свои знания по материалам раздела.

1. Какова рекомендуемая практика для безопасного хранения вашего API-ключа Anthropic?

  1. Прямое встраивание ключа в Python скрипт.
  2. Сохранение ключа в файле .env и добавление .env в .gitignore.
  3. Загрузка ключа в публичный репозиторий Git для легкого доступа.
  4. Хранение ключа в глобальной переменной в вашем приложении.
Показать ответ

Ответ: B — Учебный материал четко указывает, что API-ключ — это конфиденциальная информация, которую никогда не следует напрямую встраивать в код или коммитить в систему контроля версий. Лучший и наиболее безопасный способ — использовать файл .env для хранения ключа и всегда добавлять .env в .gitignore.

2. Какой параметр в client.messages.create() используется для определения имени модели Claude, которую вы хотите использовать?

  1. model_name
  2. claude_version
  3. model
  4. llm
Показать ответ

Ответ: C — В разделе "Отправка запросов с помощью client.messages.create()" указано, что одним из ключевых параметров является model, например, model="claude-sonnet-4-0".

3. Какова основная функция параметра max_tokens при отправке запроса к Claude API?

  1. Он заставляет Claude сгенерировать точное количество токенов, указанное в параметре.
  2. Он устанавливает целевое количество токенов, которое Claude должен попытаться достичь в своем ответе.
  3. Он определяет максимальное количество токенов, которое Claude может сгенерировать, служа лимитом безопасности для контроля расходов и длины ответа.
  4. Он указывает максимальный объем входных токенов, которые может обработать Claude.
Показать ответ

Ответ: C — В учебном материале поясняется, что max_tokens — это "лимит безопасности", а не целевое значение. Claude прекратит генерацию после достижения этого лимита, помогая контролировать расходы и предотвращать слишком длинные ответы.

4. Как разработчик должен поддерживать контекст в многоходовом диалоге с Claude?

  1. Claude автоматически сохраняет историю предыдущих сообщений в рамках одной сессии.
  2. Необходимо вручную поддерживать список всех сообщений (историю диалога) и отправлять его целиком с каждым новым запросом к API.
  3. Использовать специальный параметр session_id для автоматического восстановления контекста Claude.
  4. Claude может кэшировать предыдущие ответы на стороне сервера, если активировать опцию remember_context=True.
Показать ответ

Ответ: B — В разделе "Многоходовые диалоги" четко сказано, что Claude является stateless (без сохранения состояния) и не хранит историю разговоров. Разработчик должен самостоятельно поддерживать список всех сообщений и отправлять полную историю с каждым новым запросом к API.

5. Что такое системный промпт (System Prompt) и какова его основная цель?

  1. Это короткое сообщение, которое Claude генерирует автоматически для подтверждения получения запроса.
  2. Это набор инструкций, которые передаются Claude для определения его "личности", стиля общения и общей стратегии ответа.
  3. Это техническая команда для перезагрузки состояния модели Claude между запросами.
  4. Это параметр, который позволяет Claude автоматически переключаться между различными моделями в зависимости от сложности запроса.
Показать ответ

Ответ: B — Системный промпт вводится в разделе "Системные промпты: Настройка поведения Claude" как набор инструкций, которые вы передаете Claude перед взаимодействием с пользовательским вводом, чтобы определить его личность, ограничения, стиль и стратегию ответа.

6. Для какой задачи рекомендуется устанавливать параметр temperature Claude на низкое значение (например, 0.0 - 0.3)?

  1. Создание креативных художественных рассказов или стихов.
  2. Мозговой штурм новых идей для маркетинговой кампании.
  3. Генерация точных фактических ответов, помощи в кодировании или модерации контента, где важна последовательность.
  4. Разработка неожиданных сюжетных поворотов для сценария.
Показать ответ

Ответ: C — В разделе "Температура" указано, что низкая температура (0.0 - 0.3) идеально подходит для задач, где нужна точность, последовательность и предсказуемость, таких как фактические ответы, помощь в кодировании или модерация контента.

7. Что является ключевым преимуществом использования потоковой передачи ответов (Response Streaming) в чат-приложениях с Claude?

  1. Снижение общего времени, необходимого Claude для генерации полного ответа.
  2. Повышение безопасности передачи данных за счет шифрования каждого фрагмента.
  3. Улучшение пользовательского опыта за счет отображения текста по частям по мере его генерации, уменьшая воспринимаемую задержку.
  4. Автоматическая корректировка грамматических ошибок в реальном времени до того, как текст будет показан пользователю.
Показать ответ

Ответ: B — Введение в "Потоковую передачу ответов" описывает, что она "позволяет пользователям видеть текст, появляющийся по частям по мере его генерации Claude, создавая гораздо более отзывчивое ощущение", решая проблему длительной задержки.

8. Как можно получить от Claude чистые, структурированные данные (например, JSON) без дополнительных пояснений или форматирования Markdown?

  1. Включить режим raw_output=True при инициализации клиента Anthropic.
  2. Использовать предзаполнение сообщения ассистента (например, "```json") в сочетании со стоп-последовательностями (например, ["```"]).
  3. Установить max_tokens на минимальное значение, чтобы Claude не успел добавить лишний текст.
  4. Требовать от Claude очистить ответ в отдельном последующем запросе.
Показать ответ

Ответ: B — В разделе "Структурированные данные" описана техника, которая объединяет предзаполнение сообщения ассистента (например, add_assistant_message(messages, "```json")) и стоп-последовательности (stop_sequences=["```"]), чтобы Claude генерировал только необходимое содержимое без оберток.