๐Ÿค– [์—ฐ๊ตฌAX] 5๋งŒ ๊ฑด ์‚ฌ๋ฃŒ, ์ „๋ถ€ ํŒŒ์ผ๋กœ ๋ฝ‘์•„์•ผ ํ• ๊นŒ? โ€” ๋งž์ถค ๋ทฐ์–ด๋ฅผ ๋งŒ๋“  ์ด์œ 

์กฐ์„ ์™•์กฐ์‹ค๋ก 1๋งŒ ๊ฑด, ํ•œ๊ตญ๊ณ ์ „์ข…ํ•ฉDB 3๋งŒ ๊ฑด, ์Šน์ •์›์ผ๊ธฐ 3์ฒœ ๊ฑด. ๋ฐ•์‚ฌ ๋…ผ๋ฌธ์„ ์“ฐ๋ฉด์„œ ํฌ๋กค๋งํ•ด ๋ชจ์€ ์‚ฌ๋ฃŒ๊ฐ€ ์•ฝ 5๋งŒ ๊ฑด์ด ๋๋‹ค. ์ „๋ถ€ JSON ๋˜๋Š” JSONL ํ˜•์‹์œผ๋กœ ์ €์žฅํ•ด๋‘๊ณ  ์žˆ๋‹ค.

๊ฐœ์„ ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ๊ฑด ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์—ด์–ด๋ณด๋Š” ๋ฐฉ์‹์ด์—ˆ๋‹ค. JSON ํŒŒ์ผ์„ ์ง์ ‘ ์—ด๋ฉด ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ์—” ๋ถˆํŽธํ•˜๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  5๋งŒ ๊ฑด์„ ์ „๋ถ€ ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๊ฑด ๋น„ํšจ์œจ์ ์ด๋‹ค. ์›๋ณธ์ด ์ด๋ฏธ ์žˆ๋Š”๋ฐ, ๊ฐ™์€ ๋‚ด์šฉ์„ ํŒŒ์ผ๋กœ ๋˜ ๋งŒ๋“ค์–ด์„œ ์ €์žฅํ•ด์•ผ ํ•˜๋‚˜?

์ด ๊ธ€์€ ์‚ฌ๋ฃŒ๋ฅผ "ํŒŒ์ผ๋กœ ์ €์žฅํ•˜์ง€ ์•Š๊ณ ๋„ ํŽธํ•˜๊ฒŒ ์—ด๋žŒํ•˜๋Š”" ๋กœ์ปฌ ์›น์•ฑ BESPOKE๋ฅผ ๋งŒ๋“  ๊ณผ์ •์ด๋‹ค. ์ด ๊ณผ์ •์—์„œ ํ™•์ธํ•œ ๊ฒƒ: ์‚ฌ๋ฃŒ๋ฅผ ํŒŒ์ผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ๊ณผ ํ™”๋ฉด์—์„œ ๋ณด๋Š” ๊ฒƒ์€ ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋ฉฐ, ์ด ๊ตฌ๋ถ„์„ ์•Œ๋ฉด 5๋งŒ ๊ฑด์˜ ์‚ฌ๋ฃŒ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด ๋‹ฌ๋ผ์ง„๋‹ค๋Š” ๊ฒƒ, ๊ทธ๋ฆฌ๊ณ  "๋‚˜์—๊ฒŒ ๋งž๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณด๊ณ  ์‹ถ๋‹ค"๋Š” ๋‹ˆ์ฆˆ ์ž์ฒด๊ฐ€ ์•ฑ ๊ฐœ๋ฐœ์˜ ์ถฉ๋ถ„ํ•œ ๋™๊ธฐ๊ฐ€ ๋œ๋‹ค๋Š” ๊ฒƒ.


๋ชจ๋“  ์‚ฌ๋ฃŒ๋ฅผ md๋กœ ๋ฝ‘์•„์•ผ ํ• ๊นŒ

