프롬프트 유형 및 템플릿
프롬프트 기반 작업 유형 카탈로그 및 템플릿 조립.
PlanToCode의 모든 LLM 기반 작업은 템플릿에서 구축된 구조화된 프롬프트를 사용합니다. 이 문서는 작업 유형을 카탈로그화하고 프롬프트가 조립되는 방법을 설명합니다.
작업 유형 카탈로그
implementation_plan
구현 계획
XML 구조로 파일별 구현 계획을 생성합니다. 점진적 표시를 위해 스트리밍을 사용합니다.
implementation_plan_merge
계획 병합
사용자 지침으로 여러 계획을 결합합니다. 소스 계획은 XML 태그로 래핑됩니다.
text_improvement
텍스트 개선
서식을 유지하면서 선택한 텍스트를 다듬습니다. 빠른 결과를 위해 비스트리밍.
root_folder_selection
루트 폴더 선택
디렉토리 트리를 분석하여 관련 프로젝트 루트를 선택합니다. JSON 배열을 반환합니다.
regex_file_filter
Regex 파일 필터
작업 설명을 기반으로 파일 필터링을 위한 regex 패턴을 생성합니다.
file_relevance_assessment
파일 관련성 평가
작업에 대한 파일 내용 관련성을 점수화합니다. 배치로 처리합니다.
extended_path_finder
확장 경로 탐색기
임포트와 의존성을 통해 관련 파일을 발견합니다.
web_search_prompts
웹 검색 프롬프트
딥 리서치 워크플로우를 위한 연구 쿼리를 생성합니다.
video_analysis
비디오 분석
UI 상태와 액션 시퀀스를 위해 화면 녹화를 분석합니다.
템플릿 구조
프롬프트는 시스템 템플릿과 사용자 콘텐츠에서 조립됩니다:
예시 템플릿 구조:
<system_prompt>
You are an AI assistant that generates implementation plans.
[template content from server]
</system_prompt>
<task>
[user's task description]
</task>
<files>
[selected file paths and content]
</files>
<directory_tree>
[project structure]
</directory_tree>프롬프트 조립 흐름
템플릿이 사용자 콘텐츠와 결합하여 완전한 프롬프트를 형성하는 방법.
조립 프로세스
- 프로세서가 작업 모델 구성에서 템플릿 ID를 검색
- 시스템 프롬프트 템플릿이 서버 캐시에서 로드됨
- 사용자 콘텐츠가 의미론적 XML 태그로 래핑됨
- 컨텍스트(파일, 트리)가 작업 유형에 따라 추가됨
- 완전한 프롬프트가 전송 전에 작업 레코드에 저장됨
서버 측 구성
템플릿과 모델 설정은 서버 측에서 구성됩니다:
task_model_config 정의: default_model, allowed_models, system_prompt_template_id, max_tokens, temperature
토큰 가드레일
각 작업 유형은 컨텍스트 오버플로우를 방지하기 위한 토큰 제한이 있습니다:
- max_tokens_input: 최대 프롬프트 크기
- max_tokens_output: 최대 응답 크기
- 전송 전 검증으로 낭비되는 API 호출 방지
- UI에서 토큰 수를 표시하고 한도에 가까워지면 경고
템플릿 버전 관리
시스템 프롬프트 템플릿은 재현성을 위해 버전 관리됩니다. 각 작업은 사용된 템플릿 ID를 기록하여 템플릿 버전 간 결과의 감사 및 비교를 가능하게 합니다.
설계 노트
- XML 태그는 LLM 파싱을 위한 명확한 경계를 제공
- 의미론적 명명(task, files, context)이 모델 이해를 돕음
- 템플릿은 사용자 입력을 살균하여 인스트럭션 인젝션을 방지
- 스트리밍 작업은 완료 감지를 위해 종료 태그를 사용
작업 처리를 실제로 보기
이러한 프롬프트가 작업 시스템을 통해 어떻게 흐르는지 알아보세요.