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

Введение: Что такое маршрутизация рабочих процессов?

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

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

Проблема универсальных промптов

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

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

Определение категорий контента

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

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

Как работает маршрутизация на практике

Процесс маршрутизации обычно состоит из двух основных шагов:

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

Рассмотрим наш пример с генерацией сценариев видео. Если пользователь вводит "Функции Python" в качестве темы, вы сначала попросите Claude категоризировать ее. Это можно сделать с помощью промпта, подобного этому:

Категоризируй тему видео в одну из перечисленных категорий:

<topic>Функции Python</topic>

<categories>

</categories>

Claude, скорее всего, ответит "Educational". Получив эту категорию, ваше приложение затем выберет специализированный промпт для образовательного контента и отправит его Claude вместе с темой "Функции Python" для генерации фактического сценария видеоролика. Таким образом, Claude будет точно знать, какой стиль и формат ожидаются, что приведет к более качественному и релевантному результату.

Архитектура маршрутизируемого рабочего процесса

Архитектура маршрутизируемого рабочего процесса следует четкому шаблону:

  1. Ввод пользователя сначала поступает в компонент-маршрутизатор (router).
  2. Маршрутизатор использует первоначальный вызов к Claude (через API) для категоризации запроса.
  3. На основе полученной категории ввод перенаправляется в один конкретный конвейер обработки.
  4. Каждый такой конвейер может иметь свой собственный уникальный рабочий процесс, специализированные промпты, а также использовать специфические инструменты (например, для поиска информации, генерации изображений и т.д.), оптимизированные именно для этой категории.

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

Когда использовать маршрутизацию?

Маршрутизация рабочих процессов особенно эффективна в следующих случаях:

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

Заключение

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