Procedural Graph: 스스로 고쳐 쓰는 LLM 에이전트 실행 구조
Procedural Graphs: Self-Evolving Execution Structures for LLM Agents
TL;DR Highlight
에이전트 절차를 그래프로 두고 스스로 고치게 했더니 메모리 기반 베이스라인보다 좋아졌다
Who Should Read
긴 작업에서 에이전트가 목표를 잊거나 툴을 엉뚱한 순서로 호출해 고민인 백엔드 개발자
Core Mechanics
- 절차 지식을 그래프로 적었다
- 지식 그래프가 (엔티티, 관계, 엔티티)로 '무엇이냐'를 담듯, 이건 (절차, 관계, 절차)로 '무엇을 할까'를 담는다.
- 기존 에이전트는 쌓인 히스토리 위에서 자유 생성으로 행동을 고르기 때문에 절차 지식이 암묵적으로만 남는다.
- 긴 작업에서 생기는 문제를 짚었다
- 궤적(trajectory, 에이전트가 거친 행동 기록)이 길어지면 목표를 놓친다.
- 툴을 순서 없이 호출하거나 쓸모없는 행동을 반복한다.
- 매 단계 현재 위치만 짚어 힌트를 준다
- 프레임워크가 그래프에서 에이전트의 현재 노드를 찾는다.
- 가이던스 모델이 주변 서브그래프를 단계별 상황 안내로 바꿔 준다.
- 이 안내는 다음 행동을 편향시킬 뿐 강제하지 않는다.
- 그래프가 스스로 진화한다
- LLM refiner가 실패 궤적과 성공 궤적을 비교해 그래프의 구조(topology)와 속성을 고친다.
- 홀드아웃 검증 성능이 유지되거나 오르는 수정만 반영한다.
- 거절된 수정도 남겨 같은 시도를 반복하지 않게 한다.
- 최소 뼈대에서 시작해도 된다
Community Reactions
- 그래프가 핵심이 아닐 수 있다는 의견
- 그래프는 데이터 표현 방식일 뿐이고, 본질은 '지속형 태스크 리스트(durable task list)' 같은 구조적 동적 계획이라는 의견이 있었다.
- 계층형 텍스트 리스트도 이름 참조, 변경 가능, 상태값을 갖고 있고 모델이 이미 익숙하다는 지적이다.
- 단순 자기 수정 하네스와 비교했는지 묻는 질문
- 결과를 보고 코드나 스킬 문서를 고치게 하는 단순한 방식과 비교했는지 궁금해하는 댓글이 있었다.
- Add 노드 생성 방식에 대한 질문
- 노드 이름, 가이던스, 엣지를 LLM이 만드는지 별도 트랜스포머가 만드는지 묻는 댓글이 있었다.
- 회귀 추적과 감사성을 우려하는 의견
- 위상이 스스로 바뀌면 회귀 원인 찾기가 어렵다는 의견이다.
- 그래프 변동량과 롤백 빈도를 성공률과 함께 보고하자는 제안이 있었다.
- 절차 그래프에 권한이나 출처(provenance)를 붙일 수 있겠다는 의견도 있었다.
How to Apply
- 에이전트 실패 로그에서 절차를 뽑아 보기
- 오늘 실패한 궤적 3개와 성공한 궤적 3개를 LLM에 주고 단계 순서 차이를 비교시켜라.
- 결과를 (절차, 관계, 절차) 목록으로 받아 어디서 어긋났는지 확인하라.
- 시스템 프롬프트에 현재 단계 힌트만 주입하기
- 전체 절차를 강제하지 말고, 현재 단계 주변의 이전·다음 절차만 짧은 안내로 붙여라.
- 논문처럼 다음 행동을 '편향'시키는 수준으로 쓰고 강제 규칙은 피하라.
- 수정은 홀드아웃 통과 시에만 반영하기
- 절차 수정안마다 따로 떼어 둔 검증 태스크로 성능을 측정하라.
- 유지·개선될 때만 커밋하고 거절된 수정은 기록해 두어라.
- 그래프 변동량과 롤백 횟수를 로그로 남기기
- 절차 편집마다 노드·엣지 증감과 롤백 여부를 기록하라.
- 성공률과 함께 보고 그래프가 불필요하게 커지는지 확인하라.
Try It
# Claude나 ChatGPT에 붙여넣기 (논문 방법의 간이 버전: 실패/성공 궤적 비교로 절차 그래프 만들기)
너는 에이전트 절차 분석가다. 아래 성공 궤적과 실패 궤적을 비교해서 절차 그래프를 만들어라.
[성공 궤적]
{{성공 궤적}}
[실패 궤적]
{{실패 궤적}}
출력 형식:
1. (절차, 관계, 절차) 트리플 목록. 관계는 '다음', '조건부', '실패 시' 같은 짧은 말로 쓴다.
2. 실패 궤적이 처음 어긋난 지점과 이유.
3. 그 지점에서 에이전트에게 줄 한 줄짜리 상황 안내(다음 행동을 강제하지 말고 권고만).
이어서 해 볼 것: 만든 안내를 시스템 프롬프트에 넣고, 같은 태스크를 {{검증 태스크 개수}}개 돌려 이전과 성공률을 비교해 보라.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