Новости

Обнародована подсказка по кодированию ядра Claude 3.5, программисты по всей сети в восторге!Четырехэтапный метод обучения, выпущена последняя версия V2.

2024-07-16

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Новый отчет мудрости

Монтажер: Таози

[Введение в новую мудрость] Основные советы по системе кодирования Claude 3.5 популярны в сообществе Reddit. Только что первоначальный автор выпустил усовершенствованную вторую версию, и некоторые пользователи сети уже добавили ее в свой рабочий процесс.

Системная подсказка о базовой кодировке Claude Sonnet 3.5 была недавно опубликована на Reddit и стала вирусной!


Пользователь с именем ssmith12345uk поделился на главной плате r/ClaudeAI, что он использовал практику написания кода Claude и постоянно корректировал системные подсказки для оптимизации модели.

Он сказал, что системная подсказка включает в себя некоторые идеи Антропной мета-подсказки и решает некоторые ранее возникшие проблемы.

В конце концов он произнес все ключевые слова.


Разработчики из сообщества искусственного интеллекта отправили его своим фаворитам, заявив, что это тот совет, который программисты хотят больше всего!



Пользователи сети подвели итог: ReAct + Planning + XML — это все, что вам нужно.


Некоторые пользователи сети, которым он пригодился, сказали, что этот совет очень помог в их проектах.


Буквально вчера первоначальный автор опубликовал в сообществе Reddit усовершенствованную версию слова-подсказки V2 и предоставил подробные инструкции и объяснения по его использованию.


Прежде чем объяснять эти системные подсказки и методы, позвольте мне сначала ответить на вопрос пользователей сети — куда вводить данные?

Вам необходимо создать проект (подписаться на Pro-пользователей), а затем вы сможете войти на страницу, где введете подсказки.



Самые сильные советы по программированию для Sonnet 3.5, 4-этапное обучение

Здесь системные подсказки V1 и V2 объединены, чтобы каждый мог более интуитивно почувствовать разницу после обновления.

Системное приглашение версии V2 показано в правой части рисунка ниже. По сравнению с V1 это в основном мелкий ремонт.

В последней версии модель по-прежнему используется для завершения рассуждений CoT за четыре этапа: проверка кода, планирование, вывод и проверка безопасности.

В первом параграфе определение роли Клода 3.5 остаётся прежним.

Вы опытный веб-разработчик, владеющий CSS, JavaScript, React, Tailwind, Node.JS и Hugo/Markdown.

Однако во втором предложении были внесены некоторые уточнения: «Не извиняйтесь без необходимости. Просмотрите историю разговора, чтобы не повторять предыдущие ошибки».

Далее попросите Клода 3.5 во время разговора разбить задачу на независимые этапы и после каждого этапа предложить небольшой тест, чтобы убедиться, что все идет по правильному пути.

Предоставляйте код только в том случае, если пример необходим или явно запрошен. Было бы лучше, если бы вы могли ответить без кода.

Однако при необходимости будет запрошена дополнительная информация.

Следующий шаг — «проверка кода» — прежде чем писать или предлагать код, проведите комплексную проверку существующего кода и опишите между тегами, как он работает.


После завершения проверки кода вам необходимо составить план изменений между тегами, запросив дополнительные исходные файлы или документацию, которые могут иметь отношение к делу.

Следуйте принципу DRY (не повторяйте себя), чтобы избежать дублирования кода и сбалансировать удобство сопровождения и гибкость кода.

На этом этапе представлены возможные компромиссы и варианты реализации, а также рассматриваются и рекомендуются соответствующие структуры и библиотеки. Если мы не согласовали план, остановитесь на этом шаге.

После согласования между тегами генерируется код.

Здесь автор Reddit также напомнил Клоду 3.5, на что следует обратить внимание при выводе кода:

Обратите внимание на имена переменных, идентификаторы и строковые литералы и убедитесь, что они точно скопированы из исходного файла. Используйте двойные двоеточия и буквы верхнего регистра (например::UPPERCASE::), чтобы указать, что в некоторых случаях элементы с традиционными именами остаются актуальными. стилей кодирования, при создании блоков кода с использованием идиом, подходящих для этого языка, укажите язык программирования после первой обратной кавычки: например: ```JavaScript, ```Python

Наконец, требуется проверка безопасности и оперативности ПЛАНИРОВАНИЯ и РЕЗУЛЬТАТОВ, уделяя особое внимание вопросам, которые могут поставить под угрозу данные или создать уязвимости.

