본문 바로가기
고민의 흔적../AI Agent 행동예측 해커톤

(회고)Dacon AI Agent 행동 예측 대회

by sungjinp0805 2026. 7. 25.

AI Agent를 이해하기 위해 시작한 대회에서 배운 것

나는 여러 프로젝트에서 AI Agent를 활용하면서 자연스럽게 AI에 대한 관심이 커졌다.

그러던 중 이번 대회를 발견했다.

 

AI Agent가 어떤 정보와 상태를 바탕으로 행동을 선택하는지 더 깊게 이해하고,

AI 모델링 과정도 직접 경험해보고 싶어 참여를 결심하게 되었다.

 

처음에는 어떤 모델과 기법을 사용하게 될지 몰랐다.
제공된 베이스라인을 이해하는 것부터 시작해, 문제를 해결하는 과정에서 필요한 개념을 하나씩 배워나갔다.


문제를 풀면서 배운 모델링

처음에는 현재 프롬프트의 문장을 잘 분류하면 다음 행동을 예측할 수 있을 것이라고 생각했다.

하지만 실제 데이터에서는 같은 요청이라도 이전에 어떤 작업을 했는지에 따라 다음 행동이 달라졌다.

파일을 이미 읽었는지, 코드를 수정했는지, 테스트를 실행했는지와 같은 정보가 중요했다.

이 문제를 해결하려다 자연스럽게 여러 모델링 방법을 접하게 됐다.

 

베이스라인을 분석하며 TF-IDF와 Logistic Regression을 처음 배웠고,

history와 session metadata를 활용하면서 피처 엔지니어링을 경험했다.

문장의 의미를 더 잘 반영하기 위해 Transformer를 사용했고,

서로 다른 모델이 다른 샘플을 맞히는 것을 확인하면서 앙상블도 이해하게 됐다.

 

기존 방식으로 설명되지 않는 문제가 생길 때마다, 그 문제를 해결하기 위해 새로운 방법을 찾아 적용했다.

이 과정을 통해 단순히 모델을 사용하는 것보다 데이터를 어떻게 해석하고, 어떤 정보를 어떤 형태로 전달할지가 더 중요하다는 것을 배웠다.


AI Agent의 행동에 대해 알게 된 것

대회를 진행하며 가장 크게 달라진 것은 AI Agent의 행동을 바라보는 관점이었다.

 

처음에는 Agent가 현재 사용자의 요청을 읽고 다음 행동을 선택한다고 생각했다.

하지만 실제로는 현재 문장보다, 이전 행동과 도구 실행 결과가 누적되어 만들어진 작업 상태가 더 중요했다.

예를 들어 같은 파일 수정 요청이라도 상황에 따라 행동이 달라졌다.

 

파일을 아직 읽지 않았다면 먼저 파일을 확인할 수 있고, 이미 내용을 파악했다면 바로 수정할 수 있다.

수정이 끝난 뒤라면 테스트를 실행하거나 결과를 설명할 수도 있다.

 

즉, Agent의 행동은 다음 정보의 영향을 받고 있었다.

  • 어떤 파일을 읽었는가
  • 직전에 어떤 행동을 했는가
  • 파일을 수정했는가
  • 테스트 결과가 무엇인가
  • 현재 어떤 파일이 열려 있는가
  • 사용자가 새로운 요청을 하는지, 이전 결과를 묻는지

이후 관계형 피처를 만들면서 현재 요청과 과거 작업을 직접 연결하려고 했다.

현재 요청에 등장한 파일을 이전에 읽었는지, 마지막으로 연 파일과 같은지, 사용자가 직전 작업의 결과를 묻는지 등을 계산했다.

이 과정에서 다음과 같은 결론을 얻었다.

AI Agent는 문장에만 반응하는 것이 아니라, 대화와 도구 사용으로 만들어진 현재 작업 상태에 반응한다.

Agent의 행동을 이해하려면 현재 요청뿐 아니라, 이전 행동이 어떤 상태를 만들었는지를 함께 봐야 했다.


데이터를 많이 만드는 것보다 믿을 수 있는 데이터를 만드는 일

대회 중에는 history에 남아 있는 과거 행동을 새로운 학습 데이터로 복원하기도 했다.

처음에는 행을 많이 늘리면 더 많은 정보를 학습할 수 있을 것이라고 생각했다.

 

하지만 다시 확인해보니 같은 과거 행동이 서로 다른 길이의 history로 반복된 경우가 많았다.

겉으로는 데이터가 늘어났지만, 실제로는 새로운 행동이 추가된 것이 아니라 같은 target이 중복된 경우도 있었다.

 

과거의 프롬프트와 행동을 복원할 수 있어도, 그 시점의 상태까지 정확하게 복원할 수 있는 것은 아니었다.

예를 들어 현재 history 안에 테스트 기록이 보이지 않더라도, 더 오래된 기록에서 이미 테스트가 실행됐을 수 있었다.

이 사실을 고려하지 않으면 과거 상태를 잘못 복원하게 된다.

 

