Документация не для людей
Главная проблема любых LLM сейчас в том, что у нас человеков в голове с огромным трудом формируется связь между задачей и тем, что её можно делегировать нейронке. То есть они уже могут очень очень много всего делать как минимум нормально, но мы по старинке это делаем сами, т.к. не задумываемся об этом. А когда задумываемся, то удивляемся почему раньше не думали. 🤔
Довольно много в последнее время играюсь с Projects у Claude. Это примерно тоже самое что и кастомные GPTs у ChatGPT. То есть мы заранее можем начинать чат с определённым контекстом "проекта", причём в этот контекст мы можем накинуть и кучу файлов в качестве базы знаний и системные промпты.
У нас в репе проекта есть совсем небольшая маркдаун документация, которая писалась в первую очередь как материалы для онбординга. Или для новых разрабов, или для старых в новую технологию / новый подход, но всё таки для онбординга. Есть техрадар, где описана актуальность всех технологий, есть документация по подходу к модуляризации с типами модулей и правилами, есть документация по архитектуре конкретных фич, есть небольшой роадмап типа от чего избавляемся и куда хотим двигаться. А кроме документации, понятное дело, наш проект очень хорошо описывают файл Version Catalog и конфиг с detekt правилами. То есть всё то, от чего код сильно зависит.
Люди документацию редко читают превентивно. Для людей документация - это просто место куда можно сходить за дополнительной информацией в случае проблемы. А вот нейронка нет, это просто восхитительный материал для помощи ей. Закидываем это всё в кастомный Project, и любой чат сразу начинается без необходимости расписывать огромный промпт с деталями как делать, как не делать, что тебе надо, и так далее. Мы буквально онбордим нейронку заранее и один раз. И это у меня ещё где-то 15% от потенциального размера контекста, можно представить сколько туда ещё можно добавить всего.
Так вот, это вообще геймченджер. Сейчас мы на том этапе, где клод в новом чате сразу может по одному скриншоту написать композ вёрстку экрана и всю архитектурную обвязку именно так как это написано в нашей доке. А самый большой прорыв этого всего с технической стороны заключается в том, что этот код после копипаста в студию сразу зелёный, в большинстве случаев не приходится исправлять ничего. Всё таки замечу, что код тут довольно шаблонный, там где надо что-то красивое придумать - всё ещё не так радужно.
В связи этим опытом у меня даже какой-то концептуальный сдвиг в голове произошёл. Всем понятно, что промпт инжинеринг невроятно важен и всем будет нужен, но эта мысль куда-то на шаг дальше ушла. А я теперь почти уверен, что документацию мы будем писать не людям, а нейронкам в первую очередь, потому что им она сильно нужнее и импакт от такой документации в разы больше. И финальная мысль - нам нужно инвестировать больше времени в то, чтобы в тексте формализовать все устные соглашения. То что разработчики будут их игнорить нас даже не волнует, потому что всё равно есть понятный юзкейс.
PS. GPTs у ChatGPT даже не близко в этом смысле, видимо из-за ограничений по размеру контекста он не воспринимает файлы из knowledge base как этот самый контекст. Ответить про содержимое этих файлов может, но когда просишь сделать фичу как принято по документации - он просто на это всё забивает и пишет максимально дженерик код в гугловом стиле и льёт кучу воды вместо того, чтобы почти молча написать код.
PPS. Купил стимдек, количество постов резко сократилось до тех пор, пока не пройдёт зависимость и снова не появится свободное время, сами понимаете. 👮
Главная проблема любых LLM сейчас в том, что у нас человеков в голове с огромным трудом формируется связь между задачей и тем, что её можно делегировать нейронке. То есть они уже могут очень очень много всего делать как минимум нормально, но мы по старинке это делаем сами, т.к. не задумываемся об этом. А когда задумываемся, то удивляемся почему раньше не думали. 🤔
Довольно много в последнее время играюсь с Projects у Claude. Это примерно тоже самое что и кастомные GPTs у ChatGPT. То есть мы заранее можем начинать чат с определённым контекстом "проекта", причём в этот контекст мы можем накинуть и кучу файлов в качестве базы знаний и системные промпты.
У нас в репе проекта есть совсем небольшая маркдаун документация, которая писалась в первую очередь как материалы для онбординга. Или для новых разрабов, или для старых в новую технологию / новый подход, но всё таки для онбординга. Есть техрадар, где описана актуальность всех технологий, есть документация по подходу к модуляризации с типами модулей и правилами, есть документация по архитектуре конкретных фич, есть небольшой роадмап типа от чего избавляемся и куда хотим двигаться. А кроме документации, понятное дело, наш проект очень хорошо описывают файл Version Catalog и конфиг с detekt правилами. То есть всё то, от чего код сильно зависит.
Люди документацию редко читают превентивно. Для людей документация - это просто место куда можно сходить за дополнительной информацией в случае проблемы. А вот нейронка нет, это просто восхитительный материал для помощи ей. Закидываем это всё в кастомный Project, и любой чат сразу начинается без необходимости расписывать огромный промпт с деталями как делать, как не делать, что тебе надо, и так далее. Мы буквально онбордим нейронку заранее и один раз. И это у меня ещё где-то 15% от потенциального размера контекста, можно представить сколько туда ещё можно добавить всего.
Так вот, это вообще геймченджер. Сейчас мы на том этапе, где клод в новом чате сразу может по одному скриншоту написать композ вёрстку экрана и всю архитектурную обвязку именно так как это написано в нашей доке. А самый большой прорыв этого всего с технической стороны заключается в том, что этот код после копипаста в студию сразу зелёный, в большинстве случаев не приходится исправлять ничего. Всё таки замечу, что код тут довольно шаблонный, там где надо что-то красивое придумать - всё ещё не так радужно.
В связи этим опытом у меня даже какой-то концептуальный сдвиг в голове произошёл. Всем понятно, что промпт инжинеринг невроятно важен и всем будет нужен, но эта мысль куда-то на шаг дальше ушла. А я теперь почти уверен, что документацию мы будем писать не людям, а нейронкам в первую очередь, потому что им она сильно нужнее и импакт от такой документации в разы больше. И финальная мысль - нам нужно инвестировать больше времени в то, чтобы в тексте формализовать все устные соглашения. То что разработчики будут их игнорить нас даже не волнует, потому что всё равно есть понятный юзкейс.
PS. GPTs у ChatGPT даже не близко в этом смысле, видимо из-за ограничений по размеру контекста он не воспринимает файлы из knowledge base как этот самый контекст. Ответить про содержимое этих файлов может, но когда просишь сделать фичу как принято по документации - он просто на это всё забивает и пишет максимально дженерик код в гугловом стиле и льёт кучу воды вместо того, чтобы почти молча написать код.
PPS. Купил стимдек, количество постов резко сократилось до тех пор, пока не пройдёт зависимость и снова не появится свободное время, сами понимаете. 👮