Claude API로 앱 만들기 — Tool Use, RAG, Agent 패턴 전부 정리
Source: Dev.to
Introduction
Claude API를 호출하는 건 쉽다. messages.create에 프롬프트를 넣으면 답이 온다.
하지만 이것만으로는 서비스가 되지 않는다. 실제 앱을 만들려면 Tool Use, RAG, Agent/Workflow 패턴이라는 세 가지 요소가 추가로 필요하다.
Tool Use
Tool Use를 사용하면 Claude가 외부 함수를 호출할 수 있다. 예시 정의는 다음과 같다.
[
{
"name": "get_apartment_price",
"description": "특정 지역의 아파트 시세를 조회합니다",
"input_schema": {
"type": "object",
"properties": {
"district": { "type": "string" },
"year": { "type": "integer" }
},
"required": ["district"]
}
}
]
흐름
- Claude가 도구를 호출하고
tool_result를 반환한다. - Claude가 최종 응답을 생성한다.
Retrieval‑Augmented Generation (RAG)
RAG는 외부 데이터를 검색해 Claude 프롬프트에 주입하는 구조다. 핵심 파이프라인은 다음과 같다.
- 청킹 – 텍스트를 의미 단위로 나눈다.
- 임베딩 – 각 청크를 벡터로 변환한다.
- 검색 – BM25와 벡터 검색을 결합해 관련 청크를 찾는다.
- 리랭킹 – 검색 결과를 재정렬한다.
- 컨텍스트 주입 – 선택된 청크를 프롬프트에 삽입한다.
이 과정을 거치면 Claude가 “아는 척”이 아니라 실제 데이터 기반으로 답변한다.
Pattern Overview
| 패턴 | 특징 | 사용 시점 |
|---|---|---|
| Workflow | 예측 가능하고 안정적 | 실무에서 먼저 적용 |
| Agent | 유연하지만 예측이 어려움 | 워크플로우에 가드레일을 구축한 뒤 확장 |
실행 전략
- 병렬화: 독립 작업을 동시에 실행한다.
- 체이닝: 이전 단계 출력이 다음 단계 입력이 된다.
- 라우팅: 입력을 분류해 다른 경로로 처리한다.
실무에서는 Workflow부터 시작하고, 충분한 가드레일을 만든 뒤 Agent를 도입하는 것이 안전하다.
Example Applications
사주 앱
- Tool Use – 만세력·오행 계산 함수를 연결.
- RAG – 해석 DB를 검색해 최신 해석을 제공.
- 체이닝 – “기본 분석 → 상세 해석 → 조언” 순서로 진행.
부동산 앱
- Tool Use – 시세 API를 호출해 실시간 가격 정보를 얻는다.
- RAG – 정책·뉴스를 검색해 시장 동향을 반영한다.
- 병렬 워크플로우 – 다축 분석(가격, 입지, 정책)을 동시에 수행한다.
Conclusion
API 호출은 시작일 뿐이다. Tool Use로 “손”을, RAG로 “기억”을, Workflow(또는 Agent)로 “두뇌”를 제공하면 완전한 애플리케이션을 만들 수 있다.