Claude Info
AI и агенты

Подготовка к экзамену Claude Architect

avidevelops/claude-architect-exam-prep

Разбор экзаменационных сценариев для сертификации Claude Certified Architect – Foundations: мультиагентные архитектуры, управление контекстом, проектирование инструментов и пакетная обработка. Подходит AI-разработчикам и архитекторам систем.

Установка

terminal
bash
git clone https://github.com/avidevelops/claude-architect-exam-prep.git

README

Contributions Welcome

Claude Certified Architect – Foundations: Руководство по подготовке к экзамену

О руководстве

Это руководство составлено на основе детального разбора вопросов в формате экзамена для сертификации Claude Certified Architect – Foundations. В нём разобраны мультиагентные архитектуры, управление контекстом, проектирование инструментов и принципы пакетной обработки с акцентом на архитектурные компромиссы и лучшие практики, а не на техники промптинга.

Как устроен экзамен

Экзамен Claude Architect Foundations проверяет способность проектировать отказоустойчивые, готовые к продакшену AI-системы. Он состоит из сценарных вопросов с множественным выбором, охватывающих Domain 1: Agentic Architecture, Domain 4: API & Orchestration и Domain 5: Context Management. Экзамен отдаёт приоритет структурным, детерминированным решениям (например, проектирование схем и границы инструментов) над вероятностными подходами (например, инструкции в промпте).

Рассматриваемые сценарии

Руководство охватывает ключевые архитектурные сценарии, с которыми вы, скорее всего, столкнётесь:

  • Агентные архитектуры: порождение субагентов, параллелизм и декомпозиция рабочих процессов.
  • Управление контекстом: устранение эффекта «потери в середине», раздувания контекста и сохранение происхождения данных через суммаризацию.
  • Проектирование инструментов и схем: применение бизнес-правил, стандартизация вывода и проектирование машиночитаемых идентификаторов для цепочек инструментов.
  • Пакетная обработка и состояние: возобновление упавших сессий, оптимизация буферов SLA и обработка частичных сбоев в батчах.

Вопросы и ответы

Q1: Обработка семантических ошибок в итогах извлечения

Сценарий: Проектирование схем и самокоррекция

Вопрос: Автоматизированный пайплайн извлечения счетов-фактур иногда выдаёт структурированный JSON, в котором сумма извлечённых позиций не совпадает с итоговой суммой, извлечённой из счёта. Какой архитектурный подход лучше всего подходит для обработки этой семантической ошибки?

Варианты:

  • A) Добавить поле calculated_total рядом с полем stated_total, сравнивать их и отправлять несоответствия на проверку человеком.
  • B) Автоматически корректировать значения позиций так, чтобы их сумма математически совпадала с заявленным итогом.
  • C) Добавить вторичный шаг с LLM для устранения математических ошибок.
  • D) Добавить больше few-shot примеров с правильной математикой в промпт.

✅ Правильный ответ: A — извлекать calculated_total и помечать расхождения

Почему это правильно: JSON-схемы предотвращают синтаксические ошибки, но не семантические (например, неверные вычисления). Наиболее надёжный паттерн самокоррекции — извлекать одновременно то, что документ явно указывает (stated_total), и то, что модель вычисляет из позиций (calculated_total). При несовпадении запись помечается для проверки человеком. Это повышает надёжность без фабрикации данных.

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

  • B) Корректировка позиций создаёт значения, не подтверждённые документом, нарушая целостность данных.
  • C) Добавляет излишние архитектурные накладные расходы, когда доступна явная детерминированная валидация.
  • D) Few-shot примеры не могут гарантировать детерминированную согласованность для арифметики.

💡 Вывод для экзамена: Проектируйте потоки самокоррекции, извлекая одновременно заявленное и вычисленное значения, и направляйте несоответствия на проверку человеком, а не «исправляйте» ошибки исходного документа молча.


Q2: Масштабирование доработки промптов vs. пакетная обработка

Сценарий: Пакетная обработка и оптимизация затрат

