에이전틱(agentic) 회의록 시스템을 만들었다.
회의 녹음을 올리면 AI가 스스로 판단하며 정확한 회의록을 완성하는 자율 에이전트
음성을 받아 한 번에 요약을 뱉어내는 도구가 아닙니다. 무엇이 빠졌는지 스스로 파악해 되묻고, 조직의 어휘를 학습하고, 준비가 됐을 때 회의록을 확정하는 — 사람 옆에서 일하는 유능한 담당자에 가깝습니다.
최근 AI 흐름의 한 축은 자율 에이전트(agentic system). 목표를 주면 스스로 도구를 골라 쓰고, 판단하고, 막히면 되묻는 시스템이며, 그 대표격이 범용 자율 에이전트 OpenClaw입니다.
OpenClaw의 작동 원리(ReAct 에이전트)를 그대로 가져오되 "회의록 작성"이라는 한 가지 일에 특화시킨 것이 MeetClaw입니다.
대부분의 도구는 "음성 → 전사 → 요약"의 고정 파이프라인 — MeetClaw는 에이전트이기에 다릅니다.
모르면 단정하지 않고 사용자에게 확인합니다.
인물·용어·규칙을 조직 메모리로 축적, 과거 회의록까지 RAG로 참조합니다.
회의가 쌓일수록 되묻기는 줄고 일관성은 오릅니다.
제어 흐름을 코드가 아니라 LLM에게 넘긴다 — 이것이 "워크플로우"와 "에이전트"를 가르는 핵심.
| 고정 워크플로우 | MeetClaw (ReAct 에이전트) | |
|---|---|---|
| 제어 흐름 | 코드에 미리 박힌 분기 | AI가 매 턴 스스로 결정 |
| 새 동작 추가 | 노드·엣지 신설 (구조 변경) | 도구 하나 추가 |
| 되묻기와 작업 | 단계가 분리됨 | 한 흐름에서 자연스럽게 섞임 |
| 적응성 | 예상한 시나리오만 | 예상 못 한 대화도 도구 조합으로 대응 |
AI는 한 손에 7개의 도구를 쥐고, 회의 맥락에 따라 자유롭게 조합합니다.
| 능력 | 도구 | 하는 일 |
|---|---|---|
| 👁 관찰 | extract_transcript_signals | 전사문에서 참석자·회사·날짜·숫자 단서를 재확인 |
| ✍ 기록 | update_collected_info | 회의 메타(날짜·참석자·화자 단서·맥락)를 누적 정리 |
| 🧠 학습 | write_memory | 인물·회사·용어·규칙·금지표기를 장기 메모리에 신규 저장 |
| 🧠 학습 | update_memory | 기존 메모리 항목의 일부 필드를 갱신 |
| 🧠 학습 | delete_memory | 더 이상 맞지 않는 메모리를 비활성화 |
| 🛡 검증 | detect_ambiguities | 추측 위험 모호점을 골라 사용자 확인 큐에 등록 |
| ✅ 확정 | commit_minutes | 수집·해소 완료를 선언하고 회의록 생성을 트리거 |
회의록은 매번 다르지만 조직의 어휘는 반복된다 — 한 번 알려준 정보를 다음 회의에서 자동 활용.
| 카테고리 | 기억하는 것 | 필수 / 선택 필드 |
|---|---|---|
| person | 인물 — 본명·소속·역할·별칭·발화 단서 | canonical / org, role, aliases, … |
| company | 회사·조직 — 정식명·약칭 | name / description, aliases |
| term | 용어·약어 정의 | definition / aliases |
| writing_rule | 항상 적용할 작성 규칙 | rule / examples |
| forbidden_label | 회의록에 쓰지 않을 표현 | pattern / replacement, reason |
스코프 2종 — 조직 공유(org): 멤버 공용 풀(타 조직과 격리) · 개인(user): 본인에게만 적용
메모리 CRUD가 에이전트의 도구로 노출 — 회의록을 쓰는 대화 그 자체에서 학습이 일어납니다.
화자·결정주체·담당자·날짜·용어 모호점을 최대 3개 골라 하나씩 되묻고, 모두 해소된 뒤에야 다음으로. "모르면 적지 않는다"
한 턴에 여러 도구를 호출해도 직접 만든 순차 노드가 하나씩 실행·thread해 상태 채널 충돌을 방지합니다.
PostgreSQL 체크포인터(PostgresSaver)로 대화 상태를 세션 스레드에 영속 저장 — 멀티워커·재시작에도 맥락 무손실.
최대 12회 반복 상한으로 자율 루프의 폭주를 막는 마지막 빗장.
60분 회의 기준, 수동 작업 대비 절감 효과 (회의 길이·참석자 수에 따라 변동).
| 업무 항목 | 이전 (수동) | 이후 (MeetClaw) | 절감률 |
|---|---|---|---|
| 회의록 작성 | 30~60분 | 5~10분 | 약 80% |
| 파일 저장·공유 | 5~10분/건 | 1분 이내 | 약 85% |
| 회의록 검토·수정 | 15~30분 | 5분 이내 | 약 75% |
| Drive 폴더 정리 | 3~5분/건 | 자동 처리 | 100% 자동화 |
LangGraph (StateGraph · tool 루프 · PostgresSaver) · LangChain · LangSmith
Gemini 2.5 Pro (추론+생성) · Gemini Flash (경량 메모리 필터)
Whisper (전사) · OpenAI text-embedding-3-large (3072차원)
Django 4.2 · DRF · gunicorn 멀티워커
PostgreSQL + pgvector (의미 검색) · psycopg 3
huey (task 큐잉) · standarda-core (Google API 클라이언트)
설계 원칙 — "용도에 맞는 모델을 쓴다": 무거운 추론은 2.5 Pro, 가벼운 분류는 Flash, 전사는 Whisper로 분담
동기 응답을 스트리밍으로 전환 — 긴 응답에서도 UI가 멈춰 보이지 않게.
메모리가 30건을 넘으면 LLM 필터 대신 임베딩 top-k로 선별.
회의가 쌓일수록 더 똑똑해지는 에이전트