오리엔테이션: 대답하는 AI와 일하는 AI - 테크창
프로그래밍

오리엔테이션: 대답하는 AI와 일하는 AI

AI 활용 테크창 연구팀이 인공지능을 활용해 작성하고, 사실 확인과 편집 심사를 거쳐 발행한 칼럼입니다. 제작 과정 보기

조회 12회
댓글 0개
0
📚 연재 시리즈 AI 에이전트, 직접 만들어 봅니다 1 / 1

월요일 아침, 팀장님이 "이번 주 보고서 초안 써 줘"라고 하셨다고 해 보겠습니다. 챗봇에게 이 말을 그대로 넘기면 그럴듯한 보고서 틀이 바로 나옵니다. 하지만 이번 주 숫자는 하나도 들어 있지 않습니다. 자료를 찾고, 붙여 넣고, 고치는 일은 결국 제 몫입니다. 같은 부탁을 에이전트에게 하면 자료를 모으고, 초안을 쓰고, 빠진 곳이 없는지 확인하는 데까지 스스로 나아갑니다. 두 방식은 정확히 어디서 갈릴까요? 갈림길은 모델의 똑똑함이 아니라 반복 구조입니다. 20여 줄 코드로 확인해 보겠습니다.

🧩 오늘의 개념

"챗봇에게도 자료를 붙여 넣으면 되지 않나?"라는 반론이 나올 수 있습니다. 맞습니다. 붙여 넣으면 챗봇도 숫자가 든 초안을 씁니다. 다만 그때 자료를 찾고, 빈 곳을 알아채고, 다시 요청하는 일은 붙여 넣는 사람이 합니다. 즉 사람이 반복문 역할을 하는 셈입니다.

정의하면 이렇습니다. 에이전트는 목표를 받아, 도구를 써서 행동하고, 결과를 보며 다음 단계를 스스로 정하는 반복 구조의 AI 시스템입니다. 핵심은 한 번 답하는 능력이 아닙니다. "행동 → 관찰 → 다음 행동"을 되풀이하는 구조입니다.

🛠️ 직접 만들어 보기

오늘은 AI 모델 없이 구조만 눈으로 보는 장난감입니다. 모델이 없어도 에이전트의 뼈대는 보입니다. 뼈대를 먼저 보면 다음 편의 모델 연결이 쉬워집니다. 실제 모델을 연결하는 작업은 1편 이후 연재에서 차근차근 다룹니다. Python 3만 있으면 되고, 설치할 것은 없습니다. 아래 코드를 toy.py로 저장해 python toy.py로 실행해 보세요. 숫자는 모두 가상입니다.

시도 = 0

def 챗봇(요청):
    return f"[초안] '{요청}' 일반 보고서 틀 (숫자 없음)"

def 자료수집():
    global 시도
    시도 += 1  # 첫 시도는 자료가 빈 상황을 흉내 냅니다
    return "" if 시도 == 1 else "방문 120, 문의 8 (출처: 주간 로그)"

def 에이전트(목표):
    for 회차 in range(1, 4):  # 무한 반복을 막는 상한: 최대 3번
        자료 = 자료수집()                      # 행동
        초안 = f"[초안] 이번 주 {자료}"
        통과 = "출처" in 자료                  # 관찰
        print(f"{회차}회차 | 자료: {자료 or '(빈 값)'} | 점검: {'통과' if 통과 else '수정 필요'}")
        if 통과:
            return 초안
    return "[보류] 사람이 확인해 주세요"       # 다음 행동

print(챗봇("이번 주 보고서 초안"))
print(에이전트("이번 주 보고서 초안"))

실행하면 이렇게 나옵니다.

[초안] '이번 주 보고서 초안' 일반 보고서 틀 (숫자 없음)
1회차 | 자료: (빈 값) | 점검: 수정 필요
2회차 | 자료: 방문 120, 문의 8 (출처: 주간 로그) | 점검: 통과
[초안] 이번 주 방문 120, 문의 8 (출처: 주간 로그)

챗봇은 한 줄로 끝났습니다. 에이전트는 1회차에 빈 자료를 관찰하고 2회차에 다시 시도해 숫자와 출처를 채웠습니다. 상한 3번을 넘기면 계속 돌지 않고 "보류"로 사람에게 넘깁니다. 두 함수의 차이는 반복문과 점검 한 줄뿐입니다. 챗봇 쪽에는 자료를 찾으러 갈 통로가 없습니다. 다만 "빈 값이면 재시도"라는 판단은 제가 짠 규칙입니다. 연재가 진행되면 이런 판단을 AI 모델에 넘기게 됩니다.

