인공지능팩토리 로고

API 도구 생성 - 특급

목표

  1. 직접 만든 API(코랩+ngrok)로 데이터(메모리)를 저장·검색할 수 있도록 구성
  2. 어시웍스에서 메모리 읽기/쓰기/검색 도구를 각각 만들어, 노코드 방식으로 API와 연동
  3. 에이전트를 통해 저장된 정보를 이용해 대화형 개인 비서 시나리오 구현
  4. 외부에서 접근 가능한 서버(ngrok 터널 활용) + 어시웍스 API 도구 + 에이전트의 통합 활용 경험

1. 왜 직접 API를 만들고 어시웍스에 연동해야 할까?

지금까지는 JSONPlaceholder나 사전에 만들어진 API를 사용해 봤습니다. 하지만 실제 업무에서는 “직접 만든 서버”, “내가 원하는 로직”이 들어간 API가 필요할 수 있습니다.

예를 들어,

  • “나만의 메모리(데이터)베이스”를 만들어서 정보를 저장해 두고,
  • 어시웍스의 플로우에이전트가 이 메모리를 자유롭게 읽거나 쓰도록 한다면,
  • “개인 비서 에이전트”나 “팀 협업 에이전트”를 훨씬 강력하게 만들 수 있습니다.

ngrok로컬(Colab, 로컬 PC)에서 구동되는 서버를 외부에서도 접근 가능하게 해주는 “터널링” 서비스입니다. 이를 통해 임시의 퍼블릭 URL을 만들고, 어시웍스에서 그 URL을 API 엔드포인트로 써서 연동할 수 있습니다.

2. ngrok 계정 및 환경 설정

2.1 ngrok 가입 및 로그인

ngrok.com에 접속해 계정을 만듭니다.

로그인 후 Authtoken(인증 토큰)을 발급받습니다.

 

2.2 코랩(Colab)에서 ngrok 설정

  1. 아래 Colab 노트북 링크를 열고(여기 예시 링크),
  2. Colab 사이드바 → “보안 비밀”을 클릭 → NGROK_AUTH_TOKEN 항목에 발급받은 토큰을 입력
  3. 노트북을 실행하면, 마지막 셀에서 ngrok 터널이 만들어졌다는 메시지와 함께 https://... 형태의 임시 URL이 표시됩니다.
    • 이 URL을 어시웍스 API 도구에서 엔드포인트로 사용하게 됩니다.

3. 메모리 API 만들기 (코랩 소스)

Colab 노트북에서는 간단한 FastAPI 기반 API(“Memory API”)를 구동합니다. 주요 기능은 다음과 같습니다:

  1. 메모리 쓰기: 특정 이름(key)에 해당하는 메모리에 내용(value)을 저장
  2. 메모리 읽기: 이름(key)에 해당하는 메모리 값 반환
  3. 메모리 검색: 저장된 데이터 중 특정 검색어가 포함된 항목을 찾아 반환

이 FastAPI 서버가 ngrok을 통해 외부에서 접근 가능하게 되면, “나만의 API”가 완성됩니다.

예) POST /memory/write, GET /memory/read?key=..., GET /memory/search?query=...

Tip:
Colab에서 코드를 돌리면, “Public URL: https://abc123.ngrok.io” 같은 주소가 뜹니다. 이 주소를 어시웍스에서 API 엔드포인트로 사용합니다.

4. 어시웍스 도구 만들기: 메모리 API 3종

4.1 메모리 읽기 도구

아래와 같이 도구 설정을 합니다.

  1. 도구 이름: 메모리 읽기
  2. 도구 설정: API, GET

아래와 같이 파라미터 설정을 합니다.

  1. url: https://<내_ngrok_URL>/memory/{user_id}
  2. {user_id} : 0

4.2 메모리 쓰기 도구

아래와 같이 도구 설정을 합니다.

  1. 도구 이름: 메모리 읽기
  2. 도구 설정: API, POST

아래와 같이 파리미터 설정을 합니다.

  1. url: https://<내_ngrok_URL>/memory/{user_id}
  2. headers : 
{'Content-Type' : 'text/plain'}
  • {user_id} : 0
  • {data} : 내 이름은 김태영이다.

