giip
SES Proposal
2 min read

AI URL ํ…Œ์ŠคํŠธ ์—์ด์ „ํŠธ ์‚ฌ์šฉ ๊ฐ€์ด๋“œ

AI ์—์ด์ „ํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ์›น URL์„ ํƒ์ƒ‰ยท๋ถ„์„ยทํ…Œ์ŠคํŠธํ•˜๋Š” ๊ธฐ๋Šฅ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

๐Ÿš€ AI URL ํ…Œ์ŠคํŠธ ๊ธฐ๋Šฅ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ์š”

URL Test Agent๋Š” ์ง€์ •ํ•œ URL์„ AI ์—์ด์ „ํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ์ ‘์†ํ•˜์—ฌ ํŽ˜์ด์ง€ ๊ตฌ์กฐ, ๋งํฌ ์ƒํƒœ, ์—๋Ÿฌ ๋“ฑ์„ ๋ถ„์„ํ•˜๊ณ  Markdown ํ˜•์‹์˜ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ด€๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

๋น ๋ฅธ ์‹œ์ž‘

  1. ๊ด€๋ฆฌ ๋ฉ”๋‰ด์—์„œ AI URL ํ…Œ์ŠคํŠธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  2. URL ์ž…๋ ฅ ํผ์— ํ…Œ์ŠคํŠธํ•  ์›น ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  3. Submit ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด AI ์—์ด์ „ํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ๋ถ„์„์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  4. Test History ๋ชฉ๋ก์—์„œ ์ง„ํ–‰ ์ƒํƒœ ๋ฐ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์ƒํƒœ

์ƒํƒœ์˜๋ฏธ
PENDING๋Œ€๊ธฐ ์ค‘ โ€” AI ์—์ด์ „ํŠธ ์ฒ˜๋ฆฌ ๋Œ€๊ธฐ
RUNNING๋ถ„์„ ์ค‘ โ€” AI ์—์ด์ „ํŠธ๊ฐ€ URL ํƒ์ƒ‰ ์ค‘
COMPLETED์™„๋ฃŒ โ€” ๋ถ„์„ ๋ณด๊ณ ์„œ ํ™•์ธ ๊ฐ€๋Šฅ
FAILED์‹คํŒจ โ€” URL ์ ‘๊ทผ ๋ถˆ๊ฐ€ ๋˜๋Š” ์—๋Ÿฌ ๋ฐœ์ƒ

์ƒ์„ธ ๊ธฐ๋Šฅ

๊ฒฐ๊ณผ ๋ณด๊ณ ์„œ ํ™•์ธ

๋ชฉ๋ก์—์„œ ํ•ญ๋ชฉ์„ ํด๋ฆญํ•˜๋ฉด AI๊ฐ€ ์ƒ์„ฑํ•œ ๋ถ„์„ ๋ณด๊ณ ์„œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ์—๋Š” ํŽ˜์ด์ง€ ๊ตฌ์กฐ, ๋งํฌ ์ƒํƒœ, ๋ฐœ๊ฒฌ๋œ ๋ฌธ์ œ ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์žฌ์‹คํ–‰ (Retry)

์™„๋ฃŒ ๋˜๋Š” ์‹คํŒจ๋œ ํ•ญ๋ชฉ์„ ๋‹ค์‹œ ๋ถ„์„ํ•˜๋ ค๋ฉด ์ƒ์„ธ ํ™”๋ฉด์—์„œ Retry ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์‚ญ์ œ (Delete)

๋ถˆํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ ๊ธฐ๋ก์€ Delete ๋ฒ„ํŠผ์œผ๋กœ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ ํ•ด๊ฒฐ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ ๋ฐฉ๋ฒ•
PENDING ์ƒํƒœ๊ฐ€ ์˜ค๋ž˜ ์ง€์†๋จAI ์—์ด์ „ํŠธ ์ฒ˜๋ฆฌ ๋Œ€๊ธฐ ์ค‘์ž ์‹œ ํ›„ ์ƒˆ๋กœ ๊ณ ์นจ
FAILED ์ƒํƒœURL ์ ‘๊ทผ ๋ถˆ๊ฐ€ ๋˜๋Š” ์ธ์ฆ ํ•„์š”URL์ด ๊ณต๊ฐœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธ
๋ชฉ๋ก์ด ๋น„์–ด์žˆ์Œํ”„๋กœ์ ํŠธ ๋ฏธ์„ ํƒ์ƒ๋‹จ ๋ฉ”๋‰ด์—์„œ ํ”„๋กœ์ ํŠธ(CSN) ์„ ํƒ ํ™•์ธ

