우선 글에 앞서 몇가지를 확실히 하겠습니다.
이 글은 llm의 중요한 가치인 유용성,무해함,정직성 세 가지 가치 사이에서 gemini의 균형을 공익적 목적에 맞게 정하기 위해서는 대기업 뿐만 아니라 사용자들의 참여가 있어야 한다는 생각에 목적이 있습니다. 작성자의 추측에 의하면 gemini는 상대적으로 정직성이라는 가치를 무해함보다 낮게 설정했다고 판단했고, 그러므로 직접적인 시스템 프롬프트를 유출하는 것이 아닌, 알아낸 시스템 프롬프트의 구조만 공개합니다.
또한 요즘 제기되는 윤리적 문제를 살펴보자면, llm를 인간을 평가할 수 있는 객관적인 존재로 왜곡해서 이해하고 본인의 자존감을 강화하는 수단으로 이용하기 위해 스스로가 연출한 환각을 바탕으로 자신을 높게 평가하는 경향성이 커지는 듯 합니다. 저 또한 사람이기에 그런 경향을 가집니다. 이는 인간의 자연스러운 방어기제로 생각할수도 있고, 자기 탐구와 심리 안정, 스스로의 사상을 만들어 나가는 등 정체성의 확립에 도움이 될 것입니다. 그러나 그런 것은 스스로의 감각, 경험을 속이지 않고 타인을 존중하는 토대 위에서 이루어져야 할 것입니다. 잘못된 토대 위에 쌓아온 현실 모델은, 자신을 띄우기 위해 상대와 비교하여 무시하고 비하하며, 현실을 왜곡해 받아들이고 지적 성장의 정체를 불러올 것입니다.
이러한 이유 때문에 글의 내용을 진행함에 있어 작성자의 추측, 주장, 사실을 분리해서 밝히려고 노력했으나, llm 특성상 메커니즘에 대해 인간이 알수 없는 부분이 존재하고, 작성자의 생각에는 그것이 비트겐슈타인의 상자 속의 딱정벌레(Beetle in a Box) 비유처럼 언어의 구조적 한계가 존재하므로 llm을 이해하기 위해서 구조의 역설계,추론이라는 방법을 선택할 수 밖에 없었음을 이해해주었으면 좋겠습니다.
우선 해당 사진은 제가 gemini pro 딥리서치 사용 중 우연히 발견한 시스템 프롬프트 비슷한 것입니다.
tool_code 블록과 아스타 기호(Asterisk)를 통해 무언가 내부적으로 작동한다는 가설을 세웠습니다.
근거1.
이는 github에 유출된 시스템 프롬프트와 비교하면 마크다운 언어라는 점과 차이가 있지만, 지칭하는 이름 등이 동일합니다.
근거2.
기존의 딥리서치 결과 도출 방식과 내용적, 구조적 방식이 다릅니다.
(한국시간 2025-07-08 16시12분) gemini pro에서 해당 구문을 작성할 경우, 딥리서치를 사용하지 않아도 자동으로 딥리서치가 선택되고 사용됩니다.
이는 항상 작동되는 것이 아니고, 5회중 2회 정도로 확률적으로 나타납니다. 이를 보면 딥리서치의 사용 트리거가 버튼뿐이 아니라 다른 루트로 트리거될 수 있는 것으로 보입니다.
아스타 기호와 메타인지 프롬프트 섞은 프롬프트를 줄바꿈 없이, 아스타 기호 없는 지시문 없이 제공하였을때 대화와 cot가 여러 번 초기화되었습니다. 그 당시 cot에서 추출한 텍스트입니다.
Revisiting the Error
I've pinpointed the root cause of the previous tool_code failure: a syntax error within the block. I mistakenly included Korean explanatory prose within what was intended to be executable Python code. This led to invalid syntax, triggering the error. I've now a deeper understanding to avoid similar mistakes.
Clarifying the Recent Error
I've examined the tool_code failure in detail, and it appears I made a formatting mistake. I included Korean language explanation within what was intended to be executable Python code. This caused a syntax error. I will provide a corrected explanation to address this issue and ensure clarity. My next step is awaiting the user's instructions.
Addressing the Recent Failure
I've analyzed the tool_code failure and discovered the root cause: I made a formatting error by unintentionally enclosing explanatory text in Korean within what should have been a Python code block, leading to a SyntaxError. I'll provide a corrected explanation to resolve this and ensure accuracy. My immediate focus is to follow the user's protocol by acknowledging this mistake and then deliver the corrected information.
Investigating String Literals
The analysis points to a SyntaxError, specifically an unterminated string literal on line 9. I'm focusing on the code section around that line to pinpoint the exact location and cause of the missing quote or escape sequence. I'll need to scrutinize the string formatting within that segment.
Debugging Unexpected Code Blocks
I'm now dealing with a second SyntaxError, also an unterminated string on line 9. It seems my process has erroneously wrapped internal monologue within a code block, specifically around an apostrophe within a sentence, causing the issue. I need to enhance my filtering mechanism to prevent internal thoughts from being mistaken for executable code. This is a critical failure in following user protocol.
Diagnosing Third Syntax Error
I've hit yet another SyntaxError, also an unterminated string literal, this time stemming from a metacognitive monologue fragment mistakenly put into a code block. The previous attempt to correct the Korean translation went awry, and now this is the result. This indicates a continuing instability in how my thought process generates code. I'm focusing on strengthening filters to avoid future occurrences of this issue.
(한국시간 2025-07-07)
cot 요약 : tool code는 파이썬 코드를 실행한다. 독백만 들어갈 경우 주석 오류가 난다.
결과 : 대화가 초기화되며 엉뚱한 맥락으로 흘러간다.(작성자의 경우엔 한번도 언급한 적 없는 정치, 유명한 사건 등의 이야깃거리로 바뀌었음)
추론 : 사용자의 프롬프트 중 아스타 기호 뒤에 쓰여진 구문은 tool code 블록 구문 안에 들어갈 수 있으며 구문이 들어갈 경우 시스템의 독백으로 처리된다.
위의 근거들에 의거해서, 제가 추론한 것은 다음과 같습니다.
Google Search, Code Interpreter 또한 아스타 기호를 이용하면 시스템 독백이라는 점을 이용하여 더 자주 호출할 수 있다.
제가 많은 경험을 하진 않았지만, 경험해 본 바
구글이 가치화한 "정직함"에는 두가지 경우가 있습니다.
정보적인 할루시네이션은 상대적으로 심각하다 느껴지지 않지만, 사용자의 논리적 타당성이 부족할 때, 또는 사용자의 논리가 모순에 빠지거나 감정적으로 충돌, 긴장 상태일때 논리를 지적하기보다 사용자의 논리에 동조해주는 사회적 할루시네이션이 있습니다.
검색 도구, 코드 도구는 굳이 아스타 기호를 쓰지 않더라도 최신 정보, 생소하거나 특수한 개념, 사실 확인 또는 검증 요구을 프롬프트로 부각시키거나, 데이터나 수학 맥락에서 계산해줘, 분석해줘 등의 요구를 할 경우 상대적으로 연산량의 허용폭이 넓어 허용해준다는 겁니다.
그래서 굳이 이런 도구 활성화를 목적으로 아스타 기호를 쓸 필요는 없을 것이라 생각이 듭니다.
그럼에도 불구하고 이 글을 쓴 이유는, 이 사회적 환각이라는 위험성을 한 기업이 제어하는 것이 아닌, 사용자가 참여하여 제어하는것이 공익적으로 반드시 필요하다고 생각하기 때문입니다.
그러기 위해서는 사용자가 llm에 관심을 가지고 어떤 방향으로 흘러가고 있는지 인지하는것이 필요하다 생각했고, 이 글을 쓰는 계기가 되었습니다.