Вопрос: Вы готовитесь обработать 50 000 устаревших документов с помощью Batch API. Первоначальный тест на 500 документах показывает, что 18% из них требуют 2–3 итерации доработки промпта для корректного извлечения данных. Какая стратегия наиболее экономически эффективна для масштабирования этой нагрузки?

Варианты:

  • A) Интерактивно доработать промпт на репрезентативной выборке для максимизации успеха с первого прохода, затем обработать все 50 000 документов через Batch API.
  • B) Использовать Batch API для немедленной обработки всех 50 000 документов, выявить сбои в масштабе и повторно отправить их.
  • C) Обработать 50 000 документов через синхронный API для динамической доработки промпта по каждому документу.
  • D) Начать отправку батчей по 5 000 документов для постепенного изучения режимов сбоев в продакшене.

✅ Правильный ответ: A — сначала доработать интерактивно, затем запустить пакетную обработку

Почему это правильно: Руководство явно рекомендует дорабатывать промпты на репрезентативной выборке до пакетной обработки больших объёмов. Итеративные повторные отправки в масштабе уничтожают экономию затрат от Batch API. Устранив режимы сбоев на локальной выборке, вы обеспечиваете надёжность промпта и максимизируете успех с первого прохода при запуске батча на 50 000 документов.

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

  • B) Оплата обучения промпту на батчах продакшен-размера приводит к масштабным дорогостоящим циклам повторных отправок.
  • C) Синхронный API лишает вас 50% экономии затрат от Batch API.
  • D) По-прежнему оплачивает итеративное изучение сбоев в большом масштабе.

💡 Вывод для экзамена: Сначала доработайте промпты на репрезентативной выборке для максимизации успеха с первого прохода, затем запустите полный объём через Batch API, чтобы минимизировать дорогостоящие повторные отправки.


Q3: Расписание Batch API для SLA

Сценарий: Управление SLA и асинхронные API

Вопрос: Ваша система обрабатывает асинхронные пользовательские запросы со строгим соглашением об уровне обслуживания (SLA), требующим выдачи результатов в течение 30 часов с момента отправки. Вы планируете использовать Message Batches API, выполнение которого может занимать до 24 часов. Какое расписание отправки батчей лучше всего соответствует SLA при максимальной экономической эффективности?

Варианты:

  • A) Отправлять батчи каждые 6 часов.
  • B) Отправлять один большой батч в конце каждого дня.
  • C) Использовать синхронный API для гарантированного соблюдения SLA.
  • D) Отправлять батчи каждые 4 часа.

✅ Правильный ответ: D — отправлять батчи каждые 4 часа

Почему это правильно: Общее время обработки в худшем случае — это время ожидания документом следующего окна батча плюс максимальное время выполнения батча (24 часа). При окне в 4 часа: 4 + 24 = 28 часов — укладывается в SLA 30 часов с буфером 2 часа. При окне в 6 часов: 6 + 24 = 30 часов — ровно на границе SLA без буфера на задержки.

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

  • A) 6 + 24 = 30 часов — нет буфера на задержки обработки.
  • B) До 24 + 24 = 48 часов — грубое нарушение SLA.
  • C) Синхронный API соблюдает SLA, но лишает вас 50% экономии затрат от Batch API.

💡 Вывод для экзамена: При проектировании расписания батчей для SLA используйте формулу: окно_батча + макс_время_выполнения ≤ SLA. Выбирайте наибольшее окно, которое оставляет разумный буфер.


Q4: Возобновление упавшей пакетной задачи

Сценарий: Отказоустойчивость и управление состоянием

Вопрос: Пакетная задача на 10 000 документов завершилась сбоем после обработки 6 000 документов из-за системного сбоя. Какой подход наиболее эффективен для возобновления работы без повторной обработки уже завершённых документов?

Варианты:

  • A) Перезапустить весь батч с нуля, чтобы обеспечить согласованность.
  • B) Вести внешний реестр обработанных идентификаторов документов и отправить новый батч только с необработанными документами.
  • C) Использовать синхронный API для оставшихся документов, чтобы избежать повторного сбоя батча.
  • D) Разделить оставшиеся 4 000 документов на несколько меньших батчей для снижения риска.

