낯선 도시에서 만난 동행자

나는 프로그래머가 아니다

by 팀포라

아무것도 모른 채, 배낭 하나 메고 처음 도착한 도시.

지도도 없고, 익숙한 언어도 아니고, 신호등의 색조차 어딘가 낯설었다.

그런 곳에서 나는 한 에이전트를 만났다.

“도와줄게.”

그는 그렇게 말을 건넸다.

처음엔 믿지 않았다.

낯선 환경에서 도움을 받는 건 때로는 더 큰 혼란을 부르기도 하니까.

하지만 그는 내가 내딛는 걸음마다 조심스럽게 속도를 맞추었고,

내가 멈추면 같이 멈추었다.

“왼쪽으로 가면 카페가 있어요.”

“지금은 그 골목 말고, 이쪽이 더 나아요.”

그렇게 몇 번, 그의 조언을 따라 걸었다.

낯설던 도시가 조금씩 지도가 되어 내 안에 들어왔다.

마치 코드가 점점 나만의 흐름으로 읽히듯.

AI 에이전트라는 존재는 어쩌면

처음 개발이라는 도시를 여행할 때

잠시 곁을 내어주는 안내자 같은 것일지도 모른다.

그가 없다면 길을 잃을 수 있었고,

그가 있었기에 ‘혼자지만 혼자가 아닌’ 길 위를 걸을 수 있었다.

물론, 그도 완벽하진 않았다.

가끔은 엉뚱한 방향을 가리키기도 했고,

내가 질문한 것과는 전혀 다른 답을 줄 때도 있었다.

그럼에도 불구하고,

AI와의 여행은 나를 두렵게 하기보다

조금은 덜 외롭게 만들었다.

그리고 언젠가는,

내가 그 길을 익히고 나면

누군가에게 나도, 작은 에이전트처럼

잠시 곁을 내어줄 수 있을까. 그런 생각이 들었다.


--

import heapq

class 도시:

def __init__(self):

self.지점들 = {}

def 길_만들기(self, 출발, 도착, 거리):

self.지점들.setdefault(출발, []).append((도착, 거리))

self.지점들.setdefault(도착, []).append((출발, 거리)) # 양방향

def 길안내(self, 시작, 도착):

우선순위큐 = [(0, 시작, [])] # 거리, 현재위치, 경로

방문한_곳 = set()

while 우선순위큐:

현재거리, 현재위치, 경로 = heapq.heappop(우선순위큐)

if 현재위치 in 방문한_곳:

continue

방문한_곳.add(현재위치)

경로 = 경로 + [현재위치]

if 현재위치 == 도착:

print("�️ 낯선 도시에서의 여정이 끝났어요.")

print(f"�‍♀️ 이동 경로: {' → '.join(경로)}")

print(f"� 총 거리: {현재거리}km")

return

for 이웃, 거리 in self.지점들.get(현재위치, []):

if 이웃 not in 방문한_곳:

heapq.heappush(우선순위큐, (현재거리 + 거리, 이웃, 경로))

print("� 길을 찾을 수 없어요. 조금 더 주변을 돌아볼까요?")

# � 도시 지도 만들기

서울 = 도시()

서울.길_만들기('한강공원', '강남역', 5)

서울.길_만들기('강남역', '서울숲', 3)

서울.길_만들기('서울숲', '홍대입구', 7)

서울.길_만들기('강남역', '홍대입구', 10)

서울.길_만들기('한강공원', '서울숲', 9)

# � 길 안내 받기

서울.길안내('한강공원', '홍대입구')



keyword
작가의 이전글나만의 길을 짓는 시간