LLM 에이전트 시스템을 LangGraph 그래프로 짜고 Pydantic AI로 에이전트에 타입을 붙이는 레퍼런스 구현 저장소 agent-graph-engineering에서, 2026년 10월 31일 커밋 6b195cce가 트레이싱 쪽을 손봤다. 노드마다 붙던 graph.state 덤프에서 대화 이력(messages_json)을 빼고, 대신 그 내용이 다른 데 있다는 자리표시자 문자열을 남겼다.
이 저장소의 범위는 한 에이전트 루프보다 넓다. 흐름은 그래프로 선언하고, 에이전트는 타입이 있는 구조로 정의하며, WebSocket과 REST 계약은 생성하고, 되돌리기 어려운 동작에는 사람의 승인을 거치고, 트레이싱과 평가까지 한 묶음으로 담는다는 것이 저장소 설명이다. 이번 커밋은 그 가운데 트레이싱 한 자리만 건드렸다. 커밋 메시지는 상태 덤프가 한 실행 안에서 같은 내용을 노드마다 9번 반복해 담고, 그 안에서 대화 이력이 약 7할을 차지한다고 짚었다. 노드 아래 중첩된 모델 호출 기록에 실제로 전송된 내용이 이미 남아 있으므로, 이력은 이름만 남기고 다른 곳을 가리키게 한 셈이다. 같은 메시지는 스크립트 실행 기준으로 상태 속성 문자 수가 15,997자에서 6,868자로 줄었다고 적었다.
구현은 agent/assistant/tracing/nodes.py와 테스트 파일 두 곳에만 남았다. _as_json이 상태를 JSON 문자열로 바꿀 때 messages_json 값만 <on the model call spans>로 치환하고, 나머지 필드는 잘게 줄이지 않은 채 통째로 남긴다. 대화 이력이 빈 문자열이면 빈 채로 두어, 내용은 없는데 다른 곳에 있다고 읽히지 않게 했다. 새 테스트 세 개가 이 동작을 고정한다.
다만 15,997자에서 6,868자라는 수는 커밋 6b195cce의 메시지가 밝힌 스크립트 실행 기준이다. 실제 대화에서는 간격이 더 넓어질 것이라고만 했고 다른 측정치는 없다. 상태 속성만으로는 대화 내용을 볼 수 없어 내용을 확인하려면 중첩된 모델 호출 기록으로 넘어가야 한다. 변경은 45줄 추가와 2줄 삭제로 좁게 끝났고, 2026년 10월 31일 커밋 6b195cce 기준 릴리스 버전 표시는 주어지지 않았다. 트레이싱에 남는 상태 크기를 줄여야 하는 환경에는 바로 쓸 만한 개선이지만, 대화 이력을 상태 값으로 보관하는 것을 전제로 한 파이프라인에는 대안을 따로 검토해야 한다.