로드트립 플래너은(는) 무엇을 하나요?
스크립트로 확인된 주행 계획을 생성하며, 모든 요구 사항과 실제 사실을 추적 가능하게 합니다. 그럴듯해 보이는 일정은 이 기술이 방지하고자 하는 실패입니다. 장거리 운전에서 하나의 잘못된 거리나 폐쇄된 주유소는 사람들을 어둠 속에 좌초시킬 수 있습니다.
워크플로우가 이렇게 보이는 이유
이 방법은 뉴로-심볼릭 여행 계획 에이전트에서 비롯되었으며, 다음 단계는 이러한 교훈을 바탕으로 형성되었습니다.
- 대부분의 오류는 번역에서 시작됩니다. 여행자의 말을 정확한 제약 조건으로 변환하는 것이 영리한 계획보다 더 중요하므로, 요구 사항을 먼저 기록하고 다시 읽어줍니다.
- 모델에 의존하지 않는 검사기가 모델이 놓친 것을 잡아냅니다. 당신은 무엇을 할 가치가 있는지 판단합니다. 스크립트는 그것이 적합한지 판단합니다.
- 빈 데이터는 통과로 간주되어서는 안 됩니다. 검사는 PASS, FAIL 또는 UNKNOWN을 반환합니다. UNKNOWN은 알 수 없음으로 보고하고, 절대 괜찮다고 보고하지 마십시오.
- 맹목적인 재시도는 거의 문제를 해결하지 못합니다. 수정은 특정 실패를 대상으로 하며 가능한 한 변경을 최소화합니다.
- 편집은 퇴보해서는 안 됩니다. 편집은 아무것도 악화되지 않은 경우에만 유지됩니다.
- 검사기를 통과하는 것이 목표가 아닙니다. 더 엄격한 평가자가 허점을 막고, 현실이 가장 엄격합니다. 단지 검사를 녹색으로 만들기 위해 숫자를 조정하거나,
night_ok를 설정하거나, 사실을 확인되었다고 표시하지 마십시오.
워크플로우
스크립트는 이 파일 옆의 scripts/ 디렉토리에 있습니다 (route_legs.py, order_stops.py, choose_nights.py, verify_trip.py, render_report.py). 표준 Python만 필요합니다. 계획 파일을 작성하기 전에 references/plan-format.md를 읽으십시오. 계획을 사용자의 여행 폴더에 trip.json으로 유지하거나, 사용자가 파일을 원하지 않는 경우 스크래치 디렉토리에 유지하십시오.
1. 요구 사항 파악
사용자가 이미 말했거나 제공한 것을 추출하십시오. 일정을 제공한 경우, 명시된 거리를 claimed_km으로 포함하여 작성된 그대로 가져오십시오. 그래야 오류가 조용히 수정되는 대신 표면화됩니다.
그런 다음 누락된 사항을 물어보십시오. references/intake.md를 읽고 AskUserQuestion 도구를 사용하여 해당 라운드를 따르십시오. 목적지나 경로가 결정되지 않은 경우, 라운드 0부터 시작하십시오. 즉, 각각 장단점이 있는 2~3개의 조사된 경로 옵션을 제시하십시오. 다른 라운드는 경로와 날짜, 운전자와 면허증, 호텔 브랜드, 객실 및 예산, 일일 주행 거리와 속도, 관심사와 피해야 할 사항, 이미 예약된 사항, 출력 언어와 형식을 다룹니다. 이미 답변된 질문은 건너뛰십시오. 실제 여행에서 호텔 브랜드, 멀미 또는 출발일과 같은 늦은 답변은 전체를 재구축해야 하므로, 처음에 몇 가지 질문을 더 하는 것이 추측하는 것보다 저렴합니다.
각 요구 사항을 유형화된 제약 조건으로 기록하고, 사용자의 자신의 말을 nl에 유지하며, 나머지 답변을 preferences에 보관하십시오. 계획을 세우기 전에 일반 언어로 목록을 다시 읽어주십시오. 유형으로 표현할 수 없는 사항에는 manual을 사용하십시오. 진정한 요구 사항과 선호 사항을 분리하십시오. 요구 사항만 hard_constraints에 속합니다.
2. 출처에서 사실 수집
변경될 수 있거나 조회할 수 있는 사항에 대해 기억에 의존하여 계획하지 마십시오.
- 거리 및 시간:
route_legs.py trip.json을 실행하십시오. OpenStreetMap 서비스를 사용하며 장소 이름과 좌표만 전송합니다. 라우터의 경로가 의도한 도로가 아닌 경우, 중간 지점을 정류장으로 추가하십시오.leg_speed경고는 일반적으로 잘못된 지도 지점을 의미하므로, 시간을 받아들이는 대신 좌표를 수정하고--force로 다시 경로를 지정하십시오. - 방문 순서: 세 개 이상의 명소가 있는 날은
order_stops.py trip.json --day N을 실행하십시오. 운전이 가장 적은 순서를 제안하며, 시작점, 호텔 및be_by또는 `