Saplings: 트리 탐색은 흥미롭지만 되돌릴 수 없는 도구를 후보 평가 중 실행하면 안 된다
이 페이지의 Saplings는 shobrook/saplings Python 패키지다. MCTS, A*, 최량 우선 탐색으로 여러 실행 경로를 평가한다. Meta의 Sapling SCM이나 저자의 다른 프로젝트 Syntaxis와는 다르다.
핵심 주의점은 승자를 고르기 전에 후보 경로의 도구가 실행될 수 있다는 점이다. 탐색이 뒤로 돌아가도 이미 보낸 메일, 결제, 데이터베이스 갱신은 취소되지 않는다. 되돌릴 수 없는 작업은 preview와 sandbox로 바꾸고 탐색 뒤 한 번만 확정해야 한다.
PyPI 6.2.0은 2025년6월 공개됐고 저장소는 미보관 상태지만 갱신은 조용하다. README 벤치마크는 LATS 논문에서 가져온 것으로 Saplings 6.2.0 재현 시험이 아니다.

현재 위치와 확인 사항
| 확인 항목 | 확인된 사실 | 의사결정 영향 |
|---|---|---|
| 배포 | PyPI 6.2.0, 2025-06-22 | 도입 전 의존성 고정 |
| 유지보수 | 미보관 상태지만 갱신 적음 | 지속 유지보수를 전제하지 않음 |
| 탐색 | MCTS, A*, 최량 우선 | 평가 중 부작용 격리 |
| 라이선스 | LICENSE는 Apache-2.0, metadata는 MIT | 관리자 설명 필요 |
소스와 sdist LICENSE는 Apache-2.0이지만 setup.py와 PyPI metadata는 MIT다. 재배포나 제품 포함 시 하나를 추측하지 말고 서면 확인해야 한다.
실무 평가 절차
- 과제 성공 조건, 상태, 허용 도구를 명시한다.
- 검색, 계산, 읽기 같은 무부작용 도구부터 시작한다.
- 쓰기 도구를 preview, sandbox, 가짜 응답으로 바꾼다.
- 탐색 수, 깊이, 모델 비용, 평가기 편향을 기록한다.
- 선택 경로를 사람 또는 결정 규칙으로 승인한다.
- 승인 뒤 한 번만 확정하고 멱등 키와 감사 기록을 남긴다.
| 평가 축 | 측정 방법 | 통과 조건 |
|---|---|---|
| 과제 성공 | 고정 정답 조건 | 단순 agent보다 개선 |
| 부작용 | 외부 변경 횟수 감사 | 탐색 중 실제 변경 없음 |
| 탐색 비용 | 후보 수, 토큰, 지연 | 개선 폭에 타당 |
| 평가기 | 사람 순위와 일치도 | 편향 설명 가능 |
제약과 실패 지점
현재 MCTS는 필수 root call 하나를 먼저 만들며 루트가 틀리면 전체 트리가 불리하다.
LLM 평가기는 유창함을 성공으로 오해할 수 있다. 업무 정답 조건을 외부에 둔다.
litellm과 json-repair 버전 범위가 넓어 provider 변경이 동작을 바꿀 수 있다.
README 논문 벤치마크를 현행 패키지 성능값으로 인용하면 안 된다.
대안 비교
| 선택지 | 적합한 용도 | 주요 주의점 |
|---|---|---|
| Saplings | 여러 경로 탐색 실험 | 부작용과 유지보수 주의 |
| LangGraph | 상태, 분기, 재개 명시 | 설계가 무거움 |
| 단순 ReAct | 저비용 짧은 과제 | 탐색 폭이 좁음 |
| 결정적 워크플로 | 되돌릴 수 없는 업무 | 유연성보다 예측 가능성 |
읽기 중심이며 여러 해법을 비교하는 과제에는 연구 가치가 있다. 결제, 전송, 갱신을 직접 잇는 운영 agent에는 그대로 쓸 수 없다.
도입 전 부작용을 완전히 격리하고 라이선스 불일치와 유지보수 계획을 해결해야 한다.
자주 묻는 질문
무슨 라이브러리인가요?
LLM agent 후보 경로를 트리 탐색으로 평가하는 Python 라이브러리다.
활발히 유지되나요?
이용 가능하지만 갱신은 조용하다. 지속 유지보수를 보장할 수 없다.
운영에 쓸 수 있나요?
읽기 중심 제한 용도는 시험할 수 있지만 외부 통제가 필요하다.
라이선스는?
LICENSE와 metadata가 달라 확인이 필요하다.
벤치마크가 재현됐나요?
README 수치는 LATS 논문 출처이며 현행판 재현이 아니다.
가장 큰 위험은?
후보 평가 중 도구 실행이 부작용을 남기는 점이다.
확인한 자료
- 근거 자료 1: github.com/shobrook/saplings
- 근거 자료 2: pypi.org/project/saplings/
- 근거 자료 3: pypi.org/pypi/saplings/json
- 근거 자료 4: github.com/shobrook/saplings/blob/master/LICENSE
- 근거 자료 5: github.com/shobrook/saplings/blob/master/setup.py
- 근거 자료 6: github.com/shobrook/saplings/blob/master/saplings/agents/Base.py
- 근거 자료 7: github.com/shobrook/saplings/blob/master/saplings/agents/MonteCarlo.py
- 근거 자료 8: github.com/shobrook/saplings/blob/master/saplings/model.py
- 근거 자료 9: arxiv.org/abs/2310.04406
- 근거 자료 10: arxiv.org/abs/2407.01476
- 근거 자료 11: docs.litellm.ai/docs/providers
- 근거 자료 12: docs.langchain.com/oss/python/langgraph/overview
- 근거 자료 13: github.com/maitrix-org/llm-reasoners
- 근거 자료 14: github.com/shobrook/saplings/blob/master/assets/demo.png
독립 검토일: 2026년 8월21일. 패키지, 소스, LICENSE, metadata를 확인했다.


