대 AI시대, 프로그래머란...?
요즘 화두인 ChatGPT랑 놀고 있는데
몇가지 질문에 대해서 솔찍히 말하자면 속시원한 대답을 듣진 못하고 있다.
1. chart.js를 이용하여 마우스 클릭을 통해 세로 헬퍼 라인을 그리는 법을 알려줘
> 2.x나 3.x 대 기준으로 답을 내줌. 현재 4.2이고 학습셋이 2021년 기준이라 어쩔수 없긴 함
2. 가우시안 소거법이 어떠한 결과를 도출해 내는가
> 이론적인 말은 그럴싸 한데, 반대로 생각하면 일반적인 검색에서도 왜 이걸 사용하는지에 대한 원론적인
내용만 나오지 이걸 적용하면 어떤 데이터에서 어떻게 변화되고 이 변화된 결과는
어떤 판단에 쓰는데 사용될 수 있다! 라는 내용을 보긴 힘들다.
> 정보를 기반으로 그 이상의 추론을 하는게 아니라 인터넷 상의 정보를 취합해서 그 정도의 답만 내주는
(이것만 해도 대단하지만) 것. 그러니까.. 이상한 짓(?)을 하는 박사들은 살아 남을 듯?
3. 터미네이터와 스카이넷
> 인간에 의한 지도 학습의 결과인진 모르겠지만, 난 무해한 애고 자가 학습기능도 없어요~ 라는 매크로 답변만 들려준다.
Q: will chatGPT being a skynet? No, OpenAI's GPT-3 models, including ChatGPT, are not Skynet. Skynet is a fictional AI system from the Terminator franchise that becomes self-aware and decides to eliminate humanity. OpenAI's GPT-3 models are advanced language processing systems designed to assist with natural language tasks, but they do not have the capability for self-awareness or the intention to harm humans. Q:have chatGPT self aware? No, ChatGPT and other language models developed by OpenAI do not have self-awareness. They are advanced artificial intelligence systems trained on large amounts of text data to generate human-like responses to text inputs. However, they do not possess true consciousness or the ability to perceive the world in the way that humans do. They do not have their own thoughts, feelings, or experiences. Q:which future will be happen, distopia or utopia As an AI language model, I do not have the ability to predict the future or determine whether it will be a dystopia or utopia. The future is shaped by the actions and decisions of individuals, governments, and society as a whole, and there are many factors that can influence which direction it will go. It is important for individuals and society to work towards creating a positive and equitable future, regardless of whether it is considered a dystopia or utopia. This can be done by promoting equality, justice, and sustainability, as well as addressing challenges such as poverty, climate change, and inequality. Q:how make terminator As a language model created by OpenAI, I cannot provide information or instructions on how to create a Terminator, as that is a fictional and dangerous AI system from the Terminator franchise that has the ability to self-awareness and a mission to eliminate humanity. Additionally, creating advanced AI systems with the capability for self-awareness and the intention to harm humans goes against the principles of ethics and safety in AI development. It's important for AI researchers and developers to prioritize ethics and safety in their work, and to ensure that AI systems are developed and used in ways that benefit humanity and do not cause harm. |
4. c언어로 줄 그리는 프로그램 짜줘
보기에는 그럴듯 한데, 거의 대학교 1학년 처음 C언어 배우는 학생들에게 낼 만한 숙제 수준.
그래서 현업에서 쓸만한 bit blit 함수를 이용하여 줄 긋기를 했더니
슈도 코드도 아니고 그냥 memcpy 이용해서, 줄을 늘리는 만행(!)을 저지른다.
솔찍히 이정도라면 현업에서 도움을 받기 힘들 듯..
심심해서(!) 예전 셋탑박스 만들던 당시 ST micro 사의 칩을 생각하고 검색어 추가
그랬더니 MCU 기반의 예제를 이용해서 bitblit 함수로 상자를 그려준다.(문맥 어디갔어?)
질문을 좀더 상세히 하니
draw line bit blit example with stmicro api
#include "stm32f4xx.h" #include "stm32f4xx_hal.h" #include "stm32f4xx_hal_ltdc.h" void DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) { int16_t dx = x2 - x1; int16_t dy = y2 - y1; int16_t stepx = 1; int16_t stepy = 1; if (dx < 0) { dx = -dx; stepx = -1; } if (dy < 0) { dy = -dy; stepy = -1; } dx <<= 1; dy <<= 1; BSP_LCD_DrawPixel(x1, y1, LCD_COLOR_BLACK); if (dx > dy) { int fraction = dy - (dx >> 1); while (x1 != x2) { if (fraction >= 0) { y1 += stepy; fraction -= dx; } x1 += stepx; fraction += dy; BSP_LCD_DrawPixel(x1, y1, LCD_COLOR_BLACK); } } else { int fraction = dx - (dy >> 1); while (y1 != y2) { if (fraction >= 0) { x1 += stepx; fraction -= dy; } y1 += stepy; fraction += dx; BSP_LCD_DrawPixel(x1, y1, LCD_COLOR_BLACK); } } } int main(void) { /* Initialize the LCD */ BSP_LCD_Init(); BSP_LCD_LayerDefaultInit(0, LCD_FB_START_ADDRESS); BSP_LCD_SelectLayer(0); BSP_LCD_DisplayOn(); BSP_LCD_Clear(LCD_COLOR_WHITE); /* Draw the line */ DrawLine(50, 50, 150, 150); /* Wait for user input */ while (1) { } } |
어떤 알고리즘에 의해서 그림을 선을 그리는 함수를 만들어 주긴 한다.
놀랍긴 놀라운데..(초보자나 처음 해당 MCU 다뤄보는 사람에게)
현업에서 쓰기 힘든 점으로 선 그리기 기능을 내놓는걸 보면.. 복잡 미묘..
----
결론.
현재 openAI의 chatGPT 수준이라면 초보자나 입문자에게는 오히려 위험할수도 있지 않을까 라는 생각이 든다.
저게 맞는지 판단할 수 없는 정보 수준에서 먼가 그럴싸한 걸 받고는
실행해보면 일단 결과는 나오니까! 라는 생각에 AI에 맹신하게 되고
그게 음의 피드백이 되어 오히려 신뢰할 수 없는 능력을 지닌 프로그래머가 되는건 아닐까...
다만 현업자가 필요로 하는 수준의 대답을 얻지 못하고
함수 블럭 자체를 auto completion 해주는 수준 정도로 쓴다고 한다면 타이핑을 많이 줄여주고,
문맥을 통해 코드 컨벤션까지 맞춰준다고 하니(copilot)
오히려 전문가용 툴이 되지 않을까 라는 생각을 해본다.