๋‚˜๋Š” ํฌ๋กค๋งํ•œ ์‚ฌ๋ฃŒ๋ฅผ ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๋Š”๋‹ค. JSON ์›๋ณธ ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค.

์™œ? view์™€ materialize์˜ ๊ตฌ๋ถ„ ๋•Œ๋ฌธ์ด๋‹ค.

view โ€” ํ•„์š”ํ•  ๋•Œ ๊บผ๋‚ด์„œ ๋ณด๋Š” ๊ฒƒ

view๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅํ•˜์ง€ ์•Š๊ณ , ํ•„์š”ํ•  ๋•Œ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ํ™”๋ฉด์— ๋„์›Œ ๋ณด๋Š” ๊ฒƒ์ด๋‹ค. ๋„์„œ๊ด€์—์„œ ์›๋ฌธ ์ž๋ฃŒ์ง‘์„ ์—ด๋žŒ์„์— ๊บผ๋‚ด ์ฝ๊ณ , ๋‹ค ์ฝ์œผ๋ฉด ๋‹ค์‹œ ์„œ๊ณ ์— ๊ฝ‚์•„๋‘๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•˜๋‹ค. ์›๋ณธ์ด ์„œ๊ณ ์— ์žˆ์œผ๋‹ˆ๊นŒ, ํ•„์š”ํ•˜๋ฉด ๋‹ค์‹œ ๊บผ๋‚ด ๋ณด๋ฉด ๋œ๋‹ค.

JSON ์›๋ณธ์ด ์žˆ์œผ๋ฉด ์–ธ์ œ๋“  ์›๋ฌธ/๋ฒˆ์—ญ ๋ณ‘๋ ฌ๋กœ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๊ณ , ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ถ™์—ฌ์„œ ๋ณด์—ฌ์ค„ ์ˆ˜๋„ ์žˆ๊ณ , ์›๋ฌธ๋งŒ ๋ฝ‘์•„์„œ ๋ณด์—ฌ์ค„ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋ฐฉ์‹์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

materialize โ€” ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๋Š” ๊ฒƒ

materialize(์‹ค์ฒดํ™”)๋Š” ๋ฐ์ดํ„ฐ๋ฅผ .md ํŒŒ์ผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋””์Šคํฌ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ™์€ ๋‚ด์šฉ์„ ํฌ๋งท๋งŒ ๋ฐ”๊ฟ” ๋ณต์ œํ•˜๋Š” ์…ˆ์ด๋‹ค.

์—ด๋žŒ๋งŒ์„ ์œ„ํ•ด ์‹ค์ฒดํ™”ํ•˜๋Š” ๊ฑด ๋ถˆํ•„์š”ํ•˜๋‹ค โ€” ์›๋ณธ์ด ์žˆ์œผ๋‹ˆ view๋กœ ๋ณด๋ฉด ๋œ๋‹ค. ์‹ค์ฒดํ™”๊ฐ€ ํ•„์š”ํ•œ ๊ฑด ๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ๋‹ค. ๋‚ด๊ฐ€ ์‚ฌ๋ฃŒ์— ํ•ด์„์ด๋‚˜ ๋ถ„์„์„ ๋ถ™์ด๊ณ  ์‹ถ์„ ๋•Œ โ€” ํ•˜์ด๋ผ์ดํŠธ๋ฅผ ์น˜๊ณ  ๋ฉ”๋ชจ๋ฅผ ๋‹ฌ๊ณ , ๊ทธ ์ฃผ์„ ์ž‘์—… ์ž์ฒด๊ฐ€ ์—ฐ๊ตฌ ์‚ฐ์ถœ๋ฌผ์ด ๋˜๋Š” ๊ฒฝ์šฐ. ๋˜๋Š” ํƒ€์ธ์—๊ฒŒ ๊ณต์œ ํ•ด์•ผ ํ•  ๋•Œ. ์ด๋•Œ๋Š” ํŒŒ์ผ๋กœ ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค. ์›๋ณธ ์‚ฌ๋ฃŒ์™€ ๋ณ„๊ฐœ๋กœ, ๋ชฉ์ ์ด ์žˆ๋Š” ์ƒˆ๋กœ์šด ํŒŒ์ผ์ด ์ƒ๊ธฐ๋Š” ๊ฒƒ์ด๋‹ค.

