콘텐츠로 이동

2.4. 채팅 인터페이스

채팅 인터페이스는 AI 모델과 상호작용하는 핵심 공간입니다. 직관적이면서도 강력하게 설계되어 리치 텍스트 렌더링, 코드 하이라이팅, 그리고 추론 시각화 같은 고급 기능을 지원합니다.

개요 (Overview)

인터페이스는 크게 세 부분으로 구성됩니다:

  1. 메시지 히스토리: 대화 내용이 표시되는 중앙 영역입니다.

  2. 입력 영역: 메시지를 입력하는 하단 영역입니다.

  3. 제어 바: 현재 모델을 확인하고 파라미터 설정에 접근할 수 있는 상단 영역입니다.

채팅 인터페이스 채팅 인터페이스

리치 텍스트 및 코드

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 모두)를 수정하여 대화의 방향을 바꿀 수 있습니다.

  1. 메시지 위에 마우스를 올리고 편집(연필) 아이콘을 클릭합니다.

  2. 내용을 수정하고 저장 및 전송을 클릭합니다.

  3. 이렇게 하면 대화 트리에 분기가 생성됩니다. 원본 메시지도 보존됩니다.

메시지를 편집하거나 답변을 재생성하면 해당 시점에 여러 버전의 대화가 생성됩니다.

  • 메시지 버블 아래에 있는 탐색 화살표(예: < 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. 생성된 이미지 아래의 변형 버튼을 클릭합니다.

  2. 팝업에서 변형 설정을 구성합니다:

    • 모델: 변형 생성에 사용할 모델을 선택합니다.
    • 개수: 생성할 변형의 수를 선택합니다 (모델에 따라 1-10개).
    • 크기: 출력 크기를 선택합니다 (정사각형, 세로, 가로).
  3. 변형 생성을 클릭하여 원본에서 영감을 받은 새 이미지를 생성합니다.

모델별 제약 사항

모델마다 다른 기능을 지원합니다:

  • DALL-E 2: 정사각형 크기만 지원하며 (256x256, 512x512, 1024x1024), PNG 형식이 필요합니다.
  • 기타 모델: 세로 (1024x1792) 및 가로 (1792x1024) 방향을 포함한 추가 크기를 지원할 수 있습니다.

메모리 컨텍스트

메모리 시스템은 AI가 대화 전반에 걸쳐 참조하는 지속적인 사실과 컨텍스트를 저장합니다. 메모리 뱅크, 메모리 뷰어, 자동 추출, 주입 설정 등 전체 가이드는 메모리를 참조하세요.

컨텍스트 메뉴

각 채팅 메시지에는 자주 사용하는 작업에 빠르게 접근할 수 있는 컨텍스트 메뉴가 있습니다. 메시지 위에 마우스를 올리면 메시지 헤더에 나타나는 점 세 개 메뉴 아이콘을 클릭하여 컨텍스트 메뉴를 열 수 있습니다.

사용 가능한 작업

  • 복사: 메시지 내용을 클립보드에 복사합니다.

  • 재생성 (어시스턴트 메시지만 해당): AI의 응답을 재생성합니다. 이 옵션은 백엔드 지원이 구현될 때까지 비활성화되어 있습니다.

  • 메모리에 저장 (사용자 및 어시스턴트 메시지): 향후 컨텍스트 주입을 위해 메시지 내용을 메모리 네임스페이스에 저장합니다. 메모리가 활성화되어 있을 때만 사용할 수 있습니다.

  • 삭제 (사용자 메시지만 해당): 메시지를 삭제합니다. 이 옵션은 백엔드 지원이 구현될 때까지 비활성화되어 있습니다.

키보드 단축키

키보드를 사용하여 컨텍스트 메뉴를 열 수도 있습니다:

  1. 메시지에 포커스합니다 (클릭하거나 Tab을 사용하여 탐색).

  2. Shift+F10을 눌러 컨텍스트 메뉴를 엽니다.

  3. UpDown으로 메뉴 항목을 탐색하고, Enter로 선택하고, Esc로 닫습니다.

타임스탬프 표시

각 메시지에는 전송 또는 수신 시간을 나타내는 타임스탬프가 표시됩니다. 애플리케이션 전체에서 타임스탬프가 표시되는 방식을 사용자화할 수 있습니다.

타임스탬프 형식

설정 > 일반에서 타임스탬프 표시 방식을 설정할 수 있습니다:

  • 스마트 (기본값): 메시지의 경과 시간에 따라 상대적/절대적 형식을 자동으로 전환합니다. 최근 메시지는 "2분 전"처럼 표시되고, 오래된 메시지는 실제 날짜와 시간으로 표시됩니다.

  • 상대적: 항상 현재 시간 기준의 상대적 시간으로 표시합니다 (예: "5분 전", "2시간 전", "3일 전").

  • 절대적: 항상 실제 시간과 날짜를 표시합니다 (예: "오전 10:15", "어제 오후 2:30", "2025년 1월 15일 오후 3:00").

스마트 모드 임계값

스마트 모드를 사용할 때, 상대적 형식에서 절대적 형식으로 전환되는 임계값(시간 단위)을 설정할 수 있습니다. 기본값은 24시간이며, 이는 24시간이 지난 메시지는 절대적 타임스탬프로 표시된다는 의미입니다.

시간대 표시

시간대 표시를 활성화하면 절대적 타임스탬프에 시간대 정보가 포함됩니다 (예: "오전 10:15 KST").