📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

8 AI Concepts You Need to Know to Use AI Well

Automata Learning Lab31:20

Transcription

Вот несколько концепций, которые вам нужно знать, чтобы иметь возможность использовать ИИ. Ну, во-первых, ИИ — это очень мощный движок для поиска закономерностей. Это означает, что модель способна улавливать множество закономерностей в данных, а затем выдавать результаты, отражающие закономерности, изученные в этих данных. То, как это влияет на лучший способ использования ИИ на повседневной основе, говоря конкретно о больших языковых моделях, заключается, например, в том, что если вы даете ей вводные данные, какой ваш любимый завтрак? Простое использование слова «завтрак» в конце этого предложения как бы формирует распределение возможных слов, которые могут быть связаны с ответом на это предложение. Так что представьте себе такие вещи, как блины, что было бы в моем случае, или хлопья, или яйца, или бекон, или что бы там ни было вашим любимым завтраком. Теперь представьте, что если бы мы просто поменяли это одно слово с «завтрак» на «обед», распределение возможных слов, которые могут появиться в ответе, полностью изменилось бы. Вы бы перешли от продуктов для завтрака, таких как хлопья, яйца, блины и бекон, к таким вещам, как, я не знаю, паста, суши, стейк. Суть в том, что слова, которые вы используете в своем входном запросе, формируют распределение возможностей того, что вы можете получить от этой модели. И представьте себе сценарий, когда вы просите модель обобщить статью, например. Вы можете представить, что если вы попросите модель обобщить статью, просто сказав «обобщи эту статью», верно? вы на самом деле не помогаете модели ограничить это распределение возможных результатов, верно? Вы делаете это ненужным образом трудным для модели, какой именно обобщение вам нужно, верно? Вам нужны основные пункты, основные выводы? Вам нужно обобщение по разделам, по главам, по разбивке? Но если вы попросите модель обобщить это менее чем в 200 словах в табличном формате, показывающем использованные методы, полученные результаты, размер полученного эффекта и четкие выводы, сделанные из этих результатов. Если бы вы так сказали, тип вывода, который вы получили бы, был бы совершенно другим, потому что вы пытаетесь сформировать распределение возможностей того, что может выйти из этой модели. Суть здесь не только в том, чтобы быть ясным в том, как вы запрашиваете модель, но и в том, чтобы учитывать, что вы пытаетесь обусловить ее для получения правильного результата. Итак, вы хотите дать ей слова и ограничения, которые делают для модели очень трудным не получить то, что вы ищете.

Теперь эти модели не читают текст, верно? Эти модели читают то, что называется токеном. Токен — это не что иное, как небольшая часть слова. Если вы поищете это в Google, вы увидите, что токен составляет примерно 75% слова. Что это значит? Это означает, что модель принимает текст в качестве входных данных. И первое, что происходит, это преобразование входного текста в набор частей, называемых токенами. А затем эти части текста будут преобразованы в идентификаторы. Хорошо? Итак, модели обрабатывают токены. Отлично. они не видят текст так, как он написан. Другое, что я хочу упомянуть, это то, что поскольку они обрабатывают токены, мы должны учитывать, сколько токенов существует в различных типах текстов, которые мы читаем и которые мы производим с помощью ИИ. Короткое электронное письмо может содержать примерно от 100 до 200 слов, и это примерно преобразуется в 130-270 токенов. Теперь академическая статья, например, может содержать около 5000-8000 слов, что примерно преобразуется в 6,5-10 000 токенов. Возможно, обычно модель, которую я имею в виду, это 1500 токенов — это примерно страница PDF.

