
n8n에서 도구(Tools)를 사용하여 시장 가격 가져오기
요약
n8n과 OpenAI를 활용하여 외부 도구를 사용하는 AI 에이전트를 구축하는 방법을 설명합니다. 주식 가격 조회 기능을 갖춘 에이전트를 만들기 위한 워크플로우 설정 과정을 다룹니다.
핵심 포인트
- n8n을 활용한 AI 에이전트 워크플로우 구축 방법
- OpenAI 모델과 외부 API 도구의 통합 과정
- 주식 가격 조회를 위한 에이전트 기능 구현
이제 저는 단순한 채팅에서 벗어나, 작업을 수행하기 위해 외부 도구(external tools)를 사용할 수 있는 **진정한 AI 에이전트 (AI agent)**로 넘어갑니다. 저는 n8n과 OpenAI를 사용하여 주식 가격 조회 에이전트를 구축할 것입니다.
여기서도 새로운 도구를 통합하기 위해 API가 필요하지만, 먼저 n8n에서 새로운 워크플로우 (workflow)를 생성해 보겠습니다:
-
n8n 대시보드에서 'Start from scratch' 또는 'Create workflow'를 클릭합니다.
-
워크플로우를 구축할 수 있는 캔버스 에디터 (Canvas Editor)가 나타납니다.
-
그다음 새로운 노드(node)를 추가합니다: "On chat message"
-
그다음 "Settings" 탭으로 가서 "Always Output Data"가 활성화되어 있는지 확인한 후 Escape 키를 누릅니다.
-
"AI Agent"를 추가합니다.
지금은 일단 escape 버튼을 누르세요. 이 AI Agent 노드는 나중에 다시 다룰 것입니다.
-
하지만 이번에는 OpenAI를 사용해 보려고 합니다. 따라서 계정이 없다면 여기로 가서 계정을 만드세요.
그런 다음 새 API 키를 생성해야 합니다:
생성된 API 키를 복사하여 보관하세요. 다음 단계에서 사용할 것입니다.
-
이제 OpenAI에 신용카드를 사용하여 5달러 크레딧을 추가하고, 자동 재로드(auto-reload) 기능을 비활성화해야 합니다. 이 시점에서는 이 기능이 활성화되어 있는 것을 원하지 않습니다. 솔직히 말해서 토큰 소모량을 모니터링하거나 워크플로우가 사용할 수 있는 한도를 설정하는 등 더 많은 제어권을 원하실 것이라고 생각합니다.
-
이제 Chat Model 아래의 **“+”**를 클릭하고, 검색하여 OpenAI Chat Model을 선택해야 합니다. 이 모델은 AI Agent가 평범한 작업을 수행하는 데 사용될 것입니다:
- 이제 API 키를 사용할 차례입니다:
모델을 선택하세요. 여기서 마음껏 실험해 보거나 gpt-4.1-mini와 같이 저렴하고 빠른 모델을 선택할 수 있습니다:
[](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzw3zyocg3lh7b1pc9br2.png)
Esc 키를 누르고 실제로 무언가를 확인해 봅시다 😁:
채팅 패널에서 "Hi I am Jawad" 또는 당신의 이름이 무엇이든 다음과 같이 메시지를 보내보세요. 답변이 올 때까지 기다린 다음, 다시 "what is my name?"이라고 물어보세요:
[](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh2mv7wi5bcdbz25ipzxc.png)
11. 이제 메모리 (Memory)를 추가해 보겠습니다.
1. AI Agent 노드의 **Memory** 아래에 있는 **"+"**를 클릭합니다. **Simple Memory**를 선택하세요 (자격 증명 (Credentials)이 필요하지 않아 간단한 데모에 매우 좋습니다. 나중에는 반드시 정교한 메모리를 사용할 것입니다). **Escape**를 눌러 돌아옵니다.
[](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5vvu6poxrgy6tgkcd0le.png)
2. (노드 상단의) **Reset Chat Session** 화살표를 클릭하여 이전 테스트를 지웁니다. 그런 다음 다시 동일한 메시지를 입력하면, 짜잔! 모델이 당신이 누구인지 알고 있습니다:
[](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy5es8hmglia86fwiujv2.png)
12. 주식 가격을 가져올 수 있도록 이 모든 과정을 마쳤습니다. 하지만 AI Agent에 새로운 도구 (Tool)를 추가하기 전에, 주식 가격에 대해 묻고 대화할 API가 필요합니다.
여기서는 https://marketstack.com을 사용할 것입니다.
참고: 회원 가입 시 웹사이트에서 몇 가지 문제에 직면할 수 있습니다. 만약 한 브라우저에서 작동하지 않는다면 다른 브라우저에서 시도해 보세요.
이제 API 키를 확인할 수 있습니다. 복사해 두세요.
13. 이제 n8n에 새로운 도구 (Tool)를 추가해 보겠습니다. AI Agent 노드에서 Tool 아래에 있는 **"+"**를 클릭하세요. Marketstack Tool을 검색하여 선택합니다.
[](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjyuf7lpozfv39dasamr7.png)
그런 다음 그곳에 API 키를 추가하기만 하면 됩니다. 그리고 ticker에 대한 마법 버튼을 클릭하여 → **Let the model define this parameter**를 선택하세요. 여기서 ticker는 주식 심볼 (Stock symbol)을 의미하며, Google의 경우 "GOOGL", Apple의 경우 "APPL"과 같이 입력하면 됩니다. 어떤 의미인지 이해하셨죠?
[](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fum28j0l9hr18wb0eiarc.png)
14. 이제 "APPL의 종가(end-of-day equity price)를 알려줘"라고 프롬프트(Prompt)를 입력해 보겠습니다.
> **팁**
>
> 도구가 제 역할을 수행하지 못할 가능성이 충분히 있습니다. 그럴 경우 보통 무엇이 잘못되었는지 확인할 수 있으므로, 만약 프롬프트가 작동하지 않더라도 걱정하지 말고 해결을 시도해 보세요. 예를 들어, 여기서는 날짜를 지정하지 않아서 문제가 발생했습니다:
>
> [](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbju3w9v759uy97lwplnx.png)
>
> 하지만 때로는 프롬프트나 외부 API의 문제가 아니라, 단순히 n8n 노드의 설정 오류(misconfiguration)일 수도 있다는 점을 명심하세요.
이 경우, 모든 것이 이 두 가지 때문에 발생했습니다:
그리고 이 작은 버그를 수정하고 나면 다음과 같은 것을 볼 수 있습니다:
내보낸 워크플로우 (Exported Workflow)
{
"name": "My workflow",
"nodes": [
...
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기








