지금까지 저희 회의록 엔진(meeting_notes)은 "정식회의"만 대상으로 만들어져 있었습니다. AI가 회의록 원문을 읽고 담당자·기한·액션 아이템을 자동으로 뽑아주는 기능은 이미 잘 작동하고 있었지만, 실제 프로젝트를 진행하다 보면 중요한 결정이 꼭 정식 회의에서만 나오는 게 아니었습니다.
전화 한 통으로 담당자가 정해지고, 메신저로 "그럼 목요일까지 초안 보내드릴게요" 같은 약속이 오가는데, 이런 것들은 기록 없이 그냥 흘러가고 있었습니다. 나중에 "그때 그거 누가 하기로 했었죠?" 하고 되짚어야 하는 상황이 반복됐습니다.
정식회의 / 전화 / 메신저, 세 가지 소스 유형을 구분해서 기록할 수 있도록 확장했습니다. 핵심은 엔진을 새로 만들지 않았다는 점입니다. AI 추출, 검증 배지, 수정, 삭제, 수동 추가 — 기존 로직을 100% 그대로 재사용하고, source_type이라는 필드 하나만 추가했습니다.
배운 점
기능이 "설계상 준비되어 있다"는 것과 "실제로 동작한다"는 것은 다른 문제였습니다. 파라미터가 함수 시그니처까지 도달했다고 해서 그 값이 실제로 쓰이고 있다는 보장은 없습니다. 이번에도 보고서 요약을 그대로 믿지 않고 프롬프트 구성 코드를 직접 열어본 것이 문제를 정확히 짚어내는 데 결정적이었습니다.
스키마와 프론트엔드 폼은 사실 이미 준비되어 있었습니다. DB에 값도 정상적으로 저장되고 있었고요. 그런데 실제로 전화/메신저를 선택해서 액션 아이템을 뽑아봐도 결과물이 정식회의와 전혀 다르지 않았습니다.
원인을 찾으려고 서버 액션 코드를 실제로 열어봤습니다. DB insert 구문에는 sourceType이 정확히 반영되고 있었는데, 정작 Claude API에 보내는 프롬프트 안에는 이 값이 단 한 줄도 등장하지 않았습니다. 파라미터는 함수까지 잘 들어왔는데, 그 값을 AI에게 "알려주는" 코드가 빠져 있었던 겁니다.
해결은 단순했습니다. 소스 유형별로 한두 문장짜리 컨텍스트를 시스템 프롬프트 상단에 주입했습니다.
전화: 통화 중 실시간 기록이 아니라 사후에 기억을 되짚어 쓴 메모일 수 있으니, 담당자·기한 검증 여부를 더 보수적으로 판단하도록 유도 메신저: 대화체 원문이 그대로 보존되어 있을 가능성이 높으니, 근거 문장을 실제 대화 그대로 정확히 발췌하도록 유도
JSON 출력 스키마, 검증 규칙 등 기존 로직은 한 글자도 건드리지 않았습니다.
같은 애매한 문장을 두 가지 유형으로 각각 넣어봤습니다.
"김대리한테 다음주까지 견적서 보내달라고 했던 것 같음" (전화)
담당자명이 분명히 언급돼 있는데도 "~것 같음"이라는 표현을 잡아내서 **미검증(AI 추정)**으로 처리됐습니다.
"네 알겠습니다ㅎㅎ 그럼 제가 목요일까지 초안 보내드릴게요" (메신저)
근거 문장이 "ㅎㅎ"까지 포함해 원문 그대로 발췌됐습니다.
두 결과 모두 dev와 prod 환경에서 동일하게 재현됐고, 정식회의 케이스로 회귀 테스트도 함께 진행해 기존 동작에 변화가 없음을 확인했습니다.
관련 프로젝트
프로젝트 개요 기획자(PM)로서 AI를 활용한 업무 자동화(AX) 사례를 문서화하는 개인 포트폴리오 사이트입니다. 국내 기업의 AX 기획자/AI PM 직군으로의 커리어 전환을 목표로, 사이트 자체가 채용 지원용 스토리텔링 자료로 실사용되고 있습니다. 핵심 패턴: 업무 병목 발견 → AI로 워크플로우 재설계 → Before/After·근거·재현 가능성 문서화 전체 서사는 '실행하지 않은 아이디어 나열'이 아니라, 하나의 검증된 자동화 패턴과 도메인별 확장 블루프린트를 갖춘 재사용 가능한 엔진을 보유하는 방향으로 수렴하고 있습니다. 기술 스택 Next.js 16, Tailwind CSS v4, TypeScript Supabase (개발/운영 환경 분리), Vercel, Resend Claude API 기반 기술 자문 및 프롬프트 설계 보안 아키텍처 관리자 CRUD는 세션 기반 인증과 RLS(Row Level Security)로 보호 공개 읽기 전용 경로는 별도의 익명 클라이언트로 분리 서비스 롤 키는 애플리케이션 코드에서 완전히 배제 권한 검증은 마이그레이션 파일 및 대시보드 검토를 통해서만 진행 작업 방식 (에이전틱 IDE 협업 워크플로우) AI 에이전트 기반 IDE가 파일/버전관리 작업을 담당하고, LLM은 기술 자문 및 프롬프트 작성 역할을 수행하는 협업 구조를 운영합니다. AI 자문 → 에이전트용 프롬프트 작성 → 실행자가 붙여넣기 → 계획 확인 → 자문 검토 → 실행 승인 → 로그 검토 → 직접 클릭 테스트 → 명시적 지시 시에만 커밋 통제 규칙 실행 전 계획 검토 필수 요약 보고가 아닌 직접 클릭 테스트로 검증 개발 환경 우선 적용 후 명시적 승인 하에 운영 환경 반영 커밋은 명시적 지시가 있을 때만 수행 DB 자격증명 직접 연결 및 범위 외 삭제 금지 브랜치 전략: 개발 브랜치에서 작업 후 운영 브랜치는 배포 전용으로 직접 커밋 금지, 병합 전 변경 범위 검증 현재 진행 상황 고객사 미팅 브리핑 자동화 사례: 1단계 완료, 개발/운영 환경 배포 및 실데이터 테스트 완료 범위 변경 감지 자동화 사례: 상태 확인 진행 중 리스크 조기 경보 자동화 사례: 운영 환경 배포 완료 보안 사고 관련 포스트: 'AI 리스크 거버넌스 사례'로 재구성 예정 AI 활용 관련 콘텐츠 시리즈 초안 작성 완료, 게시 미확정 핵심 학습 원칙 보고가 아닌 검증: 버그·보안 이슈는 항상 직접 로그/브라우저 검토를 통해서만 발견되며, 에이전트의 자체 결과 요약을 그대로 신뢰하지 않음 보안 사고의 콘텐츠화: 실제 발생한 권한 관련 이슈 사례를 케이스 스터디로 재구성하여 콘텐츠화 커밋 의미 분리: 기능 단위/변경 유형별로 항상 분리 커밋 자동화하지 않는 것도 스토리: 저사용 빈도 기능을 의도적으로 고도화하지 않은 결정 자체를 AX 스토리텔링 소재로 활용