코파일럿 스튜디오에서 엑셀파일을 참조할 때 도움이 될 팁
에이전트를 만들 때, 이런 기능을 구현하고 싶을 때가 있습니다.
“엑셀파일에 업무 담당자 정보를 잘 넣어놓고, 담당자를 물어보면 답변하도록 해야지”
그래서 아래와 같은 엑셀을 정성스럽게 준비합니다.

문제: 엉뚱한 답변이 나온다
그런데 실제로 엑셀파일을 참조해 놓고 에이전트를 만들면 황당한 결과를 만날 수 있습니다.

엑셀파일의 정보를 보면 실제 담당자는 차은우입니다. 그런데 에이전트는 엉뚱한 답변을 한 것을 넘어서, “차이유”라고 아래쪽 행에 있는 아이유와 합성해서 답변을 내놓기까지 합니다.

이러한 현상은 저뿐만 아니라, 제가 담당했던 고객사에서도 심심치 않게 발견되었고, 심지어 해커톤 행사에서도 자주 문의받던 내용입니다.
테스트를 해보면, 참조 자료가 엑셀파일 하나일 때는 크게 문제가 나오지 않는데, 여러 파일이 참조되어 있는 상황에서 엑셀 파일이 포함되어 있고 지침이 좀 복잡해질수록 문제 발생이 현격하게 늘어납니다.
그럴 때마다 “아, 이건 엑셀의 데이터를 LLM이 제대로 처리하지 못해 발생하는 현상으로, 어쩔 수 없다.” 는 방향으로 대응하곤 했습니다.
그리고 대안으로 다음과 같은 제안을 하기도 했습니다.
- 에이전트 흐름으로 엑셀 커넥터를 통해 데이터를 취득하고 필터링 하자
- 엑셀 스크립트를 이용해 데이터를 JSON 등으로 변환해서 사용하자
원인 분석: 코파일럿 스튜디오는 엑셀을 텍스트 뭉치로 받는다
그런데, 코파일럿 스튜디오의 활동 트래킹 정보를 보면 특이한 부분이 있습니다.
우리는 엑셀파일에 표를 만들고 그 내용을 정성스럽게 채웠지만, 실제로 코파일럿 스튜디오가 엑셀파일로부터 받은 정보는 그냥 텍스트 뭉치입니다. 내가 알고 있는 정보의 구조는 사라지고, 그냥 텍스트로만 쭈욱 뽑아져 나온 겁니다.
혹시 이렇게 데이터가 전달되니까 코파일럿 스튜디오는, LLM은 바보 같은 결과를 내는 게 아닐까요?

해결책: 엑셀에 구조화 힌트를 남겨두자
그래서 엑셀을 이렇게 바꿔봅니다. 목표는 텍스트만 추출되어도 정보의 구조화 힌트를 남겨놓기 위한 것입니다.
- 필드마다
,로 구분해 주고 - 행의 구분은
-을 넣어줍니다

이걸 에이전트에 참조해서 물어보면… 짜잔~!
정확한 답변이 나옵니다. 🎉

왜 이게 효과가 있을까?
활동 트래킹에서 참조된 데이터를 보면 이유가 명확합니다.
- 헤더행과 데이터행이 구분되고
- 각 데이터행은
-으로 구분되고 - 각 행의 필드는
,으로 구분되는 것으로 보입니다

이제 코파일럿 스튜디오가 구조화된 데이터를 전달받기 때문에, 이전보다 훨씬 정확한 답변을 주는 것을 볼 수 있습니다.

정리
| 구분 | 방법 |
|---|---|
| 문제 | 코파일럿 스튜디오가 엑셀 표를 구조 없이 텍스트로만 추출하여 LLM에 전달 |
| 원인 | 엑셀의 셀 구조(행/열 경계)가 텍스트 변환 과정에서 사라짐 |
| 해결 | 열 구분은 ,, 행 구분은 - 를 셀 내용에 직접 추가해 텍스트 추출 후에도 구조 힌트 유지 |
엑셀 에이전트 흐름이나 엑셀 스크립트 변환 없이도, 엑셀 파일 포맷만 살짝 바꿔주는 것만으로 코파일럿 스튜디오의 정확도를 크게 높일 수 있습니다. 여러 파일을 참조하는 복잡한 에이전트 환경일수록 더 효과적입니다.