๊ตฌ๋ถ„์ด ์™œ ์ค‘์š”ํ•œ๊ฐ€

5๋งŒ ๊ฑด ์‚ฌ๋ฃŒ๋ฅผ ์ „๋ถ€ .md ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ด๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ?

  • ์ €์žฅ ๊ณต๊ฐ„์ด ๋‘ ๋ฐฐ๋กœ ๋“ ๋‹ค (JSON ์›๋ณธ + md ์‚ฌ๋ณธ)

  • ์›๋ณธ์ด ์—…๋ฐ์ดํŠธ๋˜๋ฉด ์‚ฌ๋ณธ๋„ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•œ๋‹ค

  • 5๋งŒ ๊ฐœ์˜ .md ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ถ€๋‹ด์ด ์ƒ๊ธด๋‹ค

์—ด๋žŒ๋งŒ ํ•˜๋Š” ๊ฑฐ๋ผ๋ฉด view๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค. ๋‚ด ํ•ด์„์„ ๋ถ™์ด๋Š” ์ˆœ๊ฐ„ materialize๊ฐ€ ํ•„์š”ํ•ด์ง„๋‹ค. ์ด ๊ตฌ๋ถ„์„ ์•Œ๋ฉด, "์ „๋ถ€ ํŒŒ์ผ๋กœ ๋ฝ‘์•„์•ผ ํ•˜๋‚˜?"๋ผ๋Š” ๋ถˆ์•ˆ์—์„œ ํ•ด๋ฐฉ๋œ๋‹ค.

๋‚˜๋Š” 5๋งŒ ๊ฑด ์ค‘ ์‹ค์ฒดํ™”ํ•œ ๊ฑด ์ˆ˜๋ฐฑ ๊ฑด ์ •๋„๋‹ค. ๋‚˜๋จธ์ง€๋Š” JSON ์›๋ณธ ์ƒํƒœ๋กœ ๋‘๊ณ , ํ•„์š”ํ•  ๋•Œ view๋กœ ์—ด์–ด๋ณธ๋‹ค.


๊ทธ๋Ÿฐ๋ฐ JSON์€ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ์— ๋ถˆํŽธํ•˜๋‹ค

view๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค๋Š” ๊ฑด ์•Œ๊ฒ ๋Š”๋ฐ, ์‹ค์ œ๋กœ JSON ํŒŒ์ผ์„ ์—ด์–ด๋ณด๋ฉด ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ๋‹ค:

{
  "id": "ITKC_MO_0367A_0030_020_0090",
  "title_hanja": "ๆญฅ้‡‘็”Ÿ ๆฆฆ ๆ‰€ๆฌก้ตๅถบไฝœ",
  "original": "ๆ—ฉๅฎˆ้ฏ็ฟ่ชชใ€‚่‚็Ÿณ่€Œๅฟƒ้ต...",
  "translation": "์ผ์ฐ์ด ๋‘”์˜น์˜ ๋ง์”€ ์ง€ํ‚ค์–ด..."
}

์ด๊ฑธ ์ˆ˜๋งŒ ๊ฑด์”ฉ ๋ˆˆ์œผ๋กœ ํ›‘๋Š” ๊ฑด ๊ณ ์—ญ์ด๋‹ค. ๋‚˜๋Š” ์›๋ฌธ๊ณผ ๋ฒˆ์—ญ์„ ๋‚˜๋ž€ํžˆ ๋ณด๊ณ  ์‹ถ๊ณ , ์ €์ž์™€ ๋‚ ์งœ์™€ ์ถœ์ฒ˜๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ๋ณด๊ณ  ์‹ถ๊ณ , ๊ฒ€์ƒ‰๋„ ํ•˜๊ณ  ์‹ถ๋‹ค.

