대규모 언어 모델 (LLM) 추론은 일시적입니다. 사고의 사슬 (Chains of thought)은 컨텍스트 창 (Context window)과 함께 사라지고, 가지치기 된 탐색 분기 (Pruned search branches)는 기록을 남기지 않으며, 메모리 버퍼 (Memory buffers)는 차이 분석 (Diff)이나 병합 (Merge), 또는 감사 (Audit)를 할 수 없습니다. 코드, 인프라, 데이터, 실험 등 다른 모든 복잡한 소프트웨어 프로세스는 버전 관리 (Version-controlled)가 되지만, 추론은 그렇지 않습니다. 우리는 에이전트의 추론 트리 (Reasoning tree)를 git 저장소로 저장하는 GitOfThoughts를 소개합니다. 점수가 매겨진 모든 사고는 커밋 (Commit)이며, 점수는 노트 (Notes), 결과는 태그 (Tags), 그리고 검색 (Retrieval)은 에이전트 자신의 이력에 대한 "git log"입니다. 이를 통해 추론은 거의 제로에 가까운 엔지니어링 비용으로 에이전트 간에 재생 가능하고, 감사 가능하며, 병합 가능해집니다. 그런 다음 우리는 더 어려운 질문을 던집니다. 어떤 기질 (Substrate)에서든 메모리가 실제로 정확도를 향상시키는가? 다섯 가지 기질 (없음, 마크다운 (Markdown), 벡터 (Vector), 그래프 (Graph), git), 두 개의 벤치마크 (Benchmarks), 두 개의 모델 규모, 그리고 사전 등록된 재현 실험을 통해 확인한 결과, 새로운 문제에 대한 답은 '아니오'였습니다. 어떤 메모리 형식도 신뢰할 수 있는 도움을 주지 못했으며, 유망했던 초기 결과는 사전 등록된 재현 실험 과정에서 무너졌습니다. 메모리는 우리가 '복제 가능 임계값 (Copyability threshold)'이라고 부르는 지점 위에서만 이득을 줍니다. 즉, 검색된 사례가 현재 문제와 거의 동일할 때 (유사도 >~ 0.8), 정확도가 급격히 상승하며, 그 미만에서는 아무런 효과가 없습니다. 이 이득은 방법론의 전이 (Method transfer)가 아니라 정답의 검색 (Answer retrieval)입니다. 4.5배 더 큰 모델은 거의 동일한 사례에서의 보상을 두 배로 늘리지만, 여전히 풀린 예시로부터 전이 가능한 방법론을 추출할 수는 없습니다. 우리가 발견한 유일한 일반적인 레버 (Lever)는 테스트 시간 샘플링 (Test-time sampling)입니다. 따라서 기질로서의 git을 사용하는 이유는 정확도 차이 없이 감사 가능성 (Auditability), 출처 (Provenance), 그리고 병합 가능성 (Mergeability)을 제공한다는 점에 있습니다. 우리는 우리가 스스로에게 적용하는 평가 표준을 모델링하기 위해, 철회된 결과와 반박된 가설을 문서화합니다.