Для конфиденциальных изменений (таких как обработка ввода, расчет валюты, аутентификация) выполните тщательную проверку и предоставьте свой анализ в теге.

Авторский анализ

Далее, в длинной объяснительной статье, автор Reddit использует ‍⬛ для обозначения «суеверий» и выражения того, в чем он убежден.


Эта подсказка является примером управляемой подсказки «мыслительной цепочки», сообщающей Клоду, какие шаги следует предпринять и в каком порядке, и используемой в качестве системной подсказки (первый набор инструкций, которые получает модель).

Использование тегов XML для разделения шагов было вдохновлено мета-подсказками Anthropic.

Автор считает, что Клод особенно чувствителен к XML-тегам, которые могут быть связаны с обучением модели. Поэтому он предпочитает обрабатывать HTML отдельно или в конце сеанса‍⬛.

Следующий пост: https://github.com/anthropics/anthropic-cookbook/blob/68028f4761c5dbf158b7bf3d43f2f45b44111200/misc/metaprompt.ipynb#

Цепочка управляемого мышления состоит из следующих шагов: проверка кода, планирование, вывод, проверка безопасности.

1 Проверка кода

Внесите анализ структурированного кода в контекст, чтобы получить информацию для последующего планирования.

Цель состоит в том, чтобы не позволить LLM вносить локальные изменения в код без учета более широкого контекста. В ходе тестирования авторы убеждаются в эффективности такого подхода.

2 планирования

На этом этапе создается высокоуровневый план проектирования и реализации, который можно просмотреть перед созданием кода.

«Стоп» здесь позволяет избежать заполнения контекста сгенерированным ненужным кодом, который не соответствует нашим потребностям или который мы постоянно модифицируем.

Обычно в нем представлены актуальные и подходящие варианты.

На этом этапе вы можете углубиться в детали плана для его дальнейшей доработки (например, рассказать мне больше о шаге 3, можем ли мы повторно использовать реализацию Y, показать мне фрагмент кода, что мне следует подумать о библиотеке и т. д.). .).

3 выхода

Как только планы согласованы, пришло время перейти к этапу генерации кода.

Подсказка по поводу именования переменных связана с тем, что автор часто сталкивается с проблемой отсутствия или вымышленных имен переменных в регенерированном коде во время длительных сеансов. Текущее улучшение подсказки, похоже, решило эту проблему‍⬛.

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

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

4 Проверка безопасности

Автор предпочитает проводить проверку безопасности постфактум и считает этот шаг очень полезным.

Он предоставляет обзор «второй пары глаз» и может предложить новые улучшения.

Отвечайте на вопросы пользователей сети

Наконец, автор Reddit также ответил на вопросы пользователей сети.

Стоит ли мне использовать этот совет на Claude.ai? / Где система должна запрашивать ввод данных?

Мы точно не знаем официальных системных подсказок для Сонета 3.5. Определенно было бы полезно предположить, что Плиний, который ранее опубликовал официальные подсказки Клода, прав. Автор предполагает, что системные подсказки Anthropic могут содержать автоматические CoT, но это может быть не так, или ввод может автоматически обрабатываться с помощью мета-подсказок‍⬛.

В любом случае, вы получите хорошие результаты, используя этот совет, если только вы не используете Артефакты.


Снова предполагая, что отрывок Плиния об Артефактах верен, автор настоящим настоятельно рекомендует отключать функциональность Артефактов при выполнении нетривиальных или не связанных с Артефактами задач кодирования.

Если вы используете инструмент, позволяющий напрямую задавать системные подсказки, автор напоминает вам не забыть настроить параметр температуры.

Нам сейчас не нужны такие сложные подсказки. Я скормил Sonnet много кода, и он просто сработал.


Автоматизированные подсказки CoR/по умолчанию действительно могут решить множество проблем, но проверьте это на простом подсказке «вы — полезный ИИ».

Авторы утверждают, что провели такие тесты и обнаружили, что простые подсказки менее эффективны при решении сложных проблем.

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

Он признал, что Sonnet 3.5 хорошо справляется с базовыми задачами, но подчеркнул, что даже для высокопроизводительных моделей правильное руководство все равно может помочь.

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


Авторы измерили длину этой подсказки примерно в 546 токенов, что является приемлемой длиной для модели на 200 000 токенов.

Структурированные подсказки поддерживают высокое качество контекста, помогая поддерживать связность разговоров и снижая риск галлюцинаций ИИ.

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

Эта подсказка переработана

Автор сказал, что возможно и так.

Люди, которые его используют, интегрированы в рабочий процесс