๊ฒŒ๋‹ค๊ฐ€ ๋‚ด๊ฐ€ ๋ชจ์€ ๋ฐ์ดํ„ฐ์˜ ์œ ํ˜•๋งˆ๋‹ค, ๋ณด๊ณ  ์‹ถ์€ ํ˜•ํƒœ๊ฐ€ ๋‹ค๋ฅด๋‹ค.

  • threads(์Šค๋ ˆ๋“œ): ๊ฒฝ์ „ ์›๋ฌธ + ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ, ๊ทธ ์•„๋ž˜ ์ฃผ์„๊ฐ€๋ณ„ ์ฃผ์„ ์นด๋“œ. ์นด๋“œ์—๋Š” ์ฃผ์„๊ฐ€ ์ด๋ฆ„, ์‹œ๋Œ€, ์ƒ๋ชฐ๋…„, ์ฃผ์„ ์›๋ฌธ, ๋ฒˆ์—ญ์ด ๋“ค์–ด๊ฐ„๋‹ค.

  • keyword(ํ‚ค์›Œ๋“œ ๋ฒˆ๋“ค): ํŠน์ • ํ‚ค์›Œ๋“œ๊ฐ€ ํฌํ•จ๋œ ๊ธฐ์‚ฌ ์ˆ˜๋ฐฑ ๊ฑด์„ ๋ชฉ๋ก์œผ๋กœ ํ›‘์œผ๋ฉฐ, ์›๋ฌธ/๋ฒˆ์—ญ ๋ณ‘๋ ฌ๋กœ ์—ด๋žŒ.

  • DB(์‹ค๋ก, ๋ฌธ์ง‘ ๋“ฑ): ์†Œ์Šค๋ณ„ ๋ฒˆ๋“ค์—์„œ ๊ธฐ์‚ฌ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ƒ์„ธ๋ฅผ ํ™•์ธ.

๋ฒ”์šฉ JSON ๋ทฐ์–ด๋กœ๋Š” ์ด๊ฑธ ๋ชป ํ•œ๋‹ค. ๋‚˜์—๊ฒŒ ๋งž๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ Œ๋”๋งํ•ด์ฃผ๋Š” ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋กœ์ปฌ ์›น์•ฑ์„ ๋งŒ๋“ค๊ธฐ๋กœ ํ–ˆ๋‹ค.


ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋งŒ ๋งํ–ˆ๋‹ค

Claude์™€ ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ณผ์ • ์ž์ฒด๋Š” ์ด์ „์— Gloss ๋ฆฌ๋” ์•ฑ์„ ๋งŒ๋“  ๊ฒฝํ—˜๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค. ๋ถˆํŽธํ•จ๊ณผ ๋‹ˆ์ฆˆ๋ฅผ ๋งํ•˜๋ฉด Claude๊ฐ€ ๊ธฐ์ˆ ์  ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•˜๊ณ , ๋Œ€ํ™”ํ•˜๋ฉด์„œ ๊ตฌ์ฒดํ™”ํ•˜๋Š” ๋ฐฉ์‹.

๊ทธ๊ฐ„์˜ ํ‹ฐํ‚คํƒ€์นด์˜ ๊ฒฝํ—˜ ์ƒ, ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ํ•œ๊บผ๋ฒˆ์— ๊ตฌํ˜„ํ•ด๋‹ฌ๋ผ๊ณ  ํ•˜๋ฉด ์–ด๋”˜๊ฐ€์—์„œ ๋ฐ˜๋“œ์‹œ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋Šฅ์ด ์–ฝํž์ˆ˜๋ก ๋ฌธ์ œ์˜ ์›์ธ์„ ํŠน์ •ํ•˜๊ธฐ ํž˜๋“ค์–ด์ง„๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—๋Š” ๋”ฑ ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋งŒ ๋จผ์ € ๊ตฌํ˜„ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ์ƒ๊ธฐ๋ฉด ๊ทธ๋•Œ ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