Теперь, хорошо, что мы говорим о PDF. PDF — это сложно. Видите ли, PDF — это не просто текст, который вы видите на странице, когда загружаете его в модель. PDF — это куча дополнительного текста, который скрыт в этом документе и примерно относится к тому, как все расположено в PDF, как организованы изображения. Итак, если вы скопируете весь текст из PDF, а затем вставите его в какой-нибудь онлайн-счетчик токенов, вы увидите, что там определенное количество токенов. Но если вы загрузите этот PDF в традиционный инструмент чат-бота, такой как ChatGPT или Gemini, или что-либо еще, вы увидите, если бы вы могли, если бы эти инструменты действительно дали нам возможность подсчитать, сколько токенов обрабатывается, мы бы увидели, что это число, вероятно, значительно увеличится из-за этих скрытых символов внутри PDF-документа. Это означает, что если вы технически подкованы, вы можете использовать такие инструменты, как Dockling, который является пакетом, позволяющим преобразовывать PDF в файлы Markdown, которые являются типом текстового файла, который гораздо проще обрабатывать модели и потребляет гораздо меньше токенов и потребляет гораздо меньше токенов. Или для конкретных вопросов вы можете напрямую скопировать раздел PDF, который вас интересует. И тогда, если там есть рисунок, вы можете скопировать снимок этого рисунка, поместить его в чат-бот, а затем задать свои вопросы об этом конкретном документе. Однако для небольших PDF-файлов объемом, скажем, до 20, 30, даже 40, 50 страниц, я думаю, вы можете просто загрузить полный PDF. Но знайте, что количество токенов в этом PDF будет больше, чем просто количество слов в этом PDF.

Самое важное, что каждый должен знать о том, как использовать ИИ, — это идея контекстного окна. Теперь контекстное окно — это просто максимальное количество токенов, которое эти модели могут обрабатывать. Помните, токен — это просто небольшой фрагмент текста. Таким образом, контекстное окно примерно соответствует максимальному количеству текста, которое эти модели могут обрабатывать. Теперь я знаю, что изображения также могут быть преобразованы в токены и они входят в смесь. И существуют различные способы обработки изображений в различных инструментах чат-ботов. Но суть в том, что у нас есть эта полоса загрузки, называемая контекстным окном, которая примерно определяет, сколько текста эти модели могут обрабатывать. Итак, первое, что нам нужно знать, это то, что существует максимальное количество. Если у вас есть базовая подписка на ChatGPT, если у вас есть базовый чат-бот на веб-сайте, вы, вероятно, имеете дело со 128 000 токенов. А затем модели GPT-4 увеличат это до 256 000 токенов. И если у вас есть Code Interpreter и более высокая подписка, вы, вероятно, можете получить около миллиона токенов контекстного окна для работы. Если вы используете Claude, примерно то, что вы получаете с базовой подпиской, это 200 000 токенов. 200 000 токенов примерно соответствуют чуть менее 200 страницам PDF. 200 000 токенов. Я имею в виду, я рассматриваю здесь 1000 токенов на страницу PDF, что является очень низкой оценкой. Но суть даже не в том, сколько текста мы можем поместить в эти контекстные окна. Суть в том, что мы начинаем наблюдать ухудшение производительности, прежде чем достигнем максимального количества текста, которое эти модели могут обрабатывать.

Теперь то, что нам нужно знать об этом, в основном связано с парой концепций. Первое называется «разложение контекста». Теперь технический отчет от Chroma, компании, известной своей очень интересной работой в области генерации с дополненным поиском. Они опубликовали эту очень интересную статью, говорящую об этом явлении, когда производительность моделей в таких задачах, как запоминание информации и извлечение определенных аспектов документа или дословное повторение всего ввода в выводе, чтобы увидеть, может ли модель следовать этим инструкциям. Итак, когда они анализировали производительность в этих простых задачах, они увидели, что производительность снижается в зависимости от размера ввода или длины ввода. Мини-больший ввод означал худшую производительность. Они протестировали это на 18 различных моделях и увидели, и они были очень обеспокоены тем, что производительность постоянно ухудшается в зависимости от размера ввода.

