본문 바로가기
프로그램 활용/인공지능(AI)

AI | hermes의 LLM이 상황을 판단하여 IP 변경 스크립트(Tool)를 실행

by 3604 2026. 6. 17.
728x90

우부툰 기준

change_ip.sh 파일을 어느 위치에 두고 실행시켜야 하나?

Hermes LLM을 활용한 자동화 시스템을 구축하고 계시는군요! 초보자일 때는 AI가 도구(Tool)를 호출하고 스크립트를 실행하는 전체적인 그림이 헷갈리는 것이 당연합니다.

질문하신 1) 파일의 위치2) .md가 아닌 .sh파일을 만드는 이유를 알기 쉽게 나누어 설명해 드릴게요.

1. change_ip.sh파일은 어디에 두어야 할까?

결론부터 말씀드리면, Hermes LLM(또는 이를 구동하는 백엔드 애플리케이션)이 실행되는 서버의 내부 디렉터리, 권한이 허용된 곳이라면 어디든 둘 수 있습니다.

보통 리눅스 시스템 관리 관행에 따라 다음과 같은 위치를 추천합니다.

추천 위치:/usr/local/bin/change_ip.sh또는 /opt/scripts/change_ip.sh

/usr/local/bin은 사용자가 추가한 실행 파일을 모아두는 표준 경로라 깔끔합니다.

프로젝트 내부 위치:만약 LLM을 구동하는 파이썬(Python) 프로그램 등이 있다면, 해당 프로젝트 폴더 내에 scripts/change_ip.sh형태로 두고 상대 경로로 호출해도 됩니다.

⚠️ 중요: 실행 시 꼭 필요한 세팅

스크립트를 위치시킨 후, LLM이 이 툴을 정상적으로 실행하려면 두 가지를 반드시 해주어야 합니다.

실행 권한 부여:터미널에서 아래 명령어를 실행해 파일에 실행 권한을 줍니다.

Bash

sudo chmod +x /path/to/change_ip.sh

 

sudo비밀번호 생략 설정 (/etc/sudoers수정):작성하신 스크립트를 보면 sudo ip addr...와 같이 관리자 권한이 필요합니다. LLM이 스크립트를 실행할 때 비밀번호를 입력할 수 없으므로, 비밀번호 없이 실행할 수 있도록 설정해야 합니다.

Bash

# sudo visudo 명령어로 편집기를 열고 아래 줄 추가 (LLM을 실행하는 유저명이 hermes인 경우)

hermes ALL=(ALL) NOPASSWD: /path/to/change_ip.sh

 

2. .md가 아니라 .sh파일을 만들어서 실행할까?

아마 대화형 LLM(ChatGPT, Claude )을 쓰실 때 답변이 마크다운(.md) 코드 블록 안에 나와서 "대부분 md로 실행하는 것 같다"고 느끼셨을 수 있습니다. 하지만 시스템 내부에서는 역할이 완전히 다릅니다.

쉽게 비유하자면 .md'설명서'이고, .sh'실제 일하는 로봇'입니다.

구분 .md(Markdown) .sh(Shell Script)
역할 인간이 읽기 위한문서 포맷 컴퓨터(리눅스)가 실행하기 위한명령어 세트
특징 텍스트를 예쁘게 보여줄 뿐, 컴퓨터는 이 파일 자체를 읽어서 IP를 바꾸는 법을 모릅니다. 리눅스 터미널(Shell)이 한 줄씩 읽으며 실제로 IP를 바꾸는 시스템 명령을 내립니다.
LLM과의 관계 LLM이 사람에게 "이렇게 하세요"라고 보여줄 때 씁니다. LLM이 사람이 아닌컴퓨터 시스템에게 직접 일을 시킬 때(Tool Calling)씁니다.

LLM의 작동 흐름으로 이해하기

상황 판단:Hermes LLM이 사용자의 요청을 받고 ", IP를 변경해야겠군!" 하고 판단합니다.

도구 호출:LLM은 미리 정의된 Tool을 통해 서버에게 change_ip.sh 192.168.1.100 192.168.1.1같은 명령을 내립니다.

실행:리눅스 서버는 .sh파일 안에 적힌 ip addr add...명령어를 실행하여 실제로 네트워크 설정을 바꿉니다.

만약 .md파일을 주면 컴퓨터는 "이건 그냥 텍스트 글자잖아?" 하고 아무 일도 하지 못합니다. 그래서 컴퓨터가 알아듣고 즉시 실행할 수 있는 쉘 스크립트(.sh)파일이 필요한 것이랍니다.

 

728x90