✅ Правильный ответ: B — вести внешний реестр и повторно отправить только необработанные документы

Почему это правильно: Batch API не предоставляет встроенного механизма возобновления. Правильный паттерн — хранить внешний реестр (например, в базе данных или файле состояния) обработанных идентификаторов документов. При сбое вы вычисляете разницу между полным набором и обработанными документами и отправляете новый батч только с оставшимися.

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

  • A) Повторная обработка 6 000 документов удваивает затраты без необходимости.
  • C) Переключение на синхронный API лишает вас экономии затрат и не решает проблему управления состоянием.
  • D) Разбиение на меньшие батчи снижает риск, но не решает проблему идемпотентного возобновления.

💡 Вывод для экзамена: Всегда проектируйте пакетные пайплайны с внешним отслеживанием состояния. Идемпотентность — ключевое свойство надёжных систем пакетной обработки.


Q5: Устранение эффекта «потери в середине»

Сценарий: Управление контекстом

Вопрос: Ваш агент обрабатывает длинные документы и демонстрирует снижение точности для информации, расположенной в середине контекстного окна. Какой архитектурный подход лучше всего устраняет эту проблему?

Варианты:

  • A) Увеличить размер контекстного окна, чтобы вместить весь документ.
  • B) Разбить документ на фрагменты, обработать каждый независимо и агрегировать результаты.
  • C) Переместить наиболее важную информацию в начало и конец промпта.
  • D) Использовать более высокую температуру для повышения внимания модели к средней части.

✅ Правильный ответ: B — разбить на фрагменты и агрегировать результаты

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

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

  • A) Большее контекстное окно усугубляет проблему, а не решает её.
  • C) Помогает для известных ключевых фактов, но не масштабируется на произвольные документы.
  • D) Температура влияет на случайность вывода, а не на механизмы внимания.

💡 Вывод для экзамена: Для длинных документов предпочитайте архитектуры разбиения на фрагменты с агрегацией результатов вместо попыток вместить всё в один контекст.


Q6: Проектирование идентификаторов для цепочек инструментов

Сценарий: Проектирование инструментов и машиночитаемые идентификаторы

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

Варианты:

  • A) Использовать имена клиентов как идентификаторы между агентами.
  • B) Использовать структурированные уникальные идентификаторы (например, CUST-12345) и передавать их явно между вызовами инструментов.
  • C) Позволить каждому агенту самостоятельно искать клиентов по контексту.
  • D) Использовать адреса электронной почты как уникальные идентификаторы.

✅ Правильный ответ: B — структурированные уникальные идентификаторы с явной передачей

Почему это правильно: Машиночитаемые структурированные идентификаторы (например, CUST-12345) детерминированы, однозначны и устойчивы к вариациям естественного языка. Явная передача идентификаторов между вызовами инструментов устраняет неоднозначность и делает цепочки инструментов надёжными и отлаживаемыми.

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

  • A) Имена не уникальны и подвержены вариациям написания.
  • C) Самостоятельный поиск по контексту вводит недетерминированность и риск ошибочного сопоставления.
  • D) Адреса электронной почты могут меняться и не всегда доступны во всех системах.

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


Ключевые архитектурные принципы

ПринципПрименение
Детерминированность над вероятностностьюПредпочитайте схемы, валидацию и явные идентификаторы инструкциям в промпте
Внешнее отслеживание состоянияВсегда ведите реестры состояния вне модели для возобновляемых пайплайнов
Разбиение на фрагменты для длинных контекстовСтруктурно устраняйте эффект «потери в середине»
Доработка промптов до масштабированияОптимизируйте на выборке перед запуском полных батчей
Буферы SLAПроектируйте расписания батчей с явными временными буферами
Явная передача идентификаторовПередавайте структурированные идентификаторы между агентами, не полагайтесь на разрешение по контексту

Вклад в проект

Если вы готовитесь к экзамену и хотите добавить разборы вопросов, исправить объяснения или расширить охват сценариев — pull request'ы приветствуются.

Похожие скиллы