Эта статья не для тех, кто уже использует Claude Code. Я не хочу слышать жалобы от пользователей Code в комментариях о том, что я не осветил ту или иную функцию или сценарий. Это общий обзор на ~2000 слов о том, что это такое, почему вы можете этого захотеть, что вам нужно будет обсудить с вашей командой, и куда обращаться за дополнительной информацией.
Я также должен упомянуть, что я использую множество маркированных списков в своих обычных текстах. Как и во всех моих постах, ничего из этого не написано с помощью ИИ, точка. Эти слова исходят непосредственно из моего затуманенного алкоголем мозга, написаны в марте 2026 года, и, несомненно, со временем эта информация потеряет актуальность.
Что такое Claude Code?
Думайте об этом как о приложении (десктопном или командной строки), которое может вызывать другие приложения, включая:
- sqlcmd — утилита командной строки Microsoft для выполнения запросов. Вы привыкли использовать SSMS, потому что она гораздо красивее и мощнее, но sqlcmd вполне подходит, если всё, что вам нужно, — это выполнять запросы и получать результаты, и именно это нужно Claude Code для начала. По мере того как вы будете осваиваться, вы сможете использовать так называемый MCP (Model Context Protocol), который даёт Claude Code более простой способ общения с базой данных.
- Git / Github — чтобы он мог получать последние версии вашего кода приложений (или скриптов администратора баз данных, или, в данном случае, First Responder Kit) из системы контроля версий, вносить изменения и отправлять запросы на включение (pull requests) для вашего ревью. Для целей этой статьи я буду использовать термин Github, но если ваша компания использует другой метод контроля версий, применимы те же принципы.
Это означает, что он имеет доступ к:
- Вашим задачам (issues) и запросам на включение в Github — что может представлять проблемы конфиденциальности для вашей компании.
- Вашей локальной файловой системе — теоретически вы могли бы это ограничить, но на практике вы, вероятно, будете постепенно расширять разрешения Claude Code, позволяя ему делать всё больше.
- Серверу базы данных — поэтому подумайте, куда вы направляете эту штуку и какой логин ей даёте. Если он собирается тестировать изменения кода, ему, вероятно, потребуется изменять хранимые процедуры, создавать/изменять/удалять таблицы, вставлять/обновлять/удалять тестовые данные и т.д. Для более сложных/длительных задач он также будет работать в фоновом режиме, пока вы занимаетесь другими делами, поэтому, вероятно, вы захотите выделить ему отдельный экземпляр SQL Server для его разработки, чтобы он не мешал вашей работе.
- Вашей кодовой базе — и если всё вышеперечисленное не вызвало вопросов о безопасности и конфиденциальности, то это уж точно должно.
Думайте об этом как о внешнем подрядчике.
Когда ваша компания нанимает внешних подрядчиков, они устанавливают множество правовых гарантий. Они заключают:
- Соглашение о неразглашении, чтобы подрядчик не делился вашими секретами с остальным миром.
- Договор, определяющий, за что отвечает каждая сторона и что они предоставят друг другу.
- Требования к страхованию, чтобы убедиться, что подрядчик сможет оплатить возможные грубые ошибки.
- Стандарты отдела кадров, чтобы убедиться, что подрядчик не находится под кайфом и не галлюцинирует во время работы.
С инструментами ИИ вы ничего этого не получаете. Это означает, что если вы решите нанять один из таких инструментов для своей компании, вся ответственность ложится на вас. Более того, любой член вашей команды может поставить под угрозу всю компанию, если не будет принимать правильных решений. Я вполне понимаю, почему некоторые/большинство компаний немного побаиваются этого. Оправданно беспокоиться об этих рисках.
Здесь — и в большинстве случаев, когда вы видите, как я работаю с ИИ в блоге или видео, — я работаю с открытым исходным кодом First Responder Kit или кодом, который я использую в своих учебных курсах. Всё это является открытым исходным кодом, лицензированным по лицензии MIT. Я не беспокоюсь о том, что компании, занимающиеся ИИ, украдут мой код.
Это лучший способ начать и для вас: поиграйте с Claude Code в открытом репозитории Github, который вы обычно используете как пользователь (а не разработчик), например, First Responder Kit, скрипты обслуживания Ola Hallengren, SQL Server Performance Monitor Эрика Дарлинга, DBAtools или даже документацию по Microsoft SQL Server. Научитесь использовать Claude Code там, а позже, когда наберётесь уверенности и одержите несколько побед, подумайте о том, чтобы внедрить его в свою компанию для работы над повседневными задачами. И когда вы это сделаете…
Когда ваша компания нанимает внешнего подрядчика…
Службы безопасности и юридический отдел будут обеспокоены тем:
- К чему имеет доступ Claude Code — т.е. Github, ваша локальная файловая система, ваш сервер разработки базы данных и т.д.
- Куда Claude Code отправляет эти данные для обдумывания/обработки — вы должны предположить, что он отправляет все доступные данные куда-то.
- Если вы отправляете эти данные за пределы компании для обдумывания/обработки, вашу компанию также будет беспокоить то, как мыслитель/обработчик использует ваши данные — не только для обработки ваших запросов, но, возможно, для анализа, чтобы помочь публике или платным пользователям.
Это подводит нас к одному из ключевых решений при использовании Claude Code: где происходит обдумывание/обработка?
Обдумывание может выполняться локально или удалённо.
Claude Code — это приложение, но обдумывание на самом деле происходит не в нём. Claude Code отправляет ваши данные, подсказки, схему базы данных и т.д. куда-то.
Большинство людей используют серверы Anthropic. Они создатели Claude Code. Примерно за 100 долларов в месяц на человека вы получаете неограниченную обработку в их облаке. Преимущество использования серверов Anthropic в том, что вы получаете максимальную производительность с самыми большими языковыми моделями (LLM), которые обладают наилучшими мыслительными способностями, самыми точными ответами и самой большой памятью (контекстом). Недостаток, конечно, в том, что вы отправляете свои данные за пределы компании, и вам это может не нравиться.
Если вас не устраивает Anthropic, возможно, ваша компания предпочтёт модели Google Gemini или модели OpenAI ChatGPT. В любой момент времени это гонка вооружений между этими топ-компаниями (и другими, например, хостинговыми компаниями, такими как OpenRouter) за то, кто предложит наилучший компромисс между скоростью обработки, точностью и стоимостью.
Если вас не устраивает ни один из этих вариантов, вы можете выполнять обработку на собственном сервере. Под «сервером» я могу подразумевать контейнер Docker, работающий на вашем ноутбуке, приложение, установленное на вашем игровом ПК с мощной видеокартой, или общий сервер в вашей компании с множеством GPU.
В этом случае вам решать, какую лучшую LLM вы можете подобрать, которая будет работать как можно быстрее, учитывая аппаратное обеспечение вашего сервера. Существуют крошечные не очень умные модели, которые работают (или, возможно, не спешат) на таком оборудовании, как Raspberry Pi. Есть довольно умные модели, требующие нескольких дорогих и энергоёмких видеокарт. Но даже лучшие локальные модели не могут сравниться с тем, что сегодня предлагают серверы Anthropic.
Хорошая новость в том, что вам не нужно принимать какое-то окончательное решение: вы можете переключаться между облачными и локальными моделями, просто изменив файл конфигурации Claude Code.
Качество подрядчика и подсказок влияет на результаты.
Вообще говоря, чем более новой/лучшей LLM вы пользуетесь и чем меньше проблема, с которой вы работаете, тем более расплывчатыми подсказками вы можете обойтись, например, «у нас проблемы с взаимоблокировками — можете это исправить?»
С другой стороны, чем старше/меньше/дешевле LLM вы используете — особенно маленькие локально размещённые модели — тем более конкретными и направленными должны быть ваши подсказки, чтобы получить отличные результаты. Например, вам, возможно, придётся сказать что-то вроде: «sp_AddCustomer и sp_AddOrder входят во взаимоблокировки на таблице CustomerDetails, когда обе процедуры вызываются одновременно. Можете ли вы уменьшить вероятность взаимоблокировок, внеся изменения в код одной или обеих процедур? Вы можете использовать подсказки оптимизатору (hints), переписывание запросов, логику повторных попыток, всё что угодно, при условии, что транзакции по-прежнему завершаются одинаково.»
И независимо от того, какой LLM вы пользуетесь, чем более масштабными становятся ваши изменения кода, тем важнее становится подсказка. Когда я добавляю новую крупную функцию или предлагаю грандиозное изменение, я начинаю сеанс чата с Claude — не Claude Code, а просто обычным Claude, чат-интерфейсом, таким как ChatGPT — и говорю что-то вроде:
«Я работаю над прикреплённым скриптом sp_Blitz.sql, который создаёт отчёт о проверке работоспособности Microsoft SQL Server. В настоящее время он не совместим с Azure SQL DB, потому что использует sp_MSforeachdb, и некоторые динамические SQL используют команду USE. Я хотел бы использовать Claude Code для выполнения переписывания. Можете ли вы просмотреть код и помочь мне написать хорошую подсказку для Claude Code?»
Я знаю, это звучит как излишество — использовать один ИИ, чтобы сказать другому ИИ, что делать, но я обнаружил, что за считанные секунды он создаёт гораздо лучшую подсказку, чем я мог бы написать сам, учитывая больше пограничных случаев в коде. Затем я редактирую эту подсказку, уточняю некоторые свои проектные решения и цели, а затем, наконец, переношу готовую подсказку в Claude Code для начала работы.
На данный момент я использую Claude Code на отдельной машине.
Мне очень нравится думать об инструментах ИИ, таких как Claude Code, как о внешнем подрядчике. Я уверен, что подрядчик — хороший человек, и я должен ему хоть немного доверять — в конце концов, я тот парень, который его нанял, и я не должен нанимать кого-то, кому я не доверяю. Тем не менее, я должен установить средства защиты.
Поэтому я полностью изолирую Claude Code. Я знаю, это звучит немного паранойей, но сейчас, на Диком Западе ИИ, паранойя — это хорошо.
Для меня всё начинается с изолированного оборудования. Несколько лет назад я приобрёл настольный компьютер под Windows для игр, стриминга и экспериментов с локальными большими языковыми моделями (LLM). У него быстрый процессор, 128 ГБ оперативной памяти, довольно мощный GPU NVidia 4090, Windows 11, Github и SQL Server 2025.
Я считаю этот компьютер машиной Claude Code: он работает там, он живёт там. Так я могу гарантировать, что ни код, ни данные моих клиентов там не хранятся, и там также нет, например, моей электронной почты. Когда я хочу работать, стримить, записывать видео с этого компьютера под Windows, я просто подключаюсь к нему по удалённому рабочему столу со своего обычного ноутбука Mac.
Когда я хочу выполнять работу для клиента без отправки данных в Anthropic, у меня на этой машине также установлен Ollama. Это бесплатная платформа с открытым исходным кодом для запуска ваших собственных локальных моделей. Она поддерживает огромное количество LLM, и не существует единственно правильного ответа на вопрос, какую модель использовать. Мне нравится находить утилиты, такие как llmfit, которые проверяют аппаратное обеспечение, чтобы увидеть, какие модели могут на нём работать, а также посты, например, какие модели лучше всего работают на GPU NVidia RTX 40 серии по состоянию на апрель 2025 года или на процессорах Apple Silicon по состоянию на февраль 2026 года, потому что они помогают мне исключить догадки из экспериментов. Я копирую данные клиентов на эту машину временно, выполняю локальную работу, а затем снова удаляю данные клиента, прежде чем перенастроить Claude Code на работу с серверами Anthropic.
Как вы можете начать работу с Claude Code
Ваша задача, если вы решите её принять, — добавить новое предупреждение в sp_Blitz, когда в SQL Server включены группы доступности на уровне сервера, но в них нет ни одной базы данных. Чтобы помочь, я написал короткую, краткую задачу в GitHub для этого запроса и более длинную, более подробную, чтобы вы также могли увидеть, как качество входных данных влияет на качество кода вашей выбранной LLM.
Для выполнения задачи минимальные шаги:
- Установите Claude Code (я бы рекомендовал сначала версию для терминала, потому что документация к ней гораздо лучше — десктопная версия выглядит круто, но с ней гораздо сложнее начать).
- Склонируйте репозиторий First Responder Kit локально.
- Дайте Claude Code подсказку для написания кода — расскажите ему о задаче в GitHub и попросите подготовить запрос на включение с улучшенным кодом для вашего ревью.
Дополнительные цели:
- Настройте экземпляр SQL Server, к которому Claude Code может подключаться — это может быть существующий экземпляр или новый.
- Настройте sqlcmd или SQL Server MCP, чтобы Claude Code мог подключаться к нему — если вы используете MCP, вам нужно будет отредактировать файлы конфигурации Claude Code, чтобы включить сервер, логин и пароль, которые вы хотите использовать.
- Дайте Claude Code подсказку для тестирования своего кода.
Вам не нужно отправлять свою фактическую работу как запрос на включение — я всё равно не буду принимать эти запросы на включение. (Я просто удалю их, если они придут — и это нормально, если вы это сделаете, я не обижусь.) Эти задачи на GitHub существуют исключительно для того, чтобы помочь вам изучить Claude Code.

Комментариев нет:
Отправить комментарий