Второй аспект этой технической статьи, который очень интересен, заключается в том, что контекст не обрабатывался равномерно. Итак, что мы узнаем из этой статьи? У этих моделей не только есть максимальное количество текста для работы. вы начинаете получать худшую производительность, прежде чем достигнете этого максимума. И как это меняется, сильно зависит от модели к модели и сильно зависит от того, какой контекст находится внутри этой модели. Если вы поместите кучу нерелевантной информации внутрь модели, количество этого контекста будет намного меньше, чем контекстное окно. Но если вы поместите релевантную и связанную информацию, которая в основном помогает модели достичь вашей задачи или ответить на ваш вопрос, то в этом случае вам разрешено поместить немного больше. Однако я не нашел в прочитанных мной статьях какого-либо одного фиксированного количества, которое я мог бы назвать хорошей зоной для работы с большими языковыми моделями. Но я видел от людей, которые занимаются разработкой ИИ и много работают с контекстной инженерией и инженерией обработки, и выступают с очень интересными докладами на YouTube, от людей с конференции по разработке ИИ. Когда я посетил Лондон 8 апреля, люди говорили об этой проблеме, и эмпирически я обнаружил, что хорошим окном для работы является примерно от 70 000 до 100 000 токенов, возможно. Теперь я говорю в терминах количества, потому что информация, которую я имею, заключается в том, что проблема работы с контекстным окном не обязательно связана с процентом от общего контекстного окна, а скорее с конкретными количествами. Я хочу дать одно фиксированное предписание, где именно находится хорошая зона контекстного окна, потому что я не знаю, но, основываясь на том, что я видел, вы хотите быть примерно на уровне, скажем, 80 000 токенов. Это означает, что у нас есть гарантированно очень хорошая высокая производительность менее чем на 80 страницах PDF для каждой сессии с моделью. Так что это мое личное мнение. Если вы не согласны, дайте мне знать в комментариях, на какую статью вы ссылаетесь или с какой точки отсчета вы исходите.

Итак, где мы? Я сказал, что мы должны уметь хорошо обусловливать модель в наших запросах, чтобы ограничить возможности вывода. Я сказал, что эти модели обрабатывают только токены, которые являются небольшими фрагментами текста, и я сказал, что мы немного поговорили о различных типах документов и о том, сколько токенов они несут. Затем мы сказали, что PDF опасны, потому что они скрывают дополнительное использование токенов, а затем я говорил о контекстном окне как о максимальном количестве текста, которое эти модели могут обрабатывать, и этом явлении разложения контекста, когда производительность ухудшается в зависимости от размера ввода.

Теперь еще одна вещь, которая также имеет значение, — это позиция ввода при разговоре или обсуждении с моделью. Что я имею в виду? Есть одна очень известная статья, которую я помещу где-нибудь здесь, под названием «Потерянные в середине». И что они обнаружили, так это то, что когда они тестировали модель на извлечение информации из набора из примерно 20 документов, они увидели, что местоположение релевантной информации в этих 20 документах оказало очень большое влияние на точность модели и ее способность извлекать и отвечать на вопросы об этой конкретной части информации. Таким образом, они фактически наблюдали эту U-образную кривую, где по оси Y была точность модели при извлечении информации и ответе на вопрос о ней, а по оси X — местоположение.

Теперь исследователи также обнаружили в статье под названием «Потерянные в середине и между», я думаю, так называлась, что вы также могли видеть это U-образное поведение в ситуациях, когда есть отвлекающие документы, такие как блоки отвлекающих документов между информацией, которую вы ищете. Итак, в чем смысл этого? Смысл в том, что место, где вы размещаете свою информацию в чат-боте, имеет значение. Обычно я думаю, что главный совет, который я вижу, который дают люди онлайн, я думаю, он правильный, заключается в том, что вы должны поместить цель вашей задачи в начало запроса. Теперь я видел, я думаю, это было от Бена Хилака, который вместе со Свиксом ведет очень хороший подкаст и Substack под названием Latent Space, и это, вероятно, одно из лучших мест, где люди обсуждают эту проблему глубоко. Так что проверьте их. И я думаю, я видел твит от него или что-то в X о том, что в моделях OpenAI вы должны помещать инструкции в начало, а в моделях Anthropic — в конец, потому что это связано с геометрией этих архитектур. Теперь я не совсем уверен в этом. Что я знаю из исследований, которые я читал, это то, что позиция в вашем запросе имеет значение. И, по-видимому, именно в начале или в конце вы должны размещать самую важную информацию. Я думаю, это лучший общий совет, который я могу дать.