Claude(Opus)์—๊ฒŒ ์š”๊ตฌํ•œ ๊ฒƒ:

  1. CORPUS ํด๋”์™€ DB ํด๋”๋ฅผ ํ†ตํ•ฉํ•ด์„œ ๋ฉ”์ธ ํ™”๋ฉด์— ์นด๋“œ๋กœ ๋ณด์—ฌ์ค„ ๊ฒƒ. CORPUS๋Š” ๋‚ด๊ฐ€ ์ง์ ‘ ๊ตฌ์ถ•ํ•œ ์ฝ”ํผ์Šค(keyword ๋ฒˆ๋“ค, threads ๋ฒˆ๋“ค), DB๋Š” ํฌ๋กค๋งํ•œ ์›์ž๋ฃŒ(์‹ค๋ก, ๋ฌธ์ง‘, ์Šน์ •์›์ผ๊ธฐ ๋“ฑ).

  2. keyword ๋ฒˆ๋“ค ๋ทฐ์–ด: ๊ธฐ์‚ฌ ๋ชฉ๋ก(ํŽ˜์ด์ง€๋„ค์ด์…˜) + ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์›๋ฌธ/๋ฒˆ์—ญ ๋ณ‘๋ ฌ ํ‘œ์‹œ.

  3. threads ๋ฒˆ๋“ค ๋ทฐ์–ด: ์ขŒ์ธก ์‚ฌ์ด๋“œ๋ฐ”์— ๊ฒฝ์ „ ์„ธ๊ทธ๋จผํŠธ ๋ชฉ๋ก, ์šฐ์ธก์— ์„ธ๊ทธ๋จผํŠธ ์›๋ฌธยท๋ฒˆ์—ญยท์ฃผ์„ ์นด๋“œ ํ‘œ์‹œ. ์ฃผ์„ ์นด๋“œ์—๋Š” ์ฃผ์„๊ฐ€๋ช…, ์‹œ๋Œ€, ์ƒ๋ชฐ๋…„, ์ฃผ์„ ์œ ํ˜•์ด ๋“ค์–ด๊ฐˆ ๊ฒƒ.

  4. DB ๋ทฐ์–ด: ์†Œ์Šค๋ณ„(์‹ค๋ก, ๋ฌธ์ง‘, ์Šน์ •์›์ผ๊ธฐ ๋“ฑ) ๊ธฐ์‚ฌ ๋ชฉ๋ก + ์ƒ์„ธ.

  5. SQLite import ์—†์ด JSON ์ง์ ‘ ์ฝ๊ธฐ. ํŒŒ์ผ์‹œ์Šคํ…œ์—์„œ ๋ฐ”๋กœ ์ฝ์–ด์„œ ๋™๊ธฐํ™” ๋ฌธ์ œ๋ฅผ ์—†์•จ ๊ฒƒ.


์ด๋ ‡๊ฒŒ ๊ตฌํ˜„๋๋‹ค

๋ฉ”์ธ ํ™”๋ฉด โ€” CORPUS + DB ์นด๋“œ ๋ธŒ๋ผ์šฐ์ €

์•ฑ์„ ์—ด๋ฉด ๋‚ด๊ฐ€ ๊ฐ€์ง„ ๋ชจ๋“  ์ฝ”ํผ์Šค์™€ DB ๋ฒˆ๋“ค์ด ์นด๋“œ๋กœ ๋‚˜์—ด๋œ๋‹ค. CORPUS ์„น์…˜์—๋Š” ๋‚ด๊ฐ€ ์ง์ ‘ ๊ตฌ์ถ•ํ•œ ํ‚ค์›Œ๋“œ ๋ฒˆ๋“ค๊ณผ ์Šค๋ ˆ๋“œ ๋ฒˆ๋“ค์ด, DB ์„น์…˜์—๋Š” ํฌ๋กค๋ง ์›์ž๋ฃŒ๊ฐ€ ์†Œ์Šค๋ณ„๋กœ ์ •๋ฆฌ๋˜์–ด ์žˆ๋‹ค. ์นด๋“œ๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋ทฐ์–ด๋กœ ์ด๋™ํ•œ๋‹ค.

