콘텐츠로 이동

loop-comparison

ReAct MemGPT Claude Code (stop_reason)
───── ────── ────────────
Thought: call(any_tool) msg.create()
Action: ... → tool_use? dispatch + loop
Obs: call(send_message) → end_turn? exit
... repeat → 사용자에게 출력 → max_tokens? 비정상
"Final Answer:" → 종료 후 다시 heartbeat

세 가지 모두 “loop”지만 종료 신호의 위치가 다르다.

  • ReAct: 모델 텍스트
  • MemGPT: 특정 함수 호출
  • Claude Code: API 메타데이터(stop_reason)

후자로 갈수록 종료 결정의 신뢰도가 높다. ReAct는 모델이 약속을 어기면 무너지지만, stop_reason은 모델·API·하네스가 합의한 프로토콜이라 우회되지 않는다.