묻기 — AI 채팅
개요
묻기는 코파일럿의 첫 화면이자 채팅입니다(/chat). 우리말로 물으면 내장 에이전트(AgentOrchestrator + ToolRegistry)가 필요한 도구를
스스로 골라 불러 실시간 데이터 조회 · AI 분석 · 지식 검색을 하고, 근거와 함께 답합니다. 플랫폼 통합 MCP(실시간 데이터),
TimeSeries-Insight(AI 분석), RAG(문서 · 도면 · 영상 검색), 비전(사진 판독)이 입력칸 하나로 묶입니다. 디지털 스레드 · MES 같은 선택 연동이
연결돼 있으면 그 도구(작업 · 품번 · 설계 변경)가 더해질 뿐, 화면은 같습니다.
질문은 글 · 사진 · 말로 넣고, 답은 결론 · 표 · 차트 · 근거 카드로 받습니다.
코파일럿의 다른 메뉴(제안 · 자동화)와 사이드바 · 알림 · 설정은 코파일럿 화면 지도에 있습니다.
채팅 오케스트레이션은 copliot-web 내장 에이전트가 합니다(2026-07 개편). 별도 Langflow 엔진은 없고, LLM 추론은 LiteLLM 게이트웨이를
거칩니다(기본 모델 aura-lite).
첫 화면
새 대화를 열면 인사 · 입력칸 · «오늘 할 일» · 질문 칩이 한 기둥으로 놓입니다.

| 번호 | 자리 | 하는 일 |
|---|---|---|
| ① | 인사 | 「○○님, 좋은 아침입니다」(오후 「오늘도 수고하십니다」 · 저녁 「늦은 시간까지 고생하십니다」)와 오늘 날짜 — 공장 시간대 기준 |
| ② | 입력칸 | 「무엇이든 물어보세요」 — 아래 입력칸 |
| ③ | 오늘 할 일 | 평소에는 「오늘 할 일 N건」 한 줄로 접혀 있고, 누르면 그림처럼 펼쳐져 다섯 줄까지 보입니다. 줄을 누르면 그 제안이 열리고 전체 보기는 제안 화면입니다. 할 일이 없으면 이 칸은 그리지 않습니다 |
| ④ | 질문 칩 | 자주 묻는 질문 넷 — 누르면 입력칸에 채워지기만 합니다. 고친 뒤 직접 보냅니다 |
질문 칩 넷은 이것입니다.
- 「건강 상태가 나쁜 설비를 우선순위로 알려줘」
- 「반복해서 발생하는 알람을 정리해줘」
- 「이 설비 이상, 지난번엔 어떻게 조치했었어?」
- 「이 설비에 등록된 매뉴얼 있어?」
인사는 공장 시간대의 시각을 따릅니다 — 0511시 「좋은 아침입니다」, 1117시 「오늘도 수고하십니다」, 17~22시 「늦은 시간까지 고생하십니다」,
그 밖의 밤 · 새벽에는 「○○님, 안녕하세요」 입니다.
«오늘 할 일» 은 접힌 한 줄(「오늘 할 일 N건」)로 시작합니다. 그 줄을 누르면 다섯 줄까지 펼쳐지고, 펼친 상태는 이 기기가 기억합니다. 줄 순서와 점 색은 코파일럿 화면 지도 — 묻기 첫 화면에 있습니다.
첫 화면으로 돌아오려면 사이드바의 새 대화를 누릅니다 — 사이드바에 «묻기» 줄은 따로 없습니다.
질문을 보내면 첫 화면이 걷히고 대화 화면이 됩니다. 폰에서는 입력칸이 화면 아래에 붙습니다.
대화 화면