Keyword ๋ทฐ์–ด โ€” ๊ธฐ์‚ฌ ๋ชฉ๋ก + ์›๋ฌธ/๋ฒˆ์—ญ ๋ณ‘๋ ฌ

ํ‚ค์›Œ๋“œ ๋ฒˆ๋“ค์„ ์—ด๋ฉด ๊ธฐ์‚ฌ ๋ชฉ๋ก์ด ๋‚˜์˜ค๊ณ , ๊ธฐ์‚ฌ๋ฅผ ์„ ํƒํ•˜๋ฉด ์›๋ฌธ๊ณผ ๋ฒˆ์—ญ์ด ๋ณ‘๋ ฌ๋กœ ํ‘œ์‹œ๋œ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์ €์ž, ๋‚ ์งœ, ์ถœ์ฒ˜, ๋ฌธ์ฒด)๋Š” ์ ‘์„ ์ˆ˜ ์žˆ๋Š” ํŒจ๋„๋กœ ์ฒ˜๋ฆฌํ•ด์„œ, ํ…์ŠคํŠธ์— ์ง‘์ค‘ํ•  ๋•Œ๋Š” ์ ‘์–ด๋‘๊ณ  ํ•„์š”ํ•  ๋•Œ๋งŒ ํŽผ์นœ๋‹ค.

Threads ๋ทฐ์–ด โ€” ๊ฒฝ์ „ ์›๋ฌธ + ์ฃผ์„๊ฐ€๋ณ„ ์นด๋“œ

๋‚ด๊ฐ€ ๊ฐ€์žฅ ๊ณต๋“ค์ธ ๋ทฐ์–ด๋‹ค. ์ขŒ์ธก ์‚ฌ์ด๋“œ๋ฐ”์— ๊ฒฝ์ „ ์„ธ๊ทธ๋จผํŠธ ๋ชฉ๋ก์ด ๋‚˜์˜ค๊ณ (์ฃผ์„ ์ˆ˜๊ฐ€ ๋ฐฐ์ง€๋กœ ํ‘œ์‹œ๋œ๋‹ค), ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์„ ํƒํ•˜๋ฉด ์šฐ์ธก์— ๊ฒฝ์ „ ์›๋ฌธ, ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ, ๊ทธ๋ฆฌ๊ณ  ์ฃผ์„๊ฐ€๋ณ„ ์นด๋“œ๊ฐ€ ํŽผ์ณ์ง„๋‹ค.

์ฃผ์„ ์นด๋“œ ํ•˜๋‚˜์—๋Š” ์ฃผ์„๊ฐ€ ์ด๋ฆ„, ์‹œ๋Œ€, ์ƒ๋ชฐ๋…„, ์ฃผ์„ ์œ ํ˜•(๋ฐฐ์ง€), ์ฃผ์„ ์›๋ฌธ, ๋ฒˆ์—ญ์ด ๋“ค์–ด๊ฐ„๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ฐ™์€ ๊ฒฝ์ „ ๊ตฌ์ ˆ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ์ฃผ์„๊ฐ€์˜ ํ•ด์„์„ ํ•œ๋ˆˆ์— ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค. ๋…ผ๋ฌธ์—์„œ ์ฃผ์„์‚ฌ(ๆณจ้‡‹ๅฒ)๋ฅผ ๋‹ค๋ฃจ๋Š” ๋‚ด ์—ฐ๊ตฌ ๋ฐฉ์‹์— ๋งž์ถฐ ์„ค๊ณ„ํ•œ ๋ ˆ์ด์•„์›ƒ์ด๋‹ค.

