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

Определение и использование готовых промптов в Claude с Google Vertex AI

В мире больших языковых моделей (LLM), таких как Claude, качество ответа напрямую зависит от качества входного запроса, или prompt. Однако, когда речь заходит о создании сложных приложений или сервисов, использующих Claude через серверы MCP (Managed Compute Platform) или аналогичные платформы, такие как Google Vertex AI, возникает потребность в стандартизации и оптимизации этих запросов. Именно здесь на помощь приходят заранее определенные, высококачественные промпты.

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

Зачем использовать готовые промпты?

Основная идея заключается в том, что хотя пользователи могут выполнять задачи с помощью Claude, вводя свои собственные запросы, они получат гораздо более качественные и надежные результаты, используя промпты, которые были тщательно спроектированы, протестированы и оптимизированы разработчиками сервера MCP или платформы. Рассмотрим пример:

Допустим, вы хотите, чтобы Claude переформатировал документ в синтаксис Markdown. Обычный пользователь мог бы просто набрать: "переформатируй отчет.pdf в markdown". И, вероятно, он получил бы неплохой результат. Однако, если бы он использовал специализированный, тщательно протестированный промпт, разработанный специально для форматирования документов, результат был бы значительно лучше. Такой промпт мог бы включать детальные инструкции о том, как обрабатывать заголовки, списки, таблицы, как сохранять структуру и какие инструменты AI использовать для редактирования.

Преимущества использования готовых промптов очевидны:

Как работают готовые промпты

Готовые промпты определяют набор сообщений пользователя (UserMessage) и ассистента (AssistantMessage), которые клиенты могут использовать напрямую. Когда клиент запрашивает определенный промпт, ваш сервер возвращает список сообщений, которые могут быть отправлены непосредственно Claude. Эти сообщения могут быть статичными или динамически генерироваться на основе параметров, предоставленных клиентом.

Базовая структура определения промпта в контексте MCP может выглядеть следующим образом:

@mcp.prompt(
    name="format_document",
    description="Переписывает содержимое документа в формате Markdown",
)
def format_document(
    doc_id: str = Field(description="ID документа для форматирования"),
) -> list[base.Message]:
    # Здесь будет логика формирования списка сообщений
    pass

В этом примере:

Создание команды форматирования документа

Давайте рассмотрим практический пример. Мы создадим команду форматирования, которая позволит пользователям переформатировать любой документ в синтаксис Markdown. Реализация промпта будет включать подробные инструкции для Claude, чтобы обеспечить наилучший результат:

from mcp.server.fastmcp import FastMCP
from mcp.server.fastmcp.prompts import base
from mcp.server.fastmcp.prompts import Field # Импортируем Field для описания параметров

# Инициализация FastMCP сервера (или аналогичной платформы)
# app = FastMCP(...)

@mcp.prompt(
    name="format_document",
    description="Переписывает содержимое документа в формате Markdown",
)
def format_document(
    doc_id: str = Field(description="ID документа для форматирования"),
) -> list[base.Message]:
    prompt_text = f"""
    Ваша цель — переформатировать документ, используя синтаксис Markdown.
    ID документа, который необходимо переформатировать, следующий: {doc_id}.

    Добавьте заголовки, маркированные списки, таблицы и т.д. по мере необходимости.
    Не стесняйтесь добавлять структуру для улучшения читаемости.
    Используйте инструмент 'edit_document' для редактирования документа.
    После того как документ будет переформатирован, убедитесь, что он соответствует всем стандартам Markdown и легко читается.
    """
    return [
        base.UserMessage(prompt_text)
    ]

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

Тестирование и доработка промптов

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

Процесс тестирования включает в себя:

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

Ключевые преимущества готовых промптов

Детали реализации

Для работы с промптами в MCP-сервере не забудьте импортировать необходимые модули для типов сообщений и самой платформы:

from mcp.server.fastmcp import FastMCP
from mcp.server.fastmcp.prompts import base
from mcp.server.fastmcp.prompts import Field

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

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