{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Андрей Крисанов: заметки с тегом агенты",
    "_rss_description": "Блог Андрея Крисанова о разработке в эпоху ИИ: прикладной ИИ, инфраструктура ИИ, ИИ-нативные продукты и управление инженерными командами.",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/agenticeng.ru\/tags\/agenty\/",
    "feed_url": "https:\/\/agenticeng.ru\/tags\/agenty\/json\/",
    "icon": "https:\/\/agenticeng.ru\/pictures\/userpic\/userpic@2x.jpg?1775503436",
    "authors": [
        {
            "name": "Андрей Крисанов",
            "url": "https:\/\/agenticeng.ru\/",
            "avatar": "https:\/\/agenticeng.ru\/pictures\/userpic\/userpic@2x.jpg?1775503436"
        }
    ],
    "items": [
        {
            "id": "9",
            "url": "https:\/\/agenticeng.ru\/all\/future-of-mcp\/",
            "title": "Будущее MCP",
            "content_html": "<p>Посмотрел доклад David Soria Parra из Anthropic про будущее MCP.<\/p>\n<p>В 2026 году узким местом для AI-агентов становятся уже не модели, а связность между разными компонентами ИИ-системы: как агент подключается к инструментам, данным, приложениям, какие права доступа у него есть, как вокруг всего этого строить UX и бизнес-сценарии.<\/p>\n<p>Основые тезисы из доклада Дэвида с моими дополнениями 👇🏻<\/p>\n<h3>MCP — не серебряная пуля, а важный компонент агентной системы<\/h3>\n<p>Лучшие агенты будут использовать не только MCP, но и:<\/p>\n<ul>\n<li>CLI<\/li>\n<li><a href=\"https:\/\/agentskills.io\/home\">skills<\/a><\/li>\n<li>браузер и другие приложения<\/li>\n<li>API сервисов<\/li>\n<li>платформенные решения<\/li>\n<\/ul>\n<p>Основная мысль в том, чтобы дать агенту правильный интерфейс доступа к нужному действию. Иногда проще предоставить CLI, а в других ситуациях сделать полноценный MCP-сервер с авторизацией, аудитом и контролем доступа. Где-то же понадобится полноценный gateway между агентами и корпоративными системами.<\/p>\n<h3>REST API → MCP 1:1 — плохая идея<\/h3>\n<p>Не стоит брать REST API и превращать его в MCP-сервер просто обернув суще API-методы.<\/p>\n<p>REST API обычно спроектирован для разработчиков и CRUD-операций:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">GET \/users\nPOST \/orders\nPATCH \/documents\/:id<\/code><\/pre><p>А агенту чаще нужен не набор низкоуровневых методов, а осмысленное действие:<\/p>\n<ul>\n<li>создай отчёт за период<\/li>\n<li>найди договор и проверь риски<\/li>\n<li>подготовь черновик ответа клиенту<\/li>\n<li>сравнить версии документа<\/li>\n<\/ul>\n<p>Хороший MCP-интерфейс должен быть нативным для агента, а не оберткой поверх когда-то разработанного API. Это важный сдвиг в мышлении при проектировании агентных систем.<\/p>\n<h3>Информация о тулах должна быть доступна модели по требованию<\/h3>\n<p>Одна из проблем, с которой мы сейчас сталкиваемся на практике — многие интеграции через MCP выгружают агенту огромный список tools, который затем утекает в контекстное окно модели. Как следствие:<\/p>\n<ul>\n<li>модель хуже выбирает нужный инструмент<\/li>\n<li>растёт стоимость запроса<\/li>\n<li>растёт latency ответа<\/li>\n<li>повышается риск неправильного tool call<\/li>\n<li>контекст забивается описаниями инструментов вместо полезной информации<\/li>\n<\/ul>\n<p>Anthropic предлагает реализовывать progressive discovery: агент должен постепенно получать нужные инструменты, а не весь список доступных tools сразу.<\/p>\n<p>Для разработчика это означает, что нам нужно думать не только о том, какие tools предоставлять модели, но и как модель будет их находить.<\/p>\n<h3>Skills и MCP не конкуренты<\/h3>\n<p>Skills хорошо подходят для локальных, процедурных, CLI-based сценариев. Например, «возьми ffmpeg, обработай видео, положи результат сюда». MCP лучше подходит там, где нужны:<\/p>\n<ul>\n<li>авторизация<\/li>\n<li>RBAC<\/li>\n<li>аудит действий и observability<\/li>\n<li>управление доступом к инструментам<\/li>\n<li>стабильный контракт между агентом и внешней системой<\/li>\n<\/ul>\n<p>Общая рекомендация сейчас: используйте самый простой механизм, который решает вашу задачу. MCP-сервер не нужен для каждого shell-скрипта. Но если инструмент живёт в enterprise-среде и работает к чувствительными данными, то Skills — менее надёжное решение.<\/p>\n<h3>Enterprise-агентам нужен gateway<\/h3>\n<p>Для компаний главный вывод такой: нельзя позволять каждой команде поднимать свой зоопарк MCP-серверов и гейтвеев.<\/p>\n<p>Нужен общий слой, который решает следующие задачи:<\/p>\n<ul>\n<li>единая точка подключения инструментов<\/li>\n<li>авторизация и политики доступа<\/li>\n<li>аудит вызова tools<\/li>\n<li>лимиты<\/li>\n<li>логирование, observability<\/li>\n<li>контроль того, какие агенты к чему имеют доступ<\/li>\n<li>контроль жизненного цикла инструментов<\/li>\n<\/ul>\n<p>Иначе через год разработки получится не AI-платформа, а распределённая коллекция небезопасных интеграций, которые никто не понимает и не контролирует.<\/p>\n<p>В докладе это формулируется как движение к общему connectivity\/gateway-слою, т. е. не каждый агент сам знает обо всех системах, а платформа даёт ему управляемый доступ.<\/p>\n<h3>Идентичность агентов<\/h3>\n<p>Сейчас большинство систем всё ещё реализуют такую цепочку действий: пользователь авторизовался → пользователь нажал кнопку → система выполнила действие.<\/p>\n<p>Но с агентами появляется новая проблема — агент действует от имени пользователя, но не всегда синхронно, не всегда сразу, его действия могут выполняться продолжительное время, иногда через несколько систем.<\/p>\n<p>Возникают вопросы:<\/p>\n<ul>\n<li>кто именно вызвал tool<\/li>\n<li>от чьего имени<\/li>\n<li>с какими правами<\/li>\n<li>можно ли агенту продолжить задачу без подтверждения пользователя<\/li>\n<li>как отозвать доступ<\/li>\n<li>как показать аудитору, что произошло<\/li>\n<\/ul>\n<p>Это отдельный пласт инженерной работы. И он пока решён хуже, чем хотелось бы.<\/p>\n<h3>TLDR;<\/h3>\n<p>MCP — это не просто новый стандарт для тулов. Это сигнал, что разработчикам придётся учиться проектировать интерфейсы для агентов, а не только API для людей и frontend-приложений.<\/p>\n<p>Практические советы:<\/p>\n<ul>\n<li><b>Не делайте глупую 1-1 обертку REST-to-MCP<\/b>. Сначала подумайте, какое действие реально должен выполнить агент.<\/li>\n<\/ul>\n<ul>\n<li><b>Проектируйте тулы как атомарные действия, которые можно соединять в более крупную задачу<\/b>. Не createUser, updateUser, deleteUser, а «подготовить пользователя к онбордингу», «проверить доступы к X», «собрать контекст по клиенту».<\/li>\n<\/ul>\n<ul>\n<li><b>Ограничивайте набор тулов для задачи<\/b>. Чем больше инструментов вы добавите в контекст, тем хуже может работать агент (а точнее модель).<\/li>\n<\/ul>\n<ul>\n<li><b>Думайте о discovery инструментов по запросу<\/b>. Агенту не обязательно знать обо всех тулах сразу. Лучше сделать каталог тулов и progressive discovery.<\/li>\n<\/ul>\n<ul>\n<li><b>Сразу закладывайте аудит и работу с правами доступа<\/b>. Особенно если инструмент может читать документы или менять данные.<\/li>\n<\/ul>\n<ul>\n<li><b>Используйте CLI там, где этого достаточно<\/b>. Не стоит реализовывать MCP ради MCP.<\/li>\n<\/ul>\n<ul>\n<li><b>Для enterprise-сценариев нужен gateway<\/b>. Без него MCP быстро превращается в shadow IT для агентов.<\/li>\n<\/ul>\n<div class=\"e2-text-video\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/v3Fr2JR47KA?enablejsapi=1\" allow=\"autoplay\" frameborder=\"0\" allowfullscreen><\/iframe>\n<div class=\"e2-text-caption\">The Future of MCP — David Soria Parra, Anthropic<\/div>\n<\/div>\n",
            "summary": "Посмотрел доклад David Soria Parra из Anthropic про будущее MCP.\r\n\r\nВ 2026 году узким местом для AI-агентов становятся уже не столько модели, а связность между разными компонентами системы: как агент подключается к инструментам, данным, приложениям, какие права доступа у него есть, как вокруг всего этого строить UX и бизнес-сценарии.\r\n\r\nОсновые тезисы из доклада Дэвида с моими дополнениями.",
            "date_published": "2026-05-05T14:09:07+03:00",
            "date_modified": "2026-05-05T15:20:07+03:00",
            "tags": [
                "MCP",
                "агенты",
                "инфраструктура ИИ"
            ],
            "image": "https:\/\/agenticeng.ru\/pictures\/remote\/youtube-v3Fr2JR47KA-cover.jpg",
            "_date_published_rfc2822": "Tue, 05 May 2026 14:09:07 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "9",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/agenticeng.ru\/pictures\/remote\/youtube-v3Fr2JR47KA-cover.jpg"
                ]
            }
        },
        {
            "id": "7",
            "url": "https:\/\/agenticeng.ru\/all\/go-and-coding-agents\/",
            "title": "Go как язык программирования в эпоху агентов",
            "content_html": "<p>На дворе 2026 год, и любые рассуждения о разработке с AI-агентами рискуют устареть быстрее, чем мы допишем README.md в нашем репозитории. Тем не менее некоторые вещи уже начинают выглядеть не как временный шум, а как новые инженерные практики.<\/p>\n<p>Одна из таких вещей — изменение отношения к языкам программирования.<\/p>\n<p>Раньше мы часто выбирали язык программирования по тому, насколько на нём удобно писать человеку. Насколько он выразителен или позволяет быстро накидать прототип. Насколько приятно читать написанный код через полгода, когда ты уже забыл, зачем вообще всё это делал.<\/p>\n<p>AI меняет картину. Если заметную часть кода пишет не человек, а агент, то удобство языка остаётся важным для нас, разработчиков, но перестаёт быть единственным критерием при выборе языка программирования для нового проекта. Внезапно оказывается, что язык должен быть удобен ещё и для агентного цикла: сгенерировал код, собрал проект, прогнал тесты, получил ошибку, исправил, повторил.<\/p>\n<p>И в таком цикле Go выглядит неожиданно хорошо.<\/p>\n<h3>Так ли критичны недостатки Go<\/h3>\n<p>Go всегда был немного странным языком в глазах людей, привыкших к более выразительным альтернативам. Он простой, иногда слишком. Многословный и без особой магии, с ручной обработкой ошибок. С кодом, который часто выглядит так, будто его писал очень дисциплинированный, но слегка потерявший интерес к программированию разработчик.<\/p>\n<p>Примерно так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"go\">data, err := os.ReadFile(path)\nif err != nil {\n    return fmt.Errorf(&quot;read config %q: %w&quot;, path, err)\n}<\/code><\/pre><p>Никакой поэзии — зато всё понятно.<\/p>\n<p>Такая многословность иногда раздражает. Писать однотипную обработку ошибок руками — удовольствие так себе. Генерировать обвязку, тесты, HTTP-ручки, конфигурацию, простые клиенты к API — тоже не самая вдохновляющая работа.<\/p>\n<p>Но AI-агентам для написания кода всё равно. Они не страдают от кучи похожего кода, не закатывают глаза на очередной <i>if err != nil<\/i>. Они просто генерируют код, а потом получают от компилятора и тестов обратную связь.<\/p>\n<p>В этот момент недостатки Go перестают быть такими уж серьёзными. А старые достоинства — простота, явность, единообразие — становятся гораздо важнее.<\/p>\n<h3>AI любит предсказуемость<\/h3>\n<p>Чем больше в языке и экосистеме вариантов сделать одно и то же, тем выше шанс, что модель выберет не тот вариант.<\/p>\n<p>В экосистемах вроде JavaScript или Python это видно особенно хорошо. Исторически там накопилось много способов собрать проект, управлять зависимостями, писать асинхронный код, строить веб-приложения, описывать конфигурацию и раскладывать файлы по директориям.<\/p>\n<p>Для опытного разработчика это пространство выбора. Для модели — пространство для галлюцинаций.<\/p>\n<p>Go устроен иначе. В нём меньше вариантов, меньше магии, меньше стилистической свободы. Типичный Go-код часто похож на другой Go-код, и это не баг, а фича. У языка есть стандартный форматтер, понятный набор инструментов, быстрый компилятор, простая модель сборки и достаточно единообразная культура написания кода. Это делает Go удобным не только для людей, но и для AI-агентов.<\/p>\n<p>Модель лучше работает там, где меньше случайности. Go как раз про это.<\/p>\n<h3>Хороший агентный цикл важнее синтаксиса<\/h3>\n<p>В разработке c AI-ассистентами и агентами не надо верить, что модель сразу напишет идеальный код — это завышенное ожидание. Скорее всего, не напишет. Или напишет почти правильно, что иногда даже хуже.<\/p>\n<p>Нормальный процесс выглядит иначе: <i>план → генерация кода → сборка → тесты → исправления → ревью<\/i>.<\/p>\n<p>И чем проще этот цикл, тем лучше:<\/p>\n<pre class=\"e2-text-code\"><code class=\"shell\">gofmt -w .\ngo test .\/...\ngo vet .\/...\ngolangci-lint run<\/code><\/pre><p>Ошибки компилятора обычно конкретные. Тесты запускаются просто. Форматирование единое. Линтеры можно встроить в CI. Сборка проекта не требует сложного окружения и скриптов. Во многих случаях на выходе получается один бинарник, который легко положить в контейнер и отправить в продакшен.<\/p>\n<p>Такие скучные вещи делают AI-разработку безопаснее. Промптами можно объяснить агенту многое, но не всё. А вот компилятор, тесты, линтеры, контракты API и CI-проверки не интерпретируют задачу творчески, как это могут делать модели. Они просто говорят: вот здесь сломано, чини.<\/p>\n<p>Такие инструменты гораздо надёжнее, чем надеяться на длинный промпт в духе «пожалуйста, пиши хороший код».<\/p>\n<h3>Go как язык для разработки с кодинговыми агентами<\/h3>\n<p>AI не отменяет инженерную дисциплину. Скорее наоборот: он делает её важнее.<\/p>\n<p>Когда в проекте появляются агенты, цена плохих тестов, слабого CI, неясных контрактов и хаотичной структуры кода растёт. Агент может быстро написать много кода. Но если среда не умеет этот код проверять, мы просто быстрее получим больше проблем и технического долга.<\/p>\n<p>В этом смысле Go интересен не сам по себе, а как пример правильной экосистемы для новой реальности:<\/p>\n<ul>\n<li>меньше магии, больше явности<\/li>\n<li>быстрый feedback loop<\/li>\n<li>хорошие инструменты из коробки<\/li>\n<li>простая сборка под любую архитектуру и ОС<\/li>\n<\/ul>\n<p>Не самый красивый язык, не самый выразительный и не самый модный. Но очень удобный для мира, где код всё чаще пишется в паре с машиной.<\/p>\n<p>И, возможно, именно поэтому Go сейчас выглядит сильнее, чем несколько лет назад. Не потому что он изменился, а потому что изменился контекст вокруг него.<\/p>\n",
            "summary": "Как AI-агенты меняют критерии выбора языков программирования и почему простота, предсказуемость и хороший набор инструментов снова делают Go сильным вариантом для разработки продакшен-систем.",
            "date_published": "2026-04-24T23:09:06+03:00",
            "date_modified": "2026-04-24T23:10:05+03:00",
            "tags": [
                "go",
                "golang",
                "агенты",
                "ИИ"
            ],
            "_date_published_rfc2822": "Fri, 24 Apr 2026 23:09:06 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "7",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4199,
    "_e2_ua_string": "Aegea 11.5 (v4199)"
}