[Перевод] Программированию конец?05.03.2024 16:15
11:14 Now don«t get me wrong, there are still a lot of issues with AI coding. I still obviously think that coders are necessary right now, I actually still think coders will be necessary in the future as well. We do run into a lot of issues when it comes to writing code with Ai. Being somebody who is not very proficient or very good coder myself, I run into a lot of issues trying to generate code using AI. For instance, when I try to have something like ChatGPT write code for me, it«s usually pretty buggy on the first try. I will tell ChatGPT what the bug is, ChatGPT will try to fix that bug and oftentimes breaks something else in the process and if you continue to code more and more and more, a lot of these tools sort of loose the memory of the things that you talked about earlier in your chat, so if you«re going back and forth trying to code something up, some of that early conversation of what you wanted the code to do might actually get lost and ChatGPT or whatever code assistant you«re using will start to kind of accidentally remove features that it originally put in.As of right now, it«s still not great. You also have the issue of context windows. Most of these chatbots have context windows that aren«t suitable for very very large chunks of code. You can upload large document with code in it, and if it«s beyond the context window of the chatbot, it«s not going to be able to read a large chunk of that code.You also have theissues of stuff getting lost in the middle of the code. A lot of times these chatbots, when you feed them long documents, they«re really good at reading what«s in the beginning of the document and the end of the document, but stuff in the middle tends to get lost for some reason, which isn«t great for code, cuz you need you need it to use all of that code for context.Не поймите меня неправильно, с написанием программного кода с помощью ИИ всё ещё есть много проблем. Я по-прежнему считаю, что сейчас не обойтись без программистов, кроме того, я думаю, что они будут необходимы и в будущем. Мы в действительности сталкиваемся с большим количеством проблем, когда дело доходит до написания кода с помощью ИИ. Будучи человеком, который сам не очень хорошо разбирается в программировании, я испытываю множество трудностей, пытаясь написать код с помощью ИИ.К примеру, когда я пытаюсь сделать так, чтобы какой-нибудь инструмент вроде ChatGPT написал код за меня, то после первой итерации код обычно оказывается довольно глючным. Я объясняю ChatGPT, в чём ошибка, ChatGPT пытается её исправить и часто в ходе этого процесса появляется ошибка в другом месте, и если тело программы увеличивается, многие из этих ИИ-инструментов как-бы забывают о первоначальных задачах, так что после нескольких итераций процесса написания и корректировки кода, задачи, поставленные первоначально, могут быть забыты, и ChatGPT или любой другой ИИ-помощник по написанию кода, который вы используете, начнёт как бы случайно удалять функции, которые он ввёл первоначально.На данный момент, всё работает не очень хорошо. Кроме того, существует проблема контекстных окон. Контекстные окна у большинство чат-ботов не очень подходят для работы с большими кусками кода. Загрузить большой документ с кодом можно, но если он выходит за пределы контекстного окна, то чатбота будет не в состоянии прочитать бОльшую часть такого кода. Кроме того, есть проблемы, связанные с тем, что в середине документа код может потеряться. Когда вы скармливаете чатботам длинные документы, зачастую они очень хорошораспознают то, что находится в начале и в конце документа, но то, что в середине, по какой-то причине теряется, а это не очень хорошо с точки зрениякомпиляции кода, поскольку для полного понимания контекста необходим весь код.
12:57 However things like that are getting even better with things like Gemini 1.5 coming out, which is capable of working with 1.000.000 tokens or 750,000 words, making it more and more likely that you«re going to be able to plug in huge chunks of code and have it read it all. They also did what«s called a needle in a haystack test (for LLM) inside of Gemini, where they gave it a huge amount of text and somewhere in the middle gave it a little sentence and then asked it a question about that sentence to see if it would find that sentence located in this huge massive amount of text and it performed at 99%. It was able to find the embedded text 99% of the time, which means that issue of thing getting lost in the middle is going to be a thing of the past pretty soon.Однако, ситуация постепенно меняется в лучшую сторону с выходом таких инструментов как Gemini 1.5, который способен работать с 1.000.000 токенов или 750.000 слов, а это делает всё более вероятным то, что вы сможете загрузить огромные куски кода и заставить ИИ учитывать всё. Специалисты также провели с Gemini так называемый тест «Иголка в стоге сена» (NIAH / «Needle In A Haystack» для больших языковых моделей), в рамках которого в ИИ загрузили огромный объём текста и где-то в середине спрятали короткое предложение, а затем задали ИИ вопрос об этом предложении, чтобы проверить, найдет ли ИИ его в огромном массиве текста, и он справился на 99%. Он смог найти встроенный текст в 99% случаев, а это значит, что проблема потери данных в середине текстов скоро уйдёт в прошлое.
13:41 Where we stand today? AI is a great coding assistant. It«s going to help you write a lot better code, it«s going to help you debug you code, it«s going to help write a lot of monotonous code that«s been written over and over and over again, that can be found on places like GitHub and Stack Overflow. But it«s not really great at creating a huge piece of software from scratch for you yet, but I do think it«s going to there, and it«s going to get there a lot sooner than most people realize. Now, does that mean I think nobody should learn coding ever? Absolutely not! I have a 9-year-old son. He actually is in coding classes right now and I«ve been pushing him to continue to learn code and he really loves it in the similar way that if you love art and you love painting or drawing, you shouldn«t give up painting or drawing because AI art can do it as well. I think a lot of people learn to code because it is enjoyable to understand what is going on underneath and to feel like they built something using their own brains as opposed to AI«s brain. I think we«re going to get to a point where AI is really damn good at coding and it«s going to be able to code the majority of a piece of software for you, but I still think there«s probably going to need to be humans in the loop to help debug code. You know, if you«re a game developer, you still need humans to create a fun game loop. If you want a good user interface and user experience, I still think humans are going to be the best at determining what a good user interface and good user experience is. My view of the future of coding is yes, I do believe AI is going to do the majority of the coding work, but I think humans still need to have the ideas for what to code, I thinkhumans are still going to need to help problem solve and help guide the AI tofix issues with the code. I think humans are still going to steer the UI, theuser experience of the code and I think there«s going to be almost like a craftelement to it as well. I think people are going to value things that humanscoded versus AI coded in the same way that seems to be playing out in AI art.People are more impressed by an amazing piece of work that was created by a human, than they are an amazing piece of art that was created by AI. I thinkcoding will be the same.Какова же ситуация на сегодняшний день? ИИ является отличным помощником в написании кода. Он поможет вам написать гораздо более качественный код, отладить его, написать большой объем однообразного кода, который приходится писать раз за разом, (его выкладывают на таких сайтах, как GitHub и Stack Overflow). Однако, с точки зрения разработки сложного программного обеспечения с нуля ИИ пока не очень хорош, но я думаю, что ситуация изменится, и произойдёт гораздо раньше, чем многие думают.Значит ли это, что я считаю, будто никому не следует учиться программированию? Ни в коем случае! У меня 9-летний сын. Он ходит на занятия по программированию, и я направляю его в русло дальнейшего изучения кода, и ему это очень нравится, по аналогии с тем, как если вы любите искусство и вам нравится рисовать или чертить, вы не должны бросать живопись или черчение, потому что искусственный интеллект может делать это не хуже вас. Я думаю, многие люди учатся программировать, потому что им нравится разбираться в сути этого процесса, и осознавать, что они создают нечто с помощью своего разума, а не посредством искусственного интеллекта. Я думаю, что мы достигнем того момента, когда ИИ станет действительно хорош в разработке программного кода и сможет создавать большую часть программного обеспечения за нас, тем не менее, я по-прежнему считаю, что по всей вероятности потребуется участие людей, которые помогут отладить код. Знаете, если вы разработчик игр, вам всё равно не обойтись без людей, если вы хотите сделать игру увлекательной. Кроме того, я по-прежнему считаю, что только люди смогут определить, как должно выглядеть игровое окно пользователя и чем определяются приятные впечатления от игрового процесса.На мой взгляд, в будущем программирования есть место для ИИ, я действительно считаю, что ИИ будетвыполнять большую часть работы по написанию кода, однако, я думаю, что в первую очередь люди должны определять на какую тему писать код, кроме того, я считаю, что люди всё равно должны помогать решать проблемы и направлять ИИ в части устранения проблем в коде. Я думаю, что люди по-прежнему должны определять облик окна пользователя, то какими должны быть впечатления пользователя от взаимодействия сприложением, и я думаю, что в этом также будет присутствовать элемент ремесла. Я думаю, что люди будут в большей степени ценить код, написанный людьми, в отличие от того, что было создано с помощью ИИ, по аналогии с тем, как это происходитв искусстве. Людей больше впечатляет удивительное произведение искусства, созданное человеком, нежели чем то, что было получено с помощью ИИ. Думаю, в программировании будет то же самое.
15:53 When Jensen Huang made his quote about how he thinks people should stop learning coding, John Carmack, the creator of ID Software, a programmer himself and one of the creators of the Oculus had this to say about it and think he nails it, I think this is a spot-on representation of where I think coding is heading.Когда Дженсен Хуанг высказался о том, что, по его мнению, люди должны перестать изучать программирование, Джон Кармак, создатель ID Software, сам программист и один из создателей Oculus, сказал по этому поводу следующее: «Я думаю, это максимально точное представление того, в каком направлении, по моему мнению, развивается программирование».
16:11 He says: «Coding» was never the source of value, and people should never get overly attached to it. Problem solving is the core skill. The discipline and precision demanded by traditional programming will remain valuable transferable attributes, but they won«t be a barrier to entry anymore.Many times over the years I have thought about a great programmer I knew that loved assembly language to the point of not wanting to move to C. I have to fight some similar feelings of my own around using existing massive codebases and inefficient languages, but I pushed through.I had somewhat resigned myself to the fact that I might be missing out on the «final abstraction», where you realize that managing people is more powerful than any personal tool. I just don«t like it, and I can live with the limitations that puts on me.I suspect that I will enjoy managing AIs more, even if they wind up being better programmers than I am. Он сказал: «Программирование как процесс написания кода» никогда не было источником благ, и люди не должны чрезмерно от него зависеть. Ключевым навыком является способность решать проблемы. Дисциплина и точность, которых требует традиционное программирование, останутся ценными навыками, которым можно научиться, но они больше не будут барьером для входа в профессию.На протяжении многих лет я не раз вспоминал одного знакомого программиста, который любил язык ассемблера до такой степени, что не хотел переходить на C. Мне приходилось бороться с похожими чувствами в части использования огромных баз исходного кода и неэффективных языков, но я выдержал.Я уже смирился с тем фактом, что, вероятно, упускаю «последний уровень абстракции», поскольку осознаю, что управление людьми мощнее любого ПО для ПК. Мне просто не нравится этот факт, и я в состоянии жить с теми ограничениями, которые он на меня накладывает.Мне представляется, что управление ИИ будет доставлять мне больше удовольствия, даже если он окажется лучшим программистом, чем я.»
16:59 So, when he«s referring to that «final abstraction», he«s talking about what«s that next layer on top of code, cuz over the history, we«ve always added new layers to make think easier and easier and easier. Поэтому, когда он говорит о «последнем уровне абстракции», он имеет в виду то, что находится в иерархии выше уровня кода, поскольку на протяжении всей истории вопроса, мы постоянно добавляли уровень за уровнем, что делало процесс реализации идей всё проще.
And all the people that are super resistant to letting AI help them with code or letting AI write that code for them are essentially saying that yes, there«s a new layer of abstraction that makes it easier, but I«m going to ignore that and stay at the layer before it. And that«s my thoughts on AI coding, that«s where coding is going. I think it«s the next layer of abstraction for coding I think it«s always kind of been headed in that direction.If it wasn«t AI that added that next layer of abstraction to make it easier for humans to write code, something else would have been that next layer of abstraction and people would have been just as frustrated and upset and resistant to whatever that was as well. But again, not a coder myself, this is just the perspective of somebody, who pays very close attention to AI and has some of that foundational knowledge of how computers and operating systems and software work. I just feel like this was the direction things were headed.И все, кто сильно противятся тому, чтобы ИИ помогал нам в написании кода или не хотят, чтобы ИИ писал код за них, по сути, говорят, мол, да, есть новый уровень абстракции, который упрощает процесс, но я его проигнорирую и буду оставаться на предыдущем уровне. Вот, что я думаю о программировании на базе ИИ, и о том, куда движется процесс в целом. Я думаю, что это и есть следующий уровень абстракции с точки зрения программирования, и я думаю, что оно всегда шло в этом направлении.Если бы не ИИ стал причиной появления следующего уровня абстракции, который позволил людям упростить процесс написания кода, то им стало бы нечто другое, и люди были бы так же обозлены, расстроены и сопротивлялись бы этому, чем бы оно ни было. Однако, необходимо напомнить вам, что я не программист, и изложенное выше является мнением человека, который уделяет очень пристальное внимание ИИ и обладает некоторыми фундаментальными знаниями о том, как работают компьютеры, операционные системыи программное обеспечение. Мне просто кажется, что всё шло именно в этом направлении.
18:09 What do you think? Let me know in the comments. I know this is a very hotly debated topic, there«s a lot of negativity, there«s a lot of fear, but O do want to know your opinion, where do you think the coding is heading and what is the timeline you think.I actually believe we«re going to get to the point where Ai is really proficient at writing good code within the next 18 months, possibly even sooner.That«s where I stand, what are your thoughts? Thanks for tuning in! I«ll see you in the next video. А что думаете вы? Дайте мне знать в комментариях. Я знаю, что это очень горячо обсуждаемая тема, в которой присутствует много негатива, много страха, но мне важно знать ваше мнение в части того, в каком направлении, по вашему мнению, развивается программирование и каковы временные рамки событий в будущем.Я считаю, что мы придем к тому, что уже через полтора года, а, возможно, даже раньше ИИ сможет писать качественный код. Это то, что думаю я, а как считаете вы? Спасибо за внимание! Увидимся в следующем видео.
© Habrahabr.ru