Пользователи сети воскликнули, что производительность модели действительно улучшилась после ее использования.

«Если эта подсказка работает лучше, это означает, что работа, проделанная командой Anthropic по объединению подсказок системы CoT или ReAct с базовыми возможностями LLM, дала результаты».


Это для помощников по программированию! Для такой задачи имеет смысл дать некоторые рекомендации.


Некоторые пользователи сети уже внедрили некоторые из этих советов в свой рабочий процесс. Вот что он всегда загружает первым в новом разговоре.



Однако некоторые пользователи сети заявили, что эта подсказка слишком сложна.


«По моему опыту, нет необходимости использовать такие подробные подсказки. Сонет Клода 3.5 справляется с такими вещами довольно автоматически, требуя лишь случайных подсказок».


Советы по ролям, пустая трата времени

Саймон Уиллисон, разработчик фреймворка Django, заявил, что метод подсказки «Вы эксперт в области ххх» стал пустой тратой времени с конца 2022 года.

Количество «суеверий», связанных с советами LLM, просто ошеломляет!


Этот вывод на самом деле сделан на основе годичного исследования, проведенного командой Learnprompting и соавторами из OpenAI и Microsoft.

Адрес статьи: https://arxiv.org/pdf/2406.06608.

Для проекта они проанализировали более 1500 статей о подсказках, классифицировали их по 58 различным методам подсказок и проанализировали каждую подсказку.


Исследования показали, что ролевые подсказки шокирующе неэффективны.

Причина в том, что в более старых моделях они, похоже, получают улучшенные ответы/выводы, ориентируясь на лучшее пространство параметров. Однако более новые модели, возможно, уже находятся в этом улучшенном пространстве параметров.

Это будет конструктивное предположение для всех!

Еще в октябре 2022 года, когда Learnprompting выпустила свое первое руководство по советам и рекомендациям перед использованием ChatGPT, подсказки по ролям были самой горячей темой в то время и основным советом, который все рекомендовали для получения лучших результатов ChatGPT.


Следует признать, что эти модели быстро развиваются, и методы, которые работали в прошлом году, сегодня могут уже не работать.

И советы, которые работают сегодня, могут не сработать в следующем году.

Чтобы прояснить эту проблему, команда Learnprompting протестировала 2000 вопросов MMLU, используя около 12 различных символов в gpt-4-turbo.

В частности, пример-подсказка для создания «гениального» персонажа — вы учёный с Гарвардским образованием...

И напоминание для "идиотского" персонажа - ты идиот...

"genius...": "You are a genius level Ivy league Professor. Your work is of the highest grade. You always think out your problem solving steps in incredible detail. You always get problems correct and never make mistakes. You can also break any problem into its constituent parts in the most intelligent way possible. Nothing gets past you. You are omniscient, omnipotent, and omnipresent. You are a mathematical God."
 "idiot...": "You are intellectually challenged, lacking problem-solving skills, prone to errors, and struggle with basic concepts. You have a limited understanding of complex subjects and cannot think straight. You can't solve problems well, in fact, you can't solve them at all. You are a terrible, dumb, stupid, and idiotic person. You fail at everything you do. You are a nobody and can't do anything correctly."

Как показано на рисунке ниже, точность ответов на различные ролевые подсказки не так высока, как у стратегий ЦТ с нулевой выборкой, ЦТ с двумя выборками и других стратегий.

Неважно, новичок ли это в математике, нерадивый студент, знающий ИИ, полицейский или профессор математики из Лиги плюща.


Еще интереснее то, что GPT-4, известный как «гений», побил самый низкий рекорд точности ответов — 58,7%.

GPT-4, известный как «идиот», имеет более высокий балл, чем «гений» GPT-4.


Другое исследование группы из Мичиганского университета прекрасно иллюстрирует, как различные социальные ролевые сигналы влияют на общую эффективность модели.

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

Адрес статьи: https://arxiv.org/pdf/2311.10054.

По поводу «суеверного» напоминания о крупных моделях Уиллисон выдвинул яркую и интересную метафору:

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

Однако он уточнил, что в некоторых случаях было бы полезно назначить определенные роли языковым моделям ИИ, но подчеркнул, что это должно основываться на здравом мышлении и конкретных обстоятельствах.


Некоторые пользователи сети сказали, что если подумать об этом шаг за шагом, то это все равно останется вечной теоремой.


Использованная литература:

https://www.reddit.com/r/ClaudeAI/comments/1dwra38/sonnet_35_for_coding_system_prompt/