4.3 메모리 검색 도구

아래와 같이 도구 설정을 합니다.

  1. 도구 이름: 메모리 검색
  2. 도구 설정: API, GET

아래와 같이 파리미터 설정을 합니다.

  1. url: https://<내_ngrok_URL>/memory/{user_id}/search/{query}
  2. {user_id}: 0
  3. {query}: 이름

5. 어시웍스에서 API 도구 테스트

  1. 메모리 쓰기(POST)
    • 이름이나 좋아하는 정보를 입력하여 API 호출
  2. 메모리 읽기(GET)
    • 호출하여 저장한 모든 정보가 보이는 지 확인
  3. 메모리 검색(GET)
    • query="이름" 등으로 검색
    • 저장된 메모리들 중 “이름”이 포함된 값 목록이 나오는 지 확인

이 과정을 통해, Colab+ngrok으로 만든 API가 제대로 동작하는지 Call API 버튼으로 확인할 수 있습니다.

6. 어시웍스 에이전트 만들기: “개인 비서 에이전트”

이제, 플로우를 써도 되지만 더 흥미로운 방식은 에이전트(Agent)를 만들어 대화형으로 메모리 API를 호출하는 것입니다.

  1. 에이전트 탭에서 새 에이전트 생성 → 이름: "개인 비서 에이전트"
  2. 사용 도구 목록에, 우리가 만든 3개 도구(“메모리 읽기/쓰기/검색”)를 등록

7. 어시웍스 에이전트 사용 예시

  • 정보 기록
    • 사용자가: “내 이름을 김태영이다.”
    • 에이전트: “메모리 쓰기 도구”(POST)를 호출 → data="이름: 김태영…"
    • “저장했습니다.” 등의 응답
  • 정보 질의
    • 사용자가: “내 이름이 뭐였지?”
    • 에이전트: “메모리 읽기 도구” 호출 
    • “당신의 이름은 김태영으로 저장되어 있습니다.”라고 대답
  • 검색 시나리오
    • 사용자가: “내가 좋아하는 음식은?”
    • 에이전트: “메모리 검색 도구” 호출 → query="음식" → 결과에 따라 응답

이렇게 하면, 개인 비서사용자 정보를 “나만의 API”에 기록해두고, 언제든 검색·활용할 수 있습니다.

8. 마무리 및 확장 아이디어

  • ngrok을 활용해, Colab(혹은 로컬 PC)에서 돌아가는 FastAPI 서버를 퍼블릭 URL로 노출
  • Memory API(읽기/쓰기/검색) 3종을 만든 뒤, 어시웍스 API 도구에서 GET/POST 방식으로 각각 연결
  • 최종적으로 에이전트를 구성해, 사용자 개인 정보를 기록하고, 물어봤을 때 검색하여 자동 응답

이렇게 “내가 직접 만든 서버(API)” + “어시웍스 노코드” 조합을 사용하면, 최소한의 코드만으로 강력하고 유연한 자동화 시스템을 구축할 수 있습니다.

9. 결론

API 도구 생성 - 전문” 단계에서는, ngrok을 통해 임시 URL을 만들고, 코랩에서 간단한 FastAPI 서버(메모리 API)를 구동해보았습니다. 그 후 어시웍스에서 메모리 읽기/쓰기/검색 도구를 각각 만들어, 실제 데이터를 주고받는 과정을 실습했고, 마지막으로 에이전트와 결합해 개인 비서를 완성했습니다. 이렇게 하면, 내가 만든 API어시웍스에서 노코드 방식으로 접근할 수 있게 되고, 궁극적으로는 사내 시스템, 개인 프로젝트 등 어디서나 AI·자동화 시나리오를 구현할 수 있습니다. 다음에는 데이터베이스고급 인증(OAuth2) 같은 기능을 더해, 한층 발전된 “전문가 수준”의 자동화 로직을 만들어 보시길 바랍니다.

수고하셨습니다! 이제 여러분의 아이디어를 코드와 노코드의 결합으로 멋지게 실현해 보세요.