2.4. 채팅 인터페이스¶
채팅 인터페이스는 AI 모델과 상호작용하는 핵심 공간입니다. 직관적이면서도 강력하게 설계되어 리치 텍스트 렌더링, 코드 하이라이팅, 그리고 추론 시각화 같은 고급 기능을 지원합니다.
개요 (Overview)¶
인터페이스는 크게 세 부분으로 구성됩니다:
-
메시지 히스토리: 대화 내용이 표시되는 중앙 영역입니다.
-
입력 영역: 메시지를 입력하는 하단 영역입니다.
-
제어 바: 현재 모델을 확인하고 파라미터 설정에 접근할 수 있는 상단 영역입니다.

리치 텍스트 및 코드¶
Backend.AI GO는 완벽한 마크다운(Markdown) 렌더링을 지원합니다.
-
코드 블록: 프로그래밍 언어를 자동으로 감지하여 문법 강조(Syntax Highlighting)를 적용합니다. 클릭 한 번으로 코드를 복사할 수 있습니다.
-
수식: 수학 공식을 위한 LaTeX 렌더링을 지원합니다 (예: \(E = mc^2\)).
-
표: 데이터를 깔끔하고 읽기 쉬운 표 형태로 렌더링합니다.
아티팩트 뷰어 (Artifact Viewer)¶
아티팩트 뷰어는 AI가 생성한 코드 블록, SVG 그래픽, HTML 페이지, 마크다운 문서를 전용 사이드 패널 또는 별도 창에서 인터랙티브하게 렌더링하고 편집할 수 있게 해줍니다.
아티팩트 열기¶
AI가 렌더링 가능한 콘텐츠나 긴 코드 블록을 생성하면 코드 블록 상단에 아티팩트로 열기 버튼이 나타납니다. 이 버튼을 클릭하면 아티팩트 뷰어 패널이 열립니다.
Ctrl+Shift+A (Windows/Linux) 또는 Cmd+Shift+A (macOS) 단축키로 언제든지 패널을 토글할 수 있습니다.
패널 기능¶
-
코드 탭: 문법 강조, 줄 번호, 줄 바꿈 토글과 함께 원본 소스를 표시합니다.
-
미리보기 탭: 콘텐츠를 시각적으로 렌더링합니다. SVG 그래픽은 확대/축소 컨트롤과 함께, HTML은 샌드박스 iframe에서 뷰포트 프리셋과 함께, 마크다운은 GFM 및 수식 지원과 함께 렌더링됩니다.
-
복사: 아티팩트 내용을 클립보드에 복사합니다.
-
다운로드: 적절한 확장자를 가진 파일로 내용을 저장합니다.
-
팝아웃: 아티팩트를 별도의 네이티브 창에서 열어 나란히 볼 수 있습니다.
-
히스토리 탐색: 이전/다음 화살표를 사용하여 대화에서 이전에 생성된 아티팩트를 탐색합니다.
렌더링 가능한 타입¶
다음 코드 펜스 언어는 미리보기 모드에서 직접 열립니다:
| 언어 | 렌더링 방식 |
|---|---|
svg | 확대/축소 및 배경 컨트롤이 있는 SVG 그래픽 |
html, htm | 샌드박스 iframe의 HTML 페이지 |
markdown, md | GFM, 수식, CJK 지원 마크다운 |
mermaid | SVG 내보내기 및 테마 지원이 포함된 인터랙티브 Mermaid 다이어그램 |
csv | 정렬 가능한 컬럼, 검색, CSV/TSV 내보내기가 있는 인터랙티브 테이블 |
latex, tex | KaTeX로 렌더링되는 LaTeX 수식 (번호가 매겨진 수식 블록 포함) |
css | CSS 소스 (코드 보기) |
json, yaml, xml | 형식화된 소스 (코드 보기) |
다른 언어의 코드 블록은 코드 보기로 열립니다. 10줄 이상의 긴 코드 블록에도 편리한 보기를 위한 아티팩트로 열기 버튼이 표시됩니다.
아티팩트를 크리에이션으로 저장¶
아티팩트 뷰어 툴바의 크리에이션으로 저장 버튼을 클릭하면 아티팩트를 나중에 참조할 수 있도록 저장합니다. 저장된 아티팩트는 메인 네비게이션의 크리에이션 섹션에 표시되며, 탐색, 미리보기, 관리가 가능합니다.
보안¶
-
HTML 아티팩트는 샌드박스(
allow-scripts만 허용)로 격리되어 메인 애플리케이션에서 분리됩니다. -
SVG 및 Mermaid 아티팩트는 렌더링 전에
on*이벤트 핸들러 속성과 위험한 요소(<script>,<foreignObject>)가 제거됩니다. -
모든 아티팩트 콘텐츠는 크로스 오리진 접근을 방지하기 위해 격리된 오리진에서 실행됩니다.
고급 채팅 기능¶
메시지 편집 및 분기 (Forking)¶
과거의 모든 메시지(사용자 및 AI 모두)를 수정하여 대화의 방향을 바꿀 수 있습니다.
-
메시지 위에 마우스를 올리고 편집(연필) 아이콘을 클릭합니다.
-
내용을 수정하고 저장 및 전송을 클릭합니다.
-
이렇게 하면 대화 트리에 분기가 생성됩니다. 원본 메시지도 보존됩니다.
분기 탐색 (Navigating Branches)¶
메시지를 편집하거나 답변을 재생성하면 해당 시점에 여러 버전의 대화가 생성됩니다.
-
메시지 버블 아래에 있는 탐색 화살표(예:
< 2 / 3 >)를 확인하세요. -
화살표를 클릭하여 대화 히스토리의 다른 분기 사이를 이동할 수 있습니다. 이를 통해 이전 내용을 잃지 않고 다양한 "만약에(what if)" 시나리오를 탐색할 수 있습니다.
답변 재생성 (Regenerate)¶
AI의 답변이 마음에 들지 않는다면, AI 메시지 아래의 재생성(새로고침) 아이콘을 클릭하세요. 새로운 답변이 생성되며, 이 또한 새로운 분기로 저장됩니다.
사고 블록 (Thinking Blocks)¶
DeepSeek-R1이나 Qwen3-Thinking 같은 고성능 "추론 모델(Reasoning Models)"을 사용할 때, 모델은 최종 답변을 내놓기 전에 내부적인 사고 과정을 먼저 출력합니다.
-
접기/펼치기: 기본적으로 사고 과정은 채팅 화면을 깔끔하게 유지하기 위해 접혀 있습니다.
-
과정 확인: "Thinking" 헤더(뇌 아이콘)를 클릭하면 모델이 어떻게 결론에 도달했는지 읽어볼 수 있습니다. 논리적 오류를 찾거나 복잡한 유도 과정을 이해하는 데 매우 유용합니다.
-
스트리밍: 모델이 생각하는 내용을 실시간으로 타이핑되는 것처럼 볼 수 있습니다.
추론 노력 제어 (Reasoning Effort Control)¶
채팅 입력 영역의 추론 노력 컨트롤을 사용하여 추론 모델이 얼마나 깊이 "사고"할지 제어할 수 있습니다.
-
없음: 확장 사고를 비활성화합니다. 모델이 내부 추론 과정을 표시하지 않고 바로 응답합니다.
-
낮음 / 중간 / 높음 / 매우 높음: 추론의 깊이를 점진적으로 증가시킵니다. 값이 높을수록 모델이 더 오래, 더 철저하게 사고하므로 복잡한 문제에 대한 답변 품질이 향상될 수 있습니다.
-
기본 설정: 설정 > 추론 > 기본 추론 노력에서 기본 추론 노력 수준을 구성할 수 있습니다. "마지막 사용 값"을 선택하면 가장 최근에 사용한 설정을 자동으로 기억하고 적용합니다.
도구 사용 및 첨부 파일¶
도구 호출 시각화 (Tool Calling)¶
Cowork를 사용할 때, AI는 도구(예: 웹 검색)를 사용할 수 있습니다.

