[TNP] 성과평가 대응 에이전트 개발

소개

시도하고자 했던 것과 그 이유를 알려주세요.

AI 기반 자체평가 보고서 생성 시스템에서 평가기준 및 작성양식을 반영한 구조화된 보고서를 자동 생성하는 시스템을 구축하고자 했습니다.

진행 방법

어떤 도구를 사용했고, 어떻게 활용하셨나요?

Tip: 사용한 프롬프트 전문을 꼭 포함하고, 내용을 짧게 소개해 주세요.

Tip: 활용 이미지나 캡처 화면을 꼭 남겨주세요.

Tip: 코드 전문은 코드블록에 감싸서 작성해주세요. ( / 을 눌러 '코드 블록'을 선택)

주요 도구:

- Google Gemini AI: 보고서 생성 및 평가기준 분석용

- Pinecone: DB 저장

- Claude Code: 개발 과정에서 코드 작성 및 디버깅 지원

- 정규식(Regex): 평가기준에서 패턴 자동 추출

1. 아키텍처 설계

4단계 파이프라인 구조로 설계했습니다:

[평가기준 PDF] → CriteriaParser → [체크리스트 항목]

[자료 청크] → StructuredMatcher → [항목별 매칭]

PromptBuilder → [특화 프롬프트]

Gemini API → [보고서 생성]

ReportValidator → [품질 검증]

2. 핵심 모듈 구현

[1단계: 평가기준 자동 분석 시스템 (CriteriaParser)]

평가기준 PDF에서 체크리스트 항목을 자동으로 뽑아내는 시스템을 만들었습니다.

- 1차 시도 (규칙 기반): 정규식과 키워드로 패턴 찾기

- 2차 시도 (AI 보완): 1차에서 실패하면 Gemini AI가 분석

- 결과물: "예산 집행률 준수", "사용내역 보고 적절성" 같은 항목 리스트

섹션별로 다른 패턴을 적용할 수 있도록 설정 파일(section_patterns.json)을 따로

관리했습니다.

[2단계: 자료 매칭 시스템 (StructuredMatcher)]

추출된 각 항목에 관련 자료를 자동으로 연결하는 시스템입니다.

- 핵심 전략: 기존에 만들어둔 임베딩(문서 벡터)을 재활용해서 추가 비용 제로!

- 매칭 점수 계산:

- 의미 유사도 60%

- 키워드 일치도 30%

- 설명문 일치도 10%

- 결과: 각 항목마다 가장 관련성 높은 자료 3개씩 자동 배정

한국사이트 스크린샷

[3단계: 맞춤형 프롬프트 생성 (PromptBuilder)]

AI에게 보고서 작성을 요청할 때, 각 섹션에 특화된 상세 지시문을 자동으로

만들어줍니다.

  프롬프트 예시 내용:

  필수 작성 구조는 다음과 같습니다:

  평가근거 및 자료 섹션:

  □ 예산 집행률 준수

    ㅇ 아래 자료를 활용하여 작성하세요

       → 연구계획서.pdf 15페이지 (관련도 92%)

       → 예산집행내역.pdf 3페이지 (관련도 87%)

  □ 사용내역 보고 적절성

    ㅇ 아래 자료를 활용하여 작성하세요

       → 집행보고서.pdf 8페이지 (관련도 89%)

  필수로 포함해야 할 표:

    - 평가기간 내 집행률 현황 표

    - 평가기간 내 실집행률 현황 표

[4단계: 품질 검증 시스템 (ReportValidator)]

생성된 보고서가 제대로 작성되었는지 자동으로 검사합니다.

검증 항목:

- 필수 섹션 3개가 모두 있는지 (평가결과 종합, 평가근거 및 자료, 근거/자료 목록)

- □, ㅇ 기호를 제대로 사용했는지

- 요구된 표가 포함되어 있는지

- 자료 출처를 인용했는지

- 내용 분량이 적절한지

결과: 0~100점 점수와 함께 개선 제안 제공

기존 시스템과의 통합

핵심 전략: 점진적 도입

기존 코드를 전혀 수정하지 않고도 새 기능을 사용할 수 있도록 설계했습니다.

- 평가기준 파일만 추가로 넣어주면 자동으로 새 시스템 작동

- 파일이 없거나 분석 실패 시 자동으로 기존 방식으로 동작

- 검증에서 문제가 발견되어도 일단 결과는 반환 (작업 중단 없음)

결과와 배운 점

배운 점과 나만의 꿀팁을 알려주세요.

과정 중에 어떤 시행착오를 겪었나요?

도움이 필요한 부분이 있나요?

앞으로의 계획이 있다면 들려주세요.

1. 비용 최적화의 핵심은 "규칙 우선, AI는 보조"

- 단순 패턴 찾기는 정규식으로 해결

- 복잡한 경우만 AI 사용

- 결과적으로 AI 사용을 줄이면서도 품질은 동일

2. 기존 자산 재활용이 중요

- 이미 만들어둔 문서 임베딩을 재사용

- 새로 API 호출할 필요 없어서 추가 비용 제로

- 처리 속도도 3배 이상 빨라짐

3. AI에게 지시할 때는 강하게, 구체적으로

- "해주세요" → "반드시 해야 합니다"로 표현 변경

- 이모지(⚠️, 📐) 활용해서 시각적으로 강조

- 추상적 설명보다 구체적 예시 제공

4. 안전장치(Fallback)를 여러 겹으로

- 1차 실패 → 2차 방법 시도 → 그래도 실패 → 기본값 사용

- 어떤 상황에서도 시스템이 멈추지 않도록 설계

- 기존 사용자에게 영향 제로

5. 윈도우 한글 처리 주의

- 윈도우 콘솔은 기본적으로 CP949 인코딩 사용

- UTF-8로 명시적 변환 필요

- 테스트 스크립트 작성 시 첫 줄에 인코딩 설정

도움 받은 글 (옵션)

참고한 지피터스 글이나 외부 사례를 알려주세요.

(내용 입력)

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요