DB ๋ทฐ์–ด โ€” ์‹ค๋ก, ๋ฌธ์ง‘ ๋“ฑ ์›์ž๋ฃŒ ์—ด๋žŒ

DB ๋ทฐ์–ด๋Š” keyword ๋ทฐ์–ด์˜ ๊ตฌ์กฐ๋ฅผ ์žฌ์‚ฌ์šฉํ•œ๋‹ค. ๊ธฐ์‚ฌ ๋ชฉ๋ก + ์ƒ์„ธ ํ™”๋ฉด. ๋‹ค๋งŒ ์†Œ์Šค๋ณ„๋กœ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—(์‹ค๋ก์€ ์™•๋ช…/๊ถŒ์ฐจ, ๋ฌธ์ง‘์€ ํ•œ์ž ์ œ๋ชฉ/์ €์ž, ์Šน์ •์›์ผ๊ธฐ๋Š” ๋‚ ์งœ ๋“ฑ), ๊ฐ ์†Œ์Šค์— ๋งž๊ฒŒ ์ •๊ทœํ™”ํ•ด์„œ ํ‘œ์‹œํ•œ๋‹ค.


ํ˜‘์—… ๊ด€์ฐฐ

์ด ์•ฑ์€ Claude(Opus)์™€ ๋งŒ๋“ค์—ˆ๋‹ค. ์ „์ฒด ๊ฐœ๋ฐœ์— ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์€ ๋ฐ˜๋‚˜์ ˆ ์ •๋„.

Claude๊ฐ€ ํ•œ ๊ฒƒ: Flask + Vanilla JS ๊ธฐ์ˆ  ์Šคํƒ ๊ฒฐ์ •, JSON ์ง์ ‘ ์ฝ๊ธฐ ๋ฐฉ์‹์˜ ์บ์‹ฑ ์ „๋žต ์„ค๊ณ„(mtime ๊ธฐ๋ฐ˜), ์†Œ์Šค๋ณ„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ •๊ทœํ™” ๋กœ์ง, FTS5 trigram ๊ธฐ๋ฐ˜ CJK ์ „๋ฌธ ๊ฒ€์ƒ‰ ๊ตฌํ˜„, threads ๋ทฐ์–ด์˜ ์„ธ๊ทธ๋จผํŠธ-์ฃผ์„ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ํŒŒ์‹ฑ.

๋‚ด๊ฐ€ ํ•œ ๊ฒƒ: ๋ฐ์ดํ„ฐ ์œ ํ˜•๋ณ„(keyword/threads/DB) ์—ด๋žŒ ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜, threads ๋ทฐ์–ด์—์„œ ์ฃผ์„ ์นด๋“œ ๋ ˆ์ด์•„์›ƒ๊ณผ ํ‘œ์‹œ ํ•ญ๋ชฉ ๊ฒฐ์ •, CORPUS์™€ DB๋ฅผ ํ†ตํ•ฉ ๋ฉ”์ธ ํ™”๋ฉด์œผ๋กœ ๋ฌถ๋Š” ๊ตฌ์กฐ ๊ฒฐ์ •, ๊ฐ ๋ทฐ์–ด ๊ฐ„ UX ์ฐจ์ด ์„ค๊ณ„.

ํ‚ค๋ฅผ ์žก์€ ๊ฑด ๋‚ด ์ชฝ์ด์—ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” "์–ด๋–ค ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ์ง€"๋ฅผ ๋‚ด๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ–ˆ๋‹ค. JSON ์ง์ ‘ ์ฝ๊ธฐ๋‚˜ FTS5 ๊ฐ™์€ ๊ธฐ์ˆ ์  ๊ฒฐ์ •์€ Claude๊ฐ€ ํ–ˆ์ง€๋งŒ, ๋ฌด์—‡์„ ์–ด๋–ค ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์ค„์ง€ โ€” ์ฆ‰ ๋ทฐ์˜ ์„ค๊ณ„ โ€” ๋Š” ๋‚ด๊ฐ€ ๊ฒฐ์ •ํ•œ ๊ฒƒ์ด๋‹ค. ์—ฐ๊ตฌ์ž๋งŒ์ด ์ž๊ธฐ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ค ํ˜•ํƒœ๋กœ ๋ด์•ผ ์œ ์šฉํ•œ์ง€ ์•ˆ๋‹ค.