Теперь я думал об этом и был немного озадачен тем, почему это так, что местоположение имеет значение для этих моделей. И интуиция, которую я получил, которая мне кажется разумной, заключается в том, что когда вы даете вводные данные любой модели, верно, вы пытаетесь предсказать текстовые токены или небольшие фрагменты текста в начале контекста или ввода будут накапливать влияние на последующие токены, потому что то, как эти модели генерируют текст, заключается в том, что они генерируют, хорошо, какой наиболее вероятный следующий небольшой фрагмент текста здесь, а затем здесь, а затем они делают это. Это называется авторегрессионными моделями. моделями, которые могут предсказывать такие вещи. Просто модели, которые могут делать эти предсказания по одному биту за раз. Теперь, поскольку они делают это, токены в начале будут накапливать влияние на то, что выходит, больше, чем последующие токены, потому что вероятность какого-либо конкретного вывода всегда обусловлена вводом. Таким образом, более ранние токены будут иметь это накопленное влияние на более поздние токены. Теперь токены в конце запроса также будут иметь большое влияние, потому что они очень недавние, они очень близки к тому, что выходит. Таким образом, вероятность какого-либо конкретного текста будет в значительной степени обусловлена тем, что только что предшествовало тексту. Например, если я скажу «дайте мне вывод в виде маркированного списка», а затем скажу «вывод в столбце», модель поймет, что я уже намекаю, что она должна начать с маркированного списка. Но если я попрошу модель «дайте мне вывод в виде маркированного списка», и я остановлюсь там, модель, вероятно, даст мне по крайней мере одно предложение, прежде чем начать эти маркированные списки. Что-то вроде «вот ваши маркированные списки», а затем даст вам это. Таким образом, идея заключается в том, что у вас есть этот эффект новизны, когда более поздние токены будут иметь большое влияние, потому что все, что выходит, будет сильно зависеть от того, что только что предшествовало ему, а более ранние токены будут иметь это накопленное влияние, но токены в середине будут иметь это разбавленное влияние. Эта вещь, которую U-образная кривая, я думаю, отражает эту идею, что токены в середине будут иметь разбавленное внимание, я думаю, это называется, где они теряют немного своего влияния, потому что они не слишком близки, чтобы иметь этот эффект новизны, и не слишком много в начале, где они накапливают много влияния на то, что входит в вывод.

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

Хорошо, со всем этим сказанным, вы начинаете рисовать картину того, что означает работать с этими моделями на повседневной основе. Это означает, что чтобы получить от них максимум пользы, мы должны постоянно управлять контекстом. Искусство использования ИИ в наши дни — это искусство управления контекстом. Таким образом, управление контекстом означает понимание того, сколько контекста они могут обрабатывать. Где мы должны быть с точки зрения размера контекста в рамках всей истории разговора, чтобы мы могли сохранить то, что я сказал в начале, то есть хорошую зону работы с этими моделями. Местоположение релевантной информации внутри нашего ввода также имеет значение для вывода и производительности этих моделей. И примерно я рекомендовал около 80 000 токенов. Суть в том, что мой опыт говорит около 80 000 токенов. Иногда я выхожу немного за пределы, потому что я использую Claude Opus 4.8, которая является очень большой мощной моделью. И в Claude Code я работаю с 1 миллионом токенов контекстного окна. Теперь я установил все эти вещи, и теперь у нас есть эта идея в виду: токены, обусловливающие запросы, контекстное окно, разложение контекста и эта идея «потерянные в середине». Эта идея о том, что позиция релевантной информации во вводе имеет значение. Теперь я не упомянул, предполагая, что люди уже знают, но хорошо помнить, что у этих моделей есть так называемый «срез знаний», что означает дату, до которой они были обучены на данных из Интернета, что означает, что если вы спросите их о чем-то, что произошло всего 6 месяцев назад или, возможно, год назад, они не будут помнить.

Итак, наконец, мы подходим, вероятно, к одной из самых важных вещей, которые мы должны знать при работе с большими языковыми моделями, — это идея галлюцинаций. Ситуации, когда модель выдает правдоподобный результат, но на самом деле неправильный. Однако он неправильный таким образом, что он плавный, уверенный, хорошо сформулированный, так что кажется, что это правда. Теперь существует множество различных типов галлюцинаций, которые могут произойти. И я хочу поговорить о том, что я считаю четырьмя наиболее важными. У вас есть внутренние галлюцинации. Это когда модель противоречит тому, что на самом деле содержится в источнике знаний этой модели. Верно? Так представьте, если вы заземляете ответ модели на документе, статье, книге, и модель говорит что-то, возможно, связанное с этим, но противоречащее тому, что на самом деле сказано в исходном источнике. Внешние — это когда модель добавляет информацию, которой не было в исходном документе. Фактические — это когда модель лжет или просто говорит что-то явно неверное о мире. И верность — это ситуация, когда модель не верна вашим первоначальным инструкциям. Так что это не так, как будто модель лжет или противоречит источнику или добавляет информацию. Модель просто не следует тому, что вы просили модель сделать. Итак, у вас есть эти четыре типа, и работа с этими четырьмя типами обычно включает что-то вроде: для внутренних галлюцинаций. Мы хотим заземлить модель. Например, если вы обобщаете статью или извлекаете информацию из документа, вы хотите, чтобы модель цитировала и цитировала исходный документ с утверждениями, подтверждающими то, что модель говорит, что документ сказал. Так представьте, что вы можете попросить модель обобщить статью и предоставить цитаты, подтверждающие каждую строку в этом резюме. Для внешних галлюцинаций вы можете сделать то же самое, где вы можете запросить цитату из исходного документа для подтверждения сказанного. Но вам также поможет, если вы позволите модели сказать «не указано в статье», потому что иногда вы можете спросить что-то о документе, которого на самом деле нет в документе, и вы хотите дать модели выход, способ сказать, что этого нет в этом документе.

