Prompt Engineering For Developer
ν΅μ¬ μμΉ 4κ°μ§
νλ₯΄μλ μ€μ : AIκ° νΉμ μν (μ: μλμ΄ κ°λ°μ, 보μ μ λ¬Έκ°, μ½λ λ¦¬λ·°μ΄ λ±)μ λ§‘λλ‘ μ§μ
λμ μ: "μ΄ μ½λ 리뷰ν΄μ€."
μ’μ μ: "λΉμ μ 10λ μ°¨ μλμ΄ λ°±μλ κ°λ°μμ λλ€. Spring Security μ λ¬Έκ°μ κ΄μ μμ μ΄ μ½λμ 보μ μ·¨μ½μ μ μ€μ μ μΌλ‘ 리뷰ν΄μ£ΌμΈμ."
λͺ νμ±κ³Ό ꡬ체μ±: μμ²μ λͺ©μ κ³Ό κΈ°λ κ²°κ³Όλ₯Ό λͺ νν μ μ
λμ μ: "μ½λλ₯Ό μ΅μ νν΄μ€."
μ’μ μ: "μ΄ Python ν¨μμ κ°λ μ±μ λμ΄λ λ°©ν₯μΌλ‘ 리ν©ν λ§ν΄μ€. μ€ν μλλ λ³κ²½λλ©΄ μ λΌ."
μ μ½ μ‘°κ±΄ μ€μ : AIκ° λ°λΌμΌ ν ꡬ체μ μΈ κ·μΉμ΄λ μ ν μ¬νμ λͺ μ
λμ μ: "API μλν¬μΈνΈλ₯Ό λ§λ€μ΄μ€."
μ’μ μ: "Java 17κ³Ό Spring Boot 3.3μ μ¬μ©ν΄, μΈλΆ λΌμ΄λΈλ¬λ¦¬ μμ΄ RESTful API μλν¬μΈνΈλ₯Ό λ§λ€μ΄μ€. null μ λ ₯λ λ°λμ μ²λ¦¬ν΄μΌ ν΄."
λ¨κ³λ³ μ¬κ³ : λ¨κ³λ³λ‘ λ¬Έμ λ₯Ό ν΄κ²°νλλ‘ μ λνμ¬, μ€μ€λ‘ λ Όλ¦¬μ μΈ κ³νμ μΈμ°κ³ μμ μ λΆν΄νλλ‘ ν¨
λμ μ: "μ΄ κΈ°λ₯μ ꡬνν΄μ€."
μ’μ μ: "μ΄ κΈ°λ₯μ ꡬννλ λ° νμν λ¨κ³λ₯Ό νλμ© μ€λͺ ν΄μ€. κ° λ¨κ³λ³λ‘ μ΄λ€ μμ μ΄ νμνμ§ κ΅¬μ²΄μ μΌλ‘ μλ €μ€." -> "κ·Έ λ¨κ³λ€μ νλμ© μ€νν΄μ€."
μ€μ κΈ°λ²
Zero-Shot vs. Few-Shot
Zero-Shot (λ¨μ μμ²): AIμ μΌλ° μ§μμλ§ μμ‘΄νμ¬ λ°λ‘ μ§λ¬Ένλ λ°©μ
Few-Shot (μμ μ 곡): AIμκ² μμ μ λν μμλ₯Ό λ¨Όμ 보μ¬μ£Όκ³ , κ·Έ μ€νμΌμ λ§μΆ° μμ μ μμ²νλ λ°©μ
Few-Shot κΈ°λ²μ AIμ 'μΆλ ₯ 곡κ°(Output Space)'μ κ°λ ₯νκ² 'μ μ½'νλ μ리λ₯Ό μ΄μ©νλ€.
AIλ μ 곡λ μμ(컨ν μ€νΈ)λ₯Ό λ°νμΌλ‘, λ€μμ μμ±λ λ΄μ©μ΄ μ΄λ€ ꡬ쑰μ μ€νμΌμ κ°μ ΈμΌ νλμ§ λμ νλ₯ λ‘ μμΈ‘νλ€.
λ°λ³΅μ κ°μ
첫 λ²μ§Έ λ΅λ³μ λ§μ‘±νμ§ λ§κ³ , κ·Έ λ΅λ³μ μλ‘μ΄ μ»¨ν μ€νΈλ‘ μΌμ μΆκ° μμ²μ νλ λ°©μμ΄λ€.
λͺ λ Ή: "μν μ£Όλ¬Έ(Order)μ μ²λ¦¬νλ
OrderServiceν΄λμ€ λ§λ€μ΄μ€."AI: (μ΄μ μ½λ μμ±)
νΌλλ°± λ° κ³μ λ°λ³΅...
AI: (μ΅μ’ μ½λ μμ±)
μ΄ κΈ°λ²μ AIμμ λν λ΄μ μ μ²΄κ° 'λμ 컨ν μ€νΈ'λ‘ μλνλ μ리λ₯Ό νμ©νμ¬, μ μ§μ μΌλ‘ κ²°κ³Όλ¬Όμ κ°μ ν΄ λκ°λ λ°©μμ΄λ€.
μ₯μ : μ μ§μ μΌλ‘ 볡μ‘ν κ²°κ³Όλ¬Όμ μμ± κ°λ₯
λ¨μ : λνκ° κΈΈμ΄μ§μλ‘ μ»¨ν μ€νΈ μλμ° νκ³μ λΉ λ₯΄κ² λλ¬ κ°λ₯
ν ν°(λΉμ©) μλͺ¨κ° 컀μ§κ³ AIμ μλ΅ μλκ° λλ €μ§κ±°λ λ§₯λ½μ μμ μ μμ
볡μ‘ν μμ μ΄ μλ£λλ©΄ μ£ΌκΈ°μ μΌλ‘ 컨ν μ€νΈλ₯Ό μ΄κΈ°ννλ κ²μ΄ μ’μ
Chain of Thought(CoT) & λ¨κ³λ³ μ€ν
'λ¨κ³λ³ μ¬κ³ ' μμΉμ μ€μ μμ μΌλ‘ μ°κ²°νλ κ°μ₯ κ°λ ₯ν κΈ°λ²μΌλ‘, 'κ³ν' λ¨κ³μ 'μ€ν' λ¨κ³λ₯Ό κ°λ°μκ° μλμ μΌλ‘ λΆλ¦¬νλ κ²μ΄λ€.
κ³ν μ립(CoT)
λͺ λ Ή: "κΈ°μ‘΄
UserServiceμ Redisλ₯Ό μ΄μ©ν μΊμ λ μ΄μ΄λ₯Ό μΆκ°νλ €κ³ ν΄. νμν μμ λ¨κ³λ₯Ό μμλλ‘ μ€λͺ ν΄μ€."
λ¨κ³λ³ μ€ν λ° κ²μ¦ (Execution): κ° λ¨κ³λ₯Ό νλμ© μ€ννλλ‘ AIμ μ§μνμ¬, κ°λ°μκ° κ° λ¨κ³μ κ²°κ³Όλ¬Όμ κ²ν νκ³ μΉμΈν μ μκ² ν¨
μ΄λ AIκ° μ€μ€λ‘ λ Όλ¦¬μ μΈ κ³νμ μΈμ°κ³ (Chain of Thought), κ°λ°μλ κ·Έ κ³νμ κ²ν νκ³ μ μ΄(Control)ν μ μκ² νλ€.
μλ 컨ν
μ€νΈ μ£Όμ
(Manual Context Injection)
AIμ 컨ν μ€νΈ λΆμμ΄ μλ²½νμ§ μκ±°λ, νμ¬ μ΄λ¦¬μ§ μμ νμΌμ μ 보λ₯Ό AIκ° μμμΌ ν λ κ°λ°μκ° 'μ¬μ€(Facts)'μ μ§μ 컨ν μ€νΈμ μ£Όμ νλ κΈ°λ²μ΄λ€.
Few-Shotμ΄ νμΌ(Style)μ μ£Όμ νλ€λ©΄, μ΄ κΈ°λ²μ λ°μ΄ν°(Data)λ₯Ό μ£Όμ νλ λ°©μ
μλ¬ λ‘κ·Έ / μμ‘΄μ± λͺ©λ‘ / μΈλΆ λ¬Έμ λ±
AIκ° λͺ¨λ₯΄λ 'νμ¬ μν'λ 'μΈλΆ μ 보'λ₯Ό λͺ μμ μΌλ‘ μ 곡νμ¬ μ νν λ΅λ³ μ λ
Last updated
Was this helpful?