user11421604

user11421604

На Пикабу
Дата рождения: 4 июня
в топе авторов на 540 месте
100 рейтинг 0 подписчиков 0 подписок 2 поста 0 в горячем

Секретные функции Claude

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

Файл CLAUDE.md в корне проекта — это постоянная память: правила оттуда действуют в каждом разговоре. Навыки подключают готовый сценарий одной командой со слэшем. Подагенты уходят искать по десяткам файлов и возвращают только вывод, не засоряя контекст. Хуки перехватывают вызовы инструментов и запускают свои проверки. А MCP-серверы дают Claude руки: браузер, базу, ваш собственный сервис. Всё это уже в коробке — достаточно открыть настройки.

Я, честно говоря, раньше даже не задумывался, что половина этих возможностей существует. А вы уже пробовали что-то из этого на практике?

HTTP 200 — это ещё не «получилось»

Есть правило, которое кажется очевидным: код 200 — значит запрос удался. На нём построены половина обёрток над HTTP и почти все туториалы. И оно неверно чаще, чем хотелось бы.

Как это выглядит

Сервис отвечает 200 OK, заголовки в порядке, тело — валидный JSON. А внутри тела написано, что ничего не произошло:

Ответ 200 OK, в теле которого написано, что запрос не выполнен

Ответ 200 OK, в теле которого написано, что запрос не выполнен

Проверка response.ok на таком ответе возвращает true. Код едет дальше с пустыми руками и узнаёт об этом через три шага — там, где причину уже не видно.

Почему так делают

Причин обычно три, и ни одна не про лень:

  • API вырос из формы на сайте: браузеру всегда отвечали страницей, а ошибку рисовали внутри неё.
  • Между вами и сервисом стоит прокси или защита от ботов, которая переписывает коды на свои.
  • «Не выполнено» для сервиса — штатный ответ, а не сбой: кончился баланс, не хватило прав, задача ещё считается.
Отдельно обидная разновидность — третья. Ответ «ещё не готово» приходит тем же кодом ошибки, что и «сломалось», и клиент бросает повторять именно тогда, когда повторить и надо было.

Что с этим делать

Не считать транспорт ответом. У HTTP свой слой: он говорит, доехал ли запрос. Успех операции живёт в теле, и разбирать его нужно отдельно — по полю, которое сервис назвал сам.

И ещё одно, из практики: заводя обёртку над чужим API, класс ошибки решайте по коду в теле, а не по тексту сообщения. Текст сервис перепишет на следующей неделе, и разбор строки сломается молча — ровно так же, как ломается вера в двухсотый код.

Показать полностью 3
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества