본문으로 건너뛰기

AI 채팅 기능

딸깍문서의 핵심 기능인 AI 채팅 기반 문서 편집 시스템을 상세히 설명합니다.

개요

AI 사이드바는 문서 편집기 오른쪽에 위치하며, 사용자와 AI 간의 대화를 통해 문서를 수정합니다.

flowchart LR
A[사용자 입력] --> B[컨텍스트 수집]
B --> C[AI 요청]
C --> D[스트리밍 응답]
D --> E[Diff 파싱]
E --> F[변경사항 표시]
F --> G{사용자 결정}
G -->|수락| H[문서에 적용]
G -->|거부| I[변경 취소]

AI 프로바이더 선택

딸깍문서는 여러 AI 모델을 지원합니다:

Anthropic Claude (기본)

const provider = "anthropic";
const model = "claude-sonnet-4-20250514";

OpenAI GPT (선택)

const provider = "openai";
const model = "gpt-4o";

프롬프트 구조

시스템 프롬프트

AI는 다음과 같은 규칙을 따릅니다:

요청 유형AI 동작
수정/변경 요청XML diff 태그 생성
추가 요청<addition> 태그 사용
삭제 요청<deletion> 태그 사용
질문/설명마크다운 응답만

응답 형식

<deletion>기존 텍스트</deletion>
<addition>새로운 텍스트</addition>

<<<USER_MESSAGE>>>
변경사항에 대한 설명

<<<CITATIONS>>>
[출처 정보 JSON]
<<<CITATIONS>>>

컨텍스트 전달

문서 전체 컨텍스트

기본적으로 전체 문서 내용이 AI에게 전달됩니다.

선택 영역 컨텍스트

텍스트를 선택하면 해당 부분만 수정 대상이 됩니다:

interface SelectedContext {
text: string;
html: string;
range?: { start: number; end: number };
}
선택 영역 활용

특정 부분만 수정하고 싶다면 해당 텍스트를 선택한 후 요청하세요. AI가 선택된 부분만 정확히 수정합니다.

스타일 가이드

문서 작성 스타일을 일관되게 유지하려면 스타일 가이드를 설정하세요.

설정 방법

  1. AI 사이드바의 가이드 버튼 클릭
  2. 원하는 스타일 지침 입력
  3. 적용 클릭

가이드 예시

- 경어체 사용
- 문장은 간결하게
- 전문 용어는 쉽게 풀어서 설명
- 불릿 포인트 활용

용어집

특정 용어의 일관된 사용을 위해 용어집을 설정할 수 있습니다.

형식

원문 → 번역/용어
AI → 인공지능
API → 응용 프로그램 인터페이스

활용

AI가 문서 작성 시 용어집의 정의를 우선적으로 사용합니다.

참고자료 활용

파일 첨부

  • 📎 버튼으로 PDF, DOCX 첨부
  • 첨부된 파일 내용을 AI가 참조

@ 멘션

등록된 참고자료를 @파일명으로 직접 참조:

@계약서.pdf 의 3조 내용을 요약해줘

출처 추적

AI가 참고자료를 인용하면 [1], [2] 형태로 표시되며, 클릭 시 원문을 확인할 수 있습니다.

스트리밍 응답

AI 응답은 실시간으로 스트리밍됩니다:

const stream = new ReadableStream({
async start(controller) {
for await (const event of streamResponse) {
if (event.type === "content_block_delta") {
controller.enqueue(
JSON.stringify({
type: "delta",
content: event.delta.text,
}),
);
}
}
},
});

스트리밍 상태

상태설명
thinkingAI가 분석 중
start응답 시작
delta토큰 스트림
complete응답 완료
error오류 발생

변경사항 관리

Diff 표시

변경사항은 다음과 같이 표시됩니다:

  • 녹색 배경: 추가된 내용
  • 빨간색 배경 + 취소선: 삭제된 내용
  • 노란색: 대체된 내용

수락/거부

각 AI 응답에는 수락(✓)과 거부(✗) 버튼이 있습니다:

  • 수락: 변경사항을 문서에 적용하고 Diff 제거
  • 거부: 변경사항을 취소하고 원본 유지

대화 히스토리

AI와의 대화는 문서별로 저장됩니다:

interface Message {
role: "user" | "assistant";
content: string;
timestamp: Date;
suggestions?: DocumentChanges;
citations?: Citation[];
}

히스토리 활용

  • 이전 대화 맥락 유지
  • 문서 재방문 시 대화 이어가기

프롬프트 제한

플랜일일 제한
무료10회
프리미엄무제한

베스트 프랙티스

효과적인 프롬프트 작성

  1. 구체적으로: "문서 개선해줘" ❌ → "첫 문단을 더 격식있게 바꿔줘" ✅
  2. 맥락 제공: 필요시 배경 설명 추가
  3. 한 번에 하나씩: 복잡한 작업은 단계별로

피해야 할 것

  • 매우 긴 문서 전체 수정 요청
  • 모호한 지시
  • 동시에 여러 작업 요청

다음 단계