397.77 프롬프트 엔지니어링 기반 로봇 도메인 임무 인지
1. 서론
프롬프트 엔지니어링(Prompt Engineering)은 대규모 언어 모델(LLM)의 출력을 원하는 방향으로 유도하기 위해 입력 프롬프트를 체계적으로 설계하는 기법이다. 로봇 도메인에서 프롬프트 엔지니어링은 LLM이 로봇의 물리적 능력, 환경 제약, 안전 요구 사항 등 도메인 특화 지식을 정확히 인지(Cognition)하고 이에 기반한 적절한 임무 계획을 생성하도록 유도하는 핵심 기술이다. 본 절에서는 로봇 도메인 임무 인지를 위한 프롬프트 설계 원칙, 구성 전략, 고급 기법, 그리고 실제 적용 사례를 체계적으로 기술한다.
2. 로봇 도메인 프롬프트의 설계 원칙
2.1 도메인 인지의 필요성
범용 LLM은 로봇 도메인에 특화된 지식을 명시적으로 학습하지 않았으므로, 프롬프트를 통해 다음의 도메인 특화 정보를 주입해야 한다.
- 로봇 능력 명세(Robot Capability Specification): 로봇이 수행 가능한 행동(Action)의 목록, 각 행동의 전제 조건(Precondition)과 효과(Effect), 그리고 물리적 제약
- 환경 모델(Environment Model): 작업 공간의 구조, 객체의 위치와 속성, 장애물 배치 등
- 안전 제약(Safety Constraints): 충돌 회피, 금지 영역, 속도 제한, 페이로드 한계 등
- 과업 맥락(Task Context): 현재 임무의 목표, 우선순위, 시간 제약, 이전 행동의 결과
2.2 프롬프트 설계의 핵심 원칙
효과적인 로봇 도메인 프롬프트 설계를 위한 핵심 원칙은 다음과 같다.
2.2.1 명확성 원칙 (Clarity Principle)
프롬프트의 각 구성 요소는 모호성(Ambiguity) 없이 명확히 정의되어야 한다. 특히 행동의 의미와 파라미터 범위를 정확히 명시하여 LLM의 해석 오류를 최소화해야 한다.
2.2.2 완전성 원칙 (Completeness Principle)
LLM이 올바른 임무 계획을 생성하기 위해 필요한 모든 정보가 프롬프트에 포함되어야 한다. 정보가 누락되면 LLM은 사전 학습된 일반 지식으로 결핍을 보충하게 되어, 도메인에 부적합한 계획이 생성될 수 있다.
2.2.3 간결성 원칙 (Conciseness Principle)
LLM의 문맥 창(Context Window) 제한을 고려하여, 필수 정보를 최소한의 토큰으로 전달해야 한다. 불필요한 상세 정보는 주의력(Attention)을 분산시켜 계획 품질을 저하시킬 수 있다.
2.2.4 구조화 원칙 (Structuring Principle)
프롬프트를 논리적 섹션으로 구조화하여 LLM의 정보 처리 효율을 높여야 한다. 마크다운 형식, JSON 스키마, 또는 XML 태그 등의 구조화된 형식이 비구조적 서술 형식보다 효과적임이 실험적으로 확인되었다 (Yin et al., 2023).
3. 로봇 도메인 프롬프트의 구성 요소
3.1 시스템 프롬프트 (System Prompt)
시스템 프롬프트는 LLM에 로봇의 역할과 기본 행동 규칙을 정의한다. 이 단계에서 도메인 특화 페르소나(Persona)를 부여하여 LLM의 응답 스타일과 범위를 한정한다.
[시스템 프롬프트 예시]
너는 6자유도 산업용 로봇 팔의 임무 계획 시스템이다.
너는 다음의 규칙을 반드시 준수해야 한다:
1. 물리적으로 실행 불가능한 행동을 생성하지 마라.
2. 안전 영역 외부의 동작을 계획하지 마라.
3. 파지(Grasp) 전에 반드시 대상 객체를 감지해야 한다.
시스템 프롬프트의 설계에서는 역할 부여(Role Assignment), 행동 범위 제한(Behavioral Boundary), 그리고 안전 규칙 주입(Safety Rule Injection)이 핵심 요소이다.
3.2 환경 상태 기술 (Environment State Description)
현재 환경 상태를 텍스트 형식으로 LLM에 전달한다. 환경 기술의 형식은 프롬프트 성능에 직접적인 영향을 미친다.
3.2.1 서술형 기술 (Narrative Description)
자연어 문장으로 환경을 기술하는 방식이다.
테이블 위에 빨간 블록과 파란 블록이 있다.
빨간 블록은 파란 블록의 왼쪽에 위치한다.
그리퍼는 현재 비어 있다.
이 형식은 직관적이나, 복잡한 환경에서 정보 밀도가 낮고 모호성이 증가한다.
3.2.2 구조화 기술 (Structured Description)
JSON, YAML 등의 구조화된 형식으로 환경을 기술하는 방식이다.
{
"objects": [
{"id": "red_block", "type": "block", "color": "red", "pos": [0.3, 0.2, 0.05]},
{"id": "blue_block", "type": "block", "color": "blue", "pos": [0.5, 0.2, 0.05]}
],
"gripper": {"state": "open", "holding": null},
"workspace_bounds": {"x": [0.0, 0.8], "y": [-0.4, 0.4], "z": [0.0, 0.6]}
}
구조화 기술은 정보 밀도가 높고 파싱이 용이하여, 복잡한 환경에서 우월한 성능을 보인다.
3.2.3 장면 그래프 기술 (Scene Graph Description)
객체 간의 공간적 관계를 그래프 구조로 표현하는 방식이다.
관계: on(red_block, table), on(blue_block, table),
left_of(red_block, blue_block), near(red_block, blue_block)
이 형식은 공간 추론(Spatial Reasoning)이 필요한 임무에서 효과적이다.
3.3 행동 사양 (Action Specification)
로봇이 수행 가능한 행동의 목록과 각 행동의 사양을 프롬프트에 명시한다.
가용 행동:
1. pick(object_id): 지정된 객체를 집는다.
- 전제 조건: 그리퍼가 비어 있어야 하며, 객체가 도달 가능해야 한다.
- 효과: 그리퍼가 객체를 파지하고 있게 된다.
2. place(object_id, location): 파지 중인 객체를 지정 위치에 놓는다.
- 전제 조건: 그리퍼가 해당 객체를 파지하고 있어야 한다.
- 효과: 객체가 지정 위치에 놓이고, 그리퍼가 비게 된다.
3. navigate(target_pos): 지정된 위치로 이동한다.
- 전제 조건: 경로에 장애물이 없어야 한다.
- 효과: 로봇의 위치가 목표 위치로 변경된다.
행동 사양의 상세도(Granularity)가 계획 품질에 미치는 영향은 상당하다. 너무 추상적인 사양은 실행 불가능한 계획을 초래하고, 너무 상세한 사양은 문맥 창을 과도하게 소비한다.
3.4 제약 조건 명시 (Constraint Specification)
임무 수행 시 준수해야 하는 안전 제약, 물리적 제약, 시간 제약 등을 명시한다.
제약 조건:
- 유리 재질의 객체는 0.5m 이상 높이에서 떨어뜨리지 마라.
- 동시에 2개 이상의 객체를 파지하지 마라.
- 모든 행동은 5초 이내에 완료되어야 한다.
- 작업 영역의 경계를 벗어나는 동작을 수행하지 마라.
제약 조건의 표현에서 부정문(Negative Statement)은 LLM이 정확히 이해하기 어려운 경우가 있으므로, 긍정문(Positive Statement)으로 재구성하는 것이 권장된다.
4. 고급 프롬프트 엔지니어링 기법
4.1 사고 연쇄 프롬프팅 (Chain-of-Thought Prompting)
사고 연쇄(Chain-of-Thought, CoT) 프롬프팅은 LLM이 최종 계획에 도달하기 전에 중간 추론 단계를 명시적으로 생성하도록 유도하는 기법이다 (Wei et al., 2022). 로봇 도메인에서 CoT는 다음과 같이 적용된다.
임무: 빨간 블록 위에 파란 블록을 쌓아라.
추론 과정:
1. 현재 상태 분석: 두 블록 모두 테이블 위에 있고, 그리퍼는 비어 있다.
2. 목표 분석: 파란 블록이 빨간 블록 위에 있어야 한다.
3. 전제 조건 분석: 파란 블록을 집기 위해서는 그리퍼가 비어야 한다. (충족)
4. 행동 1: pick(blue_block) → 파란 블록을 집는다.
5. 행동 2: place(blue_block, on_top_of(red_block)) → 파란 블록을 빨간 블록 위에 놓는다.
최종 계획: [pick(blue_block), place(blue_block, on_top_of(red_block))]
CoT 프롬프팅은 복잡한 다단계 임무에서 계획 정확도를 크게 향상시킨다. Kojima et al. (2022)은 “단계별로 생각하라“라는 단순한 프롬프트 추가만으로도 제로샷 환경에서 추론 성능이 향상됨을 보고하였다.
4.2 역할 기반 프롬프팅 (Role-Based Prompting)
복합 임무에서 LLM에 복수의 역할을 부여하여 다각적 관점에서 계획을 검토하는 기법이다.
- 계획자(Planner): 임무 목표에 기반하여 행동 시퀀스를 생성한다.
- 검증자(Verifier): 생성된 계획의 물리적 실행 가능성과 안전성을 검토한다.
- 최적화자(Optimizer): 계획의 효율성을 개선하기 위한 대안을 제시한다.
이러한 다역할 프롬프팅(Multi-Role Prompting)은 단일 추론 경로의 편향을 완화하고, 계획의 전반적 신뢰성을 향상시킨다.
4.3 도메인 특화 어휘 최적화 (Domain-Specific Vocabulary Optimization)
로봇 도메인의 전문 용어를 프롬프트에 적절히 사용하는 것이 계획 품질에 영향을 미친다. 예를 들어, “물건을 옮기다” 대신 “pick-and-place 조작을 수행하다“와 같이 도메인 특화 어휘를 사용하면 LLM이 로봇 도메인의 맥락을 보다 정확히 인지할 수 있다.
도메인 어휘 사전(Domain Vocabulary Dictionary)을 프롬프트에 포함하는 것도 효과적인 전략이다.
용어 정의:
- 파지(Grasp): 엔드 이펙터를 사용하여 객체를 물리적으로 잡는 행위
- 배치(Placement): 파지 중인 객체를 목표 위치에 놓는 행위
- 작업 공간(Workspace): 로봇이 물리적으로 도달할 수 있는 3차원 공간 영역
4.4 정책 상태 기계 프롬프팅 (Policy State Machine Prompting)
임무의 상태 전이(State Transition) 구조를 프롬프트에 명시적으로 표현하여, LLM이 상태 기반 의사 결정을 수행하도록 유도하는 기법이다.
현재 상태: IDLE
가능한 전이:
IDLE → NAVIGATING: navigate(target) 실행 시
NAVIGATING → ARRIVED: 목표 도달 시
ARRIVED → PICKING: pick(object) 실행 시
PICKING → HOLDING: 파지 성공 시
HOLDING → PLACING: place(object, location) 실행 시
PLACING → IDLE: 배치 성공 시
이 기법은 LLM이 현재 상태에서 유효한 행동만을 선택하도록 제약하여, 부적절한 행동 시퀀스의 생성을 방지한다.
5. 프롬프트 최적화 방법론
5.1 프롬프트 템플릿 설계
재사용 가능한 프롬프트 템플릿(Prompt Template)을 설계하여, 다양한 임무에 일관된 품질의 프롬프트를 생성할 수 있다.
\text{Prompt} = \text{Template}(\text{role}, \text{env}, \text{actions}, \text{constraints}, \text{task})
템플릿의 각 슬롯(Slot)은 임무에 따라 동적으로 채워지며, 템플릿의 구조 자체는 도메인 전문가가 설계하고 반복적으로 개선한다.
5.2 자동 프롬프트 최적화 (Automatic Prompt Optimization)
프롬프트의 수동 설계는 시행착오(Trial-and-Error)에 의존하므로 비효율적이다. 자동 프롬프트 최적화(Automatic Prompt Optimization, APO) 기법은 프롬프트를 체계적으로 탐색하고 개선한다.
Zhou et al. (2023)의 OPRO(Optimization by PROmpting)는 LLM 자체를 메타 최적화기(Meta-Optimizer)로 활용하여, 과거 프롬프트와 그 성능 점수를 기반으로 더 나은 프롬프트를 생성하는 기법이다.
\text{prompt}_{t+1} = f_{\text{LLM}}(\{(\text{prompt}_i, \text{score}_i)\}_{i=1}^{t})
5.3 프롬프트 분해 및 앙상블 (Prompt Decomposition and Ensemble)
복잡한 임무를 위한 단일 프롬프트 대신, 전문화된 복수의 프롬프트를 설계하고 출력을 통합하는 앙상블(Ensemble) 전략이 효과적일 수 있다. 각 프롬프트는 특정 임무 측면(환경 분석, 행동 선택, 안전 검증 등)에 특화되며, 최종 계획은 이들의 통합으로 생성된다.
6. 프롬프트 성능의 체계적 평가
6.1 프롬프트 민감도 분석
프롬프트의 미세한 변형(표현 변경, 정보 순서 변경, 형식 변경 등)이 계획 품질에 미치는 영향을 분석하는 민감도 분석(Sensitivity Analysis)이 필요하다. Lu et al. (2022)에 따르면, 시범 예제의 순서(Ordering)만으로도 성능이 극단적으로 변동할 수 있다.
6.2 소실 분석 (Ablation Study)
프롬프트 구성 요소의 개별 기여도를 평가하기 위해, 각 요소를 순차적으로 제거하면서 성능 변화를 측정하는 소실 분석(Ablation Study)을 수행한다.
| 프롬프트 구성 | 과업 성공률 |
|---|---|
| 전체 프롬프트 | 82% |
| 안전 제약 제거 | 75% |
| 행동 사양 제거 | 58% |
| 환경 기술 제거 | 41% |
| CoT 유도 제거 | 67% |
이러한 소실 분석 결과는 프롬프트 설계의 우선순위를 결정하는 데 활용된다.
7. 요약
프롬프트 엔지니어링은 LLM이 로봇 도메인의 물리적 제약, 환경 특성, 안전 요구 사항을 정확히 인지하고 적절한 임무 계획을 생성하도록 유도하는 핵심 기술이다. 효과적인 프롬프트 설계는 명확성, 완전성, 간결성, 구조화의 원칙을 따라야 하며, 시스템 프롬프트, 환경 상태 기술, 행동 사양, 제약 조건의 체계적 구성이 필수적이다. 사고 연쇄 프롬프팅, 역할 기반 프롬프팅, 상태 기계 프롬프팅 등의 고급 기법은 복잡한 임무에서의 계획 정확도를 향상시키며, 자동 프롬프트 최적화 기법은 프롬프트 설계의 효율성을 제고한다. 프롬프트의 반복적 개선과 체계적 평가를 통해, 로봇 도메인에 최적화된 임무 인지 능력의 지속적 향상이 가능하다.
참고 문헌
- Kojima, T., Gu, S. S., Reid, M., Matsuo, Y., and Iwasawa, Y. (2022). “Large Language Models are Zero-Shot Reasoners.” Proceedings of the Conference on Neural Information Processing Systems (NeurIPS).
- Lu, Y., Bartolo, M., Moore, A., Riedel, S., and Stenetorp, P. (2022). “Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity.” Proceedings of the Annual Meeting of the Association for Computational Linguistics (ACL).
- Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q. V., and Zhou, D. (2022). “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.” Proceedings of the Conference on Neural Information Processing Systems (NeurIPS).
- Yin, P., Neubig, G., Yih, W., and Riedel, S. (2023). “Structuring LLM Prompts for Better Code Generation.” Proceedings of the Annual Meeting of the Association for Computational Linguistics (ACL).
- Zhou, Y., Muresanu, A. I., Han, Z., Paster, K., Pitis, S., Chan, H., and Ba, J. (2023). “Large Language Models Are Human-Level Prompt Engineers.” Proceedings of the International Conference on Learning Representations (ICLR).
version: 1.0