Claude в Google Vertex AI

Подключение Claude через Google Cloud — авторизация, регионы, биллинг.

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

Уроки курса

  1. Welcome to the course
  2. Overview of Claude models
  3. Accessing the API
  4. Vertex AI Setup
  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. Controlling model output
  14. Structured data
  15. Structured data exercise
  16. Quiz on accessing Claude with the API
  17. Prompt evaluation
  18. A typical eval workflow
  19. Generating test datasets
  20. Running the eval
  21. Model based grading
  22. Code based grading
  23. Exercise on prompt evals
  24. Quiz on prompt evaluation
  25. Prompt engineering
  26. Being clear and direct
  27. Being specific
  28. Structure with XML tags
  29. Providing examples
  30. Exercise on prompting
  31. Quiz on prompt engineering techniques
  32. Introducing tool use
  33. Project overview
  34. Tool functions
  35. Tool schemas
  36. Handling message blocks
  37. Sending tool results
  38. Multi-turn conversations with tools
  39. Implementing multiple turns
  40. Using multiple tools
  41. The batch tool
  42. Tools for structured data
  43. The text edit tool
  44. The web search tool
  45. Quiz on tool use with Claude
  46. Introducing Retrieval Augmented Generation
  47. Text chunking strategies
  48. Text embeddings
  49. The full RAG flow
  50. Implementing the RAG flow
  51. BM25 lexical search
  52. A Multi-index RAG pipeline
  53. Reranking results
  54. Contextual retrieval
  55. Quiz on Retrieval Augmented Generation
  56. Extended thinking
  57. Image support
  58. PDF support
  59. Citations
  60. Prompt caching
  61. Rules of prompt caching
  62. Prompt caching in action
  63. Quiz on features of Claude
  64. Introducing MCP
  65. MCP clients
  66. Project setup
  67. Defining tools with MCP
  68. The server inspector
  69. Implementing a client
  70. Defining resources
  71. Accessing resources
  72. Defining prompts
  73. Prompts in the client
  74. MCP review
  75. Quiz on Model Context Protocol
  76. Anthropic apps
  77. Claude Code setup
  78. Claude Code in action
  79. Enhancements with MCP servers
  80. Parallelizing Claude Code
  81. Automated debugging
  82. Computer use
  83. How computer use works
  84. Agents and workflows
  85. Parallelization workflows
  86. Chaining workflows
  87. Routing workflows
  88. Agents and tools
  89. Environment inspection
  90. Workflows vs agents
  91. Quiz on agents and workflows
  92. Final assessment quiz
  93. Course Wrap Up
  94. Course Description
  95. Course Description
  96. Course Description
  97. Course Description
  98. Course Description
  99. Course Description
  100. Course Description

Расширенное мышление (Extended Thinking)

В мире больших языковых моделей (LLM) способность решать сложные задачи с высокой точностью является ключевой. Claude, разработанный Anthropic, предлагает передовую функцию под названием "Расширенное мышление" (Extended Thinking), которая позволяет модели глубоко обдумывать сложные проблемы, прежде чем генерировать окончательный ответ. Это не просто быстрый ответ, а скорее видимый процесс рассуждения, который пользователи могут изучить, чтобы понять логику Claude.

Включение "Расширенного мышления" значительно улучшает способность Claude справляться с комплексными задачами, повышая точность и надежность ответов. Однако эта мощная функция имеет свои компромиссы. Вы будете платить за все токены, сгенерированные во время фазы мышления, а дополнительное время обработки увеличивает задержку ответа (latency). Ключ к эффективному использованию этой функции — понимание того, когда повышенный интеллект оправдывает дополнительные затраты и время ожидания.

Как работает "Расширенное мышление"

Без "Расширенного мышления" поток ответов Claude довольно прост: вы отправляете пользовательское сообщение (user message) с текстовым блоком и получаете в ответ сообщение от ассистента (assistant message) также с текстовым блоком. Модель генерирует ответ напрямую, основываясь на входных данных.

Когда "Расширенное мышление" активировано, структура ответа меняется значительно. Вместо одного блока вы получите сообщение от ассистента, содержащее два различных блока:

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

Когда использовать "Расширенное мышление"

Решение о включении "Расширенного мышления" должно основываться на тщательной оценке ваших запросов и результатов. Вот рекомендуемый подход:

  1. Начните без "Расширенного мышления": Сначала напишите и протестируйте свой запрос без активации этой функции.
  2. Оцените точность: Проведите оценку, чтобы измерить точность и качество ответов Claude.
  3. Оптимизируйте запрос: Если результаты не соответствуют вашим стандартам, попробуйте оптимизировать сам запрос (prompt engineering).
  4. Рассмотрите "Расширенное мышление": Только если после всех усилий по оптимизации запроса результаты все еще неудовлетворительны, тогда рассмотрите возможность включения "Расширенного мышления" в качестве решения.

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

Система криптографических подписей

Каждый блок мышления (thinking block) включает в себя криптографическую подпись, которая служит важной цели безопасности. Эта подпись гарантирует, что текст мышления не был изменен, когда вы включаете это сообщение в последующие ходы разговора (future conversation turns).

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

Редактированное мышление (Redacted Thinking)

Иногда процесс мышления Claude может быть помечен внутренними системами безопасности Anthropic. Когда это происходит, вы получите редактированный блок мышления (redacted thinking block) вместо исходного текста мышления.

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

Включение "Расширенного мышления" в коде

Чтобы включить "Расширенное мышление" в вашем коде, вам потребуется изменить параметры вашей функции чата (например, при использовании Messages API или Vertex AI API). Обычно это включает добавление двух новых параметров:

def chat(
    messages,
    system=None,
    temperature=1.0,
    stop_sequences=[],
    tools=None,
    max_tokens_to_sample=1024, # Пример параметра для общего количества токенов
    thinking=False,
    thinking_budget=1024
):
    # ... ваш код для вызова API ...

Важно отметить, что ваш общий параметр для максимального количества токенов в ответе (например, max_tokens_to_sample) должен превышать ваш thinking_budget. Если вы установите thinking_budget в 1024 токена, то max_tokens_to_sample должен быть как минимум 1025 токенов.

На практике вам, вероятно, потребуется гораздо больший буфер. Например, при thinking_budget в 1024 токена и max_tokens_to_sample в 4000 токенов, Claude может использовать до 1024 токенов для мышления и до 2976 токенов для фактического ответа.

При включении функции "Расширенного мышления" добавьте соответствующую конфигурацию в параметры вашего API-запроса:

if thinking:
    params["thinking"] = {
        "type": "enabled",
        "budget": thinking_budget
    }
# Затем передайте params в ваш API-вызов

Тестирование redacted-ответов

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

TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CB

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