LLM으로 n8n 워크플로우를 생성할 때 발생하는 두 가지 핵심 문제(SDK 미사용·과도한 JS 코드)를 하네스 엔지니어링으로 해결한 실험 기록. 4가지 하네스 구성 요소를 단계적으로 추가하면서 성능 지표가 어떻게 변화하는지 실측 수치로 보여준다. "무엇을 쓸 수 있는지"보다 "어떻게 쓰는지"가 LLM 행동을 결정한다는 교훈을 수치로 증명한다.
핵심 포인트- 문제 1: LLM이 n8n SDK 대신 raw JSON 직접 생성 → 워크플로우 유지보수성 저하, 네이티브 노드 활용 미흡
- 문제 2: 단순 자동화에도 68줄짜리 JS 코드 과잉 생성 → 워크플로우 복잡도 증가
- 하네스 4요소: 노드 검색 도구 + 타입 정의 + SDK 레퍼런스 + 검증 도구
- 타입 정의 추가의 효과: 네이티브 노드 사용률 0.37 → 0.77 (단일 최대 개선, 2배 이상 향상)
- Validate pass rate: 하네스 적용 후 0% → 100% 완전 해결 유지
- 코드 의존성: 0.31 → 0.20 → 0.15 (단계적으로 감소)
상세 정리- 하네스 적용 전: LLM이 n8n 노드 스키마를 raw JSON으로 직접 작성, SDK 메서드 인식 불가
- 노드 검색 도구만 추가(1단계): 사용 가능한 n8n 노드 목록을 조회 가능 — 네이티브 노드 사용률 0.30 → 0.37, 제한적 개선
- 타입 정의 추가(2단계): 각 노드의 파라미터 타입·구조를 명시 → LLM이 올바른 SDK 호출 생성 — 네이티브 노드 사용률 0.37 → 0.77 (핵심 트리거)
- SDK 레퍼런스 제공: n8n 워크플로우 생성 SDK의 올바른 사용법을 컨텍스트로 주입
- 검증 도구: 생성된 워크플로우가 n8n 스키마 기준을 통과하는지 자동 검증 → pass rate 100% 달성
- 핵심 인사이트: 노드 목록(What to use)만 제공으로는 부족, 타입 정의(How to use)가 있어야 LLM이 실제로 활용
- 코드 의존성 0.31 → 0.15: 네이티브 노드 활용 증가가 JS 코드 작성 필요성을 줄이는 직접적 효과
- 하네스 엔지니어링의 교훈: 도구 제공보다 도구 사용 방법의 컨텍스트(타입 정의)가 LLM 행동을 결정
- 검증 루프의 역할: 검증 도구 없이 생성된 워크플로우는 실행 실패율이 높음 — 자동 검증이 품질 보장의 핵심
- n8n 특성: 비주얼 워크플로우 빌더이지만 노드 연결 스키마 복잡 → LLM이 올바른 구조를 생성하기 위해 명시적 타입 컨텍스트 필수
왜 읽나LLM에게 도구 목록을 주는 것만으로는 부족하고 타입 정의(How to use)가 있어야 실제로 활용하는 패턴을, n8n 워크플로우 생성 실험을 통해 수치로 검증한 하네스 엔지니어링 사례로 배울 수 있다.