이 경험을 통해 데이터 증강에 대한 생각도 달라졌다.

처음에는 얼마나 많은 행을 추가할 수 있는지가 중요하다고 생각했다.

하지만 실제로는 다음 질문이 더 중요했다.

이 데이터에 들어 있는 정보가 정말 해당 시점의 정보라고 믿을 수 있는가?

데이터의 양보다 시점의 정합성, 중복 여부, 정보가 모델에 전달되는 방식이 중요했다.


AI Agent를 활용하며 알게 된 것

대회를 진행하는 과정에서도 AI Agent를 적극적으로 사용했다.

Fable은 실험 방향을 제안하고, 코드를 수정하고, 학습과 포장까지 여러 작업을 수행했다.

 

나는 Fable의 성능이 좋다고 알고 있었기 때문에 실수가 반복되자 처음에는 내가 잘못 사용하고 있다고 생각했다.

그래서 더 자세한 지시를 작성하고, 더 많은 프로젝트 정보와 규칙을 제공했다.

 

하지만 프로젝트가 커질수록 하나의 Agent가 맡는 책임도 함께 커졌다.

전략 수립, 코드 수정, 학습 실행, 결과 검증, 제출 파일 포장, 실험로그 작성까지 모두 하나의 Agent가 처리하면서 단계가 누락되거나 서로 다른 정보를 섞는 일이 반복됐다.

 

이때 문제를 Agent의 능력 부족보다 작업 구조에서 다시 보게 됐다.

하나의 Agent가 다루는 책임과 컨텍스트가 너무 넓어진 것이 문제일 수 있었다.

그래서 책임과 컨텍스트를 세부 Agent로 분리했다.

전략을 세우는 Agent, 데이터와 누수를 검사하는 Agent, 학습 설정을 확인하는 Agent, 승인된 작업을 실행하는 Agent, 제출 파일을 검사하는 Agent, 검증된 결과만 기록하는 Agent로 역할을 나눴다.

 

각 Agent에는 프로젝트 전체가 아니라 현재 역할에 필요한 정보만 제공했다.

모든 실수가 사라진 것은 아니었다.

하지만 한 Agent의 실수가 전체 과정에서 그대로 통과하기 어려워졌고, 문제가 발생했을 때 어느 단계에서 잘못됐는지도 찾기 쉬워졌다.

 

이 경험을 통해 AI Agent의 성능은 모델 자체뿐 아니라 사용자가 역할과 컨텍스트를 어떻게 설계하느냐에도 영향을 받는다는 것을 배웠다.

AI Agent를 잘 사용하는 것은 긴 프롬프트를 작성하는 데서 끝나지 않았다.

책임을 나누고, 행동 권한을 정하고, 산출물을 검증하는 구조까지 필요했다.


결과적으로 얻은 것

최종 점수는 0.7866974871이었고 본선에는 진출하지 못했다.

하지만 대회를 통해 처음 얻고자 했던 것은 충분히 얻었다.

 

먼저 AI 모델링의 전체 과정을 직접 경험했다.

베이스라인을 이해하는 것부터 시작해 데이터를 분석하고, 피처를 만들고, 모델을 학습하고, 여러 모델을 결합하고, 실제 제출 환경에서 실행하는 과정까지 경험했다.

 

두 번째로 AI Agent의 행동을 더 구체적으로 이해하게 됐다.

Agent의 다음 행동은 현재 문장 하나가 아니라 이전 행동과 작업 결과가 누적된 상태에서 결정됐다.

 

세 번째로 AI Agent와 협업하는 방법에 대한 기준이 생겼다.

성능이 좋은 Agent에게 모든 일을 맡기는 것보다, 책임과 컨텍스트를 좁게 나누고 실행과 검증을 분리하는 구조가 더 안정적일 수 있었다.


마무리

이번 대회는 AI Agent를 단순히 사용하는 데서 한 단계 더 들어가 보기 위해 시작했다.

처음에는 어떤 모델을 사용하게 될지도 몰랐지만, 문제를 해결하는 과정에서 필요한 개념을 하나씩 배웠다.

 

대회를 마친 뒤에는 모델링 기법뿐 아니라 AI Agent를 바라보는 관점도 달라졌다.

Agent는 현재 요청에만 반응하는 것이 아니라, 이전 행동과 작업 환경이 누적된 상태를 바탕으로 움직였다.

 

또한 Agent를 안정적으로 활용하려면 모델의 성능만 믿는 것이 아니라, 역할과 컨텍스트, 권한과 검증 구조를 함께 설계해야 했다.

본선에는 진출하지 못했지만, 나는 AI Agent를 사용하는 사람에서 그 행동을 데이터로 분석하고, 실제 협업 구조까지 고민해본 사람으로 한 단계 더 나아갈 수 있었다.

 

이 경험을 바탕으로 앞으로도 많은 도전을 이어나가보려고 한다. 

누구보다 열심히 임했고, 그만큼 많이 배울 수 있었다.

 

이상.