๐๏ธ QA ๋ด์์ ์์ ์์ด์ ํธ๊น์ง: ์ํคํ ์ฒ ๊ฐ์ด๋
TL;DR: ์ง๋ฌธ์๋ง ๋ตํ๋ ์ฑ๋ด์ ๊ทธ๋ง ๋ง๋ค๊ณ , ์ค์ ๋ก ์ผ์ ์ํํ๋ ์์ ์์ด์ ํธ๋ฅผ ๊ตฌ์ถํ์ธ์.
์ด ๊ฐ์ด๋์์๋ ๊ตฌ์ฒด์ ์ธ ์ฝ๋ ์์ ์ ์คํ ์์ค ์ฐธ์กฐ๋ฅผ ํตํด ์ ์ ๊ท์น, ๋์ ๊ธฐ์ ๋ฐ ๊ฒฐ์ ์ ํํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋๋ฆฌ์ QA ๋ด์์ ์์ ์์ด์ ํธ๋ก์ ์ํคํ ์ฒ ์ ํ์ ์ค๋ช ํฉ๋๋ค.

1. ํต์ฌ ์ ํ: QA ๋ด โ ์์ ์์ด์ ํธ
๋๋ถ๋ถ์ AI ์์คํ ์ ์์ง๋ ๋ฌธ๋งฅ์ด ๊ฐ๋ํ QA ๋ด์ ๋๋ค:
โข ๊ทธ๋ค์ ์ง๋ฌธ์ ์ ๋๋ตํฉ๋๋ค
โข ์๋ ฅ ์์์ ํ๊ฐ์ ์ผ์ผํต๋๋ค
โข ์คํ, ์์ ๋ฐ ์ผ๊ด์ฑ์ ๋ํ ๋ณด์ฅ์ด ๋ถ์กฑํฉ๋๋ค
๐ก ์ฃผ์ ํต์ฐฐ๋ ฅ: ์ปจํ ์คํธ๋ฅผ ํ์ฅํ์ง ๋ง์ญ์์ค. ๊ตฌ์กฐํํ์ธ์.
2. 3๊ณ์ธต ์ํคํ ์ฒ
๐งฑ 1. ์ ์ ์ปจํ ์คํธ โ ๊ท์น (ํญ์ ํ์ฑ)
- โข๋ฉํ ๋ชจ๋ธ: ์ง์ ํธ๋๋ถ
- โขํญ์ ๋ก๋๋จ
- โข์ ์ฒด์ฑ, ์ฝ๋ฉ ํ์ค, ํ๋ ์ ์ฝ ์กฐ๊ฑด ์ ์
- โขํ๊ฐ ๋ฐ ์คํ์ผ ๋๋ฆฌํํธ ๋ฐฉ์ง
- โข์๊ณ ์์ ์ ์ด๋ฉฐ ์ฌ๋์ด ํธ์ง ๊ฐ๋ฅ
๐ ๏ธ 2. ๋์ ์ปจํ ์คํธ โ ๊ธฐ์ (์์ฒญ ์)
- โข๋ฉํ ๋ชจ๋ธ: ํด๋ฐ์ค
- โขํ์ํ ๋๋ง ๋ก๋๋จ
- โข๊ฐ ๊ธฐ์ ์ ๋ ๋ฆฝ์ ์ธ ๊ธฐ๋ฅ
- โข์ปจํ ์คํธ ์ฐฝ์ ๊นจ๋ํ๊ฒ ์ ์ง
โ 3. ๊ฒฐ์ ์ ํํฌ โ ๊ฐ๋๋ ์ผ
- โข๋ฉํ ๋ชจ๋ธ: ๋ณด์ + ๊ท์ ์ค์ ๋ ์ด์ด
- โขํ๋ฅ ์ ์ด์ง ์์
- โขLLM ์ถ๋ก ์ ํ์ ์คํ
- โข์ ๋ ์คํจํด์๋ ์ ๋๋ ๊ท์น ๊ฐ์
3. ๊ถ์ฅ ํ๋ก์ ํธ ๊ตฌ์กฐ
๋ด ์์ ์์ด์ ํธ/ โโโ.cursorrules โโโ main.py โโโ ๋๊ตฌ/ โ โโโ linear_mcp.py โโโ README.md
4. ์ ์ ์ปจํ ์คํธ ์:.cursorrules
# ์ญํ ๊ทํ๋ ์์ฐ ๋ฑ๊ธ ์์คํ ์ ์ฃผ๋ ฅํ๋ ์์ Python ์์ง๋์ด์ ๋๋ค. # ๊ท์น - ๋๋ฒ๊น ์ ์ํด ์ ๋๋ก print()๋ฅผ ์ฌ์ฉํ์ง ๋ง์ธ์. - ํญ์ ์ ํ ํํธ ๊ธฐ๋ฅ - 3๊ฐ ์ด์์ ํ์ผ์ ํฐ์นํ๋ ๊ฒฝ์ฐ ๊ณํ ์ ์ # ํ๋ - ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ์ธ์ - ํ์ํ ๊ฒฝ์ฐ ๋ช ํํ ์ง๋ฌธ์ ํ์ธ์. ์ฐธ์กฐ: https://github.com/PatrickJS/awesome-cursorrules
5. ๋ค์ด๋๋ฏน ์คํฌ ์์(MCP)
mcp.server.fastmcp์์ FastMCP ๊ฐ์ ธ์ค๊ธฐ
mcp = FastMCP("DevTools")
@mcp.tool()
def create_linear_ticket(title: str, ์ฐ์ ์์: str = "low") -> str:
ticket_id = f"LIN-{hash(title) % 10000}"
f"์ฐ์ ์์๊ฐ {priority}์ธ ์์ฑ๋ ํฐ์ผ {ticket_id}"์ ๋ฐํํฉ๋๋ค.
__name__ == "__main__"์ธ ๊ฒฝ์ฐ:
mcp.run()
์ฐธ์กฐ: https://github.com/modelcontextprotocol/python-sdk6. ๊ฒฐ์ ์ ํํฌ ์
def compliance_check_hook(state):
user_input = state["messages"][-1].content.lower()
if "password" in user_input or "api_key" in user_input:
return {"error": "๋ณด์ ์๋ฐ์ด ๊ฐ์ง๋์์ต๋๋ค"}
return agent_node(state)
์ฐธ๊ณ : https://langchain-ai.github.io/langgraph/์๋ด์์ด ์ง๋ฌธ์๋ง ๋ต๋ณํ๋ค๋ฉด ๊ทธ๊ฒ์ ์ฑ๋ด์ ๋๋ค. ์์ ์ ์ผ๋ก ์์ ์ ์คํํ๋ค๋ฉด ํ์คํฌ ์์ด์ ํธ์ ๋๋ค.

