brunch

낯선 도시에서 만난 동행자

나는 프로그래머가 아니다

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
작가의 이전글나만의 길을 짓는 시간