рдкреНрд░рддреАрдХ рдЪрд┐рдиреНрд╣

рдЕрдкрдиреЗ рд╡реАрдбрд┐рдпреЛ рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреВрд░реАрдлрд╛рдИ рд╕реЗ рдЬреБрдбрд╝реЗрдВ

рдпрд╛

рдХреНрдпреВрд░рд┐рдлрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╣рдорд╛рд░реА рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ
рд╕реЗрд╡рд╛ рдХреА рд╢рд░реНрддреЗрдВ рдФрд░ рдЧреЛрдкрдиреАрдпрддрд╛ рдиреАрддрд┐

ЁЯПЧя╕П QA рдмреЙрдЯ рд╕реЗ рдХрд╛рд░реНрдп рдПрдЬреЗрдВрдЯ рддрдХ: рдПрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЧрд╛рдЗрдб

TL;DR: рдРрд╕реЗ рдЪреИрдЯрдмреЙрдЯ рдмрдирд╛рдирд╛ рдмрдВрдж рдХрд░реЗрдВ рдЬреЛ рдХреЗрд╡рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрддреЗ рд╣реИрдВред рдРрд╕реЗ рдХрд╛рд░реНрдп рдПрдЬреЗрдВрдЯ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рдЧрд╛рдЗрдб рдПрдХрд▓ QA рдмреЙрдЯ рд╕реЗ рдХрд╛рд░реНрдп рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд╢рд┐рдлреНрдЯ рдХреЛ рд╕реНрдЯреИрдЯрд┐рдХ рдирд┐рдпрдореЛрдВ, рдбрд╛рдпрдирд╛рдорд┐рдХ рд╕реНрдХрд┐рд▓реНрд╕ рдФрд░ рдбрд┐рдЯрд░рдорд┐рдирд┐рд╕реНрдЯрд┐рдХ рд╣реБрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдордЭрд╛рддреА рд╣реИтАФрдХрдВрдХреНрд░реАрдЯ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд╕рд╛рдеред

рдХрд╛рд░реНрдп рдПрдЬреЗрдВрдЯ рдкреНрд░рдгрд╛рд▓реА рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдЪрд┐рддреНрд░рдг рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХреЛрдВ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ

1. рдХреЛрд░ рд╢рд┐рдлреНрдЯ: QA рдмреЙрдЯ тЖТ рдХрд╛рд░реНрдп рдПрдЬреЗрдВрдЯ

рдЖрдЬ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдЕрднреА рднреА рд╕рдВрджрд░реНрдн-рднрд░реЗ QA рдмреЙрдЯ рд╣реИрдВ:

тАв рд╡реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЕрдЪреНрдЫрд╛ рдЙрддреНрддрд░ рджреЗрддреЗ рд╣реИрдВ

тАв рд╡реЗ рджрдмрд╛рд╡ рдореЗрдВ рднреНрд░рд╛рдВрддрд┐рдпрд╛рдБ рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВ

тАв рд╡реЗ рдирд┐рд╖реНрдкрд╛рджрди, рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЧрд╛рд░рдВрдЯреА рдХреА рдХрдореА рд░рдЦрддреЗ рд╣реИрдВ

ЁЯТб рдореБрдЦреНрдп рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐: рд╕рдВрджрд░реНрдн рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рди рдХрд░реЗрдВред рдЗрд╕реЗ рд╕рдВрд░рдЪрдирд╛ рджреЗрдВред

2. рддреАрди-рд╕реНрддрд░реАрдп рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░

ЁЯз▒ 1. рд╕реНрдерд┐рд░ рд╕рдВрджрд░реНрдн тАФ рдирд┐рдпрдо (рд╣рдореЗрд╢рд╛ рдЪрд╛рд▓реВ)

  • тАврдорд╛рдирд╕рд┐рдХ рдореЙрдбрд▓: рдХрд░реНрдордЪрд╛рд░реА рд╣реИрдВрдбрдмреБрдХ
  • тАврд╣рдореЗрд╢рд╛ рд▓реЛрдбреЗрдб
  • тАврдкрд╣рдЪрд╛рди, рдХреЛрдбрд┐рдВрдЧ рдорд╛рдирдХ, рд╡реНрдпрд╡рд╣рд╛рд░рд╛рддреНрдордХ рд╕реАрдорд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
  • тАврднреНрд░рдордг рдФрд░ рд╢реИрд▓реА рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ
  • тАврдЫреЛрдЯрд╛, рд╕реНрдерд┐рд░, рдорд╛рдирд╡-рд╕рдВрдкрд╛рджрдиреАрдп