Теперь последние модели решили это многими разными способами, но я всегда использую системные инструкции в Claude и ChatGPT, где я даю моделям возможность говорить, что это непроверено или этого нет ни в одном конкретном источнике, насколько это касается фактической информации. Это снова, как и с другими истинными типами галлюцинаций. Вы хотите, чтобы модель заземляла то, что она говорит, на основе конкретного источника. И для этого обычно помогает использовать инструменты, ограниченные источником, такие как, например, очень популярный NotebookLM от Google. И это очень классный инструмент, который позволяет вам иметь набор источников, которые вы можете выбрать для модели, чтобы использовать их в качестве основного источника, который она использует для предоставления вам ответа. Итак, у вас есть этот очень приятный пользовательский интерфейс, где вы можете выбрать: хорошо, я хочу, чтобы вы отвечали на основе этого и этого, а затем модель ответит на вопросы, и у вас есть эти кликабельные маленькие кнопки в конце каждого предложения, где вы можете отследить их до конкретной части документа, которая была использована для создания конкретного ответа. Так что это очень полезно, и вы можете воспроизвести это в обычных чат-ботах, и вы также можете использовать функцию проектов в таких инструментах, как ChatGPT или Claude, потому что вы можете загружать файлы знаний, к которым модель всегда может получить доступ в любом чате в рамках проекта, чтобы ответить на ваш вопрос. Что касается верности, это также помогает закрепить правила в ограничениях для модели, чтобы предоставить вам какой-либо ответ или вывод. Так что повторите свои ограничения внутри запроса, чтобы убедиться, что модель будет следовать вашим инструкциям. Таким образом, это не все способы борьбы с галлюцинациями, но основная тема здесь — заземление на источниках. Запрашивайте способы проверки того, что дает вам модель, и отслеживайте их до источников. Убедитесь, что вы заземляетесь на доверенном корпусе и, возможно, используете инструмент, ограниченный источником, такой как NotebookLM, или функции проектов в ChatGPT и Claude. И если вы используете агент, такой как Claude или Code Interpreter, вы можете попросить модели отвечать на основе документов, которые вы можете легко указать в небольшом интерфейсе чата в вашем терминале. Я разместил эту небольшую таблицу калибровки уверенности по задачам, которая, я думаю, помогает дать модели в наших умах, как мы должны калибровать доверие к выводам, которые мы получаем с помощью этих моделей, в зависимости от задачи, которую мы им даем, и сколько контекста модели приходится обрабатывать, чтобы выполнить задачу. Я размещу ссылку где-нибудь, где вы можете скачать небольшой PDF с этой таблицей.

