ЁЯМН рдзрдбрд╛ 08 тАФ рдкрд╛рдЪ рдЦрд▒реНрдпрд╛ рдЬрдЧрд╛рддреАрд▓ use cases (sequence рдЖрдХреГрддреНрдпрд╛рдВрд╕рд╣)
ЁЯУН рддреБрдореНрд╣реА рдЗрдереЗ рдЖрд╣рд╛рдд: 8 рдкреИрдХреА рдзрдбрд╛ 08 тАФ рд╢реЗрд╡рдЯрдЪрд╛ рдзрдбрд╛!
ЁЯУж рдпрд╛ рдмреНрд░рдБрдЪрдордзреНрдпреЗ рдХрд╛рдп рдЖрд╣реЗ
рд╕рдВрдкреВрд░реНрдг рдХреЛрд░реНрд╕, рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдлрд│: production рд╕рд╛рд░рдЦреНрдпрд╛ рдкрд╛рдЪ рд░рдЪрдирд╛. Site рд╡рд░ рдкреНрд░рддреНрдпреЗрдХ рджреЛрдирджрд╛ рдХрд╛рдврд▓реЗрд▓реА рдЖрд╣реЗ тАФ рдПрдХ рдХреНрд░рдорд╛рдВрдХрд┐рдд flow рдЖрдХреГрддреА рдЖрдгрд┐ рдПрдХ рдкрд╛рдпрд░реА-рдкрд╛рдпрд░реАрдЪреА sequence рдЖрдХреГрддреА: ЁЯМР рд╕рдЪрд┐рддреНрд░ use-cases рдкрд╛рди тЖР рд╣рд╛ рдзрдбрд╛ рд╡рд╛рдЪрддрд╛рдирд╛ рддреЗ рд╢реЗрдЬрд╛рд░реА рдЙрдШрдбрд╛.
ЁЯзТ рдкрд╛рдЪ рд░рдЪрдирд╛, рд╢рд╛рд│реЗрдЪреНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд
1. ЁЯРЩ Coding assistant (IDE + GitHub server + filesystem server) "Issue #42 рджреБрд░реБрд╕реНрдд рдХрд░." рд╡рд┐рджреНрдпрд╛рд░реНрдерд┐рдиреА рддрдХреНрд░рд╛рд░ рд╡рд╛рдЪрддреЗ (get_issue), code рд╡рд╛рдЪрддреЗ (read_file), рджреБрд░реБрд╕реНрддреА рд▓рд┐рд╣рд┐рддреЗ, tests рдЪрд╛рд▓рд╡рддреЗ (run_tests), PR рдЪрд╛ рдорд╕реБрджрд╛ рдмрдирд╡рддреЗ тАФ create_pr рддреБрдордЪреНрдпрд╛ click рдЪреА рд╡рд╛рдЯ рдкрд╛рд╣рддреЛ (L05 рдзреЛрд░рдг 3). MCP рдХрд╛: рддреЛрдЪ GitHub server рдкреНрд░рддреНрдпреЗрдХ IDE рдЖрдгрд┐ agent рдордзреНрдпреЗ рдЪрд╛рд▓рддреЛ тАФ рдПрдХрджрд╛ рд▓рд┐рд╣рд╛, рд╕рдЧрд│реАрдХрдбреЗ рдЬреЛрдбрд╛.
2. ЁЯОз Support desk (support app + orders-DB server + docs server) рдЧреНрд░рд╛рд╣рдХ: "рдорд╛рдЭрд╛ refund рдХреБрдареЗ рдЖрд╣реЗ?" тЖТ order рд╢реЛрдзрд╛ (read-only!), refund policy рдЖрдгрд╛ тЖТ рдкреБрд░рд╛рд╡реНрдпрд╛рдВрд╕рд╣ рдЖрдзрд╛рд░рд▓реЗрд▓реЗ рдЙрддреНрддрд░ тАФ RAG рдЪреА рдЦреБрд▓реНрдпрд╛ рдкреБрд╕реНрддрдХрд╛рдЪреА рдкрд░реАрдХреНрд╖рд╛ (AI рдХреЛрд░реНрд╕ L10) MCP plugs рдШрд╛рд▓реВрди. DB tool рдорд░реНрдпрд╛рджрд┐рдд account рджреНрд╡рд╛рд░реЗ рдлрдХреНрдд SELECT рдХрд░рддреЛ (AWS рдХреЛрд░реНрд╕ L03 рдЪрд╛ least privilege, рд╢рдмреНрджрд╢рдГ).
3. ЁЯУК Data analyst (chat app + SQL server + chart server)
"рдорд╛рдЧрдЪреНрдпрд╛ рдорд╣рд┐рдиреНрдпрд╛рдд рдкреНрд░рддреНрдпреЗрдХ region рдордзреНрдпреЗ рдХреЛрдгрддреЗ product рд╕рд░реНрд╡рд╛рдд рдЬрд╛рд╕реНрдд рд╡рд┐рдХрд▓реЗ рдЧреЗрд▓реЗ?" тЖТ
query_db тЖТ make_chart тЖТ рдЪрд┐рддреНрд░рд╛рд╕рд╣ рдЖрдХрдбреЗ. Schema рдЪреА enum/read-only рд░рдЪрдирд╛ (L06) рд╣реАрдЪ
"analyst" рд▓рд╛ "DROP TABLE" рдмрдирдгреНрдпрд╛рдкрд╛рд╕реВрди рд░реЛрдЦрддреЗ. ЁЯШЕ
4. ЁЯУЕ Meeting-prep butler (assistant + calendar + CRM + email) "3 pm рдЪреНрдпрд╛ рдмреИрдардХреАрд╕рд╛рдареА рдорд╛рдЭреА рддрдпрд╛рд░реА рдХрд░" тЖТ get_event тЖТ crm_lookup(company) тЖТ recent_threads(attendees) тЖТ рдПрдХ рдиреАрдЯрдиреЗрдЯрдХрд╛ brief. рддреАрди servers, рдПрдХ рдЦреЛрд▓реА, рдПрдХ рдмрд╛рдХ тАФ рдПрдХрд╛рдЪ request рдордзреНрдпреЗ N+M рдЪреЗ рдлрд│.
5. ЁЯУБ Report robot (agent + filesystem + Slack server) "рдпрд╛ folder рдордзреАрд▓ рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ reports рдЪрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдХрд░реВрди #team рд╡рд░ post рдХрд░" тЖТ list_dir тЖТ read_file ├ЧN тЖТ summarize тЖТ slack_post рддреБрдордЪреНрдпрд╛ click рдЪреА рд╡рд╛рдЯ рдкрд╛рд╣рддреЛ тАФ рдкреБрдиреНрд╣рд╛ write-gate, рдХрд╛рд░рдг рдлрд╛рдЯрдХрд╛рд╢рд┐рд╡рд╛рдпрдЪреЗ automation рдореНрд╣рдгрдЬреЗ L05 рдЪрд╛ incident report.
ЁЯЧ║я╕П рдЖрдХреГрддреА (use case 1, рд╕рдЧрд│реНрдпрд╛рдВрдЪрд╛ рдЖрдХрд╛рд░)
sequenceDiagram
participant U as ЁЯзС user
participant H as ЁЯПл IDE host
participant M as ЁЯза model
participant G as ЁЯРЩ GitHub server
participant F as ЁЯУБ files server
U->>H: 1 "fix issue #42"
H->>M: 2 goal + tool shelves
M->>G: 3 get_issue(42) тАФ via host
G-->>M: 4 the bug report тЖТ desk
M->>F: 5 read_file(buggy.py)
F-->>M: 6 code тЖТ desk
M->>H: 7 proposes create_pr(fix)
H->>U: 8 ЁЯЪз "allow PR?" тАФ the human gate
U->>H: 9 click тЬУ тЖТ PR exists
тЭУ рдкрд╛рдЪрд╣реА рдордзреНрдпреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд╛рдп (рдкреБрдиреНрд╣рд╛ рд╡рд╛рдкрд░рд╛рдпрдЪреА рдпрд╛рджреА)
- Reads рд╡рд╛рд╣рддрд╛рдд, writes рдирд╛ рдлрд╛рдЯрдХ тАФ рдкреНрд░рддреНрдпреЗрдХ case рдЬрдЧ рдмрджрд▓рдгрд╛рд░реЗ tools рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рддреЗ, рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ click рдорд┐рд│рддреЛ (L05).
- Least-privilege plumbing тАФ рдорд░реНрдпрд╛рджрд┐рдд DB accounts, рдлрдХреНрдд-repo tokens (AWS рдХреЛрд░реНрд╕рдЪреНрдпрд╛ IAM рдкреНрд░рд╡реГрддреНрддреА, рдЖрддрд╛ AI рд╕рд╛рдареА).
- рддреЗрдЪ servers, рдЕрдиреЗрдХ рдЦреЛрд▓реНрдпрд╛ тАФ рдпрд╛ рдХрдерд╛рдВрдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ server рдЕрдиреЗрдХ apps рдордзреНрдпреЗ рдкреБрдиреНрд╣рд╛ рд╡рд╛рдкрд░рддрд╛ рдпреЗрддреЛ; teams рддреНрд░рд╛рд╕ рдШреЗрддрд╛рдд рддреЗ рдпрд╛рд╕рд╛рдареАрдЪ (L01 рдЪреЗ N+M).
- рдмрд╛рдХ рдорд░реНрдпрд╛рджрд╛ рд╕рдордЬрд╛рд╡рддреЛ тАФ рдкреНрд░рдЪрдВрдб folders / рдЕрд╡рд╛рдврд╡реНрдп queries context рдорд░реНрдпрд╛рджрд╛рдВрд╡рд░ рдЖрджрд│рддрд╛рдд (AI рдХреЛрд░реНрд╕ L08); production рдЖрд╡реГрддреНрддреНрдпрд╛ server рдмрд╛рдЬреВрд▓рд╛ pagination рдЖрдгрд┐ рд╕рд╛рд░рд╛рдВрд╢ рдЬреЛрдбрддрд╛рдд.
- рд╕рдЧрд│реЗ рд╕рд╣рд╛ messages рдЪ рдЖрд╣реЗрдд тАФ рд╡рд░рдЪрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рдо рдореНрд╣рдгрдЬреЗ L04 рдЪреЗ badge-discover-call, рдкреБрдиреНрд╣рд╛ рдкреБрдиреНрд╣рд╛. рдПрдХ wire рд╡рд╛рдЪрд╛, рд╕рдЧрд│реЗ рд╡рд╛рдЪрд▓реЗ.
рддреАрди рдзреЛрд░рдгреЗ, рдкреБрдиреНрд╣рд╛ (L05 тАФ рдХреНрд░рдорд╛рдВрдХ рдкрд╛рда рдХрд░рд╛): 1 local server рддреНрдпрд╛ process рдЪреНрдпрд╛ рдкрд░рд╡рд╛рдирдЧреНрдпрд╛рдВрдиреА рдЪрд╛рд▓рддреЛ (remote server рдЪреА рд╕реНрд╡рддрдГрдЪреА рдУрд│рдЦ рдЕрд╕рддреЗ); 2 tool results рдореНрд╣рдгрдЬреЗ data, рдХрдзреАрдЪ рдЖрдЬреНрдЮрд╛ рдирд╡реНрд╣реЗ; 3 writes рдирд╛ рдорд╛рдгрд╕рд╛рдЪреЗ рдлрд╛рдЯрдХ. рдкреНрд░рддреНрдпреЗрдХ case рдордзреНрдпреЗ рдлрд╛рдЯрдХ рдХреБрдареЗ рдЖрд╣реЗ:
| Case | Reads (рд╡рд╛рд╣рддрд╛рдд) | Writes (рдлрд╛рдЯрдХ) |
|---|---|---|
| ЁЯРЩ coding assistant | get_issue, read_file, run_tests | create_pr тЖТ IDE рдордзреАрд▓ click |
| ЁЯОз support desk | order lookup (рдлрдХреНрдд-SELECT account), policy docs | рдЖрдЬ рдХрд╛рд╣реА рдирд╛рд╣реА тАФ refund_issue tool рд▓рд╛ рдлрд╛рдЯрдХ рд▓рд╛рдЧреЗрд▓ |
| ЁЯУК data analyst | query_db (рдлрдХреНрдд-SELECT), make_chart | рдХрд╛рд╣реА рдирд╛рд╣реА тАФ рдХреЛрдгрддреНрдпрд╛рд╣реА write tool рд▓рд╛, рдХрд┐рдВрд╡рд╛ рдорд░реНрдпрд╛рджрд┐рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ account рд▓рд╛, click рд▓рд╛рдЧреЗрд▓ |
| ЁЯУЕ meeting-prep butler | get_event, crm_lookup, recent_threads | рдХрд╛рд╣реА рдирд╛рд╣реА тАФ "follow-up рдкрд╛рдард╡" рдЬреЛрдбрд▓реЗ рддреНрдпрд╛ рдХреНрд╖рдгреА email server рдЪреНрдпрд╛ send tool рд▓рд╛ click рдорд┐рд│рддреЛ |
| ЁЯУБ report robot | list_dir, read_file ├ЧN | slack_post тЖТ "post to #team?" рдкреВрд░реНрдг рджрд╛рдЦрд╡рд▓реЗрд▓реЗ |
тЫФ Anti-pattern: write рдХрд░реВ рд╢рдХрдгрд╛рд░рд╛ database tool (INSERT/UPDATE/DELETE тАФ рдХрд┐рдВрд╡рд╛ рддрд╕реЗ рдХрд░реВ рд╢рдХрдгрд╛рд░реЗ DB account) host рдмрд╛рдЬреВрдЪреНрдпрд╛ рдЦрд╛рддреНрд░реАрд╢рд┐рд╡рд╛рдп model рдЪреНрдпрд╛ рд╣рд╛рддреА рджреЗрдгреЗ. рдЖрдгрд▓реЗрд▓реНрдпрд╛ ticket рдордзреАрд▓ рдПрдХ рдШреБрд╕рд╡рд▓реЗрд▓реЗ рд╡рд╛рдХреНрдп (рдзреЛрд░рдг 2) рдореНрд╣рдгрдЬреЗ dropped table (рдзреЛрд░рдг 3 рд╡рдЧрд│рд▓реЗ). Account рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рд╛, tool рд▓рд╛ рд▓реЗрдмрд▓ рд▓рд╛рд╡рд╛, write рд▓рд╛ рдлрд╛рдЯрдХ рд▓рд╛рд╡рд╛.
ЁЯзк рдХрд░реВрди рдкрд╛рд╣рд╛ тАФ рддреБрдордЪрд╛ рд╕рд╣рд╛рд╡рд╛ use case
рддреБрдордЪреНрдпрд╛ рдЖрдард╡рдбреНрдпрд╛рддреАрд▓ рдПрдХ рдЦрд░рд╛ workflow рдирд┐рд╡рдбрд╛ (expense report? standup notes? ticket triage?). рдХрд╛рдЧрджрд╛рд╡рд░: рдХреЛрдгрддреЗ servers (рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рд▓реЗрд▓реЗ рдХрд┐рдВрд╡рд╛ рдмрд╛рдВрдзрд╛рдпрдЪреЗ)? рдкреНрд░рддреНрдпреЗрдХ server рд╡рд░ рдХреЛрдгрддреЗ tools тАФ рдЖрдгрд┐ рддреНрдпрд╛рдВрдкреИрдХреА writes рдХреЛрдгрддреЗ (рдлрд╛рдЯрдХ!)? рд╡рд░рдЪреНрдпрд╛ рд╢реИрд▓реАрдд, рдХреНрд░рдорд╛рдВрдХрд╛рдВрд╕рд╣ sequence рдЖрдХреГрддреА рдХрд╛рдврд╛. рддреБрдореНрд╣реА рддреА рдХрд╛рдвреВ рд╢рдХрд▓рд╛рдд, рддрд░ рдмрд╛рдВрдзреВрд╣реА рд╢рдХрддрд╛ тАФ L06 рдЖрдгрд┐ L07 рд╣реЗрдЪ рд╕рдВрдкреВрд░реНрдг рд╕рд╛рд╣рд┐рддреНрдп рд╣реЛрддреЗ.
тЬЕ рддрдкрд╛рд╕рд╛ тАФ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рджрд┐рд╕рд╛рдпрд▓рд╛ рд╣рд╡реЗ
рддреБрдордЪреНрдпрд╛ рд╕рд╣рд╛рд╡реНрдпрд╛ use case рд╕рд╛рдареА рддреБрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ server рд╡рд░ рдХреЛрдгрддреЗ tools read рдХрд░рддрд╛рдд рдЖрдгрд┐ рдХреЛрдгрддреЗ write рдХрд░рддрд╛рдд рддреЗ рд╕рд╛рдВрдЧреВ рд╢рдХрддрд╛ тАФ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ write рд▓рд╛ рдирд╛рд╡ рдЕрд╕рд▓реЗрд▓реЗ рдлрд╛рдЯрдХ рдЖрд╣реЗ (рдПрдХ click, рдПрдХ policy, рдПрдХ рдорд░реНрдпрд╛рджрд┐рдд account). рдПрдЦрд╛рджреНрдпрд╛ write рд▓рд╛ рдлрд╛рдЯрдХ рдирд╕реЗрд▓, рддрд░ рд░рдЪрдирд╛ рдкреВрд░реНрдг рдЭрд╛рд▓реЗрд▓реА рдирд╛рд╣реА.
ЁЯПБ рддреБрдореНрд╣реА рдЖрддреНрддрд╛рдЪ рдХрд╛рдп рд╕рд┐рджреНрдз рдХреЗрд▓реЗ
рддреБрдореНрд╣реА рдХреЛрдгрддреЗрд╣реА MCP deployment рдзрдбрд╛ 04 рдЪреЗ рд╕рд╣рд╛ messages рдЖрдгрд┐ рдзрдбрд╛ 05 рдЪреА рддреАрди рдзреЛрд░рдгреЗ рдореНрд╣рдгреВрди рд╡рд╛рдЪреВ рд╢рдХрддрд╛ тАФ рдЖрдгрд┐ code рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдХрд╛рдЧрджрд╛рд╡рд░ рддреНрдпрд╛рдЪреА рд░рдЪрдирд╛ рдХрд░реВ рд╢рдХрддрд╛.
тЪая╕П рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдЪреБрдХрд╛
- host рдмрд╛рдЬреВрдЪреНрдпрд╛ рдЦрд╛рддреНрд░реАрд╢рд┐рд╡рд╛рдп write рдХрд░реВ рд╢рдХрдгрд╛рд░рд╛ DB tool (рдХрд┐рдВрд╡рд╛ write рдХрд░реВ рд╢рдХрдгрд╛рд░реЗ DB account) тАФ рдард░рд▓реЗрд▓рд╛ anti-pattern
- reads рд▓рд╛рд╣реА рдлрд╛рдЯрдХ рд▓рд╛рд╡рдгреЗ тАФ рддреНрд░рд╛рд╕рд╛рдореБрд│реЗ рд▓реЛрдХ "always allow" toggle рдХрд░рддрд╛рдд, рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд░реЛрдЦрд░ рд╣рд╡реЗ рдЕрд╕рд▓реЗрд▓реЗ рдлрд╛рдЯрдХрдЪ рдирд┐рдШреВрди рдЬрд╛рддреЗ
- рд╕рдЧрд│реНрдпрд╛рд╕рд╛рдареА рдПрдХрдЪ рдЕрд╡рд╛рдврд╡реНрдп server тАФ servers рд╣реЗрдЪ рдкреБрдирд░реНрд╡рд╛рдкрд░рд╛рдЪреЗ рдЖрдгрд┐ рдкрд░рд╡рд╛рдирдЧреАрдЪреЗ рдПрдХрдХ рдЖрд╣реЗрдд; рддреЗ рдЕрд░реБрдВрдж рдареЗрд╡рд╛
ЁЯПн рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд╛рдкрд░рд╛рдд рд╣реЗ рдХрд╛ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ: рдкрд╛рдЪрд╣реА cases рдЪрд╛ рдЖрдХрд╛рд░ рдПрдХрдЪ рдЖрд╣реЗ: reads рд╡рд╛рд╣рддрд╛рдд, writes рдирд╛ рдлрд╛рдЯрдХ, least-privilege plumbing, рдЕрдиреЗрдХ рдЦреЛрд▓реНрдпрд╛рдВрдордзреНрдпреЗ рддреЗрдЪ servers. Tools рдирд╡реНрд╣реЗ, рдЖрдХрд╛рд░ copy рдХрд░рд╛.
ЁЯОУ Socket рдЖрддрд╛ рддреБрдордЪреЗ рдЖрд╣реЗ
рдбреНрд░реЙрд╡рд░рдЪреА рд╕рдорд╕реНрдпрд╛ тЖТ рддреАрди рднреВрдорд┐рдХрд╛ тЖТ рддреАрди рдХрдкреНрдкреЗ тЖТ wire рд╡рд░реАрд▓ рд╕рд╣рд╛ messages тЖТ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рдЪреА рддреАрди рдзреЛрд░рдгреЗ тЖТ рдЦрд░рд╛ server тЖТ рдЦрд░рд╛ host тЖТ рдкрд╛рдЪ рдЦрд░реА deployments. рддреБрдореНрд╣реА рдлрдХреНрдд MCP рд╢рд┐рдХрд▓рд╛ рдирд╛рд╣реАрдд тАФ рддреНрдпрд╛рдЪреЗ рдЪрд╛рд▓рдгрд╛рд░реЗ implementation рдЖрддрд╛ рддреБрдордЪреНрдпрд╛ рдорд╛рд▓рдХреАрдЪреЗ рдЖрд╣реЗ. ЁЯФМЁЯОУ
git checkout main
python3 client/mini_client.py --drive # one last spin, for fun