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

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

На самом деле, если вы уже работали с Claude, используя инструменты (tool use), вы, возможно, неосознанно создавали элементы агентов. Когда вы предоставляете Claude набор инструментов и позволяете ему самостоятельно определять, как их использовать для достижения цели, это и есть проявление агентского поведения.

Рабочие Процессы против Агентов: Когда что использовать?

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

Проще говоря: если у вас есть четкий "рецепт" для решения проблемы, используйте рабочий процесс. Если у вас есть "шеф-повар" (Claude) и "ингредиенты" (инструменты), но нет точного рецепта, используйте агента.

Пример Рабочего Процесса: От Изображения к CAD-модели

Давайте рассмотрим практический пример рабочего процесса. Представьте, что вы создаете веб-приложение, где пользователи могут загрузить изображение металлической детали, а ваше приложение автоматически генерирует из него файл STEP (стандартный формат для 3D-моделей в промышленности).

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

Вот как можно разбить этот рабочий процесс на этапы:

  1. Описание объекта: Передайте изображение в Claude, попросив его подробно описать изображенный объект, его размеры, форму и особенности.
  2. Моделирование: На основе полученного описания попросите Claude использовать библиотеку CadQuery (популярную Python-библиотеку для параметрического 3D-моделирования) для создания 3D-модели объекта. Claude будет генерировать код CadQuery, который затем будет выполнен.
  3. Рендеринг: Создайте визуализацию (рендеринг) полученной 3D-модели.
  4. Оценка и исправление: Попросите Claude оценить рендеринг 3D-модели, сравнив его с исходным изображением. Если Claude обнаружит несоответствия или ошибки, он должен предложить исправления для кода CadQuery, и цикл повторяется до тех пор, пока модель не будет соответствовать исходному изображению с достаточной точностью.

Паттерн "Оценщик-Оптимизатор"

Описанный выше рабочий процесс моделирования является прекрасным примером паттерна "Оценщик-Оптимизатор" (Evaluator-Optimizer). Этот паттерн очень эффективен для задач, требующих итеративного улучшения. Вот как он работает:

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

Зачем изучать паттерны рабочих процессов?

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

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

Для дальнейшего повышения производительности и масштабируемости этих рабочих процессов можно использовать такие решения, как MCP (Multi-Cloud Platform) серверы, которые предоставляют необходимую инфраструктуру для выполнения сложных и ресурсоемких задач.