До сих пор я говорил о ChatGPT, Gemini, Claude, NotebookLM. Я говорил о продуктах. Мы на самом деле не обсуждали, в чем разница между ChatGPT — продуктом. Затем GPT-4.5 — моделью, и всеми вещами, которые вы можете делать с этой моделью, в зависимости от того, какой продукт вы используете. Например, chat.openai.com — это веб-сайт, на который вы можете зайти, чтобы использовать продукт ChatGPT от компании OpenAI, который позволяет вам использовать модель, скажем, GPT-4.5. И в рамках продукта ChatGPT в вашем браузере вы можете использовать harness, который представляет собой набор функций и возможностей, созданных компанией OpenAI вокруг модели GPT-4.5, который позволяет вам делать множество потрясающих вещей. такие вещи, как поиск в Интернете. Вы можете создавать изображения, хотя с изображениями это другая модель. Вы можете подключаться к своим любимым приложениям, таким как Google Drive. Вы можете получить доступ к таким функциям, как проекты или приложения, где у вас есть другие приложения, встроенные в ваш интерфейс чата таким образом, что это ощущается бесшовным. Давайте разделим эти три вещи. Модель — это то, к чему вы можете получить доступ в этом выпадающем меню с версией. Продукт — это либо веб-сайт, который вы используете, либо приложения, сам инструмент, который вы фактически используете, который содержит harness, который представляет собой набор функций и возможностей, существующих вокруг модели, чтобы она могла очень хорошо функционировать, и не только эти функции и возможности, но и вещи, которые настраиваются вокруг модели, чтобы она могла хорошо работать в рамках продукта, в который она помещена.

Позвольте мне просто объяснить, что я имею в виду, объяснив разницу между использованием модели, такой как GPT-4.5, в продукте, таком как ChatGPT, который является чат-ботом, который вы можете использовать в своем браузере, и использованием, например, Code Interpreter, который является продуктом агента или инструментом агента, чем-то, что загружается на вашу машину и работает внутри вашей машины с доступом к вашим файлам, с доступом к действиям и возможностям изменять и менять файлы внутри вашего собственного компьютера. Теперь разница требует определения того, что такое агент. Итак, давайте быстро сделаем это. Несмотря на весь ажиотаж вокруг того, что такое агент, агент — это довольно просто. Агент — это просто LLM плюс некоторые инструменты, работающие в цикле. Теперь, как модель знает, как использовать конкретный инструмент, потому что модель генерирует специальный тип текста, который может быть обработан как обычный код, а затем вывод этого кода может быть возвращен в модель. Мы знаем, и лучшая статья для получения дополнительной информации об этом называется Toolformer, где они обнаружили, что модели могут генерировать текст, содержащий разделы с квадратными скобками, а внутри этих квадратных скобок есть указание на инструмент, который нужно использовать с определенным параметром. Затем разработчики могли выполнить код, относящийся к содержимому этих квадратных скобок, вернуть вывод, а затем получить приятный чистый ответ. Люди взяли эту идею, а также идею из статьи под названием ReAct, или Reasoning Synergizing Reasoning and Action in Large Language Models, я думаю, так называется. Эта статья показала, что вы можете заставить модели чередовать мысли и действия, а действие в этой статье было бы похоже на эту идею из статьи Toolformer, где инструмент должен использоваться, когда вы объединяете эти две идеи, вы получаете современное определение агента. Таким образом, когда вы отправляете запрос модели, он добавляется в контекстное окно модели, а затем модель может либо выдать ответ, либо использовать инструмент. В любом случае, все, что делает модель, попадет в контекстное окно, а затем инструмент выполнится и выдаст результат, который также попадет в контекстное окно, а затем модель снова начнет, и вы будете повторять это снова и снова, пока не получите какой-либо ответ или не достигнете определенного максимального количества итераций. Таким образом, каждый современный агент сегодня, вероятно, является вариацией этого очень простого шаблона, потому что агенты работают так. Вы можете теоретически вызвать чат-бот с возможностью использовать веб-поиск — агент. Проблема в том, что это не ощущается как агент, потому что модель просто извлекает информацию из Интернета и выдает ответы. Однако по определению, по крайней мере, на мой взгляд, это агент, но он не ощущается как агент. И то, что ощущается как агент, — это что-то, что работает на вашей машине и делает вещи для вас таким образом, что это автономно и ощущается как очень агентское, если это имеет смысл.

Мне нравится видеть это так: агент — это когда вы берете модель, помните версии GPT-4.5 или Claude Opus 4.8, комбинируете ее с harness. Так что harness — это все вокруг модели, чтобы сделать ее агентом или чем-то более мощным, чем агент, или несколькими агентами и так далее. И затем вы помещаете это в цикл. Некоторые люди могут утверждать, что цикл является частью harness. Это не имеет большого значения, на мой взгляд. Важно то, что агент будет сочетать модель с способом настройки этой модели, чтобы она могла делать множество потрясающих вещей. И лучшие воплощения этих вещей сегодня — это два инструмента или продукта. Claude Code от Anthropic и Code Interpreter от OpenAI. Теперь, почетные упоминания для таких вещей, как Gemini Spark от Google, Manas.ai, AI там, агентские типы вещей в Notion и Perplexity, и множество других. Все они следуют одному и тому же набору правил, и большинство из них используют модели от первых двух компаний, OpenAI или Anthropic, или Google, для питания своих harness. Суть в том, что Claude Code и Code Interpreter — это два самых известных инструмента, которые позволяют вам делать мощные вещи на вашей машине.

