본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 12. 14:45

프로젝트 로그 #4: AI 전화 에이전트가 첫 완전 임무를 완료하다

요약

본 프로젝트는 WhatsApp 메시지 전송과 같은 실제 모바일 환경에서 오프라인으로 임무를 수행하는 AI 전화 에이전트의 개발 과정을 기록하고 있습니다. Fuzzy Text Matching을 통해 OCR 오류에 대응했으며, Verification Layer를 추가하여 각 동작 후 스크린샷 기반 검증 및 재시도 로직을 구현했습니다.

핵심 포인트

  • 오프라인 환경에서 작동하는 실제 모바일 AI 에이전트 시스템 구축
  • OCR 오류 방지를 위해 Levenshtein distance 기반 Fuzzy Matching 적용
  • Verification Layer를 통해 앱 실행, 텍스트 표시 등 각 단계별 동작 검증 및 재시도 로직 구현

Day 4. Fuzzy text matching이 작동한다. Verification layer가 라이브되었다. 에이전트가 실제 WhatsApp 메시지를 보냈다.

3일 전만 해도 이 프로젝트는 그저 아이디어였다. 오늘, 그것은 실제로 무언가를 해냈다.

주요 성과 (The Milestone)

나는 에이전트에게 명령을 내렸다: "WhatsApp를 열고 엄마에게 나중에 전화한다고 메시지를 보내라."

에이전트는 WhatsApp를 열었다. 화면을 스캔했다. 연락처 목록에서 "엄마"를 찾았다. 탭했다. 메시지를 입력했다. 전송 버튼을 눌렀다.

모든 과정이 오프라인으로, 휴대폰 위에서만 이루어졌다. 클라우드도 없고, API 키도 필요 없었다.

레포지토리 (The Repo)

github.com/Dexter2344/phone-agent

agent.py에는 이제 verification layer가 포함되어 있다. vision.py에는 fuzzy matching 로직이 들어갔다.

오늘의 진행 상황 (Today's Progress)

TaskStatus
OCR 오류를 위한 fuzzy text matching 추가✅ 완료
...
두 가지 큰 개선점 (The Two Big Fixes)

1. Fuzzy Text Matching

OCR이 이름을 잘못 읽는 경우가 있었다. "Mom"이 "Morn"이나 "M0m"으로 인식되는 식이었다. 나는 Levenshtein distance를 사용하여 fuzzy matching 함수를 추가했다. 이제 에이전트가 "Mom"을 찾고 OCR이 "Morn"을 반환하더라도, 문자열 간의 유사도를 계산하여 80% 이상의 유사도 임계값을 넘으면 일치하는 것으로 받아들인다.

2. Verification Layer

verification layer는 각 동작 후에 스크린샷을 찍어 다음 사항들을 확인한다: 예상된 앱이 열렸는지? 화면에 예상된 텍스트가 나타났는지? 다음 UI 요소가 보이는지? 검증에 실패하면 에이전트는 한 번 재시도한다. 만약 다시 실패하면, 중단하고 무엇이 잘못되었는지 보고한다.

다음 계획 (What's Next) (Day 5)

  • 아이콘 기반 UI 요소를 위한 기본적인 이미지 인식 추가
  • 예상치 못한 중단을 위한 복구 핸들러 작성
  • 더 복잡한 명령 테스트

이것은 Day 4이다. 에이전트는 더 이상 프로토타입이 아니다. 작동하는 시스템이다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0