삭제된 게시글을 읽었고, 그 아이디어도 큰 잠재력을 가진 것 중 하나라고 생각합니다.
하지만 더 많은 것이 필요하다고 봅니다. 최근에 읽은 논문 중, 권위 있는 것은 아니지만 그 방향에 대해 더 자세한 내용을 다루고 있는 것이 있습니다.
존 첸(John Chen)과 유리 위렌스키(Uri Wilensky)의 “ChatLogo: A Large Language Model-Driven Hybrid Natural-Programming Language Interface for Agent-based Modeling and Programming” (PDF)
저에게 몇 가지 핵심 요점은 다음과 같습니다.
- 초보 프로그래머가 프로그래밍 언어와 자연어의 혼합으로 "컴퓨터와 대화"할 수 있도록 지원한다.
- 컴퓨터 과학 배경이 없거나 적은 학습자가 컴퓨터 프로그래밍을 통해 창의적으로 자신을 표현할 수 있도록 더 친근한 인터페이스를 제공한다.
- 즉시 코드를 작성하고 지시를 내리는 대신, ChatLogo는 학습자의 필요와 의도를 명확히 하려고 시도한다.
- 대량의 코드를 학습자에게 직접 보내는 대신, NetLogo 코드를 공동 개발하려고 시도한다. 학습자는 코드를 자유롭게 수정할 수 있으며: NetLogo에서, 또는 “Ask” 기능을 통해 자연어로 수정할 수 있다.
- 코드의 정확성을 과장하지 않고, 실수를 할 가능성을 인정하며 잠재적인 문제를 해결하기 위해 학습자와 함께 작업한다.
Chat이 NetLogo 위에 어떻게 레이어링되었거나 인터페이스를 형성하는지에 대한 소스 코드나 더 자세한 정보를 찾을 수 없었지만, 아이디어 자체만으로도 가치가 있습니다.
이것은 다시 비행기 자동 조종장치(autopilot)의 작동 방식과 앞서 언급했던 책을 떠올리게 합니다. (참조) 자동 조종장치를 언급할 때 이진 스위치를 생각하지 마세요. 자동 조종장치에 정보를 제공하고 무엇을 해야 하고 무엇을 하지 말아야 하는지를 알려주는 수많은 노브와 스위치를 생각해야 합니다.
이러한 도구 중 많은 것들이 copilot(코파일럿)이라는 단어를 사용하려는 경향이 있습니다(예: Google 검색 llm copilot source code). 저는 그 비유에 동의하지 않지만, 관련 아이디어를 찾는 방법이 그 때문이므로 어쩔 수 없이 받아들여야 합니다.