Теперь, что касается открытого исходного кода, есть очень интересные инструменты, которые делают похожие вещи. такие вещи, как Pi или Herm's Agent или Open Claude, и это harness, которые могут работать вокруг моделей, и эти модели могут быть проприетарными или моделями с открытым исходным кодом, которые работают локально, такими как Gemma 4 или Quen и другими подобными моделями. Хорошо, но мы отошли от темы, суть в том, что у вас есть агенты, и агенты — это эти LLM плюс инструменты, которые работают в цикле. Теперь, по сравнению с чат-ботами, эти агентские инструменты, такие как Claude Code и Code Interpreter, ощущаются более мощными, потому что они дают вам полный контроль над вашими системами, вашим компьютером и вашей машиной, просто разговаривая с моделью, такой как Claude 4.8 или GPT-4.5. Они очень похожи на то, как, вероятно, будет выполняться будущая работа, с некоторыми оговорками относительно безопасности, потому что вы даете разрешение проприетарной модели иметь потенциально неограниченный доступ к вашим системам и машинам, что, вероятно, не рекомендуется. Поэтому я рекомендую вам ознакомиться с лучшими практиками использования любого из этих инструментов, чтобы убедиться, что вы не предоставляете доступ к тому, к чему не следует предоставлять доступ. Но что, на мой взгляд, очень круто, так это то, что как только вы поймете, что эти модели имеют ограниченное контекстное окно, что они могут начать работать хуже или снижать свою надежность в зависимости от того, сколько контекста они обрабатывают. Как только вы поймете, что они могут галлюцинировать, как только вы поймете, что место, где вы размещаете контекст, повлияет на производительность этих моделей. Это начинает рисовать картину того, как выглядит хорошее использование ИИ. Это навык управления контекстом, чтобы либо чат-бот, либо агент могли фактически выполнить ваш запрос и выполнить задачу.

Последнее, что я скажу, это то, что одно из лучших воплощений в наши дни действительно хорошего способа предоставить мощные возможности этим моделям — это то, что называется агентскими навыками. Теперь я предвзятый источник информации по этому вопросу, потому что я в настоящее время пишу книгу для O'Reilly Media по агентским навыкам, которая, надеюсь, выйдет очень рано в следующем году. И основная идея этой возможности заключается в том, что вы можете упаковать экспертизу в папку с несколькими файлами, и вы можете предоставить своему агенту доступ к этой папке. И тогда внезапно ваш агент сможет делать что-то очень специфическое, очень нишевое, что, возможно, можете сделать только вы или люди из вашей нишевой области. И внезапно ваш агент тоже сможет делать это. Навыки могут быть маленькими, а могут быть и немного больше. Например, у меня есть один навык, который называется навык заметок по совещаниям, заметок по записи совещаний, что-то вроде того. И он по сути использует, он позволяет моему агенту Claude Code извлекать из Google Drive недавнее совещание, которое у меня было, и записывать его в Google Meet, и он будет загружать его локально на мою машину. Я использую GWS CLI для такого рода вещей, это быстро и эффективно. Он использует локальный пользовательский инструмент транскрипции, который я сделал из очень классного репозитория под названием Whisper CPP, чтобы транскрибировать весь текст внутри этого видео. А затем он связывает эту транскрипцию с моим хранилищем Obsidian, где у меня есть файлы по разным вещам, заметки, которые я делаю, и мое управление знаниями по сути управляется этим хранилищем Obsidian, чтобы оно связывалось обратно с этим хранилищем. Так что это навык, который делает что-то очень конкретное, потому что ему нужно понимать, как работает моя система управления знаниями, где находятся мои папки, где находится мой диск с моими совещаниями и так далее, и так далее, и так далее, и как использовать инструмент для транскрипции всего. Но круто то, что я могу просто вызвать его, и он автоматически найдет последние видео, транскрибирует, а затем свяжет с моим хранилищем.

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