ЁЯЫая╕П 2. рдЧрддрд┐рд╢реАрд▓ рд╕рдВрджрд░реНрдн тАФ рдХреМрд╢рд▓ (рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░)

  • тАврдорд╛рдирд╕рд┐рдХ рдореЙрдбрд▓: рдЯреВрд▓рдмреЙрдХреНрд╕
  • тАврдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рд▓реЛрдбреЗрдб
  • тАврдкреНрд░рддреНрдпреЗрдХ рдХреМрд╢рд▓ рдПрдХ рдЖрддреНрдо-contained рдХреНрд╖рдорддрд╛ рд╣реИ
  • тАврд╕рдВрджрд░реНрдн рд╡рд┐рдВрдбреЛ рдХреЛ рд╕рд╛рдл рд░рдЦрддрд╛ рд╣реИ

тЪУ 3. рдирд┐рд░реНрдзрд╛рд░рдХ рд╣реБрдХ тАФ рдЧрд╛рд░реНрдбрд░реЗрд▓

  • тАврдорд╛рдирд╕рд┐рдХ рдореЙрдбрд▓: рд╕реБрд░рдХреНрд╖рд╛ + рдЕрдиреБрдкрд╛рд▓рди рдкрд░рдд
  • тАврд╕рдВрднрд╛рд╡реНрдп рдирд╣реАрдВ
  • тАвLLM рддрд░реНрдХ рд╕реЗ рдкрд╣рд▓реЗ / рдмрд╛рдж рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ
  • тАврдРрд╕реЗ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрднреА рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП

3. рдЕрдиреБрд╢рдВрд╕рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛

my-task-agent/
тФЬтФАтФА .cursorrules
тФЬтФАтФА main.py
тФЬтФАтФА tools/
тФВ   тФФтФАтФА linear_mcp.py
тФФтФАтФА README.md

4. рд╕реНрдерд┐рд░ рд╕рдВрджрд░реНрдн рдЙрджрд╛рд╣рд░рдг: .cursorrules

# рднреВрдорд┐рдХрд╛
рдЖрдк рдПрдХ рд╡рд░рд┐рд╖реНрда рдкрд╛рдпрдерди рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реИрдВ рдЬреЛ рдЙрддреНрдкрд╛рджрди-рдЧреНрд░реЗрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

# рдирд┐рдпрдо
- рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрднреА рднреА print() рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ
- рд╣рдореЗрд╢рд╛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк-рд╣рд┐рдВрдЯ рдХрд░реЗрдВ
- рдпрджрд┐ 3 рд╕реЗ рдЕрдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЫреВрдирд╛ рд╣реИ рддреЛ рдПрдХ рдпреЛрдЬрдирд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░реЗрдВ

# рд╡реНрдпрд╡рд╣рд╛рд░
- рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░рд╣реЗрдВ
- рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВ

рд╕рдВрджрд░реНрдн: https://github.com/PatrickJS/awesome-cursorrules

5. рдЧрддрд┐рд╢реАрд▓ рдХреМрд╢рд▓ рдЙрджрд╛рд╣рд░рдг (MCP)

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("DevTools")

@mcp.tool()
def create_linear_ticket(title: str, priority: str = "low") -> str:
    ticket_id = f"LIN-{hash(title) % 10000}"
    return f"Created ticket {ticket_id} with priority={priority}"

if __name__ == "__main__":
    mcp.run()

рд╕рдВрджрд░реНрдн: https://github.com/modelcontextprotocol/python-sdk

6. рдирд┐рд░реНрдзрд╛рд░рдХ рд╣реБрдХ рдЙрджрд╛рд╣рд░рдг

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/

рдпрджрд┐ рдЖрдкрдХрд╛ рдПрдЬреЗрдВрдЯ рдХреЗрд╡рд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдЪреИрдЯрдмреЙрдЯ рд╣реИред рдпрджрд┐ рдпрд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдХрд╛рд░реНрдп рдПрдЬреЗрдВрдЯ рд╣реИред

Take the next step

Putting what you read into practice.

рд╕рдВрдмрдВрдзрд┐рдд рд▓реЗрдЦ

DS & AI Engineering