코딩 에이전트에서 Dify 앱 호출하기
코딩 에이전트에서 Dify 앱 호출하기
당신의 에이전트(Claude Code, Codex 등)가 Dify 앱을 도구로 호출할 수 있어요. 에이전트는 difyctl을 평범한 서브프로세스로 실행하고, 그게 표준 출력으로 찍는 JSON을 읽는 방식이에요. difyctl은 자기 자신을 설명하므로, 에이전트가 앱을 스스로 발견하고, 실행하고, 결과를 읽습니다. 통합할 API도, 설치할 SDK도 없어요.
출처: 공식문서
에이전트가 스스로 하는 일
에이전트는 당신이 글루 코드를 짜지 않아도 네 단계 루프를 돌아요.
- Discover: 워크스페이스의 앱을 발견한다.
- Inspect: 하나를 골라 어떤 입력을 기대하는지 배운다.
- Run: 그 입력으로 실행한다.
- Parse: JSON 결과를 파싱한다.
에이전트는 하드코딩된 명령 목록으로 작업하지 않아요. difyctl이 기계 판독 가능한 help로 스스로를 설명하고, 에이전트가 런타임에 그걸 읽으므로 항상 현재 CLI를 따라갑니다.
시작 전: 에이전트가 도는 곳에서 로그인
에이전트는 로그인하지 않아요. difyctl을 실행해서 그 기계에 이미 존재하는 세션을 재사용하므로, 먼저 그 기계에 세션을 만들어 두세요.
- 내 기기에서: 일회성 브라우저 로그인.
- 서버나 컨테이너에서: 그 기계에 로그인하거나, 세션을 복사해 넣으세요. 자세한 건 에이전트가 실행되는 곳에서 인증하기를 참고하세요.
에이전트 온보딩
에이전트는 difyctl의 기계 판독 가능한 help에서 배워요. 고를 수 있는 간결한 명령 맵이 먼저, 그 다음 명령별 인자·플래그 help가 오는 구조죠. 거기만 가리키면 되는데, 방법은 에이전트에 따라 달라요.
-
스킬을 읽는 에이전트(Claude Code, Codex 등):
difyctl스킬을 설치하세요.명령 하나가 그 발견 흐름을 안내하는 작은 파일을 쓰고, 에이전트는 거기서부터 스스로 온보딩해요. 통합 코드가 필요 없습니다.
-
스킬을 읽지 않는 에이전트: 직접 가리켜주세요. 에이전트의 시스템 프롬프트나 지시문에 한 줄을 추가하면 돼요. 예를 들면:
"To work with Dify, run
difyctl help -o json --compactto list the commands, thendifyctl help <path> -o jsonfor the one you need before running it."이게 스킬이 대신 해주는 그 핸드오프예요.