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가 선택된 부분만 정확히 수정합니다.
스타일 가이드
문서 작성 스타일을 일관되게 유지하려면 스타일 가이드를 설정하세요.
설정 방법
- AI 사이드바의 가이드 버튼 클릭
- 원하는 스타일 지침 입력
- 적용 클릭
가이드 예시
- 경어체 사용
- 문장은 간결하게
- 전문 용어는 쉽게 풀어서 설명
- 불릿 포인트 활용
용어집
특정 용어의 일관된 사용을 위해 용어집을 설정할 수 있습니다.
형식
원문 → 번역/용어
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,
}),
);
}
}
},
});
스트리밍 상태
| 상태 | 설명 |
|---|---|
thinking | AI가 분석 중 |
start | 응답 시작 |
delta | 토큰 스트림 |
complete | 응답 완료 |
error | 오류 발생 |
변경사항 관리
Diff 표시
변경사항은 다음과 같이 표시됩니다:
- 녹색 배경: 추가된 내용
- 빨간색 배경 + 취소선: 삭제된 내용
- 노란색: 대체된 내용
수락/거부
각 AI 응답에는 수락(✓)과 거부(✗) 버튼이 있습니다:
- 수락: 변경사항을 문서에 적용하고 Diff 제거
- 거부: 변경사항을 취소하고 원본 유지
대화 히스토리
AI와의 대화는 문서별로 저장됩니다:
interface Message {
role: "user" | "assistant";
content: string;
timestamp: Date;
suggestions?: DocumentChanges;
citations?: Citation[];
}
히스토리 활용
- 이전 대화 맥락 유지
- 문서 재방문 시 대화 이어가기
프롬프트 제한
| 플랜 | 일일 제한 |
|---|---|
| 무료 | 10회 |
| 프리미엄 | 무제한 |
베스트 프랙티스
효과적인 프롬프트 작성
- 구체적으로: "문서 개선해줘" ❌ → "첫 문단을 더 격식있게 바꿔줘" ✅
- 맥락 제공: 필요시 배경 설명 추가
- 한 번에 하나씩: 복잡한 작업은 단계별로
피해야 할 것
- 매우 긴 문서 전체 수정 요청
- 모호한 지시
- 동시에 여러 작업 요청