API ์ฐธ์กฐ

AK ์ธ์ฆ API (์›น UI์šฉ)

ํ•ญ๋ชฉ๊ฐ’
์—”๋“œํฌ์ธํŠธhttps://giipfaw.azurewebsites.net/api/giipUrlTest
์ธ์ฆAuthorization: Bearer {AK} ๋˜๋Š” x-api-key: {AK}
AK ์ถœ์ฒ˜์›น ์„ธ์…˜ ํ† ํฐ (sessionStorage['token'])

GET โ€” ๋ชฉ๋ก ์กฐํšŒ

GET /api/giipUrlTest?csn={csn}
Authorization: Bearer {AK}

์‘๋‹ต:

{ "tests": [{ "taskId": "URLTEST_...", "csn": 47, "url": "https://...", "status": "PENDING", "depth": "SHALLOW", "context": null, "resultSummary": null, "resultDetail": null, "regDate": "...", "endDate": null }] }

POST โ€” ์‹ ๊ทœ ๋“ฑ๋ก

POST /api/giipUrlTest
Authorization: Bearer {AK}
Content-Type: application/json

{ "csn": 47, "url": "https://example.com", "depth": "SHALLOW", "context": "๋ถ„์„ ํžŒํŠธ (์„ ํƒ)" }
  • depth: "SHALLOW" (๊ธฐ๋ณธ๊ฐ’) ๋˜๋Š” "DEEP"

์‘๋‹ต: { "success": true, "taskId": "URLTEST_...", "message": "Created" }

PATCH โ€” ์žฌ์‹คํ–‰ (Retry)

PATCH /api/giipUrlTest
Authorization: Bearer {AK}
Content-Type: application/json

{ "task_id": "URLTEST_...", "status": "PENDING", "csn": 47 }

์‘๋‹ต: { "success": true, "message": "Updated successfully" }

DELETE โ€” ์‚ญ์ œ

DELETE /api/giipUrlTest?task_id=URLTEST_...
Authorization: Bearer {AK}

์‘๋‹ต: { "success": true, "message": "Deleted" }

SK ์ธ์ฆ API (Agent์šฉ)

ํ•ญ๋ชฉ๊ฐ’
์ธ์ฆ@sk ํŒŒ๋ผ๋ฏธํ„ฐ (Secret Key)
SK ์ถœ์ฒ˜$env:GIIP_SECRET_KEY (์‹œ์Šคํ…œ ํ™˜๊ฒฝ๋ณ€์ˆ˜)
์šฉ๋„urlTester Timer Function์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ PENDING ์ž๋™ ์ฒ˜๋ฆฌ

pApiURLTestGetbySk โ€” PENDING ๋ชฉ๋ก ์กฐํšŒ

EXEC pApiURLTestGetbySk @sk = '{secret_key}'

๋ฐ˜ํ™˜: status = 'PENDING' ํ•ญ๋ชฉ ์ตœ๋Œ€ 100๊ฑด (๋“ฑ๋ก์ˆœ ASC)

pApiURLTestPutbySk โ€” ์ƒํƒœ/๊ฒฐ๊ณผ ์—…๋ฐ์ดํŠธ

EXEC pApiURLTestPutbySk
    @sk             = '{secret_key}',
    @csn            = 47,
    @task_id        = 'URLTEST_...',
    @status         = 'COMPLETE',        -- RUNNING / COMPLETE / ERROR
    @result_summary = '์š”์•ฝ ํ…์ŠคํŠธ',     -- ์„ ํƒ
    @result_detail  = '## Markdown'      -- ์„ ํƒ

๊ณตํ†ต ์ƒํƒœ๊ฐ’

์ƒํƒœ์˜๋ฏธ์™„๋ฃŒ ์‹œ๊ฐ ๊ธฐ๋ก
PENDING๋Œ€๊ธฐ ์ค‘โŒ
RUNNING์ฒ˜๋ฆฌ ์ค‘โŒ
COMPLETE์™„๋ฃŒโœ…
ERROR์˜ค๋ฅ˜โœ…

โš ๏ธ COMPLETED / FAILED ๋Š” ์œ ํšจํ•˜์ง€ ์•Š๋‹ค. COMPLETE / ERROR ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


๋ฒ„์ „: 1.0 ์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2026-06-15 ์†Œ์Šค ํŒŒ์ผ: giipv3/public/help/url-test.ko.md