지난주 멘토링을 하며 멘토님이 내 워크플로우를 샘플로 API 붙이는 것을 알려주셨다. 그 워크플로우를 팀원들에게 공유하고 각자 그 워크플로우에 API 붙여보기로 했다.
근데 사진에 네모친 부분을 어떻게 동작시키는건지 모르겠는거다. 그래서 이 워크플로우는 고이 모셔두고ㅋㅋ 새 워크플로우 파서 숙제를 진행했다.
그 전에 왜 API를 붙여야하는지 이해를 위해 복잡한 머리속을 정리하고 숙제를 시작했다.
tool에 API 붙이는게 내맘대로 잘 되지 않더라~~
서브 워크플로우 연결도 쉽지 않고..
붙이는 건 쉽지만 에러가 계속 나서 계속 에러 고치기의 연속이었다...
아 저 빤짝이 버튼 누르라는거 알겠는데.. 저 빤짝이 버튼이 어딨는지 모르겠는거ㅜㅜ 파라미터 옆에 있다는데 파라미터도 어딨는지 모르겠고
계속 tool 켰다껐다 하다가 우연히 발견했다. 아 query가 query parameters구나...
빤짝이 버튼을 누르면 AI가 자동으로 parameters를 입력해준다.
tool 잘 사용하게 되었다.
프롬프트를 아무리 수정해도 tool을 사용하지 않았다. 장소가 여러개인데도 tool을 한번만 사용한다거나? 러닝코스 요청할 때마다 랜덤으로 tool을 호출할 때도 있었다.
간단하게 해결됐는데 lite모델 말고 flash모델 쓰니까 해결됐다.
온갖 에러를 이겨내고 장소 검증 완료!
그때그때 캡처안해서 최종본에서 장소부분만 캡처..ㅋㅋ
HTTP Request tool에 API 불러와서 검증~
경로를 검증하는 이유가 무엇일까? 실제 달릴 수 있는 길인지 확인하기 위해서겠지?
카카오나 네이버 지도에서 길찾기 api를 제공한다면 그걸로 경로를 제공받고, 서비스 위에도 얹어서 제공한다면 베스트일텐데 둘 다 도보길찾기 api를 제공하지 않았다.
대안으로 자동차 길찾기를 사용한다면? 산길, 한강공원 길 등이 다 제외될텐데 그걸 대안으로 쓰는건 맞지 않다고 생각이 들었다.
구글지도 역시 우리나라에서는 도보 길찾기를 제공하지 않는다고... 해외에서 러닝코스 찾는 사람들에게는 구글 지도 api로 경로 안내해주면 좋겠다.
네이버와 카카오만큼 품질이 좋지는 않겠지만 도보길찾기를 제공하는 API라고 한다.
둘다 일하면서 들어봤던 서비스여서 일단 마음의 거리는 가까워서 다행이었다. OpenRouteService는 openstreetmap을 통해 경로를 제공하는 서비스인 것 같았다.
mapbox는 일단 유료라서 OpenRouteService로 시도해봤다.
길찾기를 제공하는 API 서비스가 많아서 조금 혼란스러웠는데 자세히 살펴보니
클로드가 profile 종류를 알려주긴 했는데 사이트에서는 profile 정보를 찾기 어려웠다.
🤔 클로드가 틀리면 어떡해? 왜이렇게 찾기 어려운겨...
구글에 openrouteservice 검색했더니 이 사이트가 나와서 확인은 해봤다.
요청메시지는 아래와 같다. url만 바꾸면 geojson, gpx로 쉽게 바꿀 수 있어서 우선 json으로 진행!
이제 API 가져오는 워크플로우는 만들기 이지하지
처음부터 메인 워크플로우에 연결하지 않고, 수동 트리거에 샘플데이터 입력해서 진행했다.
웹훅을 통해 AI agent가 있는 메인 워크플로우와 연결했는데 문제가 gemini와 카카오맵은 좌표를 (위도, 경도) 순으로 데이터를 전달하는데 OpenRouteService는 (경도, 위도) 순으로 데이터를 전달해야했다.
이거 때문에 에러가 나는데 위경도 순서가 랜덤으로 전달되는지 에러가 항상 나지는 않았다. 근데 또 이 때 딱 클로드가 죽어버려가지고...
클로드 말고 다른 AI에게 전체 코드 수정시키고 싶지 않아서 코드 노드 하나 더 넣어서 챗지피티한테 위경도 순서 바꾸는 코드 짜달라고 해서 넣었다ㅋㅋㅋ
서브 워크플로우는 항상 실행 상태여야 하는데 이게 은근히 귀찮더라. 액티브해놓으면 된다는데 액티브 상태에서 계속 에러가 나가지고 한번 실행할 때마다 서브 워크플로우 실행시키면서 했다.
정말 수많은 에러가 있었을텐데 그때그때 안 적으니 기억이 안나네...
미리님이 먼저 공유해줬다~
다른 팀원도 장소 검증과 도보 경로 검증을 했고, 거기에 난이도 검증까지 추가했다. API 종류도 나와 달랐다.
고도 검증에는 Open Elevation API, 도보 검증에는 Overpass API를 사용했다. 알아보니 Overpass API와 OpenRouteService 모두 Openstreet Map을 사용한다고 했다.
나도 진행상황을 공유했다~
다른 팀원 한 분도 공유했는데 실수가 있었는지 이미 공유한 미리님 내용을 복붙한 내용 같아 보였다.
일단 미리님과 내가 워크플로우에 대해 설명드리고 멘토링을 진행했다. 이번주 멘토링은 기술적인 내용보다 기획에 대한 내용으로 진행되었다. 기획대로 구현이 된 것이 맞는지 확인하셨고, 기획에 대한 설득력이 필요하다고 하셨다.
복잡한 워크플로우를 구현한 것은 긍정적이나 이 플로우를 사용자가 어떻게 사용할지 UI/UX가 안보였고, 기획에 대한 구체적인 내용을 담은 기획서가 필요하다고 하셨다.
결과물의 완성도보다는 문제 정의 → AI 활용 이유 → 사용자 플로우 설계가 발표 성공의 핵심이라고 하셨다
멘토링이 끝나고 미팅을 통해 2명은 웹을 만들고, 2명은 기획서를 만들기로 했다.
이제는 n8n과 웹을 연결해봐야겠다!