| 번호 | 자리 | 하는 일 |
|---|---|---|
| ① | 머리 | 지금 대화의 이름(처음 물은 말). 연필(이름 바꾸기)로 고칩니다. 폰에서는 이름이 위 앱 바에 보이고, 이름은 사이드바 최근 대화의 «…» 메뉴에서 바꿉니다 |
| ② | 답 | 본문 — 표 · 코드 · 다이어그램이 답 안에 그려지고, [1] 같은 번호가 근거 카드로 이어집니다 |
| ③ | 답 아래 | 차트 카드와 그 아래 데이터 줄 — 어느 도구에서 · 실제로 그린 기간과 건수, 일부만 그렸으면 「일부만」 |
| ④ | 답 맨 아래 | 답 복사 · 다시 만들기 단추와 걸린 시간(초) |
| ⑤ | 화면 아래 | 입력칸 — 「이어서 물어보세요」 |
| ⑥ | 입력칸 아래 | 「AI 답은 틀릴 수 있습니다. 중요한 조치 전에는 근거를 확인하세요.」 |
그림에 안 보이는 것 넷이 더 있습니다.
- 다시 만들기 — 끝난 마지막 답의 답 복사 옆. 같은 질문으로 답을 새로 만듭니다 → 아래 답 읽기
- 도구 줄 — 답 위에 「도구 실행 중」 → 「도구 N개 사용 · N초」. 누르면 펼쳐집니다.
- 근거 카드 — 답 아래에 번호 · 종류(또는 작은 그림) · 제목. 여섯 장까지 보이고 나머지는 「근거 더 보기 (+N)」 로 폅니다.
- 이어서 물어보기 — 마지막 답 끝에 셋까지.
위로 스크롤해 읽는 동안에는 화면이 답을 따라 내려가지 않습니다. 입력칸 위에 뜨는 맨 아래로 단추로 돌아옵니다.
지난 대화 찾기
지난 대화는 사이드바의 최근 대화에 오늘 · 어제 · 이번 주 · 이전으로 묶여 있습니다. 그 위 대화 검색 칸에 글자를 넣으면 목록이 좁혀집니다.
- 찾는 대상은 대화 제목입니다(처음 물은 말, 또는 바꾼 이름). 대화 본문은 찾지 않습니다 — 나중에 다시 찾을 대화라면 이름을 알아보기 쉽게 바꿔 두십시오.
- 검색은 서버가 합니다. 사이드바에 늘 보이는 것은 최근 30건이지만, 검색하면 그보다 오래된 대화도 걸립니다(한 번에 100건까지).
- 맞는 것이 없으면 「맞는 대화가 없습니다」가 뜹니다.
- 주제가 바뀌면 사이드바의 새 대화로 새로 여는 편이 답이 좋습니다.
대화 주소
| 주소 | 여는 것 |
|---|---|
/chat/new | 새 대화. ?q=<글> 을 붙이면 입력칸에 그 글을 채워 둡니다(보내지는 않습니다) |
/chat/<대화 id> | 그 대화. 새 대화에서 첫 답이 오면 주소가 /chat/new 에서 이 모양으로 바뀝니다 — 그 주소를 북마크 · 공유하면 됩니다 |
/chat | /chat/new 로 넘어갑니다 |
- 2026.10 재릴리즈(2026-10-20) 전의 주소
/chat?session=<id>는 더 받지 않습니다.
입력칸
| 자리 | 단추 · 키 | 하는 일 |
|---|---|---|
| 왼쪽 아래 | 파일 넣기 | 사진(4장까지)과 문서 · 도면 · 영상 · 음성 파일을 붙입니다. 입력칸에 끌어다 놓거나 붙여넣기(Ctrl+V)로도 들어갑니다 — 아래 파일 넣기 |
| 오른쪽 아래 | 생각 정도(뇌 아이콘) | AI 가 답하기 전에 얼마나 생각할지 고릅니다 — 아래 생각 정도 |
| 오른쪽 아래 | 말로 묻기 | 누르면 녹음, 다시 누르면(녹음 멈추기) 글로 옮겨 입력칸에 넣습니다 — 60초까지 |
| 오른쪽 끝 | 보내기 | AI 가 답을 만드는 동안에는 응답 멈추기로 바뀝니다 — 그동안 같은 대화에 새 질문은 보낼 수 없습니다(파일 넣기 · 말로 묻기도 잠깁니다) |
| 키보드 | Enter · Shift+Enter | Enter 는 보내기, Shift+Enter 는 줄바꿈. 한글을 조합하는 중의 Enter 는 보내지 않습니다 |
맨 앞에 @ | 자동화 부르기 | 내 자동화 · 공유받은 자동화 목록이 입력칸 위에 뜹니다 |
- 글이 길어지면 입력칸이 화면 높이의 40%까지 늘어납니다.
- 글 없이 사진이나 파일만 보낼 수도 있습니다.
- 응답 멈추기를 누르면 서버도 답 만들기를 멈춥니다. 화면에 나온 데까지가 답으로 저장되고, 그 아래에 「중단함」 이 붙습니다 — 대화를 다시 열어도 같은 글입니다. 글이 나오기 전에 멈췄으면 「답이 나오기 전에 멈췄습니다」 와 다시 시도가 뜹니다.
- 한 대화에서 답은 한 번에 하나만 만듭니다. 다른 창이나 기기에서 같은 대화의 답을 만드는 중이면 새 질문은 받지 않고, 앞 답이 끝난 뒤 다시 보내라고 알립니다.
생각 정도 — 빠르게 또는 깊게
입력칸 아래 단추 줄, 마이크 왼쪽의 뇌 아이콘이 «생각 정도» 입니다. 지금 단계가 이름으로 함께 보이고(폰에서는 아이콘만), 누르면 메뉴가 위로 열립니다.
| 항목 | 뜻 |
|---|---|
| 서버 기본값 | 관리자가 정한 값을 따릅니다(처음 값). 이때 아이콘이 흐리게 보입니다 |
| 끔 | 생각하지 않고 바로 답합니다 — 빠릅니다 |
| 낮음 | 조금 생각하고 답합니다 |
| 보통 | 속도와 깊이의 균형 |
| 높음 | 느리지만 깊게 생각합니다 |
- 고른 값은 이 브라우저에 기억됩니다.
- 단추는 관리자가 생각 정도를 정해 둔 설치에서만 보입니다 → 환경 변수 설정 — 사고 모드
- 🔴 «끔» 은 빠르지만, 도구를 불러야 할 질문에서 도구 없이 답을 지어낼 수 있습니다. 설비 값 · 알람을 묻는 질문은 «서버 기본값» 이나 «보통» 으로 두십시오.
@ 로 자동화 부르기
입력칸의 첫 글자로 @ 를 치면 부를 수 있는 자동화가 여덟 개까지 뜹니다. 이름을 이어 치면 좁혀지고(띄어쓰기 · 대소문자 무시),
↑ ↓ 로 고르고 Enter 나 Tab 으로 넣습니다. Esc 는 목록을 닫습니다.
- 줄 오른쪽에 내 자동화 또는 「공유 · 만든 사람」 이 붙습니다.
- 부를 것이 없으면 「부를 수 있는 자동화가 없습니다」 가 뜹니다.
- 자동화 메뉴가 보이지 않는 사람에게는
@목록도 뜨지 않습니다. - 자동화를 만드는 법과 부른 뒤의 일은 자동화에 있습니다.
다른 화면에서 질문을 받아 열기
제안 상세의 묻기에서 이어 묻기처럼 다른 화면이 묻기를 열 때는 질문이 입력칸에 채워진 채 열립니다(주소 /chat?q=…).
보내기는 직접 누릅니다.
도면 뷰어의 이 영역으로 묻기도 같습니다 — 열려 있는 묻기 창의 입력칸에 「도면 … N쪽의 영역 … 에 대해: 」 로 시작하는 글과 고른 영역의 그림이 들어옵니다. 이미 쓰던 글이 있으면 그 아래 줄에 붙습니다 → 도면으로 묻기 — 뷰어
사진으로 묻기 — 계기 값과 명판 글자
파일 넣기로 사진을 붙이고 물으면 AI 가 사진을 보고 답합니다. 계기 값과 명판 글자는 판독 도구 (비전)로 읽게 합니다 — 도구 줄을 펼치면 그 도구가 보입니다.
| 묻는 것 | 예 | 받는 것 |
|---|---|---|
| 아날로그 · 디지털 계기 값 | 「이 압력계 몇이야?」 | 판독값 — 같은 사진을 다섯 번 읽혀 네 번 이상 같은 값일 때만 |
| 명판 · 라벨 · 표지판 글자 | 「이 모터 명판 정보 정리해줘」 | 읽은 글자(한국어 포함)를 정리한 것 |
- 읽을 수 없으면 거부합니다. 흐리거나 반사가 심해 판독이 엇갈리면 숫자를 지어내지 않고 「읽을 수 없음」으로 답합니다. 더 가까이, 정면에서 다시 찍으십시오.
- 한 번에 4장까지 붙일 수 있습니다. 넘기면 「이미지는 4장까지 넣을 수 있습니다」가 뜹니다. 붙인 사진은 입력칸 위에 작게 보이고, 사진 귀퉁이의 이미지 빼기로 뺍니다.
- 큰 사진은 보내기 전에 긴 변 1568px 로 줄입니다. 계기 눈금이 작게 찍혔다면 멀리서 크게 찍기보다 가까이서 찍는 편이 잘 읽힙니다.
- 사진은 판독에만 쓰고 저장하지 않습니다. 대화 기록에는 «사진이 있었다» 는 참조만 남습니다. 사진은 그 질문 한 번에만 쓰입니다 — 다음 질문에서 같은 사진을 다시 읽히려면 다시 붙입니다.
- 폰에서도 같은 파일 넣기 단추입니다.
- 사진 파일(png · jpg · gif · webp)은 어느 길로 넣어도 사진으로 붙습니다. 스캔본 TIFF 는 사진이 아니라 아래 파일 넣기의 첨부로 들어갑니다.
파일 넣기 — 이 대화에서 바로 묻기
문서 검색에 올라 있지 않은 파일 — 방금 받은 점검표, 협력사가 보낸 도면, 현장에서 찍은 작업 영상 — 을 입력칸에 넣고 그 파일에 대해 바로 물을 수 있습니다. 넣은 파일은 서버가 먼저 읽고(판독 · 영상과 음성은 녹취), AI 는 답할 때 그 판독본에서 필요한 쪽 · 시트 · 슬라이드를, 녹취본에서 필요한 구간을 골라 읽습니다.
넣는 길은 셋입니다.
| 길 | 하는 법 |
|---|---|
| 파일 넣기 단추 | 입력칸 왼쪽 아래 단추를 눌러 파일을 고릅니다 — 여러 개를 한 번에 고를 수 있습니다 |
| 끌어다 놓기 | 파일을 입력칸 위로 끌어 옵니다. 「여기에 놓으면 파일을 넣습니다」 가 뜨면 놓습니다 |
| 붙여넣기 | 복사한 파일을 입력칸에 Ctrl+V 로 붙입니다 |
사진(png · jpg · gif · webp)은 같은 길로 넣어도 사진으로 묻기의 사진으로 붙고, 그 밖의 파일이 이 첨부가 됩니다.
| 넣을 수 있는 파일 | 형식 | 읽는 단위 |
|---|---|---|
| 문서 PDF | pdf | 쪽 |
| 엑셀 · 표 | xlsx · xlsm · xls · csv | 시트 |
| 워드 | docx · docm · doc | 쪽 |
| 파워포인트 | pptx · pptm · ppt | 슬라이드 |
| 도면 | dxf — 넣으면 도면으로 읽습니다. PDF 도면은 칩의 도면 단추를 누릅니다 | 쪽 |
| 스캔본 | tif · tiff — 글자를 문자 인식(OCR)으로 읽습니다 | 쪽 |
| 영상 | mp4 · mov · mkv · webm — 말소리와 내장 자막을 받아 적습니다 → 아래 영상 · 음성 | 시각이 붙은 구간 |
| 음성 | m4a · mp3 · wav | 시각이 붙은 구간 |
- 형식은 파일 이름이 아니라 내용으로 판정합니다. 이름만
.xlsx인 다른 파일은 받지 않습니다. - 받지 않는 파일 — DWG(DXF 나 PDF 로 내보내 넣습니다), 실행 파일, 위 표에 없는 형식(곁 자막
srt·vtt도 받지 않습니다). - 영상 · 음성은 확장자와 파일 머리의 내용이 둘 다 맞아야 받습니다. 이름만
.mp4인 다른 파일은 받지 않습니다. - 엑셀 · 워드의 매크로와 외부 링크는 실행하지도 따라가지도 않습니다 — 값만 읽습니다.
| 상한 | 값 | 넘으면 |
|---|---|---|
| 파일 하나의 크기 | 50MB — 영상 · 음성은 1GB | 「파일이 너무 큽니다(최대 50MB)」 · 「영상·음성 파일이 너무 큽니다(최대 1GB)」 — 올리지 않습니다 |
| 영상 · 음성의 길이 | 60분 | 「영상·음성이 너무 깁니다(최대 60분). 잘라서 올려 주세요」 — 올리지 않습니다 |
| 한 대화의 파일 수 | 20개 — 문서 · 도면 · 영상 · 음성을 합쳐, 이미 보낸 파일까지 셉니다 | 「한 대화에는 파일을 20개까지 …」 — 새 대화에서 넣습니다 |
| 읽는 쪽 수 | 앞 100쪽 — 시트 · 슬라이드도 하나를 한 쪽으로 셉니다 | 101쪽부터는 읽지 않습니다. AI 도 앞 100쪽만 읽었다는 것을 압니다 |
| 판독 시간 | 10분 | 그 파일은 «읽지 못했습니다» 가 됩니다 |
칩의 상태 — 다 읽어야 보낼 수 있습니다
넣은 파일은 입력칸 위에 칩(이름 · 크기 · 상태)으로 보입니다.
| 칩에 보이는 말 | 뜻 |
|---|---|
| 올리는 중 | 파일을 서버로 보내는 중입니다 |
| 읽는 중 | 서버가 파일을 읽는 중입니다. 입력칸 아래에 「파일을 읽는 중입니다 — 다 읽으면 보낼 수 있습니다」 가 뜨고 보내기가 잠깁니다 |
| N쪽 읽음 · 시트 N개 읽음 · 슬라이드 N장 읽음 | 다 읽었습니다. 보낼 수 있습니다 |
| 「이 파일을 읽지 못했습니다: 사유」 | 판독에 실패했습니다. 그래도 보낼 수 있고, AI 는 그 파일을 읽지 못했다는 것을 알고 답합니다 → 문제 해결 — 채팅에 넣은 파일 |
| 형식 · 크기 · 개수를 알리는 문장 | 올리기 자체를 거절했습니다. 이 칩은 보내지 않습니다 — ✕ 로 뺍니다 |
- 칩의 ✕(빼기)로 뺍니다. 서버에 올라간 파일도 함께 지웁니다.
- PDF 칩에는 도면 단추가 있습니다. 누르면 그 PDF 를 도면으로 다시 읽습니다(표제란 · 치수 · 공차 · 부품표). 다시 누르면 문서로 읽습니다. 누를 때마다 처음부터 다시 읽습니다. 도면인 PDF 를 문서로 읽으면 치수 · 부품표가 흩어진 글로만 남습니다.
- 글 없이 파일만 보낼 수도 있습니다.
영상 · 음성 — 받아 적어서 읽습니다
영상 · 음성 파일은 서버가 말소리를 받아 적고(녹취), 영상에 내장 자막 트랙이 있으면 그 글도 함께 읽어 시각이 붙은 글로 만듭니다. 영상이면 장면 그림도 몇 장 남깁니다. AI 는 이 글을 구간이나 낱말로 골라 읽고 답합니다 — 화면을 보는 것이 아니라 말과 자막을 읽습니다.
| 칩에 보이는 말 | 뜻 |
|---|---|
| 올리는 중 n% | 파일을 서버로 보내는 중입니다. 큰 영상은 시간이 걸립니다 |
| 녹취 대기 중 | 받아 적기 차례를 기다립니다 |
| 처리 중 · 처리 중 n/m | 받아 적는 중입니다. n/m 은 끝난 조각 수입니다 |
| 녹취 준비됨 · 길이 | 다 받아 적었습니다(예: 「녹취 준비됨 · 3:05」) |
| 말·자막을 찾지 못했습니다 | 받아 적을 말도 자막도 없었습니다. AI 도 그렇게 압니다 |
| 녹취하지 못했습니다: 사유 · 받지 않았습니다: 사유 | 실패했거나 받지 않았습니다 → 문제 해결 — 채팅에 넣은 파일 |
얼마나 기다리는지는 파일의 길이와 크기로 정해집니다.
| 파일 | 처리 |
|---|---|
| 5분 이하 · 200MB 이하 | 넣자마자 받아 적습니다. 다 끝나기 전에 보내도 그 질문이 최대 20초 기다렸다가 답합니다 |
| 60분 · 1GB 까지 | 뒤에서 받아 적습니다 — 칩에 「처리 중 n/m」. 끝나면 칩이 바뀌고 「«파일 이름» 녹취가 끝났습니다」 알림이 뜹니다(보낸 뒤 입력칸을 떠나도 뜹니다) |
| 그보다 길거나 큰 파일 | 받지 않습니다 — 잘라서 넣습니다 |
- 녹취 중이어도 보낼 수 있습니다 — 문서와 달리 보내기가 잠기지 않습니다. 다만 아직 받아 적지 못한 파일이면 AI 는 내용을 짐작하지 않고 «아직 받아 적는 중» 이라고 답합니다. 끝난 뒤 다시 물으십시오.
- 보낸 질문 위의 칩도 녹취가 끝날 때까지 「처리 중 n/m」 → 「녹취 준비됨」 으로 따라 바뀝니다.
- 받아 적기는 넣은 순서대로 한 번에 하나씩 합니다. 설치 전체에 받아 적기를 기다리는 파일이 많으면(4개) 새 영상 · 음성은 「지금은 녹취를 기다리는 파일이 많습니다. 잠시 뒤 다시 올려 주세요」 로 받지 않습니다.
- 문서 검색에 올린 영상과 달리 밤 시간대를 기다리지 않습니다 — 처리 시간대와 상관없이 바로 받아 적습니다.
- 화면에 입힌 자막이나 화면 글자는 읽지 않습니다. 말 없이 화면만 있는 영상이면 AI 가 답할 거리가 없습니다.
답에는 장면이 붙습니다. AI 가 답에 [3:12] 처럼 시각을 적으면, 그 시각을 품은 구간이 근거 카드가 됩니다 —
영상이면 그 장면의 작은 그림이 붙습니다. 카드를 누르면 오른쪽 패널에서 그 시각부터 틀고 구간 끝에서 멈춥니다.
- 답이 시각을 적지 않았거나 적은 시각이 녹취와 맞지 않으면, AI 가 녹취에서 실제로 읽은 구간마다 카드가 붙습니다(최대 6장). 낱말로 찾았으면 맞은 구간들, 구간을 골라 읽었으면 그 첫 구간입니다.
- 넣은 영상에는 절차 초안 만들기가 없습니다 — 문서 검색에 올린 영상에서만 됩니다 → 영상에서 작업 절차 만들기
받아 적기는 영상 · 음성과 같은 녹취 서비스를 씁니다. 설치 스위치 PI_MEDIA_ENABLED 가 꺼져 있으면 파일은 올라가지만
칩이 곧 「녹취하지 못했습니다: media transcription is disabled: ASR_URL is not set」 이 됩니다. 원본 재생은 되고, AI 는 내용을 읽지 못합니다.
보낸 뒤 — 미리 보기와 다음 질문
보낸 질문 위에 파일 칩이 남습니다. 칩을 누르면 오른쪽 패널에서 미리 봅니다.
| 파일 | 패널에 보이는 것 |
|---|---|
| 문서 PDF | 원본 — 브라우저의 PDF 보기. 머리줄에 새 탭에서 열기 · 원본 내려받기 |
| 그 밖(오피스 · 도면으로 읽은 PDF · DXF · 스캔본), 또는 PDF 보기가 없는 브라우저 | 서버가 읽은 글 — 쪽 · 시트 · 슬라이드마다. 위에 「서버가 읽은 글입니다 — 원본 모양과 다를 수 있습니다. 원본은 내려받아 보세요」, 아래에 앞 쪽 · 다음 쪽. 머리줄에 원본 내려받기 |
| 읽지 못한 파일 | 「이 파일을 읽지 못했습니다: 사유」 와 원본 내려받기 |
| 영상 · 음성 | 재생기와 칩의 상태 한 줄, 그 아래 녹취(구간마다 시각과 글) — 받아 적기가 끝나기 전에도 원본은 재생됩니다. 녹취가 아직 없으면 「이 첨부에는 읽은 글(판독본·녹취)이 없습니다」 |
- 넣은 파일은 그 대화에 남습니다. 다음 질문에서도 AI 가 같은 파일을 다시 읽을 수 있습니다 — 한 질문에만 쓰이는 사진과 다릅니다.
- 파일이 있는 대화에서는 AI 가 넣은 파일과 문서 검색 가운데 무엇을 볼지 스스로 고릅니다. 「이 도면의 치수」 처럼 물으면 넣은 파일을 봅니다.
- AI 가 파일을 읽으려면 채팅 도구 권한(
tool:builtin)이 있어야 합니다. 기본 역할에는 모두 들어 있습니다 → 권한
- 넣은 파일은 그 대화의 주인만 봅니다. 관리자도 남의 대화에 넣은 파일은 열 수 없습니다. 영상 · 음성의 재생과 장면 그림도 같습니다.
- 영상 · 음성을 넣으면 입력칸에 「원본 영상(얼굴·목소리)을 이 대화에 보관합니다 — 대화를 지우면 함께 지워집니다」 가 뜹니다. 누가 언제 원본을 받았거나 재생했는지는 서버 감사 로그에 남습니다(재생은 로그인 한 번에 파일마다 한 줄, 내용은 남기지 않습니다).
- 정해진 보관 기한은 없습니다 — 대화가 남아 있는 동안 남습니다. 대화를 지우면 넣은 파일(원본 · 읽은 글 · 녹취 · 장면 그림)도 함께 지워집니다. 받아 적는 중이었으면 받아 적기도 멈춥니다.
- 넣은 파일은 회사 문서 검색(RAG)에 들어가지 않습니다. 다른 사람의 답이나 다른 대화의 답에 쓰이지 않습니다. 모두가 찾아 쓰게 할 문서는 관리자가 문서 검색에 올립니다 → RAG — 대화에 넣은 파일과 다릅니다
말로 묻기 — 마이크 단추
말로 묻기를 한 번 눌러 시작하고, 다시 눌러(녹음 멈추기) 멈춥니다. 최대 60초이고 60초가 되면 스스로 멈춥니다. 녹음하는 동안 입력칸 자리에 「듣는 중」 · 소리 크기 막대 · 경과 시간이 보이고, ✕(취소)로 버립니다. 멈추면 「글로 옮기는 중」 을 거쳐 말한 내용이 입력칸에 들어갑니다 — 확인하고 고친 뒤 보냅니다. 음성은 저장하지 않습니다.
- 영상 · 음성을 켠 설치에서만 됩니다(설치 스위치
PI_MEDIA_ENABLED). 꺼져 있으면 말을 글로 옮기지 못하고 「지금 음성 입력을 쓸 수 없습니다」 가 뜹니다 — 글로 물으십시오. - 마이크는 HTTPS 주소에서만 열립니다.
- 뜨는 말과 할 일은 영상 · 음성으로 묻기 — 마이크 단추에 있습니다.
답 읽기
답의 모양 — 결론이 먼저 옵니다
답은 단답이 아니라 짜인 글로 옵니다.
- 첫 줄은 굵은 결론입니다. 그 뒤에 근거 1~3줄이 붙습니다.
- 두 건 이상을 나열하면 표(ID · 값 · 단위 · 상태 · 시각 등)로 냅니다.
- 내용이 두 갈래 이상이면 짧은 소제목으로 나눕니다.
- 답에 나오는 사이트 · 라인 · 설비 · 태그 등의 ID 는 「이름(설명)」 으로 바꿔 보여 줍니다
— 예)
ASSET_DJ_M_01_1→M_01_1_JUICE_PET_INJECTOR(주스 PET 주입기). 답이 흘러나오는 동안에는 ID 가 보이다가, 답이 끝나면 이름으로 바뀝니다. 플랫폼에서 이름을 못 찾은 ID 는 그대로 남습니다. - 답에 섞인 상태 코드 낱말(
HIGH·WARN·RUN·NO_GO같은 것)은 한국어 라벨로 바뀌어 보입니다. 설비 번호 속의 낱말과 코드 상자 안은 그대로 둡니다. - 영어로 물으면 영어로 답합니다.
- 공차 · 치수 · 사양 · 재질 · 열처리 · Ø 를 묻는 질문은 AI 가 늘 문서 · 도면 검색을 거쳐 답합니다. 도면 치수 표에 같은 치수의 상 · 하한이 있으면 답은 그 값으로 시작합니다. 상 · 하한이 ISO 계산식으로 낸 값이면 답 끝에 「※ «공식 추정» 상·하한은 ISO 끼워맞춤 계산식으로 낸 추정값입니다 — 합부 판정은 보유한 규격 문서(ISO 286 / KS B 0401)로 확인하세요.」 가 붙습니다 → 도면으로 묻기
본문 안에서는 이렇게 그려집니다.
| 본문에 든 것 | 화면 |
|---|---|
| 목록 · 소제목 | 마크다운 그대로 |
| 표 | 모서리가 둥근 상자 안에 그려집니다. 화면보다 넓은 표는 그 상자 안에서만 옆으로 밀립니다(쪽 전체가 밀리지 않습니다). 작업지시 번호 · 도면 번호 · 날짜 같은 아이디와 짧은 칸은 중간에서 줄이 바뀌지 않습니다 |
| 상태 표시 | AI 가 쓴 🔴 · ⚠️ · ✅ 같은 상태 이모지는 상태 점으로 바뀌어 보입니다 — 빨강(긴급 · 위험) · 주황(주의) · 초록(정상) · 회색. 화면의 색은 이 점에만 씁니다 |
| 수식 | 수식 모양으로 그려집니다. 못 그리면 글 그대로 남습니다 |
| 코드 | 색을 입히고 귀퉁이에 코드 복사 단추 — 누르면 「복사했습니다」 |
| 다이어그램(공정 흐름 · 상태 전이 등) | 답이 끝나면 그림으로 바뀝니다. 못 그리면 「다이어그램을 그리지 못했습니다」 |
| AI 가 쓴 차트 | 답이 끝나면 그림으로 바뀝니다. 못 그리면 「차트를 그리지 못했습니다」 |
[1] 같은 인용 번호 | 누를 수 있는 번호 단추 — 아래 근거 카드 |
답 맨 아래 답 복사는 답을 화면에 보이는 글 그대로 복사합니다 — 마크다운 기호(** · | · #)는 빠지고, 표는 칸이 탭으로 나뉘어 엑셀에 그대로 붙습니다.
그 옆 숫자는 답이 오는 데 걸린 시간(초)입니다.
다시 만들기는 끝난 마지막 답에만 있습니다. 같은 질문으로 답을 새로 만들어 앞 답과 바꿔 끼웁니다. 새 답이 저장된 뒤에야 앞 답이 지워지므로, 새 답이 실패하거나 중간에 멈추면 앞 답이 그대로 남습니다. 답이 흐르는 동안에는 이 단추가 보이지 않습니다.
답을 기다리는 동안 — 생각 중 문구와 도구 줄
보내고 답 글이 나오기 전까지 경과 시간과 함께 지금 단계가 보입니다. 단계는 지난 시간이 아니라 서버가 지금 실제로 하는 일을 따릅니다.
| 문구 | 언제 |
|---|---|
| 「생각하는 중」 | 보낸 직후 — AI 가 무엇을 조회할지 정하는 동안 |
| 「도구 실행 중」 | 도구가 도는 동안 |
| 「답을 정리하고 있습니다」 | 도구가 끝나고 답 글이 나오기 전 |
| 「오래 걸리고 있지만 정상적으로 진행 중입니다」 | 2분을 넘겼을 때 |
| 「응답이 늦어지고 있습니다」 | 서버에서 오는 신호가 5초 넘게 끊겼을 때 — 글자의 반짝임도 멈춥니다 |
🔴 도구를 쓰는 답은 도구가 끝난 뒤에 글이 흐릅니다. 도구를 부르기 전에 AI 가 쓴 글은 초안이라 화면에 내보내지 않습니다 — 그동안은 위 단계 문구만 보입니다. 도구 없이 끝나는 답은 글자가 흐르지 않고 한 번에 나타날 수 있습니다. 흐르던 글 뒤에 AI 가 도구를 또 부르면 그 글이 걷히고 단계 문구로 돌아갑니다.
AI 가 도구를 부르면 답 위에 도구 줄이 생깁니다. 도는 동안은 「도구 실행 중」 으로 펼쳐져 있고, 끝나면 「도구 N개 사용 · N초」 한 줄로 접힙니다. 누르면 부른 차례대로 도구의 이름(사람이 읽는 이름) · 걸린 시간 · 받은 건수(「N건」)가 보입니다. 점이 초록이면 성공, 빨강이면 실패입니다.
- 도구가 돌려준 원래 결과(기계가 읽는 글)는 이 줄에 보이지 않습니다. 관리자에게만 줄마다 「도구 결과 원문(관리자)」 가 접힌 채 붙고, 눌러야 펼쳐집니다.
도구 인자 중 이름에 key · token · secret · password · passwd · credential 이 든 항목은 값이 가려진 채 기록에 남습니다.
도구 호출 자체에는 원래 값이 쓰입니다.
오늘 작업 · 고객 PO 표 — 표는 서버가 붙입니다
디지털 스레드가 연결된 설치에서 「오늘 작업 뭐 있어?」 처럼 오늘 할 일을 물으면 AI 가 디지털 스레드의 오늘 작업 목록 도구를 부르고, 답 끝에 서버가 도구 결과로 만든 표가 붙습니다. AI 가 숫자를 옮겨 쓰지 않습니다 — 같은 내용을 AI 가 이미 표로 썼으면 그 표는 걷고 이 표를 남깁니다.
| 표 | 제목 · 열 | 줄 |
|---|---|---|
| 오늘 작업 | 「오늘 작업 날짜 · 공정 N」 — 작업지시 · 공정 · 준비도 · 막힌 이유 · 고객 PO 계획 여유 · 도면 | 최대 12줄, 고객 PO 여유일이 적은 순 |
| 영향받는 고객 PO | 고객 PO · 고객 · 납기 · 여유일 · 위험 | 최대 10줄 — 회복안 · 작업 준비도 답에 고객 주문이 실려 있을 때 |
- 「오늘 작업 뭐 있어?」 의 답에는 표가 하나만 붙습니다. AI 가 같은 내용을 따로 표로 썼으면 걷어 내고, 서버가 만든 이 표를 남깁니다.
- 막힌 이유 칸은 준비도의 첫 이유를 한국어 문장으로 옮긴 것입니다(예: 설계 변경으로 새 판 부품이 언제부터 오는지). 막힌 것이 없으면 「—」 입니다.
- 고객 PO 계획 여유 칸은 「고객 PO · N일 · 위험」 입니다. 작업지시 계획 끝 기준이라 부품 지연이 들어가지 않고, 프로젝트로만 이어진 줄은 「≤N일」(상한)입니다. 표 아래에 「여유는 작업지시 계획 끝 기준이다(부품 지연 미반영, ≤ 는 뒤 공정을 세지 않은 상한). 지연 반영 여유는 회복 계산에 물어보세요.」 가 붙습니다.
- 영향받는 고객 PO 표의 여유일에는 기준이 붙습니다 — 회복 계산이 낸 값은 「N (지연 반영)」, 계획 기준 값은 「N (계획 기준)」 (상한이면 「≤N (계획 기준)」). 같은 고객 PO 라도 두 값은 다를 수 있습니다.
- 못 읽은 칸은 «모름» 으로 남깁니다. 표 아래 꼬리는 하나입니다 — 표 상한을 넘으면 「외 N건」, 디지털 스레드가 결과를 잘라 보냈으면 「M줄 중 N줄만 보입니다 — 나머지는 작업지시 번호나 공정을 짚어 다시 물어보세요」(M 은 전체, N 은 표에 보인 줄).
- 도면 칸의 번호(예:
[3])는 답 아래 도면 근거 카드로 이어집니다 — 눌러서 그 도면을 엽니다. - 여유일 · 위험의 뜻은 디지털 스레드 — 고객 PO 와 오늘 작업에 있습니다.
차트 — 숫자는 서버가 도구 결과에서 옮깁니다
태그 이력 · 알람 구간 · 설비 KPI(OEE) · 엣지 상태 이력처럼 시간에 따라 변하는 값을 조회하면, 답 아래에 차트 카드가 붙습니다. 차트의 숫자는 AI 가 쓴 것이 아니라 서버가 도구 결과를 그대로 옮긴 것입니다.
- 카드 아래 출처 줄 — 「데이터: 도구 · 기간 · N건」. 기간은 물은 기간이 아니라 차트가 실제로 그린 자료의 첫 시각 ~ 끝 시각입니다(공장 시간대, 예: 「10월 12일 10:27 ~ 10:44」 — 같은 날이면 날짜는 한 번만). 기간을 모르는 조회는 「데이터: 도구」 입니다.
- 도구가 자료를 잘라 보내 물은 기간의 일부만 그렸으면 건수 뒤에 「N건(일부만 — 물은 기간 전체가 아닙니다)」 가 붙습니다. 이때 그림은 물은 기간 전체가 아닙니다 — 기간을 좁혀 다시 물으십시오.
- 알람 목록(우선도별 개수)은 «추이» · «차트» 를 물었을 때만 차트로 그립니다.
- 지난 대화를 다시 열어도 차트가 그대로 다시 그려집니다.
근거 카드와 인용 — 본문의 [번호] 가 카드로 이어집니다
답 아래 근거 묶음에 카드가 붙습니다. 종류가 무엇이든 카드 모양은 같습니다 — 번호 · 종류 아이콘(또는 작은 그림) · 제목 · 보조 한 줄. 한 번에 여섯 장까지 보이고, 더 있으면 「근거 더 보기 (+N)」 로 폅니다.
| 카드 종류 | 제목 · 보조 줄 | 누르면 |
|---|---|---|
| 문서 | 「설비 이름 · 문서 이름」(직접 올린 문서는 「공통 문서 · 문서 이름」) / 도면 문서에서 온 대목이면 그 구역(「부품표」 · 「표제란」 · 「주기」 · 「개정란」 · 「치수」), 쪽을 아는 PDF 면 「12쪽」 · 「12–13쪽」. 그 아래에 답이 기댄 인용 구절 두 줄 | 오른쪽 패널에 원문 → 아래 오른쪽 패널 |
| 도면 | 「도면 번호 rev 판」 / 쪽 · 구역 · 품번 · 「파일 N개」. 그 쪽의 작은 그림과 판 배지(최신판 · 옛 판 · 변경 진행 · 판 확인 불가) | 오른쪽 패널에 그 쪽의 미리보기. 카드 오른쪽 끝의 작은 단추는 뷰어로 열기(새 탭) → 도면으로 묻기 |
| 영상 · 음성 | 파일 이름 / 맞은 장면의 시각 · 그 구간의 글. 장면 그림이 보관돼 있으면 그 장면, 글자가 어디서 왔는지 표지(자막 · 화면 · 음성) | 오른쪽 패널에서 그 구간을 재생 → 영상 · 음성으로 묻기 |
| 시계열 | 설비 또는 태그 / 도구 · 기간 | (열리지 않습니다) |
| 디지털 스레드 | 대상 / 도구 | (열리지 않습니다) |
- 누르면 열리는 카드는 오른쪽 끝에 여는 표시가 있습니다. 문서 카드라도 어느 설비의 어느 문서인지가 실려 오지 않은 출처는 열리지 않습니다.
- 근거는 답이 실제로 쓴 도구 결과의 것만 붙습니다. AI 가 조회만 하고 답에 쓰지 않은 검색 결과는 근거에서 빠집니다(도구 줄에는 «무엇을 불렀는지» 가 그대로 남습니다). 답이 흐르는 동안 보이던 카드가 답이 끝나며 사라지는 것은 이 때문입니다. 같은 문서의 여러 대목은 카드 한 장으로 묶입니다.
- 본문의 번호를 누르면 그 카드로 스크롤해 잠깐 강조합니다. 접혀 있던 카드면 펼친 뒤에 갑니다.
- 본문이 일부 카드만 인용했으면 인용하지 않은 카드는 흐리게 보입니다. 번호는 그대로입니다.
- 서버가 도구 결과로 차트 · 표를 그려 카드가 남았는데 본문이 번호를 한 번도 달지 않았으면 묶음 아래에 「이 답은 근거를 인용하지 않았습니다」 가 붙습니다 — 어느 문장이 어느 근거인지 직접 확인하십시오.
- 본문이 카드에 없는 번호를 달았으면 「근거에 없는 번호를 인용했습니다」 가 붙습니다 — 그 번호가 붙은 문장은 근거를 확인할 수 없는 문장입니다.
- 번호는 코드가 매기고 인용 여부도 코드가 잽니다. AI 의 답을 고치지는 않습니다.
- 어떤 영상 구간이 카드가 되는지는 문서 검색이 정합니다. 문서 검색이 고른 영상 · 음성 카드는 본문이 번호를 달지 않아도 남습니다 → 영상 · 음성으로 묻기
오른쪽 패널 — 문서 · 도면 · 영상
문서 · 도면 · 영상 · 음성 카드를 누르면 대화를 둔 채 같은 오른쪽 패널에 열립니다. 다른 카드를 누르면 패널이 그것으로 바뀝니다.
| 카드 | 패널에 보이는 것 |
|---|---|
| 문서 | 원문 — PDF 는 브라우저의 PDF 보기로 패널 안에 그대로 열립니다. 머리줄 제목은 문서 이름이고, 그 아래에 어느 설비의 문서인지가 한 줄로 보입니다. 머리줄에 새 탭에서 열기 · 원본 내려받기 |
| 도면 | 그 쪽의 도면 그림 — 답이 가리킨 자리에 강조 네모, 판 배지와 사유 한 줄, 쪽 넘기기 · 확대. 머리줄에 뷰어로 열기(새 탭) |
| 영상 · 음성 | 재생기 — 카드에 적힌 맞은 장면의 시각부터 스스로 틀고, 구간 끝에서 멈춥니다. 아래에 「구간 0:42 ~ 1:15」 와 구간 다시 재생(구간 처음부터), 그 구간의 글 |
| 넣은 파일 | 보낸 질문 위의 파일 칩을 누르면 엽니다 — 문서 PDF 는 원본, 그 밖은 서버가 읽은 글 → 파일 넣기 — 보낸 뒤 |
| 영상 | 위에 더해 절차 초안 만들기 → 영상에서 작업 절차 만들기 |
문서 원문은 이렇게 열립니다.
- 문서 검색이 답이 기댄 대목과 쪽을 확인한 경우에는, 패널 위에 「인용 구절」 과 그 글(네 줄까지)이 보이고 PDF 가 그 쪽에서 열립니다. 확인하지 못한 출처는 구절 없이 1쪽에서 열립니다 — 그런 출처가 드물지 않습니다.
- 인용 구절은 원문의 문장이거나 표의 한 줄입니다. 표의 한 줄이면 그 줄의 칸을 « · » 로 이은 글 한 줄로 보입니다(표로 그리지 않고, 열 이름은 붙지 않습니다).
- 쪽을 모르는 문서는 1쪽에서 열립니다 — PDF 가 아닌 문서, 스캔본처럼 글을 읽을 수 없는 PDF, 쪽 정보가 아직 만들어지지 않은 문서가 그렇습니다. 어느 쪽인지 확실하지 않을 때도 쪽을 내지 않습니다. 이때 찾는 대목은 인용 구절을 보고 PDF 보기의 찾기로 찾습니다.
- 인용 구절은 원본을 화면에 그리지 못할 때(PDF 가 아닌 형식 · 통제 등급 · PDF 보기가 없는 브라우저)에도 보입니다.
- 새 탭에서 열기는 같은 원문을 브라우저 새 탭에 같은 쪽으로 엽니다(PDF 를 그릴 수 있을 때만 보입니다). 원본 내려받기는 원본 파일을 받습니다.
- 권한과 열람 등급은 열 때마다 서버가 다시 확인합니다.
| 패널에 뜨는 말 | 뜻 |
|---|---|
| 「이 형식은 여기서 볼 수 없습니다. 원본을 내려받아 여세요」 | PDF 가 아닌 문서(워드 · 엑셀 · 글 파일 등)입니다. 그 아래 원본 내려받기로 받습니다 |
| 「이 브라우저에는 PDF 보기가 없습니다. 원본을 내려받아 여세요」 | 폰 브라우저처럼 PDF 를 화면 안에 못 그리는 브라우저입니다 |
| 「통제 등급 문서입니다. 원본을 열거나 내려받을 수 없습니다」 | 통제 등급은 누구에게도 원본을 내주지 않습니다. 열기 · 내려받기 단추가 없습니다 |
| 「이 문서를 볼 권한이 없습니다」 | 내 범위 밖이거나 내 열람 등급보다 높은 문서입니다 → 권한 |
| 「원문을 찾을 수 없습니다. 보관된 원본이 없거나 문서가 지워졌습니다」 | 색인은 남았는데 원본이 없습니다. 관리자에게 알립니다 |
| 「원문을 가져오지 못했습니다. 잠시 뒤 다시 시도하세요」 | 문서 서버에 닿지 못했습니다 — 다시 시도 |
- 영상이 구간 끝에서 멈추면 「구간 끝에서 멈췄습니다」 가 뜹니다. 그 뒤 재생을 직접 누르면 구간 밖도 이어서 볼 수 있습니다.
- 패널 닫기 단추나 Esc 로 닫습니다. 왼쪽 가장자리를 끌거나 ← → 키로 폭을 바꿉니다(화면의 70%까지, 브라우저가 기억). 좁은 화면에서는 본문을 덮으며 열리고, 폰에서는 화면 전체를 덮습니다.
- PDF 안을 누른 뒤에는 Esc 가 듣지 않습니다 — 강조된 패널 닫기 단추로 닫습니다 → 코파일럿 화면 지도 — 오른쪽 패널
이어서 물어보기
마지막 답 끝에 이어서 물어보기가 셋까지 붙습니다. 이번 답에서 조회한 설비 · 태그 · 오더 · 설계 변경을 넣어 만든 질문입니다(예: 「(태그) 최근 24시간 추이를 보여줘」, 「(설계 변경) 가 다른 작업도 막고 있어?」). 누르면 그 질문을 바로 보냅니다. 마지막 답에만 붙고 저장되지 않습니다 — 지난 대화를 다시 열면 없습니다.
답이 끊기거나 멈췄을 때
| 보이는 말 | 뜻 |
|---|---|
| 「연결이 끊겼습니다. 서버가 답을 마저 만들고 있어, 끝나는 대로 여기에 불러옵니다」 | 브라우저와의 연결만 끊겼습니다. 화면이 5초마다 최대 5분 동안 답을 되찾아 옵니다 — 다시 묻지 않아도 됩니다 |
| 「인터넷 연결이 끊겼습니다. 연결되면 다시 보낼 수 있습니다」 | 기기가 오프라인입니다 |
| 「서버에 연결하지 못했습니다. 네트워크를 확인하고 다시 시도하세요」 | 서버에 닿지 못했습니다 |
| 「AI 답이 비어 있습니다. 다시 시도하세요.」 | 연결은 끝났는데 받은 글이 없습니다 |
| 「답을 받지 못했습니다」 | 서버가 이유 없이 오류를 냈거나 답 없이 연결이 끝났습니다 |
| 「답이 나오기 전에 멈췄습니다」 | 응답 멈추기를 글이 나오기 전에 눌렀습니다 |
| 「모델이 답을 끝까지 쓰지 못해, 조회한 결과를 그대로 정리해 드립니다.」 | 모델이 쓸 만한 답을 내지 못해, 서버가 이번에 조회한 도구 결과를 항목 · 표로 정리해 보여 줍니다. AI 가 쓴 문장이 아닙니다 |
| 「답을 만들지 못했습니다. 모델이 빈 응답을 돌려줬습니다 …」 | 모델이 빈 답을 냈습니다. 다시 묻고, 반복되면 질문을 조금 바꿉니다 |
| 「⚠ 같은 내용이 반복되어 답변 생성을 중단했습니다 …」 | 모델이 같은 말을 되풀이해 서버가 끊었습니다. 위 내용까지만 참고하고, 질문을 좁혀 다시 묻습니다 |
| 「⚠ 답을 쓰는 중 모델이 같은 말을 반복해, 문서 검색 결과를 그대로 보여 드립니다. 출처 카드에서 원문을 확인하세요.」 | 모델이 반복에 빠져 한 번 다시 써도 같았습니다. AI 의 답 대신 이번에 받은 문서 검색 결과를 근거 카드와 함께 보여 줍니다 |
| 「문서 검색을 지금 쓸 수 없습니다(MCP 게이트웨이 응답 없음). 매뉴얼·도면·절차 질문은 등록 문서에 근거해야 답할 수 있어 지금은 답하지 않습니다 — 잠시 뒤 다시 물어보세요.」 | 매뉴얼 · 도면 · 절차 · 정비를 물었는데 MCP 게이트웨이가 응답하지 않습니다. 문서 검색은 게이트웨이로만 하므로, 근거 없는 답을 짓지 않고 막습니다. 잠시 뒤 다시 묻고, 이어지면 관리자에게 알립니다 → 문제 해결 |
| 「문서 검색 도구가 꺼져 있거나 이 계정에 허용되지 않았습니다. 매뉴얼·도면·절차 질문은 등록 문서에 근거해야 답할 수 있어 답하지 않습니다 — 관리자에게 문의하세요.」 | 게이트웨이는 응답하는데 문서 검색(rag_search)이 꺼져 있거나 내 권한 밖입니다. 관리자가 켜야 합니다 → 문제 해결 |
| 답 앞머리의 「도구 게이트웨이에 닿지 않습니다 — 이번 답은 도구(문서 검색·설비 조회) 없이 만들었습니다.」 | 게이트웨이에 닿지 않아 그 답은 도구를 하나도 쓰지 않고 만들었습니다. 숫자 · 설비 상태를 믿지 말고 잠시 뒤 다시 묻습니다 |
| 「대화를 불러오지 못했습니다」 | 지난 대화를 여는 데 실패했습니다 — 다시 시도 |
| 「이 대화를 찾을 수 없습니다」 — 「지워졌거나 주소가 잘못됐습니다.」 | 없는 대화의 주소입니다 — 그 아래 새 대화로 새로 엽니다 |
| 「이 대화를 볼 권한이 없습니다」 | 다른 사람의 대화입니다 |
| 「이름을 바꾸지 못했습니다」 | 대화 이름 저장에 실패했습니다. 다시 바꿉니다 |
| 「이 화면을 열 권한이 없습니다」 | 내 역할에 묻기 권한이 없습니다. 관리자에게 요청합니다 → 권한 |
- 오류가 난 마지막 답에는 다시 시도 단추가 붙습니다.
- 답이 흐르는 중에 창을 닫거나 새로 고치려 하면 브라우저가 한 번 묻습니다. 다른 메뉴로 옮기거나 연결이 끊겨도 서버는 답을 끝까지 만들어 저장하므로, 그 대화를 다시 열면 답이 있습니다. 답 만들기를 그만두게 하려면 응답 멈추기를 누릅니다.
행동 카드 — 승인하면 다른 시스템에 «초안» 하나
AI 가 부른 도구의 결과가 다른 시스템에 넣을 초안을 제안하면, 답 밑에 할 수 있는 행동 카드가 붙습니다. 카드는 두 가지입니다.
| 카드 | 언제 붙나 | 초안이 가는 곳 | 승인할 수 있는 업무 | 승인 수 |
|---|---|---|---|---|
| 자재 독촉 요청 | 납기 · 마일스톤 지연이나 «부품이 N일 늦으면» 을 물어 회복 계산이 협력사 독촉을 제안할 때 | SCM | 공장장 · 관리자 | 두 사람 — 협력사로 나가 되돌리기 어렵습니다 |
| 정비 요청 | 「지금 문제 있는 설비 있어?」 처럼 AI 발견을 묻고, 답에 열린 고장 위험 발견이 있을 때 | MES | 반장 · 정비 · 공장장 · 관리자 | 한 사람 |
🔴 물어본 사람은 자기 카드를 승인하지 못합니다(2인 승인). 카드에는 승인 칸 대신 안내 한 줄이 붙고, 승인 권한이 있는 다른 사람이 제안의 승인 대기에서 사유를 적고 승인 · 거절합니다.
카드가 붙는 답의 본문은 요청 문안을 직접 쓰지 않고 「초안은 아래 카드에서 승인할 수 있습니다」 한 줄로 알립니다. «부품이 N일 늦으면» 질문은 문서 검색보다 회복 계산을 먼저 부르고, 카드의 영향에는 질문의 가정(부품 · 일수)과 지금 지연이 함께 적힙니다.

| 번호 | 자리 | 하는 일 |
|---|---|---|
| ① | 카드 머리 | 할 수 있는 행동 과 「위험도: 낮음 — 초안만」 |
| ② | 제목 | 무엇을 — 예: 「발주 PO-G2001 라인 10 독촉 요청 초안 — 필요일 2026-10-15」 |
| ③ | 단계 | 제안 → 승인 → 초안 생성. 지금 단계가 짙게 보입니다 |
| ④ | 본문 | 영향(가정 → 마일스톤 지연 → 고객 주문 줄 · 계약 납기 · 여유) · 대상 시스템 · 필요한 승인. 승인 뒤에는 누가 · 언제 · 어떤 사유로 승인했는지가 더해집니다 |
| ⑤ | 접힘 | 보낼 값 — 대상 시스템에 넘길 값 그대로 |
| ⑥ | 안내 줄 | 「작성자는 승인할 수 없습니다 — 관리자 · 공장장 권한이 있는 다른 사람이 제안의 승인 대기에서 승인합니다.」 |
| ⑦ | 카드 아래 | 「원천 시스템에 «초안» 만 만듭니다. 설비를 제어하지 않고 확정 기록을 쓰지 않습니다 — 확정은 그 시스템에서 사람이 합니다.」 |
승인할 수 있는 사람에게는 ⑥ 자리에 승인 사유(필수) 칸(500자까지)과 승인하고 실행 · 거절 단추가 있습니다. 승인하고 실행을 누르면 「이 행동을 승인할까요?」 가 무엇을 · 어디에 · 어떤 사유로 보내는지 한 번 더 보여 주고, 확인해야 나갑니다.
- 자재 독촉처럼 영향 큰 행동은 첫 승인 뒤 「첫 승인: «이름» — 다른 승인자의 둘째 승인을 기다립니다(영향 큰 행동).」 이 되고, 첫 승인자와
다른 사람이 둘째 승인을 해야 보냅니다(「둘째 승인은 첫 승인자와 다른 사람이 합니다.」). 어느 행동이 두 사람 승인인지는 설정
access.two_person.tools가 정합니다(기본 독촉 하나). - 마지막 승인이 끝나면 대상 시스템에 초안 하나가 생기고 그 번호가 카드에 남습니다 — 「초안 생성됨: 번호 (상태) — 그 시스템에서 확인하고 올리세요.」 확정은 그 시스템 안에서 사람이 합니다. 설비를 제어하지 않습니다.
- 누가 승인하나는 역할 묶음이 정합니다(위 표). 권한이 없는 사람에게는 단추 대신 「이 행동은 … 만 승인할 수 있습니다.」 가 보입니다. 업무는 관리자가 정합니다 → 사용자 권한과 업무 역할
- 같은 카드를 두 번 눌러도 초안은 하나입니다. 실패하면 「초안을 만들지 못했습니다:」 와 이유, 다시 보내기가 뜹니다. 거절도 「거절됨」 으로 남습니다.
- 한 대화에서 같은 대상의 카드는 한 장입니다 — 정비 요청은 같은 설비에 한 장. 앞 카드를 거절해야 다시 나옵니다.
- 정비 요청 카드의 설비 · 우선순위는 제안의 카드와 같은 규칙으로 정합니다. 같은 발견을 제안에서 이미 승인했으면 채팅에는 카드가 나오지 않습니다.
- 지난 대화를 다시 열면 카드가 그 답 밑에 지금 상태로 다시 붙습니다.
회복안 도구(thread_explain_recovery)와 발견 도구(insight_list_findings)는 기본으로 켜져 있습니다(관리자가
AI 관리 콘솔 › MCP 게이트웨이 › 도구 에서 끄면 꺼진 채로 남습니다 → MCP 게이트웨이). 그래도 카드가 없다면 —
- 디지털 스레드에 그 초안을 받는 커넥터가 켜져 있지 않습니다. 독촉은 SCM, 정비 요청은 MES 커넥터가 정비 요청 도구를 내야 합니다.
- 독촉: 답에 발주 라인 · 필요일이 비어 있습니다.
- 정비 요청: 고장 위험 발견이 열린 상태가 아니거나(확인됨 · 닫힘 · 검증 대기), 제안에서 이미 승인했거나, 이 대화에 같은 설비 카드가 이미 있습니다.
핵심 기능
자연어 기반 공장 데이터 조회
- 한글 자연어로 질문 → AI가 적합한 MCP 서버와 도구를 자동 선택
- "주입기 온도 알려줘", "대전 공장 구조 보여줘" 등 직관적인 대화
- 설비 이름(한글) → 시스템 ID 자동 변환
SSE 실시간 스트리밍 응답
- Server-Sent Events 기반 실시간 스트리밍 응답
- AI가 분석하는 과정을 도구 줄로 실시간 확인
- 차트 · 다이어그램이 답과 함께 렌더링
리치 시각화
| 시각화 유형 | 지원 차트 |
|---|---|
| 서버 차트 | 태그 이력 · 알람 구간 · OEE · 엣지 상태 이력 — 도구 결과의 숫자 그대로 |
| ECharts | 서버 차트가 없을 때 AI 가 그리는 추이 · 게이지 · 막대 등 |
| Mermaid | 공정 흐름도, 상태 전이, 원인 진단 트리 |
| Markdown | 센서 데이터 표, 설비 목록, 알람 이력 |
내장 에이전트 도구 라우팅
- 사용자 질문의 의도를 LLM 이 분석하여 최적 도구 자동 선택
- 복합 질문 시 에이전트 루프로 여러 도구를 순차 호출 (tool-calling)
- 도구: MCP 게이트웨이 뒤의 도구 전부 — 플랫폼 통합 MCP + 사내 MCP 서버(시계열 인사이트 · RAG · 문서 이해 · 비전 · 공학 계산, 연결돼 있으면 디지털 스레드).
코파일럿이 모델에 따로 주는 내장 채팅 도구는 없습니다 — 문서 검색
rag_search도 게이트웨이를 거쳐 RAG 를 부르고, 도구 검색과 상관없이 늘 실립니다 - 그래서 게이트웨이가 응답하지 않으면 그 턴은 도구 없이 갑니다. 매뉴얼 · 도면 · 절차 질문은 이때 답하지 않고 「문서 검색을 지금 쓸 수 없습니다 …」 로 막습니다(위 답이 끊기거나 멈췄을 때)
화면 구성
| 화면 | 설명 |
|---|---|
묻기 (/chat) | 첫 화면(인사 · 입력칸 · 오늘 할 일 · 질문 칩)과 대화 — 차트 · 근거 카드 · 행동 카드가 답 안에 그려집니다 |
| 최근 대화 (사이드바) | 대화 제목으로 검색하고 이어서 묻습니다 |
| 오른쪽 패널 | 근거 카드의 문서 원문 · 도면 · 영상 · 음성을 대화 옆에 엽니다 |
도면 뷰어 (/viewer/drawing, 새 탭) | 도면을 크게 보고, 쪽을 넘기고, 판을 비교하고, 영역을 골라 묻습니다 → 도면으로 묻기 |
관리 콘솔 (/admin) | 사용자 · 역할 묶음 · LLM 설정 · API 키 · 프롬프트(도구 켬/끔은 AI 관리 콘솔 › MCP 게이트웨이) → 코파일럿 관리 콘솔 |
화면에 찍히는 시각과 「오늘」의 경계는 브라우저의 시간대가 아니라 설치 때 정한 PP_TZ
를 따릅니다. 해외에서 접속해도 공장 시각으로 보입니다.
기술 스택
| 구성 | 기술 |
|---|---|
| 백엔드 | Java 21, Spring Boot 3.4, Spring Security 6.x |
| 프론트엔드 | React, ECharts, Mermaid |
| AI 백엔드 | 내장 에이전트(AgentOrchestrator + ToolRegistry) → LiteLLM(기본 aura-lite), SSE 스트리밍 |
| 데이터베이스 | PostgreSQL (메타·채팅 이력), Redis (캐시) |
| 파일 저장소 | RustFS (S3 호환 오브젝트 스토리지) |
| 배포 | WAR (서블릿 컨테이너) 또는 내장 Tomcat |
주요 설정
설정 파일: src/main/resources/application.properties (값은 환경변수로 덮어쓸 수 있습니다)
CH_ 에서 CO_ 로 바뀌었습니다코파일럿 컨테이너가 읽는 환경변수는 이제 전부 CO_ 로 시작합니다. 옛 이름 CH_* 는 읽지
않고, 경고도 내지 않습니다. 호스트 env 파일에 CH_ 로 적어 둔 값(예: 공개 API 키
CH_API_V1_KEY)이 있으면 업그레이드 뒤 조용히 무시되니, CO_ 이름으로 손으로 옮기십시오
→ 환경 설정
| 항목 | 설명 | 기본값 | 환경변수 |
|---|---|---|---|
openai.api.url | LLM(LiteLLM) 게이트웨이 URL | http://plantpulse-litellm:4000 | CO_OPENAI_API_URL |
openai.model | 채팅 LLM 모델 | aura-lite | CO_OPENAI_MODEL |
platform.api.url | 플랫폼 베이스 URL — 화면 · 배경 조회용(채팅의 통합 MCP 도구는 MCP 게이트웨이를 거칩니다) | (플랫폼 server-web 주소) | CO_PLATFORM_API_URL |
platform.api.token | 플랫폼 api_key | (설치 시 설정) | CO_PLATFORM_API_TOKEN |
mcp.gateway.url | MCP 게이트웨이 주소 — 채팅 · 자동화가 쓰는 모델 도구는 전부 여기로(자동화 전용 기록 조회 copilot_* 셋만 코파일럿 안). 비면 코파일럿이 뜨지 않습니다 | (설치 시 설정) | CO_MCP_GATEWAY_URL |
mcp.timeseries.api.url | 시계열 인사이트 API URL | http://127.0.0.1:8970 | CO_MCP_TIMESERIES_API_URL |
rag.api.url | RAG API URL | http://127.0.0.1:7115 | CO_RAG_API_URL |
rag.api.key · mcp.timeseries.api.key · mcp.parser.api.key · mcp.vision.api.key | 뒷단 넷의 인바운드 키 — 넷이 같은 값 | (설치 시 설정) | CO_INBOUND_API_KEY |
sse.stream.timeout | SSE 스트리밍 타임아웃 | -1 (무제한) | — |
app.request.limit | 동시 요청 제한 | 10 | — |
server.servlet.session.timeout | 세션 타임아웃 | 480m (8시간) | — |
openai.api.url · openai.model 은 DB 설정에 값이 없을 때만 환경변수로 채워지고, 그 뒤로는
DB 값이 쓰입니다. 모델을 바꾸려면 환경변수가 아니라 관리 콘솔의 LLM 설정
(/admin/llm)에서 바꿉니다 → 코파일럿 관리 콘솔
채팅 한 번이 여러 백엔드의 도구를 부릅니다 — 실시간 데이터는 플랫폼, AI 분석은 시계열 인사이트, 문서 검색은 RAG,
문서 파싱과 사진 판독은 문서 이해·비전. 채팅의 도구 호출은 모두 MCP 게이트웨이(mcp.gateway.url)를 거칩니다 —
위의 platform.api.url · mcp.timeseries.api.url · rag.api.url 은 화면(문서 원문 · 영상 재생 등)과 배경 조회가 씁니다.
답변이 「데이터를 가져올 수 없다」로 나오면 게이트웨이부터, 그다음 어느 뒷단이 끊겼는지 확인하세요 → MCP 도구 지도
mcp.api.* 는 없습니다플랫폼 주소·토큰의 설정 이름이 mcp.api.url · mcp.api.token 에서
platform.api.url · platform.api.token 으로 바뀌었습니다(옛 이름의 DB 설정 행은
기동 때 자동으로 옮겨집니다). 옛 이름으로 환경변수를 주면 아무 일도 일어나지 않습니다.
뒷단 넷의 키도 CO_RAG_API_KEY 가 아니라 CO_INBOUND_API_KEY 하나입니다 —
rag · 시계열 · 문서 이해 · 비전이 같은 값을 씁니다.
특징
즉시 도입 가능한 웹 인터페이스
- 별도 클라이언트 설치 불필요 — 웹 브라우저만으로 접속
- 폰 · 태블릿에서도 같은 화면을 그대로 씁니다
- Spring Security 기반 인증/인가
제조 현장 최적화 UX
- 한국어 네이티브 — 공장 용어, 설비명 자연스러운 이해
- 상태 표시 시각화 (정상/경고/위험)
- 복합 분석 결과를 구조화된 리포트로 자동 포맷팅
기업 환경 대응
- WAR 배포로 기존 WAS(Tomcat, WildFly 등)에 통합
- JDBC 기반 사용자 인증 — 기존 사용자 DB 연동
- 온프레미스 완전 지원 — 클라우드 의존 없음