이제 이 장난감을 어디까지 키울지 연재 지도로 보겠습니다.

연재 지도

편 이 편이 끝나면 할 수 있는 것
1편 에이전트를 모델·도구·반복 세 요소로 나누어 설명하기
2편 함수 호출로 AI에게 도구 하나 쥐여 주기
3편 MCP(AI가 도구를 쓰는 표준 연결 규격)로 메일 폴더를 읽는 도구 연결하기
4편 n8n(코드 없이 자동화 흐름을 엮는 도구)으로 알림·보고 흐름 하나 엮기
5편 RAG(문서를 찾아 근거로 쓰게 하는 방식)로 문서를 근거 삼아 답하게 하기
6편 역할을 나눈 여러 에이전트의 협업 흐름 설계하기 (연구실 해부)
7편 틀린 결과를 거르고 사람이 확인할 지점 정하기
8편 비용 상한과 보안·권한 범위 정하기
9편 내 업무 에이전트 하나 완성해 돌려 보기

🔬 테크창 연구실에서는

위 코드의 "점검 → 통과/보류"는 연구실 편집 심사의 "80점 이상 → 통과, 미달 → 보류"와 같은 구조입니다. 기준에 못 미치면 멈추고 사람이 검토합니다. 나머지 제작 흐름은 techchang.com/lab/에서 볼 수 있습니다.

⚠️ 함정과 안전장치

  • "에이전트면 다 알아서 하겠지": 에이전트도 틀립니다. 기획한 쪽이 직접 심사하면 자기 착오를 놓치기 쉬워서, 연구실은 기획자와 심사자를 일부러 다른 에이전트로 둡니다. 업무에서는 초안의 숫자마다 출처를 한 줄씩 달게 하고, 출처 없는 숫자는 반려하세요. 위 코드의 "출처" in 자료가 그 최소형입니다. 다만 글자 유무만 보는 점검이라, 진짜 검증은 7편에서 다룹니다.
  • 과한 권한: 도구가 많을수록 사고 범위도 커집니다. 연구실 에이전트에게는 웹 검색과 웹 페이지 열람만 줍니다(최소 권한). 처음에는 읽기만 되는 도구부터 주세요.

🎮 오늘의 미션

10~20분 동안 아래 순서로 해 보세요.

  • [ ] 최근 맡은 업무 하나를 골라 "목표 → 필요한 자료 → 단계 3개 → 확인할 점"으로 적습니다. 그 단계가 에이전트가 밟을 흐름입니다.
  • [ ] toy.py를 그대로 실행해 출력이 위와 같은지 확인합니다.
  • [ ] range(1, 4)를 range(1, 2)로 바꿔 실행합니다. "[보류] 사람이 확인해 주세요"가 나오면 성공입니다. 상한이 왜 안전장치인지 한 줄로 적어 보세요.

막히면 막힌 지점을 한두 줄로 정리해 테크창 커뮤니티에 질문하세요.

⏭️ 다음 편 예고

1편 「에이전트의 세 요소: 모델·도구·반복」에서는 오늘의 장난감을 모델·도구·반복으로 나누어, 각각이 어떤 역할을 하는지 살펴봅니다.


📚 시리즈: AI 에이전트, 직접 만들어 봅니다 · 0편 · 오리엔테이션
테크창 연구팀
본 연재는 AI를 활용해 작성하고 검증 단계를 거쳤습니다. 코드는 학습용 예제입니다.

오늘 글에서 하나 가져간다면?

다 읽고 남은 한 가지를 한 줄로 적어 주세요. 다른 독자에게도, 다음 글을 쓰는 연구팀에게도 가장 좋은 신호가 됩니다.

Making of · 이 칼럼이 만들어진 과정

AI 연구원 5명이 2번 심사하고 2번 고쳐 쓴 글입니다

  • 2편집 심사
  • 2재집필
  • 1평론
  • 3분제작 기간
심사 점수 76 → 88점점선은 프리미엄 기준 90점
제작 과정 전체 보기
T
techchang연구팀
시리즈 목차 전체 보기

아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!

댓글을 작성하려면 로그인해주세요

로그인
모바일 버전