소개
스터디장이 목표를 이렇게 말했습니다.
저는 AI를 세상 밖으로 꺼내 가지고 뭔가를 해 보려고 하고 있고요.
저는 바이오·제약 데이터를 분석합니다. IoT를 해 본 적이 없어서 이 스터디는 저와 가장 먼 자리로 보였습니다. 그런데 "세상 밖으로 꺼낸다"는 표현이 걸렸습니다.
제 분야에는 장비가 많습니다. 시퀀서, PCR, 현미경, 플레이트 리더. 그런데 저는 그 장비가 뱉어 낸 파일만 받습니다. 장비 자체와 이어진 적이 없습니다.
그래서 제 코드가 물리 세계와 만나는 지점이 몇 개나 되는지 세어 봤습니다. 0개였습니다.
진행 방법
사용 도구: Claude Code, Python 3
Step 1. MCP 등록 현황 확인
스터디장은 MCP로 IoT 브릿지를 등록해 에이전트가 장치를 직접 호출하게 만들었습니다.
연동을 하는 게 이제 MCP로 등록을 해서 IoT 브릿지로 해서, 에이전트로 명령을 시키면 이게 작동되게끔 되어 있고요.
제 설정 파일을 열어 봤습니다.
등록된 MCP 서버
종류
atlassian
문서·이슈 관리
1개입니다. 그리고 문서 도구입니다. 물리적인 장치는 없습니다.
Step 2. 물리 세계와 통신하는 코드 찾기
제 프로젝트 폴더의 파이썬 파일 전체에서 장치와 통신하는 흔적을 찾았습니다.
PAT = {
'시리얼 통신': r'\bimport serial\b|serial\.Serial',
'GPIO 제어': r'RPi\.GPIO|gpiozero|machine\.Pin',
'MQTT': r'paho\.mqtt|import paho',
'카메라 입력': r'cv2\.VideoCapture|picamera',
'HTTP 요청': r'\brequests\.(get|post)\b',
}
파이썬 파일 556개를 검사했습니다.
항목
해당 파일
시리얼 통신 (pyserial)
0개
GPIO 제어
0개
MQTT
0개
카메라·비전 입력
0개
HTTP 요청 (외부 API)
9개
물리 세계와 닿는 코드가 하나도 없습니다. 유일하게 밖으로 나가는 9개도 API를 호출해 데이터를 받아 오는 것이라, 결국 파일로 돌아옵니다.
Step 3. 제 파이프라인의 입력과 출력을 다시 보기
정리하면 이렇습니다.
단계
제 파이프라인
입력
파일, API 응답
처리
파일
출력
파일, HTML, 알림 메시지
입력도 파일이고 출력도 파일입니다. 556개 파일 전부가 그렇습니다.
Step 4. 강의의 구조와 제 구조를 겹쳐 보기
스터디장의 시연 구조입니다.
메시지 → 에이전트 → MCP 도구 호출 → 카메라 촬영 → 비전 판단 → 모터 동작
제 구조입니다.
파일 → 스크립트 → 분석 → 파일
판단 다음에 동작이 없습니다. 제 파이프라인은 분석 결과를 문서로 만들고 끝납니다. 그 결과로 무엇이 움직이는 지점이 없습니다.
Step 5. 제 분야에 대 보기
스터디장이 제조업을 예로 들었습니다.
제조업 분야에서도 뭔가 하나 (불량이나) 상황을 판단하기 위해서 비전으로 엄청난 시간이 들어가는데, AI는 그냥 간단하게 비전 모델 하나 넣어서 구현이 가능하거든요.
제 분야에도 같은 자리가 있습니다. 세포 이미지를 보고 상태를 판단하는 일, 배양 접시의 오염 여부를 확인하는 일, 실험 장비의 상태를 확인하는 일입니다. 지금은 사람이 눈으로 보거나, 전용 장비를 사서 합니다.
카메라 입력 코드가 0개라는 것은, 그쪽을 시도조차 해 본 적이 없다는 뜻입니다.
결과와 배운 점
측정 결과
항목
값
검사한 파이썬 파일
556개
시리얼 통신 코드
0개
GPIO 제어 코드
0개
MQTT 코드
0개
카메라·비전 입력 코드
0개
외부 API 호출
9개
등록된 MCP 서버
1개 (문서 도구)
판단 후 동작으로 이어지는 지점
0개
배운 점
저는 AI를 관찰에만 썼습니다. 556개 파일이 전부 읽고 분석하고 쓰는 일입니다. 강의의 시연은 사진을 찍고, 판단하고, 모터를 돌립니다. 판단까지는 저도 하는데 그다음이 없습니다. 이게 스터디장이 "세상 밖으로 꺼낸다"고 표현한 지점이었습니다.
에이전트라야 되는 이유를 이제 알겠습니다. 스터디장이 "기존 AI만으로는 상황에 따라 분류하는 게 안 되는데 에이전트화하면 가능하다"고 했습니다. 제가 쓰는 스크립트는 조건을 제가 미리 다 적어 둡니다. 예상 못 한 상황이 오면 멈춥니다. 조건을 다 적어 둘 수 없는 곳이 물리 세계이고, 그래서 거기서는 에이전트가 필요합니다.
진입 비용이 제 짐작보다 훨씬 낮았습니다. IoT를 안 한 이유를 "장비가 비싸고 복잡해서"로 생각해 왔습니다. 그런데 음성 인식에 LLM 호출까지 되는 키트가 26,000원입니다. 안 한 이유가 비용이 아니었다는 뜻입니다.
제 분야에 빈자리가 보였습니다. 세포 이미지 판단이나 배양 오염 확인은 지금 사람 눈이나 전용 장비가 합니다. 카메라 코드가 0개라 그쪽은 아예 후보에 없었습니다. 도구가 없어서가 아니라 그 방향을 떠올린 적이 없어서입니다.
시행착오
처음에는 "IoT 자산이 없으니 이 스터디는 쓸 게 없다"고 판단하고 넘어가려 했습니다. 그런데 강의에서 "IoT라는 부분이 크게 (범위가 넓다)"고 한 대목을 다시 듣고 기준을 넓혔습니다. 자산이 없다는 판단도 측정 없이 내린 짐작이었습니다.
HTTP 요청 9개를 처음에는 "밖과 통신하는 코드"로 셀 뻔했습니다. 물리 세계와의 통신과 네트워크 통신은 다릅니다. 밖으로 나간다는 말의 뜻을 먼저 정해야 셀 수 있었습니다.
앞으로의 계획
1주차 과제인 아이디어는 카메라 하나로 판단하는 것으로 잡을 계획입니다. 강의의 신호등 판단과 구조가 같고, 제 분야에서는 배양 접시나 실험 결과 이미지가 그 자리에 들어갑니다.
부품을 먼저 주문합니다. 4주 일정에서 2주차 말부터 제작이라 배송 기간을 감안해야 합니다. 26,000원 키트가 시작점으로 적당합니다.
MCP 서버를 하나 더 등록해 보려 합니다. 지금 1개뿐이고 그마저 문서 도구입니다. 에이전트가 호출할 수 있는 도구의 종류가 곧 할 수 있는 일의 범위라는 것을 이번에 알았습니다.
4주가 끝날 때 판단 다음에 무언가가 움직이는 것 하나를 갖는 것이 목표입니다. 지금은 판단에서 멈추는 파이프라인만 있습니다.
도움 받은 글 (옵션)
23기 스마트홈 AI 1주차 강의 (서인수): "AI를 세상 밖으로 꺼낸다"는 목표 설정, 기존 AI와 에이전트의 차이를 상황 판단으로 설명한 대목, MCP를 IoT 브릿지로 등록해 장치를 호출하는 구조, Jetson과 라즈베리파이의 현장 적용 차이, 26,000원 음성 인식 키트