๋ฐฐ์›€ ํฌ์ธํŠธ

์‚ฌ๋ฃŒ ์—ด๋žŒ์€ view์ด๊ณ , ๋‚ด ํ•ด์„์„ ๋ถ™์ด๋Š” ์ˆœ๊ฐ„ materialize๋‹ค. ํฌ๋กค๋งํ•œ ์‚ฌ๋ฃŒ 5๋งŒ ๊ฑด์„ ์ „๋ถ€ .md ํŒŒ์ผ๋กœ ๋ฝ‘์„ ํ•„์š”๊ฐ€ ์—†์—ˆ๋‹ค. JSON ์›๋ณธ์ด ์žˆ์œผ๋ฉด ์–ธ์ œ๋“  ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๊บผ๋‚ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์‹ค์ฒดํ™”๊ฐ€ ํ•„์š”ํ•œ ๊ฑด ๋‚ด ํ•ด์„์„ ๋ง๋ถ™์ผ ๋•Œ๋ฟ์ด๋‹ค. ์ด ๊ตฌ๋ถ„ ํ•˜๋‚˜๋กœ, ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ถ€๋‹ด์ด ํฌ๊ฒŒ ์ค„์—ˆ๋‹ค.

"๋‚˜์—๊ฒŒ ๋งž๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณด๊ณ  ์‹ถ๋‹ค"๊ฐ€ ์•ฑ ๊ฐœ๋ฐœ์˜ ์ถฉ๋ถ„ํ•œ ๋™๊ธฐ๊ฐ€ ๋œ๋‹ค. ๋ฒ”์šฉ ๋ทฐ์–ด๋Š” ๋ฒ”์šฉ์ ์ด๋ผ์„œ ๋‚ด ์›Œํฌํ”Œ๋กœ์šฐ์— ์•ˆ ๋งž๋Š”๋‹ค. threads๋Š” ์ฃผ์„๊ฐ€๋ณ„ ์นด๋“œ๋กœ, keyword๋Š” ๊ธฐ์‚ฌ ๋ชฉ๋ก + ๋ณ‘๋ ฌ ๋ทฐ๋กœ, DB๋Š” ์†Œ์Šค๋ณ„ ์ •๊ทœํ™”๋œ ์ƒ์„ธ๋กœ โ€” ๋ฐ์ดํ„ฐ ์œ ํ˜•๋งˆ๋‹ค ์ตœ์ ํ™”๋œ ๋ทฐ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฑด, AI ์ฝ”๋”ฉ ๋„๊ตฌ๊ฐ€ ์žˆ์œผ๋ฉด ๋ฐ˜๋‚˜์ ˆ์ด๋ฉด ์ถฉ๋ถ„ํ•œ ๋ฒ”์œ„๋‹ค. (๊ฐœ๋ฐœ ์‹ค๋ ฅ์ž๋ผ๋ฉด ๋ฐ˜๋‚˜์ ˆ๋„ ์•ˆ ๊ฑธ๋ฆด ๊ฒƒ์ด๋‹ค.)

1๊ฐœ์˜ ๋‹ต๊ธ€

๋‰ด์Šค๋ ˆํ„ฐ ๋ฌด๋ฃŒ ๊ตฌ๋…

๐Ÿ‘‰ ์ด ๊ฒŒ์‹œ๊ธ€๋„ ์ฝ์–ด๋ณด์„ธ์š”