-
투명한 동작: 도구가 호출되면 어떤 도구가 어떤 입력값으로 호출되었는지 보여주는 특별한 블록이 나타납니다.
-
결과 확인: 도구 실행이 완료되면 AI에게 전달된 결과값(예: 검색 결과나 파일 내용)을 확인할 수 있습니다.
파일 첨부¶
다음 방법으로 멀티모달 모델(Llama 3.2 Vision, GPT-4o 등)에 이미지를 첨부하여 분석할 수 있습니다:
-
드래그 앤 드롭: 이미지 파일을 채팅 입력 영역에 직접 드래그합니다.
-
클립보드 붙여넣기: 이미지(예: 스크린샷)를 복사한 후 Cmd+V (macOS) 또는 Ctrl+V (Windows/Linux)로 붙여넣습니다. 이미지가 첨부 파일 썸네일로 표시됩니다.
-
첨부 버튼: 클립 아이콘을 클릭하여 파일을 탐색하고 선택합니다.
일반 텍스트 붙여넣기 동작은 그대로 유지됩니다. 클립보드의 이미지 콘텐츠만 첨부 파일로 처리됩니다.
이미지 생성¶
Backend.AI GO는 이미지 생성 모델(DALL-E 또는 API를 통한 Stable Diffusion 등)에 연결되어 있을 때 채팅 인터페이스에서 직접 AI 기반 이미지 생성을 지원합니다.
이미지 생성하기¶
이미지 생성 모델이 사용 가능한 경우, 메시지에 원하는 이미지를 설명하여 이미지를 요청할 수 있습니다. 생성된 이미지는 채팅에 인라인으로 표시되며 다음 옵션을 제공합니다:
-
전체 크기 보기: 이미지를 클릭하여 전체 해상도로 볼 수 있습니다.
-
저장: 내장된 메타데이터(프롬프트, 모델, 설정)와 함께 이미지를 로컬 시스템에 다운로드합니다.
-
세부 정보 보기: 프롬프트, 사용된 모델, 크기, 타임스탬프 등 생성 파라미터를 확인할 수 있습니다.
이미지 변형¶
생성된 이미지의 변형을 만들 수 있습니다:
-
생성된 이미지 아래의 변형 버튼을 클릭합니다.
-
팝업에서 변형 설정을 구성합니다:
- 모델: 변형 생성에 사용할 모델을 선택합니다.
- 개수: 생성할 변형의 수를 선택합니다 (모델에 따라 1-10개).
- 크기: 출력 크기를 선택합니다 (정사각형, 세로, 가로).
-
변형 생성을 클릭하여 원본에서 영감을 받은 새 이미지를 생성합니다.
모델별 제약 사항
모델마다 다른 기능을 지원합니다:
- DALL-E 2: 정사각형 크기만 지원하며 (256x256, 512x512, 1024x1024), PNG 형식이 필요합니다.
- 기타 모델: 세로 (1024x1792) 및 가로 (1792x1024) 방향을 포함한 추가 크기를 지원할 수 있습니다.
메모리 컨텍스트¶
메모리 시스템은 AI가 대화 전반에 걸쳐 참조하는 지속적인 사실과 컨텍스트를 저장합니다. 메모리 뱅크, 메모리 뷰어, 자동 추출, 주입 설정 등 전체 가이드는 메모리를 참조하세요.
컨텍스트 메뉴¶
각 채팅 메시지에는 자주 사용하는 작업에 빠르게 접근할 수 있는 컨텍스트 메뉴가 있습니다. 메시지 위에 마우스를 올리면 메시지 헤더에 나타나는 점 세 개 메뉴 아이콘을 클릭하여 컨텍스트 메뉴를 열 수 있습니다.
사용 가능한 작업¶
-
복사: 메시지 내용을 클립보드에 복사합니다.
-
재생성 (어시스턴트 메시지만 해당): AI의 응답을 재생성합니다. 이 옵션은 백엔드 지원이 구현될 때까지 비활성화되어 있습니다.
-
메모리에 저장 (사용자 및 어시스턴트 메시지): 향후 컨텍스트 주입을 위해 메시지 내용을 메모리 네임스페이스에 저장합니다. 메모리가 활성화되어 있을 때만 사용할 수 있습니다.
-
삭제 (사용자 메시지만 해당): 메시지를 삭제합니다. 이 옵션은 백엔드 지원이 구현될 때까지 비활성화되어 있습니다.
키보드 단축키¶
키보드를 사용하여 컨텍스트 메뉴를 열 수도 있습니다:
-
메시지에 포커스합니다 (클릭하거나 Tab을 사용하여 탐색).
-
Shift+F10을 눌러 컨텍스트 메뉴를 엽니다.
-
Up 및 Down으로 메뉴 항목을 탐색하고, Enter로 선택하고, Esc로 닫습니다.
타임스탬프 표시¶
각 메시지에는 전송 또는 수신 시간을 나타내는 타임스탬프가 표시됩니다. 애플리케이션 전체에서 타임스탬프가 표시되는 방식을 사용자화할 수 있습니다.
타임스탬프 형식¶
설정 > 일반에서 타임스탬프 표시 방식을 설정할 수 있습니다:
-
스마트 (기본값): 메시지의 경과 시간에 따라 상대적/절대적 형식을 자동으로 전환합니다. 최근 메시지는 "2분 전"처럼 표시되고, 오래된 메시지는 실제 날짜와 시간으로 표시됩니다.
-
상대적: 항상 현재 시간 기준의 상대적 시간으로 표시합니다 (예: "5분 전", "2시간 전", "3일 전").
-
절대적: 항상 실제 시간과 날짜를 표시합니다 (예: "오전 10:15", "어제 오후 2:30", "2025년 1월 15일 오후 3:00").
스마트 모드 임계값¶
스마트 모드를 사용할 때, 상대적 형식에서 절대적 형식으로 전환되는 임계값(시간 단위)을 설정할 수 있습니다. 기본값은 24시간이며, 이는 24시간이 지난 메시지는 절대적 타임스탬프로 표시된다는 의미입니다.
시간대 표시¶
시간대 표시를 활성화하면 절대적 타임스탬프에 시간대 정보가 포함됩니다 (예: "오전 10:15 KST").