Skip to content

Commit ad7f8f2

Browse files
committed
docs: 2026-03-28-ai update
1 parent 57b4da6 commit ad7f8f2

3 files changed

Lines changed: 9 additions & 15 deletions

File tree

_posts/ai/2026-03-28-ai.md

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ categories: [Blogging,ai]
5050

5151
## **과정**
5252

53-
처음에는 n8n을 활용해 챗봇을 만들려 했습니다. 사내에서 n8n을 통한 Wiki 페이지 생성과 자동화 효율성이 입증되면서, 팀 전체가 n8n 도입에 열광했기 때문입니다. 자연스럽게 첫 번째 프로토타입도 n8n으로 시작되었습니다.
53+
처음에는 n8n을 활용해 챗봇을 만들려 했습니다. n8n을 통한 Wiki 페이지 생성과 자동화 효율성이 사내에서 입소문을 타면서, 팀 전체가 n8n에 큰 관심을 갖게 되었기 때문입니다. 이러한 분위기 속에서 첫 번째 프로토타입 개발도 자연스럽게 n8n으로 시작되었습니다.
5454

5555
하지만 n8n을 셀프 호스팅으로 운영하다 보니, 비개발자 팀원들이 이를 활용하려면 각자 환경을 구축하거나 복잡한 설정 과정을 거쳐야 하는 번거로움이 있었습니다. 도구가 오히려 업무의 짐이 되는 상황이었죠.
5656

@@ -62,7 +62,7 @@ categories: [Blogging,ai]
6262

6363
첫 번째로 만든 건 순수 n8n 워크플로우 기반의 채팅봇입니다. n8n 내장 Chat Trigger UI로 대화하면 Gemini AI가 자연어를 파싱하고, Confluence REST API로 Wiki 페이지를 조회·수정합니다.
6464

65-
**워크플로우 구조**
65+
**n8n 워크플로우 구조**
6666

6767
![스크린샷 2026-03-28 오후 8.22.23.png](/assets/img/ai/2026-03-28-ai-02.png)
6868

@@ -128,7 +128,7 @@ n8n 챗봇은 잘 동작했지만 **팀원들이 n8n을 설치해야 쓸 수
128128

129129
로그인 시 `btoa(id:pw)`로 만든 `authHeader`만 세션에 보관하고, n8n에 전달할 때도 이 값을 그대로 사용합니다. n8n은 받은 `authHeader`로 Confluence API를 직접 호출하기 때문에 n8n 서버에 계정 정보를 따로 등록할 필요가 없습니다.
130130

131-
**n8n이 하는 일 (Webhook 수신 후):**
131+
**n8n 워크플로우 구조 (Webhook 수신 후):**
132132

133133
![스크린샷 2026-03-28 오후 8.53.35.png](/assets/img/ai/2026-03-28-ai-04.png)
134134

@@ -162,21 +162,21 @@ n8n 챗봇은 잘 동작했지만 **팀원들이 n8n을 설치해야 쓸 수
162162
| 만석 감지 | 미처리 | 해당 요일 전체 슬롯 순회 후 안내 |
163163
| n8n 설치 | 각자 설치 필요 | 팀 공용 서버 1대만 있으면 됨 |
164164

165-
설정 화면에서 n8n 서버 URL과 기본 회의명을 지정할 수 있어, 팀 서버로 전환할 때는 URL만 바꾸면 됩니다.
165+
설정 화면에서 n8n 서버 URL과 기본 회의명을 지정할 수 있어, 팀 서버로 전환할 때는 URL만 바꾸면 된다고 생각했습니다.
166166

167167
![스크린샷 2026-03-28 오후 8.47.01.png](/assets/img/ai/2026-03-28-ai-03.png)
168168

169169
### **2.2 n8n 없이 Wiki API만으로 동작하는 최종 버전**
170170

171-
Webhook 연동 버전도 잘 동작했지만 팀 서버가 없는 환경에서는 n8n을 띄워야 한다는 의존성이 남아 있었습니다. 그래서 n8n 로직 전체를 Chrome Extension JavaScript로 이식한 **완전 독립 버전**을 만들었습니다.
171+
Webhook 연동 버전도 잘 동작했지만 팀 서버를 만들어야 하는 비용과 팀 서버가 없는 환경에서는 n8n을 띄워야 한다는 의존성이 남아 있었습니다. 그래서 n8n 로직 전체를 Chrome Extension JavaScript로 이식한 **완전 독립 버전**을 만들었습니다.
172172

173173
**변경 포인트:**
174174

175175
- **`parser.js`** — Gemini AI 대신 규칙 기반 자연어 파싱으로 교체 요일·시간·회의실·회의명·소요시간을 정규식으로 추출하며, AI 호출 없이도 대부분의 입력을 처리
176176
- **`booking.js`** — n8n HTTP/Code 노드를 함수로 이식 `fetchPage()` → `checkAndBook()` → Confluence PUT 흐름을 직접 구현
177177
- **`popup.js`** — UI만 담당, n8n fetch 로직 제거
178178

179-
**아키텍처:**
179+
**동작 흐름:**
180180

181181
```
182182
사용자 입력
@@ -195,15 +195,9 @@ booking.js: checkAndBook(...)
195195
popup.js: appendMessage('bot', message)
196196
```
197197

198-
**설치:**
199-
200-
1. `room-booking-extension-v2` 폴더를 받는다
201-
2. Chrome 주소창에 `chrome://extensions/` 입력
202-
3. **개발자 모드** 켜기 → **압축해제된 확장 프로그램을 로드합니다** 클릭
203-
4. 폴더 선택 → 완료
204-
205198
## **마치며**
206199

207-
처음에는 n8n의 강력한 워크플로우 기능으로 빠르게 프로토타입을 만들었고, 그 과정에서 Confluence HTML 파싱과 rowspan 처리라는 까다로운 문제를 풀었습니다. 그 로직을 검증한 뒤 Chrome Extension으로 이식하면서 팀원 누구나 설치 없이 사용할 수 있는 형태로 발전시켰습니다.
200+
![문서공유메시지](/assets/img/ai/2026-03-28-ai-05.png)
201+
처음에는 n8n의 워크플로우 기능으로 빠르게 프로토타입을 만들었고, 그 과정에서 Confluence HTML 파싱과 rowspan 처리라는 까다로운 문제를 풀었습니다. 그 로직을 검증한 뒤 Chrome Extension으로 이식하면서 팀원 누구나 설치 없이 사용할 수 있는 형태로 발전시켰습니다.
208202

209-
AI를 활용한 것은 **설계와 구현의 속도**였습니다. Confluence Wiki HTML 구조 분석, rowspan 알고리즘 설계, Chrome Extension 보안 설계까지 AI로 프로그래밍하면서 혼자서라면 시도도 못했던 작업을 하루 이틀 만에 완성할 수 있었습니다.
203+
AI를 활용한 것은 **설계와 구현의 속도**였습니다. Confluence Wiki HTML 구조 분석, rowspan 알고리즘 설계, Chrome Extension 보안 설계까지 AI로 프로그래밍하면서 혼자서라면 시도도 못했던 작업을 하루 이틀 만에 완성할 수 있었습니다.

assets/img/ai/2026-03-28-ai-03.png

-13.4 KB
Loading

assets/img/ai/2026-03-28-ai-05.png

76.2 KB
Loading

0 commit comments

Comments
 (0)