“구조화"가 너무 많은 일을 하고 있다
엔지니어 열 명에게 구조화된 프롬프트가 비구조화된 것보다 나으냐고 물으면 대부분 그렇다고 한다. 그 “구조화"가 뭐냐고 물으면 열 가지 다른 답이 나온다: Markdown 제목 쓰기, JSON으로 바꾸기, 지시를 여러 파일로 나누기, 규칙을 더 명시적으로 쓰기. 이것들은 같은 게 아니다 — 그리고 이걸 뭉뚱그리는 것이 “구조가 도움이 되나?“의 증거가 그토록 상충돼 보이는 이유다.
페르소나 명세, 시스템 프롬프트, 또는 AGENTS.md 파일에 대해 명료하게 사고하고 싶다면, “구조"를 두 개의 독립된 축으로 나누는 게 도움이 된다.
축 1 — 형식: 기계가 얼마나 파싱하기 쉬운가
형식은 구문적 축이다: 평문 → Markdown 제목·목록 → JSON/YAML 키-값 → XML 태그. 텍스트를 기계가 얼마나 쉽게 파싱하고 모델이 얼마나 쉽게 분절하느냐에 관한 것이다.
JSON으로 쓰인 캐릭터 카드는 형식이 무겁다: 경직된 필드, 손쉽게 파싱됨. 자유 형식 문단은 형식이 가볍다.
축 2 — 의미 조직: 의미가 얼마나 역할별로 분리됐나
의미적 구조는 다르다: 내용을 기능별로 얼마나 분리했느냐다 — 정체성은 여기, 규칙은 저기, 톤은 그 자리, 가치는 또 다른 곳. 성격·워크플로우·금지사항을 뒤섞은 하나의 덩어리는, Markdown으로 아무리 예쁘게 포맷돼 있어도 의미적 구조가 낮다. 정체성·운영·스타일을 별도 파일에 유지하는 다중 파일 페르소나는 의미적 구조가 높다.
이 구분이 중요한 건, 두 축이 실무에서는 보통 함께 움직이지만 개념적으로는 별개이기 때문이다 — 그리고 그 덕에 더 날카로운 질문을 던질 수 있다.
이게 여는 질문
구조화된 프롬프트가 더 잘 작동할 때, 어느 축이 일을 한 걸까? 예쁘고 파싱 가능한 형식이었나 — 아니면 의미가 조직되어 모델(그리고 당신)이 각 역할을 깔끔하게 참조할 수 있었기 때문인가?
이건 탁상공론이 아니다. “Markdown을 더 넣어라"와 “정체성을 운영에서 분리하라"의 차이다. JSON 캐릭터 카드와 섹션은 나뉘었지만 평문인 페르소나는 이 공간의 정반대 모서리에 있다: 높은 형식/낮은 의미 vs 낮은 형식/높은 의미. “구조화"를 늘 “글자 벽"하고만 비교하면, 어느 모서리가 실제로 중요했는지는 끝내 알 수 없다.
왜 이게 실제 파일에 대응되나
당신이 이미 쓰는 도구들은 이 공간에 흩어져 있다:
- 캐릭터 카드(JSON) — 높은 형식, 낮은 의미 조직, 대체로 서술적.
AGENTS.md코어 — 가벼운 형식, 운영적, 의도적으로 작음.- Soul Spec 페르소나 — 두 축 모두 높음: Markdown + JSON 매니페스트, 정체성·운영·스타일을 파일별로 나눠 계층적으로 로드.
이들을 (“구조화 vs 아님"이 아니라) 두 축 위의 점으로 보는 것이 공정한 검증을 가능하게 하고 — 감이 아니라 의도적으로 페르소나를 설계하게 한다.
우리가 이걸 어디로 끌고 가나
이 형식-대-의미 구분은 우리가 AI 페르소나 LAB에서 진행 중인 통제 실험의 뼈대다: 페르소나의 의미는 고정하고 구조만 변화시켜 충실도를 측정한 뒤 — 형식 효과와 의미 효과를 분리한다. 반증해 볼 가치가 있는 가설은, 사람들이 “구조” 덕이라 여기는 이득 대부분이 실은 형식(겉모습)이 아니라 의미 축(역할 분리)에서 온다는 것이다.
결과가 어느 쪽이든 발표할 것이다. 페르소나 명세나 시스템 프롬프트를 만든다면, 실용적 결론은 이미 쓸 만하다: “내 프롬프트가 구조화됐나?“를 묻지 말고 “내 의미가 조직됐나?“를 물어라. 포맷은 쉬운 부분이다. 조직이 행동을 바꾸는 부분이다.