완벽한 프롬프트를 작성하는 것을 멈추세요. 모델에게 실습 기회를 주세요.
요약
완벽한 프롬프트 설계 대신 LLM에게 상황 인식(Situated awareness)을 제공해야 한다는 관점을 제시합니다. 계획을 엄격한 실행 엔진이 아닌, 행동을 위한 자원(Resource)으로 활용하여 모델이 실무자처럼 대응하게 만드는 전략을 제안합니다.
핵심 포인트
- 완벽한 단계별 계획은 예상치 못한 입력에 취약함
- 계획은 행동의 엔진이 아닌 행동을 위한 자원이어야 함
- LLM에게 목적, 규칙, 어포던스 등 실천의 묶음을 제공할 것
- 모델이 상황을 인식하고 스스로 대응하는 실무자가 되도록 유도
우리는 완벽한 프롬프트 (Prompt)를 작성함으로써 LLM (Large Language Models)을 신뢰할 수 있게 만들려고 계속 노력합니다.
모든 단계를 나열하세요. 번호를 매기세요. 각 분기점을 예측하세요. 출력 형식 (Output format), 예외 케이스 (Edge cases), 어조 (Tone)를 지정하세요. 모델이 실행하는 것 외에는 아무것도 할 일이 남지 않도록 계획을 완벽하게 구축하세요.
그러면 절반 정도는 작동합니다. 하지만 작업이 약간 변경되거나, 예상하지 못한 형태의 입력이 들어오면, 결과를 보장하기로 되어 있던 그 계획이 갑자기 방해 요소가 되어 버립니다.
저는 오랫동안 이런 방식으로 하네스 (Harnesses)를 구축하며 시간을 보냈습니다. 풍부한 함수 설명 (Function descriptions), 명확한 사양 (Specs), 모든 기본 요소 (Primitives)를 노출하고 이름을 잘 붙였습니다. 그럼에도 시스템은 취약했습니다. 때때로 모델이 올바른 도구를 선택하기도 했지만, 그렇지 않을 때도 있었습니다. 한 가지를 바꾸면 잘 작동하던 무언가가 작동을 멈췄습니다. 정보는 모두 그곳에 있었습니다. 신뢰성 (Reliability)이 없었을 뿐입니다.
문제는 계획이 불완전했다는 것이 아니었습니다. 문제는 제가 계획을 행동의 엔진 (Engine of action)으로 취급했지, 행동을 위한 자원 (Resource for action)으로 취급하지 않았다는 점이었습니다.
계획은 행동을 일으키지 않는다
1987년, Lucy Suchman은 컴퓨터에 대해 쓰인 거의 그 어떤 글보다 더 시대를 앞서간 구분을 제시했습니다. 그녀는 계획이 행동을 '유발'하는 것이 아니라고 주장했습니다. 계획은 상황 속에서 행동하는 동안 우리가 활용하는 '자원'입니다. 실제 작업은 현장에서(in situ) — 매 순간, 자신이 어디에 있는지, 무엇이 손에 있는지, 무엇이 합리적인 다음 단계가 될지를 읽어내며 일어납니다. 계획은 전후에 우리가 들려주는 이야기일 뿐입니다. 계획은 일을 수행하는 주체가 아닙니다.
숙련된 전문가는 계획을 따르지 않습니다. 그들은 상황 인식 (Situated awareness)을 가지고 있습니다. 즉, 전개되는 실습 (Practice)을 파악하고 있는 상태입니다. 나무의 옹이를 마주한 목수는 순서도 (Flowchart)를 찾아보지 않습니다. 그들은 나무가 무엇을 제공하는지, 도구가 무엇을 제안하는지, 작업의 목적이 무엇인지를 알고 있으며, 그에 따라 대응합니다.
그것이 바로 LLM에 부족했던 것입니다. 더 나은 계획이 아니라, 상황 인식 (Situated awareness)입니다.
계획 대신 무엇을 주어야 하는가
실천(practice)이 실제로 어떻게 작동하는지에 대한 방대한 연구가 존재합니다. Wittgenstein부터 Schatzki, Reckwitz, Shove에 이르기까지 실천 이론 (practice theory)이 그 예입니다. 이 이론은 실천을 구성 요소들의 묶음(bundle)으로 설명합니다. 즉, 작업에 방향을 부여하는 목적(ends)과 지향성(orientations), 무엇을 해야 할지 인식하게 해주는 실용적 이해(practical understandings), 규칙(rules), 어포던스 (affordances), 그리고 재료(materials) 등이 그것입니다.
이러한 묶음은 특정 작업에 대한 실무자(practitioner)의 상황 인식 (situated awareness)을 포착한 구조입니다. 그리고 놀랍게도, 여러분은 이것을 LLM에게 전달할 수 있습니다.
따라야 할 스크립트로서가 아니라, 행동하는 동안 보유해야 할 자원으로서 말입니다. 모델에게 그 묶음—목적, 이해, 규칙, 도구가 제공하는 어포던스—을 주고 모델이 실무자가 되게 하십시오. 그런 다음 최종 결과물을 지향하도록 가리키고, 그 뒤에서는 물러나십시오.
이 차이는 미묘하지 않습니다. 실천을 보유한 모델은 모든 단계를 일일이 설명해 줄 필요가 없습니다. 왜냐하면 그 작업이 '무엇을 위한 것인지'를 이해하기 때문입니다. 모델은 상황을 인식하고 그에 대응합니다. 입력이 예상치 못한 형태로 들어오더라도 모델은 고장 나지 않습니다. 유능한 실무자가 하는 것처럼, 상황을 읽고 그에 맞춰 대응할 뿐입니다.
역량(Competence)이 상황(circumstance)을 만나는 것. 그것이 전부입니다.
하네스 (harness)에서의 구현 모습
실제로 이는 제가 더 이상 모델에게 긴 절차적 프롬프트 (procedural prompt)를 주는 것으로 시작하지 않음을 의미합니다.
저는 모델에게 실천 (practice)을 부여합니다.
실천 묶음 (practice bundle)에는 다음과 같은 것들이 포함될 수 있습니다:
- 목적-정동 구조 (Teleo-affective structure): 작업의 목적과 취해야 할 태도
- 이해 (Understanding): 이러한 종류의 상황에서 무엇이 중요한가
- 규칙 (Rules): 무엇을 보존하거나 피해야 하는가
- 어포던스 (Affordances): 사용 가능한 도구들이 무엇을 가능하게 하는가
- 재료 (Materials): 모델이 무엇을 가지고, 무엇을 대상으로 행동하는가
예를 들어, 다음과 같은 방식 대신 말입니다:
- 캘린더를 읽는다.
- 충돌 여부를 확인한다.
- 이 이벤트가 중요한지 결정한다.
- 필요한 경우 명확한 설명을 요청한다.
- 변경 사항을 적용한다.
나는 그것에게 캘린더 관리(calendar stewardship)의 구조를 제공한다: 이 실습의 목적은 무엇인지, 무엇이 돌봄(care)으로 간주되는지, 어떤 규칙이 행동을 제약하는지, 캘린더 도구들이 어떤 어포던스(affordances, 행동 유도성)를 제공하는지, 그리고 어떤 종류의 판단(judgement)이 중요한지를 말이다.
모델은 여전히 경계가 정해져 있다 — 여전히 도구, 규칙, 그리고 점검 사항들을 가지고 있다. 하지만 무게 중심이 절차(procedure)에서 상황적 역량(situated competence)으로 이동한다.
상황이 변할 때, 모델은 원래의 계획 안에 갇혀 있지 않는다; 모델은 상황을 읽고, 손에 있는 어포던스(affordances)를 사용하며, 목표를 향해 계속 나아간다.
계획이란 없다
과도하게 상세히 지정하려는 본능은, 대응성(responsiveness)보다 계획을 신뢰하도록 가르쳐온 문화에서 기인한다 — 즉, 자신감 있고 상세하며 단계적인 설명이 진짜 작업이며, 그 순간의 무질서한 판단은 제거해야 할 노이즈일 뿐이라고 믿는 문화 말이다.
사실은 그 반대다. 판단이 곧 작업이다. 계획은 언제나 그것에 대한 하나의 이야기였을 뿐이다.
그러니 완벽한 프롬프트를 작성하는 것을 멈춰라. 모델에게 상황적 인식(situated awareness)을 부여하고, 모델이 결과에 집중하게 하라.
계획이란 없다. 계획은 애초에 존재하지 않았다. 상황은 어쨌든 구축된다.
이 작업의 이면
이것은 요약 버전이다. 작동하는 구현체, 자율적인 자기 개선 루프(autonomic self-improving loop), 그리고 실제 LLM 하네스(harness) 환경에서 실행되는 실제 사례를 포함한 전체 논증은 네 편의 에세이에 걸쳐 서술되어 있으며, 순서대로 읽는 것이 가장 좋다:
-
AI Trust and Situated Awareness: A Practice Theory Reframe
— "의미 계층 (meaning layer)"에서 상황적 인식 (situated awareness)으로의 재구성.
10.5281/zenodo.20306761 -
Practice Theory — The Apprenticeship and a Strange Loop
— 실습 (practice)이 어떻게 전수되는지, 그리고 시스템이 어떻게 스스로를 유지하는지에 대하여.
10.5281/zenodo.20354614 -
Practice Theory — The Implementation
— 실제 실습에서 코드를 실행하기까지의 과정 안내.
10.5281/zenodo.20405699 -
Practice Theory — A Worked Example (Calendar Stewardship)
— 실제 네스 (harness) 환경에서 처음부터 끝까지 수행되는 단일 실습 사례.
10.5281/zenodo.20406162
동반 소프트웨어:
practice-theory-implementation
— 10.5281/zenodo.20405235
Monyet Batu — symagenic.com ·
ORCID 0009-0007-9002-5381
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기