01. 프롬프트
CPE Elements 101의 첫글은 '프롬프트'입니다. 프롬프트는 텍스트로 주어진 질문, 명령 또는 지시로, 우리가 의도하는 특정한 결과를 이끌어내기 위해 설계된 텍스트입니다. 이를 통해 LLM을 기반으로 명시적이거나 암시적인 의도에 맞추어 작업을 수행합니다. 프롬프트는 간단한 질문 형태일 수도 있고, 복잡한 시뮬레이션이나 무언가를 요구하는 상세한 지침일 수도 있습니다. 사실 여기서 프롬프트가 무엇이고 간단한 유래를 다루거나 할 수 있지만, 그에 대해서는 대강 건너뛰고 가고 싶네요. 그렇다고 아무것도 이야기하진 않을 수 없으니 간단하게 우리가 다룰 '프롬프트'라는 것의 특징을 알고 건너가는 게 좋을 것 같습니다. 여기서 다룰 특성들은 이후에 다루게 될 포인트들을 반영하기 때문입니다. 프롬프트는 본질적으로 텍스트이다. 프롬프트는 텍스트상에서 나타나는 표현과 형식이 있고, 이를 함의하는 의미와 방향성을 가지고 있다. 프롬프트는 개별 기능을 대표한다. 프롬프트가 가진 텍스트 크기가 클 수록, 프롬프트의 복잡성 또한 올라간다. 오늘은 이 중에서 프롬프트의 의도와 개선에 대해서 이야기해보고자 합니다. 숨어있는 의도 드러내기 프롬프트는 본질적으로 텍스트입니다. 프롬프트의 작동 원리와 결과는 종종 코드와 비슷한 구조를 가질 수 있습니다만, 어찌되었든 프롬프트는 줄글로 된 텍스트이고, 주된 기능을 구현할 때에도 이에 대한 여러 줄의 표현이나 설명, 지시와 형식이 복잡스레 들어갑니다. 이러한 표현들은 특정한 기능을 더 잘 동작시키기 위한 목표를 가지고 심혈을 기울여 배치됩니다. 그렇다면 이를 어떻게 하면 바로 시인성있게 파악할 수 있을까요? 시인성있게 파악할 수 있어야 무얼 하는 프롬프트인지 명확하게 파악할 수 있고, 전체 프로젝트에서 프롬프트 사이사이에 놓치는 부분이 없이 엔지니어링이 가능합니다. 그런 면에서 코드와 프롬프트는 얼핏 비슷해보이지만, 가장 두드러지는 차이는 바로 "의도의 명확성"을 어떤 수단으로 드러내는가에서 두드러집니다. 코드에는 주석이라는 개념이 있습니다. 프로그래밍에서는 주석을 남김으로, 코드와는 명확히 다른 방식의 표현으로 자연어로 된 화자의 의도를 직접적으로 남길 수 있습니다. 아래와 같은 예제로, 코드는 주석을 새김으로 동작에 관여하지 않지만, 명백한 의도를 설명할 수 있는 텍스트를 남길 수 있습니다.
- Two_JayT
1