{"id":488689,"date":"2026-07-27T09:35:03","date_gmt":"2026-07-27T09:35:03","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=488689"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=488689","title":{"rendered":"502 \u043d\u0430 ingress, 302 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438: \u043a\u0430\u043a \u044f \u0443\u0447\u0438\u043b \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e LLM-\u0430\u0433\u0435\u043d\u0442\u0430 \u043d\u0435 \u0432\u0440\u0430\u0442\u044c"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442. \u042f \u0434\u0435\u043b\u0430\u044e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e read-only \u0430\u0433\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439: \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u043e \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c production. \u0418\u043d\u0436\u0435\u043d\u0435\u0440 \u043f\u0438\u0448\u0435\u0442 \u0435\u043c\u0443 \u0432 Mattermost \u0438\u043b\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u043c web-\u0447\u0430\u0442\u0435 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442\u0434\u0430\u0451\u0442 502?\u00bb, \u00ab\u043a\u0442\u043e \u0432\u044b\u043a\u0430\u0442\u0438\u043b \u044d\u0442\u0443 \u0432\u0435\u0440\u0441\u0438\u044e?\u00bb \u0438\u043b\u0438 \u00ab\u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0434 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u043c?\u00bb. \u0410\u0433\u0435\u043d\u0442 \u0441\u0430\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 Kubernetes, VictoriaMetrics, Elasticsearch, GitLab, Grafana, GSLB \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442 \u0441 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430\u043c\u0438 \u0438 \u044f\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438.<\/p>\n<p>\u0421\u0430\u043c \u0430\u0433\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Go, \u0431\u0435\u0437 LangChain \u0438 \u0434\u0440\u0443\u0433\u043e\u0433\u043e agent framework. Go-\u043a\u043e\u0434 \u0445\u0440\u0430\u043d\u0438\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043f\u0440\u0430\u0432\u0430 \u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b tools, \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u043b\u0430\u043d \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 evidence \u2014 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 LLM \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c\u0438 \u0432\u0435\u0441\u0430\u043c\u0438 \u0437\u0430 OpenAI-compatible API: <code>DeepSeek-V4-Flash<\/code> \u0440\u0435\u0448\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c, \u0430 <code>Qwen3.6-27B-FP8<\/code> \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0438 \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 planning \u043f\u0440\u0438 \u0441\u0431\u043e\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u041d\u0438 \u043e\u0434\u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0435 \u0445\u043e\u0434\u0438\u0442 \u0432 production \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e.<\/p>\n<pre><code>\u0432\u043e\u043f\u0440\u043e\u0441 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430      \u2193Go runtime: scope \u00b7 policy \u00b7 memory      \u2193DeepSeek planner \u2192 Go executor \u2192 local\/MCP tools      \u2193Qwen finalizer      \u2193\u0444\u0430\u043a\u0442\u044b \u00b7 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b \u00b7 \u043d\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u0434\u0438\u043d \u0438\u0437 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432 \u043d\u0430\u0447\u0430\u043b\u0441\u044f \u0441 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u044f.<\/p>\n<p>\u0412\u043d\u0435\u0448\u043d\u0438\u0439 Angie \u0437\u0430\u043f\u0438\u0441\u0430\u043b <code>502<\/code>. \u0412 \u043b\u043e\u0433\u0430\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u0442 \u0436\u0435 <code>request_id<\/code> \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0441\u044f \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u043c <code>302<\/code>. \u041f\u0435\u0440\u0432\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0431\u043e\u0442\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u0440\u0430\u0437\u0443\u043c\u043d\u043e:<\/p>\n<blockquote>\n<p>\u041d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0435\u0442. \u0417\u0430\u043f\u0440\u043e\u0441 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d, \u043f\u0440\u0438\u0447\u0438\u043d\u0430, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 edge.<\/p>\n<\/blockquote>\n<p>\u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u0441\u0451 \u0432\u0435\u0440\u043d\u043e. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0442\u0430\u043a\u043e\u0439 \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u0447\u0442\u0438 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u0435\u043d.<\/p>\n<p>\u0412 \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c error log \u0431\u044b\u043b\u0430 \u0442\u043e\u0447\u043d\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430: <code>upstream sent too big header while reading response header from upstream<\/code>. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043b\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 redirect, \u043d\u043e \u043e\u0431\u0449\u0438\u0439 \u0431\u043b\u043e\u043a response headers \u043d\u0435 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u0441\u044f \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 buffer Angie. \u041e\u0434\u0438\u043d \u0442\u043e\u043b\u044c\u043a\u043e <code>Location<\/code> \u0437\u0430\u043d\u0438\u043c\u0430\u043b 1191 \u0431\u0430\u0439\u0442. Proxy \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u043b \u043e\u0442\u0432\u0435\u0442 upstream \u0438 \u0432\u0435\u0440\u043d\u0443\u043b \u043a\u043b\u0438\u0435\u043d\u0442\u0443 <code>502<\/code>.<\/p>\n<p>\u041d\u0438 endpoints, \u043d\u0438 Kubernetes-\u043d\u043e\u0434\u0430 \u0432 \u044d\u0442\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0435 \u043d\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439. \u0412 \u0434\u0440\u0443\u0433\u043e\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u043f\u0438\u0437\u043e\u0434\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 <code>502<\/code> \u0443 \u0434\u0432\u0443\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u043e\u0431\u0449\u0435\u0433\u043e failure domain worker-\u043d\u043e\u0434\u044b. \u041e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u0434\u0432\u0443\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439.<\/p>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0430\u0433\u0435\u043d\u0442\u0430 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435 \u0432 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0431\u044b\u043b\u043e \u0434\u0430\u0436\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e. \u041e\u043d \u043d\u0435 \u0443\u043c\u0435\u043b \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u0442\u044c access, error \u0438 application logs, \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0442\u044c \u00ab\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043b\u043e \u043e\u0442\u0432\u0435\u0442\u00bb \u0438 \u00ab\u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u043b \u0435\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0443\u00bb, \u0443\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 scope \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0435\u0442\u043a\u0443 \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e evidence, \u0430 \u043d\u0435 \u043f\u043e \u0437\u043d\u0430\u043a\u043e\u043c\u043e\u043c\u0443 \u0441\u0438\u043c\u043f\u0442\u043e\u043c\u0443.<\/p>\n<p>\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u2014 \u043d\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u00ab\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c MCP \u043a LLM \u0437\u0430 \u0447\u0430\u0441\u00bb. \u041e\u043d\u0430 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e tool call: \u043e \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445, \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u043c\u0435\u0435\u0442 \u043f\u043e\u0440\u0442\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u044b, \u0438 evaluation-\u043d\u0430\u0431\u043e\u0440\u0435, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u0433\u0435\u043d\u0442\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u044f\u0445.<\/p>\n<p>\u0412\u0441\u0435 \u0438\u043c\u0435\u043d\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a, \u043d\u043e\u0434, URL \u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043d\u0438\u0436\u0435 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u044b. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u043e\u0432 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b.<\/p>\n<h3>\u041a\u043e\u0440\u043e\u0442\u043a\u043e<\/h3>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f read-only \u0430\u0433\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439:<\/p>\n<ul>\n<li>\n<p>\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0440\u0443\u0441\u0441\u043a\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0435\u0433\u043e \u0432 typed scope \u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c;<\/p>\n<\/li>\n<li>\n<p>\u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u043f\u043e \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430\u043c, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439;<\/p>\n<\/li>\n<li>\n<p>\u0445\u0440\u0430\u043d\u0438\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u043d\u0435 prompt \u0438 \u043d\u0435 \u0442\u0435\u0440\u044f\u0435\u0442 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0443 \u043e\u0442\u0447\u0451\u0442\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442 live-\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0438 \u043f\u0430\u043c\u044f\u0442\u044c \u0442\u0440\u0435\u0434\u0430;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c read-only skills \u0447\u0435\u0440\u0435\u0437 n8n \u0438 MCP \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044f\u0434\u0440\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0443\u043c\u0435\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u0438\u0437 \u0442\u0440\u0435\u0434\u0430 \u0431\u0435\u0437 fine-tuning;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u044c\u044e \u043d\u0430 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 production-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043f\u043e\u043b\u043d\u043e\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u0435 \u043f\u0440\u043e\u0448\u043b\u0438 44 \u0438\u0437 45 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f 29 \u0438\u0437 29 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445. \u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0441\u044f \u0434\u0432\u0430\u0436\u0434\u044b. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043d\u0435\u043f\u0440\u043e\u0439\u0434\u0435\u043d\u043d\u044b\u0439 \u0431\u044b\u043b optional \u0438 \u043a\u0430\u0441\u0430\u043b\u0441\u044f \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043e\u0442\u0447\u0451\u0442\u0430 \u043f\u043e capacity, \u0430 \u043d\u0435 \u0441\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043f\u0430\u0434\u0435\u043d\u0438\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u0435\u0439\u0441\u0430.<\/p>\n<p>\u042d\u0442\u043e \u043d\u0435 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 SRE \u0438 \u043d\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e remediation. \u0410\u0433\u0435\u043d\u0442 \u0447\u0438\u0442\u0430\u0435\u0442, \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442. \u0420\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 production \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0443 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430.<\/p>\n<h3>\u0417\u0430\u0447\u0435\u043c \u0432\u043e\u043e\u0431\u0449\u0435 natural language \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435<\/h3>\n<p>\u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0434\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e PromQL \u0438\u043b\u0438 \u0438\u043c\u0435\u043d\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0437\u0432\u0443\u0447\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<blockquote>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442\u0434\u0430\u0432\u0430\u043b 502 \u0432 14:11?<\/p>\n<\/blockquote>\n<blockquote>\n<p>\u041a\u0442\u043e \u0432\u0447\u0435\u0440\u0430 \u0432\u044b\u043a\u0430\u0442\u044b\u0432\u0430\u043b \u044d\u0442\u0443 \u0432\u0435\u0440\u0441\u0438\u044e \u0438 \u0438\u0437 \u043a\u0430\u043a\u043e\u0439 job?<\/p>\n<\/blockquote>\n<blockquote>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043a\u0430\u0436\u0438 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0438.<\/p>\n<\/blockquote>\n<blockquote>\n<p>\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0443\u0436\u0435 \u0440\u0430\u0441\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043f\u043e \u043a\u0432\u043e\u0442\u0430\u043c, \u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f?<\/p>\n<\/blockquote>\n<p>\u0417\u0430 \u043a\u0430\u0436\u0434\u044b\u043c \u0442\u0430\u043a\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0441\u0438\u0441\u0442\u0435\u043c: Kubernetes, VictoriaMetrics, Elasticsearch, GitLab, Grafana, GSLB, edge-\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f, \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0440\u0435\u0435\u0441\u0442\u0440 \u0440\u0430\u0431\u043e\u0442 \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0432 \u0447\u0430\u0442\u0435.<\/p>\n<p>Natural language \u0437\u0434\u0435\u0441\u044c \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u043d\u0435 \u043a\u0430\u043a \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d API. \u041e\u043d \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f front-end \u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c \u0441 \u0440\u0430\u0437\u043d\u043e\u0439 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u043e\u0439. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c planner\u2019\u0443. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0437 \u043d\u0435\u0433\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438:<\/p>\n<pre><code>environment: dc-anamespace: paymentssubject: request_traceobject: service-arequest_id: 7f9...c21time:  at: 2026-07-20 14:11 MSK  window: \u00b115mmode: historical<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u042f\u0432\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0438\u043b\u044c\u043d\u0435\u0435 \u043f\u0430\u043c\u044f\u0442\u0438. \u0424\u0440\u0430\u0437\u0430 \u00ab\u0442\u0435\u043f\u0435\u0440\u044c \u0432 dc-b\u00bb \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c <code>environment<\/code>, \u0430 \u0441\u043b\u043e\u0432\u043e \u00ab\u0441\u0435\u0439\u0447\u0430\u0441\u00bb \u2014 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 <code>at<\/code>.<\/p>\n<p>\u042d\u0442\u043e \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u043c, \u043f\u043e\u043a\u0430 \u0431\u043e\u0442 \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 <code>dc-a<\/code> \u0432 \u043e\u0442\u0432\u0435\u0442\u0435 \u043f\u0440\u043e <code>dc-b<\/code>.<\/p>\n<h3>\u041f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f: tools \u0435\u0441\u0442\u044c, \u043e\u0442\u0432\u0435\u0442\u0430 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0435\u0442<\/h3>\n<p>\u041f\u0435\u0440\u0432\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0431\u044b\u043b\u0430 \u043e\u0431\u044b\u0447\u043d\u044b\u043c ReAct-\u0446\u0438\u043a\u043b\u043e\u043c:<\/p>\n<pre><code>user question    \u2193LLM chooses a tool    \u2193tool returns text    \u2193LLM decides whether to call another tool    \u2193final answer<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041d\u0430 \u0434\u0435\u043c\u043e \u0432\u0441\u0451 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u043e \u0445\u043e\u0440\u043e\u0448\u043e. \u041c\u043e\u0434\u0435\u043b\u044c \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0430 \u043f\u043e\u0434\u044b, \u0447\u0438\u0442\u0430\u043b\u0430 \u043b\u043e\u0433\u0438 \u0438 \u0441\u0442\u0440\u043e\u0438\u043b\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0438\u0430\u043b\u043e\u0433\u0430\u0445 \u043d\u0430\u0447\u0430\u043b\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c\u0441\u044f \u043f\u044f\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043e\u0448\u0438\u0431\u043e\u043a.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041e\u0448\u0438\u0431\u043a\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u043e\u0447\u0435\u043c\u0443 \u043e\u043f\u0430\u0441\u043d\u043e<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 scope<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0442\u043e\u0440\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043c\u0435\u043d\u044f\u043b \u0426\u041e\u0414, \u043d\u043e \u043e\u0442\u0432\u0435\u0442 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b \u0447\u0438\u0441\u043b\u0430 \u043f\u0435\u0440\u0432\u043e\u0433\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0442\u0432\u0435\u0442 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u0443, \u043d\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u0439 canary rollout \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u043b\u0441\u044f \u0432 \u00abcanary \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0435\u0439\u0447\u0430\u0441\u00bb<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0431\u044a\u0435\u043a\u0442 \u043f\u043e\u0441\u043b\u0435 rollout \u0443\u0436\u0435 \u043c\u043e\u0433 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0451\u043d<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0432\u0435\u0440\u043d\u0443\u043b \u043f\u0443\u0441\u0442\u043e, \u0431\u043e\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u00ab\u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0435\u0442\u00bb<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0443\u0441\u0442\u043e \u043c\u043e\u0433\u043b\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 env \u0438\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u043e\u0442\u0435\u0440\u044f evidence<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0430\u043a\u0435\u0442 \u043e\u0431\u0440\u0435\u0437\u0430\u043b\u0441\u044f \u0447\u0435\u0440\u0435\u0437 head\/tail<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0418\u0437 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b \u0438\u0441\u0447\u0435\u0437\u0430\u043b \u0446\u0435\u043b\u044b\u0439 \u0426\u041e\u0414 \u0438\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u043f\u0435\u0440\u0435\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435 LLM \u0437\u0430\u043d\u043e\u0432\u043e \u0440\u0435\u0448\u0430\u043b\u0430, \u0447\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0448\u043b\u0438 \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u0446\u0435\u043f\u043e\u0447\u043a\u0430\u043c \u0438 \u0434\u0430\u0432\u0430\u043b\u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0411\u044b\u043b\u0430 \u0438 \u043c\u0435\u043d\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b tool \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0438\u0441\u044c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438, \u043d\u043e \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e schema. \u041c\u043e\u0434\u0435\u043b\u044c \u043c\u043e\u0433\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u043f\u043e\u043b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u0442\u0430\u043a, \u0431\u0443\u0434\u0442\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0431\u044b\u043b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d.<\/p>\n<p>\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u044d\u0442\u043e \u043d\u043e\u0432\u044b\u043c\u0438 \u0444\u0440\u0430\u0437\u0430\u043c\u0438 \u0432 system prompt \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e. \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c, \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u043e\u0434\u043e\u043c.<\/p>\n<h3>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430: LLM \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0430 \u043d\u0435 \u0432\u043e\u043a\u0440\u0443\u0433 \u043d\u0435\u0451<\/h3>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439 \u043f\u0443\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0442\u0430\u043b \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code>Mattermost \/ fallback web chat              \u2193      Context State V2 env \u00b7 namespace \u00b7 object \u00b7 time \u00b7 subject              \u2193 Question and evidence planner objectives \u00b7 alternatives \u00b7 stop conditions              \u2193   Tool router and policy gate schema \u00b7 access \u00b7 freshness \u00b7 history              \u2193 Executor + workspace + infra graph parallel calls \u00b7 full artifacts \u00b7 relations              \u2193          Finalizer facts \u00b7 uncertainty \u00b7 gaps \u00b7 links<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>LLM \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u0430. \u041e\u043d\u0430 \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u043d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044e \u0434\u043b\u044f \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u043a\u0435\u0439\u0441\u0430 \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u043a\u0442\u044b. \u041d\u043e \u043e\u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u043b\u044f \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b \u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430;<\/p>\n<\/li>\n<li>\n<p>\u043a\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d tool;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u0443\u0441\u0442\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442;<\/p>\n<\/li>\n<li>\n<p>\u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c snapshot \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u00ab\u0441\u0435\u0439\u0447\u0430\u0441\u00bb;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0431\u0440\u0430\u043d\u043e \u043b\u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 evidence;<\/p>\n<\/li>\n<li>\n<p>\u043a\u0430\u043a\u043e\u0439 environment \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0443\u0449\u0438\u043c;<\/p>\n<\/li>\n<li>\n<p>\u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u043f\u043e \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u043c\u0443 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443.<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u0438 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/bf\/48\/b3\/bf48b3e71b3df38a1b89244e000e0ab3.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/bf\/48\/b3\/bf48b3e71b3df38a1b89244e000e0ab3.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/bf\/48\/b3\/bf48b3e71b3df38a1b89244e000e0ab3.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p> ![\u041e\u0431\u0435\u0437\u043b\u0438\u0447\u0435\u043d\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0430\u0433\u0435\u043d\u0442\u0430](deck-assets\/article-architecture-anon.png) <\/p>\n<h3>\u041a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0432\u0430\u0436\u043d\u0435\u0435 \u0435\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f<\/h3>\n<p>JSON Schema \u0440\u0435\u0448\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u0437\u0430\u0434\u0430\u0447\u0438. \u041e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c <code>required<\/code>, \u0442\u0438\u043f\u044b, <code>enum<\/code>, \u0444\u043e\u0440\u043c\u0430\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u043b\u044f. \u041d\u043e \u0438\u0437 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 schema \u0430\u0433\u0435\u043d\u0442 \u043d\u0435 \u0443\u0437\u043d\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u044d\u0442\u043e live-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u043b\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u043a\u0430\u043a\u043e\u0439 timestamp \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043b\u0438 \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u00ab\u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e\u00bb;<\/p>\n<\/li>\n<li>\n<p>\u043c\u043e\u0436\u0435\u0442 \u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430;<\/p>\n<\/li>\n<li>\n<p>\u043a\u0430\u043a\u0438\u0435 evidence-objectives \u043e\u043d \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442;<\/p>\n<\/li>\n<li>\n<p>read-only \u043b\u0438 \u043e\u043d \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a MCP-tool \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0441\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 <code>x-agent<\/code>.<\/p>\n<pre><code class=\"json\">{  \"type\": \"object\",  \"required\": [\"env\", \"namespace\", \"workload\"],  \"additionalProperties\": false,  \"properties\": {    \"env\": {      \"type\": \"string\",      \"enum\": [\"dc-a\", \"dc-b\", \"stage\"]    },    \"namespace\": {\"type\": \"string\"},    \"workload\": {\"type\": \"string\"}  },  \"x-agent\": {    \"evidence\": [\"k8s.pod_status\"],    \"sources\": [\"kube-state-metrics\"],    \"output_kind\": \"workload_status\",    \"freshness\": \"observed_at from source\",    \"negative_semantics\": \"empty means no matches only in queried scope\",    \"supports_history\": false,    \"current_only\": true,    \"read_only\": true,    \"admin_only\": false  }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u0430\u0436\u0435\u043d <code>negative_semantics<\/code>. \u041f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u043a\u0442 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442: \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0432\u0435\u0440\u043d\u0443\u043b pod \u0432 <code>CrashLoopBackOff<\/code>. \u0421 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0432\u0441\u0451 \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u00ab\u0421\u0442\u0440\u043e\u043a \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e\u00bb \u043c\u043e\u0436\u0435\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c:<\/p>\n<ol>\n<li>\n<p>\u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c \u043e\u043a\u043d\u0435;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0435\u0432\u0435\u0440\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d \u0438\u043d\u0434\u0435\u043a\u0441;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f;<\/p>\n<\/li>\n<li>\n<p>\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0432\u0435\u0440\u043d\u0443\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u044b\u0435 300 \u0441\u0442\u0440\u043e\u043a;<\/p>\n<\/li>\n<li>\n<p>\u0437\u0430\u043f\u0440\u043e\u0441 \u0443\u043f\u0430\u043b, \u043d\u043e workflow \u0437\u0430\u0432\u0435\u0440\u043d\u0443\u043b \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u043f\u0443\u0441\u0442\u043e\u0439 \u043c\u0430\u0441\u0441\u0438\u0432.<\/p>\n<\/li>\n<\/ol>\n<p>\u0411\u0435\u0437 \u044f\u0432\u043d\u043e\u0439 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0438 \u0430\u0433\u0435\u043d\u0442 \u043f\u043e\u0447\u0442\u0438 \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u043d\u0430\u0447\u043d\u0451\u0442 \u043f\u0443\u0442\u0430\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0441 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e\u043c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f.<\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0442\u043e\u0436\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f:<\/p>\n<pre><code class=\"json\">{  \"status\": \"ok\",  \"scope\": {    \"env\": \"dc-a\",    \"namespace\": \"payments\",    \"object\": \"service-a\"  },  \"observed_at\": \"2026-07-20T14:12:03+03:00\",  \"entities\": [],  \"relations\": [],  \"coverage\": {    \"source\": \"kube-state-metrics\",    \"complete_for_negative\": true  },  \"facts\": [],  \"warnings\": []}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>Capability \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e tool \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0443\u043c\u0435\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c. \u0422\u043e\u043b\u044c\u043a\u043e runtime coverage \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u043b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u043b\u043d\u043e.<\/p>\n<h3>\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0430 \u043d\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f tools<\/h3>\n<p>\u0421\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 ReAct-\u0446\u0438\u043a\u043b \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043d\u0430\u0447\u0438\u043d\u0430\u043b \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043d\u043e\u0432\u043e. Forced route \u0443\u043b\u0443\u0447\u0448\u0430\u043b \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c, \u043d\u043e \u043c\u043e\u0433 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u043e\u0431\u043e\u0439 \u0432\u0435\u0441\u044c \u043f\u043b\u0430\u043d. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u043b\u0441\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e, \u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0441\u044f \u0437\u0430\u043a\u0440\u044b\u0442 \u043b\u0438\u0448\u044c \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c planner \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u0440\u043e\u0438\u0442 objectives:<\/p>\n<pre><code class=\"yaml\">question: \"\u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442\u0434\u0430\u0432\u0430\u043b 502?\"objectives:  - symptom.http_502  - route.edge_to_ingress  - route.ingress_to_service  - k8s.ready_endpoints  - backend.failure_domain  - node.network_health  - changes.before_incidentcausality:  - later_event_cannot_explain_earlier_symptom  - weak_signal_requires_time_and_peer_correlationstop:  - every_required_objective_is_resolved_or_explicitly_unavailable<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0423 objective \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432. \u0421\u0442\u0430\u0442\u0443\u0441 workload \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c Kubernetes-tool \u0438\u043b\u0438 composite workflow. \u041e\u0448\u0438\u0431\u043a\u0438 5xx \u2014 \u0438\u0437 ingress metrics \u0438\u043b\u0438 access logs. Planner \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a, \u043d\u043e \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0430\u0432\u0430 \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u0432\u0435\u0441\u044c objective \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u0443\u0434\u043e\u0431\u043d\u044b\u0439 tool \u0432\u0435\u0440\u043d\u0443\u043b <code>ok<\/code>.<\/p>\n<p>Evidence guard \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u043f\u0440\u0435\u0436\u0434\u0435\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 final. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d \u043d\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0430\u0433\u0435\u043d\u0442\u0430 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0432\u044b\u0437\u043e\u0432: \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u043e\u043c\u0435\u0447\u0430\u0435\u0442\u0441\u044f unavailable, \u0430 \u043f\u0440\u043e\u0431\u0435\u043b \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u043e\u0442\u0432\u0435\u0442.<\/p>\n<h3>\u041a\u0430\u043a \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u0435\u0441\u044c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0441\u0440\u0430\u0437\u0443<\/h3>\n<p>\u0414\u0430\u0436\u0435 \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u0435\u043d, \u0435\u0441\u043b\u0438 \u0432 prompt \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 schemas. \u041c\u043e\u0434\u0435\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u043f\u0443\u0442\u0430\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u0442\u0435\u0441\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c API.<\/p>\n<p>\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0443\u043f\u0435\u043d\u0435\u0439:<\/p>\n<pre><code>all discovered tools        \u2193 policy and contract admissionallowed read-only tools        \u2193 lexical prefilterup to 30 candidates        \u2193 LLM reranktop 8 for the current question        \u2193 objective relevance gatetools allowed for the unresolved objective<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0414\u043b\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0440\u0438\u0441\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 intents \u0435\u0441\u0442\u044c deterministic pre-route: \u0442\u043e\u0447\u043d\u044b\u0439 alert URL, <code>request_id<\/code>, \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c workload \u0438\u043b\u0438 live status \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 \u0443\u0434\u0430\u0447\u0438 \u0440\u0430\u043d\u043a\u0435\u0440\u0430. \u0414\u043b\u044f \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 planner. \u0415\u0441\u043b\u0438 LLM-rerank \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f timeout \u0438\u043b\u0438 \u043d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u044b\u043c JSON, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f lexical fallback.<\/p>\n<p>\u0422\u0430\u043a \u0440\u0430\u043d\u043a\u0435\u0440 \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u043f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433, \u043d\u043e \u043d\u0435 \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u0442 question plan. Tool \u0441 \u0432\u044b\u0441\u043e\u043a\u0438\u043c score \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e objective.<\/p>\n<p>\u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0433\u0440\u0430\u0444, \u0430 \u043d\u0435 \u043e\u0434\u043d\u0430 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u0430. \u0412 \u043e\u0434\u043d\u043e\u043c \u043f\u0435\u0440\u0438\u043c\u0435\u0442\u0440\u0435 \u0432\u0445\u043e\u0434 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 GSLB, \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u2014 \u0441 edge; \u043c\u0435\u0436\u0434\u0443 Service \u0438 workload \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c Canary, \u0430 PVE \u0435\u0441\u0442\u044c \u043d\u0435 \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. <code>Observed relation<\/code> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0430\u043a\u0442\u043e\u043c \u0441 source \u0438 <code>observed_at<\/code>, <code>inferred relation<\/code> \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438.<\/p>\n<h3>\u0411\u043e\u043b\u044c\u0448\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0436\u0438\u0442\u044c \u0432 prompt<\/h3>\n<p>\u041b\u043e\u0433\u0438 \u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u0438 \u0441\u043e\u0442\u043d\u0438 \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442. \u0415\u0441\u043b\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044e, \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0445\u0443\u0436\u0435 \u0432\u0438\u0434\u0435\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443. \u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u0440\u0435\u0437\u0430\u0442\u044c \u043e\u0431\u0449\u0438\u0439 \u043f\u0430\u043a\u0435\u0442, \u0438\u0441\u0447\u0435\u0437\u0430\u044e\u0442 \u0446\u0435\u043b\u044b\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f.<\/p>\n<p>\u042f \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u043b \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0434\u0432\u0430 \u0441\u043b\u043e\u044f:<\/p>\n<ul>\n<li>\n<p><strong>workspace<\/strong> \u0445\u0440\u0430\u043d\u0438\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e turn;<\/p>\n<\/li>\n<li>\n<p><strong>evidence packet<\/strong> \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u043e\u0434\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0430\u0434\u0440\u0435\u0441\u043d\u043e \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c workspace: \u043d\u0430\u0439\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e <code>request_id<\/code>, \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043a\u0443\u0441\u043e\u043a \u0438\u043b\u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u0424\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 budget \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\u043c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0435\u0441\u044f\u0442\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 \u043d\u0435 \u0432\u044b\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442 \u043f\u044f\u0442\u044b\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437-\u0437\u0430 \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430.<\/p>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 raw \u043d\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0434\u043e\u043b\u0433\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. \u041f\u043e\u0441\u043b\u0435 turn \u043e\u043d \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d, \u0430 \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u0435\u0441\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<h3>\u0420\u0430\u0437\u0431\u043e\u0440 \u0442\u043e\u0433\u043e \u0441\u0430\u043c\u043e\u0433\u043e 502<\/h3>\n<p>\u0412\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0443.<\/p>\n<h4>1. \u0421\u0438\u043c\u043f\u0442\u043e\u043c<\/h4>\n<p>Edge access log \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b:<\/p>\n<pre><code>status=502upstream_status=502request_id=7f9...c21upstream=&lt;ingress-vip&gt;:443<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0442\u043e\u0442 \u0436\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u043b\u0441\u044f redirect\u2019\u043e\u043c:<\/p>\n<pre><code>status=302duration=230ms<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u042d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u0435. \u041b\u043e\u0433 handler\u2019\u0430 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043b\u043e \u043e\u0442\u0432\u0435\u0442. \u041e\u043d \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e proxy \u0441\u043c\u043e\u0433 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u043e\u0442\u0432\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0443.<\/p>\n<h4>2. \u0422\u043e\u0447\u043d\u044b\u0439 error log, \u0430 \u043d\u0435 \u043e\u0431\u0449\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 5xx<\/h4>\n<p>\u041f\u043e\u0438\u0441\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e <code>request_id<\/code> \u043d\u0430\u0448\u0451\u043b access-\u0441\u0442\u0440\u043e\u043a\u0443, \u043d\u043e \u043d\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u043b \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435. Error log \u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043b <code>request_id<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e:<\/p>\n<ul>\n<li>\n<p>\u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f Angie;<\/p>\n<\/li>\n<li>\n<p>\u0442\u043e\u043c\u0443 \u0436\u0435 host \u0438 path;<\/p>\n<\/li>\n<li>\n<p>\u0443\u0437\u043a\u043e\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c\u0443 \u043e\u043a\u043d\u0443 \u043e\u043a\u043e\u043b\u043e 2,5 \u0441\u0435\u043a\u0443\u043d\u0434\u044b.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0431\u044b\u043b\u043e:<\/p>\n<pre><code>upstream sent too big header while reading response header from upstream<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e <code>502<\/code> \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b \u0431\u044b\u0442\u044c \u043e\u0431\u0449\u0435\u0439 \u00ab\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u043c\u0435\u0436\u0434\u0443 proxy \u0438 backend\u00bb. Angie \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0438 \u043d\u0430\u0447\u0430\u043b \u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442, \u043d\u043e \u043d\u0435 \u0441\u043c\u043e\u0433 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c response headers \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u043c \u0431\u0443\u0444\u0435\u0440\u0435.<\/p>\n<h4>3. \u0427\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043c<\/h4>\n<p>Access log \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u043b <code>upstream_redirect_location<\/code>. \u041f\u043e\u0441\u043b\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f query-\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438\u0437 \u043e\u0442\u0447\u0451\u0442\u0430 \u0430\u0433\u0435\u043d\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c URL \u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f: 1191 \u0431\u0430\u0439\u0442. \u0412 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043e\u0442\u0432\u0435\u0442 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043b \u0434\u043b\u0438\u043d\u043d\u044b\u0439 <code>Content-Security-Policy<\/code> \u0438 \u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f <code>X-Frame-Options<\/code>.<\/p>\n<pre><code>Content-Security-Policy: frame-ancestors &lt;\u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043c\u0435\u043d\u043e\u0432&gt;Location: https:\/\/example\/...\/&lt;signed-path&gt;?&lt;long-query&gt;X-Frame-Options: ALLOW-FROM &lt;domain-a&gt;X-Frame-Options: ALLOW-FROM &lt;domain-b&gt;...<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u0434\u0438\u043d \u0434\u043b\u0438\u043d\u043d\u044b\u0439 <code>Location<\/code> \u0435\u0449\u0451 \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043b\u0438\u043c\u0438\u0442 \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u043b \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d: \u0432 \u043e\u0431\u0449\u0438\u0439 \u0431\u043b\u043e\u043a \u0432\u0445\u043e\u0434\u044f\u0442 status line, <code>Location<\/code>, <code>Set-Cookie<\/code> \u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 response headers. \u041d\u043e \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0442\u043e\u0447\u043d\u044b\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c Angie \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u0434\u0438\u0430\u0433\u043d\u043e\u0437\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 <code>response_headers_too_large<\/code>.<\/p>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0442\u0430\u043a\u0438\u043c:<\/p>\n<blockquote>\n<p>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441 \u0441 HTTP 302, \u043d\u043e Angie \u0432\u0435\u0440\u043d\u0443\u043b \u043a\u043b\u0438\u0435\u043d\u0442\u0443 502. \u0412 error log \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0436\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e <code>upstream sent too big header<\/code>. \u041f\u0440\u0438\u0447\u0438\u043d\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u0435 response headers, \u0430 \u043d\u0435 \u0432 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 endpoints.<\/p>\n<\/blockquote>\n<p>\u0418 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0442\u043e\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0438 \u0443\u0431\u0440\u0430\u0442\u044c \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0439 <code>Location<\/code> \u0438\u043b\u0438 <code>Set-Cookie<\/code>; <code>proxy_buffer_size<\/code> \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u0446\u0435\u043d\u043a\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0438 \u0446\u0435\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430.<\/p>\n<h4>4. \u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u0435\u0440\u0432\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0431\u044b\u043b \u043e\u043f\u0430\u0441\u0435\u043d<\/h4>\n<p>\u0424\u0440\u0430\u0437\u0430 \u00ab\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u043b\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u00bb \u043b\u0435\u0433\u043a\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043b\u043e\u0436\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u00ab\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0438 \u043f\u0440\u0438 \u0447\u0451\u043c\u00bb. \u041d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u0442 \u0438 \u043a\u043e\u0434, \u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u043e\u0442\u0432\u0435\u0442\u0430. \u041d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0435 proxy \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0434\u043b\u044f handler\u2019\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438.<\/p>\n<p>\u0415\u0449\u0451 \u0445\u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u0431\u0449\u0438\u0439 flow \u043f\u043e endpoints, pod health \u0438 node metrics. \u041e\u043d \u0441\u043e\u0431\u0440\u0430\u043b \u0431\u044b \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u0432\u0434\u0438\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u043d\u0435 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043a \u043f\u0440\u0438\u0447\u0438\u043d\u0435.<\/p>\n<p>\u0414\u043b\u044f \u0442\u043e\u0447\u043d\u043e\u0433\u043e <code>request_id<\/code> \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u0445\u043e\u0434:<\/p>\n<pre><code>edge access by request_id        \u2193same connection + host + path + narrow time        \u2193edge error log        \u2193application completion log        \u2193classified mismatch and bounded recommendation<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>Workflow \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e <code>too big header<\/code>, \u043d\u043e \u0438 timeout, reset, connection refused, premature close, invalid header \u0438 upstream TLS. \u0415\u0441\u043b\u0438 error log \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d, \u043e\u043d \u043d\u0435 \u0432\u044b\u0434\u0430\u0451\u0442 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c\u0443\u044e \u043f\u0440\u0438\u0447\u0438\u043d\u0443 \u0437\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0443\u044e.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/83\/a9\/3d\/83a93ddf0e8495f316a2cc070fae60ca.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/83\/a9\/3d\/83a93ddf0e8495f316a2cc070fae60ca.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/83\/a9\/3d\/83a93ddf0e8495f316a2cc070fae60ca.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p> ![Evaluation-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0440\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f application redirect \u0438 edge 502](deck-assets\/eval-request-header-anon.png) <\/p>\n<h3>\u0422\u043e\u0442 \u0436\u0435 502, \u0434\u0440\u0443\u0433\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430<\/h3>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u043d\u0430\u0447\u0430\u043b\u0441\u044f \u0431\u0435\u0437 \u0442\u043e\u0447\u043d\u043e\u0433\u043e <code>request_id<\/code>: \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0432\u044b\u0440\u043e\u0441\u043b\u0438 <code>502<\/code> \u0443 \u0434\u0432\u0443\u0445 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 workload. \u0423 \u043d\u0438\u0445 \u043d\u0435 \u0431\u044b\u043b\u043e \u043e\u0431\u0449\u0435\u0439 \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0438, \u0437\u0430\u0442\u043e pods \u0436\u0438\u043b\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c node pool.<\/p>\n<p>\u041d\u0430 \u043e\u0434\u043d\u043e\u0439 worker-\u043d\u043e\u0434\u0435 \u0432 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0445 \u043e\u043a\u043d\u0430\u0445 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u043b\u0438\u0441\u044c softnet squeezes \u0438 TCP retransmits, \u0430 peer-\u043d\u043e\u0434\u044b \u0431\u044b\u043b\u0438 \u0447\u0438\u0441\u0442\u044b\u043c\u0438. \u0418\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c \u0441\u0432\u044f\u0437\u0430\u043b Kubernetes node \u0441 VM \u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u043c hypervisor.<\/p>\n<pre><code>service-a \u2500\u2510           \u251c\u2500\u2192 worker-04 \u2192 VM-481 \u2192 hypervisor-04service-b \u2500\u2518<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u0441\u0438\u043b\u044c\u043d\u044b\u043c evidence \u0441\u0442\u0430\u043b\u0430 \u043d\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0430, \u0430 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u0438, peer comparison \u0438 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0414\u0430\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0430\u0433\u0435\u043d\u0442 \u043d\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u043b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 <code>virtio<\/code>, IRQ\/RPS \u0438\u043b\u0438 <code>sysctl<\/code>: \u0434\u043b\u044f \u043d\u0435\u0451 \u043d\u0435 \u0431\u044b\u043b\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430.<\/p>\n<p>\u0414\u0432\u0430 \u043a\u0435\u0439\u0441\u0430 \u0432\u0430\u0436\u043d\u044b \u0432\u043c\u0435\u0441\u0442\u0435. <code>502<\/code> \u2014 \u044d\u0442\u043e \u0441\u0438\u043c\u043f\u0442\u043e\u043c, \u0430 \u043d\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043f\u043b\u0430\u043d. \u0422\u043e\u0447\u043d\u044b\u0439 <code>request_id<\/code> \u0432\u0435\u0434\u0451\u0442 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432 \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 access\/error logs; \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u0439 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0432\u0441\u043f\u043b\u0435\u0441\u043a \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, endpoints \u0438 failure domains.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/9a\/0b\/16\/9a0b1649b16edb12b6fc27d8566b468d.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/9a\/0b\/16\/9a0b1649b16edb12b6fc27d8566b468d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/9a\/0b\/16\/9a0b1649b16edb12b6fc27d8566b468d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p> ![Evaluation-\u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 502 \u0434\u043e worker-\u043d\u043e\u0434\u044b \u0438 VM](deck-assets\/eval-502-anon.png) <\/p>\n<h3>\u0412\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u043a\u0435\u0439\u0441: \u043a\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u0435\u043f\u043b\u043e\u0438\u043b<\/h3>\n<p>\u0414\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0437\u0432\u0443\u0447\u0430\u043b \u043f\u0440\u043e\u0449\u0435:<\/p>\n<blockquote>\n<p>\u041a\u0442\u043e \u0432\u0447\u0435\u0440\u0430 \u0432\u044b\u043a\u0430\u0442\u044b\u0432\u0430\u043b service-c \u0432 dc-b?<\/p>\n<\/blockquote>\n<p>\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0430\u0433\u0435\u043d\u0442 \u043d\u0430\u0448\u0451\u043b GitLab job, Kubernetes audit \u0438 commit, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043b \u0432\u0441\u0451 \u0432 \u043e\u0434\u043d\u0443 \u0444\u0440\u0430\u0437\u0443: \u00ab\u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u0435\u043f\u043b\u043e\u0438\u043b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c X\u00bb. \u0412 \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u043f\u0430\u043b\u043e \u0434\u0430\u0436\u0435 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u043f\u043e username \u0438\u043c\u044f, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0438 \u043e\u0434\u0438\u043d \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u043b.<\/p>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u043e\u043b\u0438:<\/p>\n<ul>\n<li>\n<p><code>job.user<\/code> \u2014 \u043a\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b pipeline \u0438\u043b\u0438 job;<\/p>\n<\/li>\n<li>\n<p>commit author \u2014 \u043a\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435;<\/p>\n<\/li>\n<li>\n<p>Kubernetes audit actor \u2014 \u043a\u0430\u043a\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438\u043b\u0438 ServiceAccount \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u043e\u0431\u044a\u0435\u043a\u0442;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0440\u0443\u0447\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 Deployment \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f CI-\u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438.<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0432\u043f\u0430\u0441\u0442\u044c, \u043d\u043e \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0430 \u043d\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f release timeline \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0438\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 job \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f status, ref, image tag, commit, pipeline \u0438 \u043a\u043b\u0438\u043a\u0430\u0431\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430. \u0420\u0443\u0447\u043d\u043e\u0435 audit-\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0438 \u043d\u0435 \u0438\u0441\u0447\u0435\u0437\u0430\u0435\u0442 \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0440\u044f\u0434\u043e\u043c \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f CI\/CD.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/cb\/95\/d9\/cb95d98ca486a63574dab8ffa97595c6.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/cb\/95\/d9\/cb95d98ca486a63574dab8ffa97595c6.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/cb\/95\/d9\/cb95d98ca486a63574dab8ffa97595c6.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p> ![Evaluation \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043d\u0438\u044f GitLab job, Kubernetes audit \u0438 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f](deck-assets\/eval-release-anon.png) <\/p>\n<h3>\u041f\u0430\u043c\u044f\u0442\u044c: \u0442\u0440\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0434\u043d\u043e\u0433\u043e<\/h3>\n<p>\u0421\u043b\u043e\u0432\u043e \u00ab\u043f\u0430\u043c\u044f\u0442\u044c\u00bb \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043e\u0431\u0449\u0438\u043c. \u0412 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0435\u0441\u0442\u044c \u0442\u0440\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u043b\u043e\u044f.<\/p>\n<h4>\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0442\u0440\u0435\u0434\u0430<\/h4>\n<p>Mattermost \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f source of truth \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0439 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0438. \u041f\u0440\u0438 mention \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0438 \u0431\u043e\u0442 \u0437\u0430\u043d\u043e\u0432\u043e \u0447\u0438\u0442\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0440\u0435\u0434\u0430. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043e\u0442\u0432\u0435\u0442 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u0430 \u043f\u043e\u043c\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a context, \u043d\u043e \u043d\u0435 \u043a\u0430\u043a live evidence.<\/p>\n<h4>\u041a\u043e\u0440\u043e\u0442\u043a\u0430\u044f \u0440\u0430\u0431\u043e\u0447\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c<\/h4>\n<p>\u041e\u043d\u0430 process-local, \u0436\u0438\u0432\u0451\u0442 90 \u043c\u0438\u043d\u0443\u0442, \u0445\u0440\u0430\u043d\u0438\u0442 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 20 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 12 \u041a\u0411 \u0432 prompt. \u041a\u043b\u044e\u0447 \u2014 <code>channel\/root<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0437\u043d\u044b\u0435 \u0442\u0440\u0435\u0434\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430 \u043d\u0435 \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u044e\u0442\u0441\u044f.<\/p>\n<p>\u0423 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f \u0435\u0441\u0442\u044c:<\/p>\n<ul>\n<li>\n<p><code>observed_at<\/code>;<\/p>\n<\/li>\n<li>\n<p>freshness;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u0438\u0437\u043d\u0430\u043a historical;<\/p>\n<\/li>\n<li>\n<p>scope;<\/p>\n<\/li>\n<li>\n<p>subject.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0430\u043c\u044f\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u043e\u0433\u043e follow-up. \u041d\u043e\u0432\u044b\u0439 \u044f\u0432\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 scope \u0435\u0451 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0430 pod \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u0438\u0441\u0447\u0435\u0437\u0430\u0435\u0442. \u042d\u0442\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e: \u0441\u043a\u0440\u044b\u0442\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b tools \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u0432 \u0432\u0435\u0447\u043d\u0443\u044e \u0438\u0441\u0442\u0438\u043d\u0443.<\/p>\n<h4>\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u043e\u0435 operational knowledge<\/h4>\n<p>\u0418\u043d\u043e\u0433\u0434\u0430 \u0432 \u0442\u0440\u0435\u0434\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435, \u043d\u043e \u0432\u0430\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u043d\u0438\u0435: \u0442\u0430\u0440\u0438\u0444, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b, \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 runbook, \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043c\u0435\u0442\u0440\u0430.<\/p>\n<p>\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u0442\u0440\u0435\u0434\u0435 \u00ab\u0437\u0430\u043f\u043e\u043c\u043d\u0438 \u044d\u0442\u043e\u00bb. \u0422\u043e\u0447\u043d\u043e\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u0444\u0440\u0430\u0437\u044b \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f. \u0411\u043e\u0442:<\/p>\n<ol>\n<li>\n<p>\u0447\u0438\u0442\u0430\u0435\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0442\u0440\u0435\u0434\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0431\u0435\u0440\u0451\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u044b\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 Wiki, GitLab \u0438 tracker;<\/p>\n<\/li>\n<li>\n<p>\u0433\u043e\u0442\u043e\u0432\u0438\u0442 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 draft;<\/p>\n<\/li>\n<li>\n<p>\u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0442\u0434\u0435\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u0430 \u0431\u043e\u0442\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ol>\n<p>\u0417\u0430\u043f\u0438\u0441\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0430\u0432\u0442\u043e\u0440\u0430, \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a, \u0432\u0440\u0435\u043c\u044f, scope \u0438 hash \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e. \u042d\u0442\u043e \u043d\u0435 fine-tuning \u0438 \u043d\u0435 \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u043e\u0435 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u0435 system prompt. \u042d\u0442\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0435 runtime-\u0437\u043d\u0430\u043d\u0438\u0435 \u0441 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435\u043c.<\/p>\n<h3>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 skills \u0431\u0435\u0437 \u0440\u0435\u043b\u0438\u0437\u0430 \u044f\u0434\u0440\u0430<\/h3>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043d\u0442\u0443\u0440 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0430\u0433\u0435\u043d\u0442\u0430 \u2014 \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430 n8n \u0434\u043b\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 workflow. \u0412\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u0440\u0430 \u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u0434 \u0431\u043e\u0442\u0430, n8n \u0441\u0442\u0430\u043b \u043e\u0434\u043d\u0438\u043c \u0438\u0437 MCP-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432:<\/p>\n<pre><code>n8n workflow    \u2193input schema + x-agent    \u2193MCP tools\/list    \u2193trusted-source and policy checks    \u2193agent catalog<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>Workflow \u0441 \u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u0442\u0435\u0433\u0430\u043c\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a MCP-tool. \u0412\u0445\u043e\u0434\u044b Execute Workflow Trigger \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u0432 JSON Schema, \u0430 <code>x-agent<\/code> \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0443.<\/p>\n<p>\u0414\u043b\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0433\u043e read-only skill \u043d\u0435 \u043d\u0443\u0436\u0435\u043d \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 <code>if toolName == ...<\/code>:<\/p>\n<ul>\n<li>\n<p><code>read_only=true, admin_only=false<\/code> \u2014 \u0434\u043e\u0441\u0442\u0443\u043f \u0432\u0441\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c;<\/p>\n<\/li>\n<li>\n<p><code>admin_only=true<\/code> \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0435\u0442 \u044f\u0432\u043d\u043e\u0433\u043e <code>read_only=true<\/code> \u2014 fail closed;<\/p>\n<\/li>\n<li>\n<p>mutating tool \u043d\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 read-only \u0440\u0435\u0436\u0438\u043c\u0435.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438. \u0415\u0441\u043b\u0438 MCP \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d, \u0430\u0433\u0435\u043d\u0442 \u0432\u0438\u0434\u0438\u0442 health \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 catalog, \u043d\u0435 \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u044f \u0435\u0433\u043e \u0441 runtime evidence.<\/p>\n<p>MCP \u0437\u0434\u0435\u0441\u044c \u0440\u0435\u0448\u0430\u0435\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0433\u043e ownership. \u041e\u043d \u043d\u0435 \u0440\u0435\u0448\u0430\u0435\u0442 planning, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 <a href=\"https:\/\/arxiv.org\/abs\/2510.19286\" rel=\"noopener noreferrer nofollow\">TheMCPCompany<\/a> \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c 18 \u0442\u044b\u0441\u044f\u0447\u0430\u0445 tools \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u0433\u0440\u0430\u043d\u0438\u0446\u0443: \u0434\u043e\u0441\u0442\u0443\u043f \u043a task-specific tools \u043f\u043e\u043b\u0435\u0437\u0435\u043d, \u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044f \u043f\u043e enterprise-\u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0443 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0442\u0440\u0443\u0434\u043d\u043e\u0439 \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u0441\u0438\u043b\u044c\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439.<\/p>\n<h3>\u041f\u043e\u0447\u0435\u043c\u0443 \u044f \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043b LangChain \u0438 vector DB<\/h3>\n<p>\u041d\u0435 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043e\u043d\u0438 \u043f\u043b\u043e\u0445\u0438\u0435. \u0412 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0435 \u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0438\u0437\u043c\u0435\u0440\u0438\u043c\u043e\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u043a\u0443\u043f\u0438\u043b\u043e \u0431\u044b \u0435\u0449\u0451 \u043e\u0434\u0438\u043d stateful \u0441\u043b\u043e\u0439.<\/p>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0430\u0433\u0435\u043d\u0442\u0430 \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a live-\u0434\u0430\u043d\u043d\u044b\u043c:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0422\u0438\u043f \u0432\u043e\u043f\u0440\u043e\u0441\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041b\u0443\u0447\u0448\u0438\u0439 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043f\u0443\u0442\u044c<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041c\u0435\u0442\u0440\u0438\u043a\u0438, \u043b\u043e\u0433\u0438, audit, status<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u044f\u043c\u043e\u0439 tool \u043a \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443 \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c scope<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\"><code>request_id<\/code>, hostname, job ID, commit SHA<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u043e\u0447\u043d\u044b\u0439 structured\/lexical search<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 operator rules<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u043c\u044b\u0439 ConfigMap<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u0442\u0440\u0435\u0434\u043e\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">Mattermost source of truth + JSONL cache + in-memory index<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u0435\u0440\u0435\u0444\u0440\u0430\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 knowledge-\u0432\u043e\u043f\u0440\u043e\u0441<\/p>\n<\/td>\n<td>\n<p align=\"left\">LLM query expansion, optional rerank<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Vector search \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0441\u0432\u0435\u0436\u0435\u0435 \u0438 \u043d\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442 \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d. \u0414\u043b\u044f \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0431\u043b\u0438\u0437\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u0430\u0436\u0435 \u0432\u0440\u0435\u0434\u043d\u0430.<\/p>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0439 \u0411\u0414 \u0443 \u0430\u0433\u0435\u043d\u0442\u0430 \u0442\u043e\u0436\u0435 \u043d\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0430\u043b\u0435\u0440\u0442\u043e\u0432 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0437 Grafana \u0438 Mattermost;<\/p>\n<\/li>\n<li>\n<p>ops-kb \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 ConfigMap;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0434\u043e\u0431\u0440\u0435\u043d\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0437\u043d\u0430\u043d\u0438\u0439 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u043a\u0430\u043d\u0430\u043b\u0430 \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e JSONL cache;<\/p>\n<\/li>\n<li>\n<p>turn workspace \u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u0436\u0438\u0432\u0443\u0442 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435.<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u043e \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441, \u0430 \u043d\u0435 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f.<\/p>\n<p>\u0415\u0441\u0442\u044c \u0432\u0430\u0436\u043d\u0430\u044f \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430: \u0442\u0435\u043a\u0443\u0449\u0438\u0439 evaluation \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 KB retrieval, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0436\u0438\u0432\u044b\u043c Mattermost\/KB-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 44\/45 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 planner, contracts, context \u0438 tool orchestration, \u043d\u043e <strong>\u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442<\/strong>, \u0447\u0442\u043e lexical retrieval \u0440\u0430\u0432\u0435\u043d \u0438\u043b\u0438 \u043b\u0443\u0447\u0448\u0435 embeddings.<\/p>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442:<\/p>\n<ol>\n<li>\n<p>\u0441\u043e\u0431\u0440\u0430\u0442\u044c 80\u2013150 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043a \u0437\u043d\u0430\u043d\u0438\u044f\u043c;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430\u0437\u043d\u0430\u0447\u0438\u0442\u044c gold entries;<\/p>\n<\/li>\n<li>\n<p>\u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c lexical, lexical + query expansion, vector \u0438 hybrid;<\/p>\n<\/li>\n<li>\n<p>\u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c <code>recall@3<\/code>, <code>precision@3<\/code>, false-context injection \u0438 latency;<\/p>\n<\/li>\n<li>\n<p>\u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c vector layer \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u043e\u043c \u0432\u044b\u0438\u0433\u0440\u044b\u0448\u0435.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 <a href=\"https:\/\/docs.langchain.com\/oss\/python\/langchain\/retrieval\" rel=\"noopener noreferrer nofollow\">LangChain \u043f\u043e retrieval<\/a> \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0431\u0430\u0437\u0443 \u0437\u043d\u0430\u043d\u0438\u0439 \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043a\u0430\u043a tool. \u041d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0432\u0441\u0451 \u0432 \u043d\u043e\u0432\u044b\u0439 vector store.<\/p>\n<h3>Evaluation \u0432\u043c\u0435\u0441\u0442\u043e \u00ab\u0432\u0440\u043e\u0434\u0435 \u0441\u0442\u0430\u043b\u043e \u043b\u0443\u0447\u0448\u0435\u00bb<\/h3>\n<p>Unit-\u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u041e\u043d\u0438 \u043d\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b:<\/p>\n<ul>\n<li>\n<p>\u0432\u044b\u0431\u0435\u0440\u0435\u0442 \u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0443\u0436\u043d\u044b\u0439 tool;<\/p>\n<\/li>\n<li>\n<p>\u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442 \u043b\u0438 environment \u0438\u0437 follow-up;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0435 \u043e\u0431\u044a\u044f\u0432\u0438\u0442 \u043b\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0447\u0438\u0441\u0442\u044b\u043c \u043f\u043e\u0441\u043b\u0435 timeout;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0435\u0442 \u043b\u0438 \u0440\u0443\u0447\u043d\u043e\u0435 audit-\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0432 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0440\u0435\u043b\u0438\u0437\u043e\u0432;<\/p>\n<\/li>\n<li>\n<p>\u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442 \u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u043f\u0443\u0441\u043a.<\/p>\n<\/li>\n<\/ul>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 production-\u0434\u0438\u0430\u043b\u043e\u0433 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 scenario fixture:<\/p>\n<pre><code class=\"yaml\">id: context-env-switch-host-metricsrequired: trueruns: 2thread:  - user: \"\u043f\u043e\u043a\u0430\u0436\u0438 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0442\u0440\u0430\u0444\u0438\u043a \u0432 dc-a\"  - assistant: \"...\"  - user: \"\u043f\u0440\u043e\u0432\u0435\u0440\u044c \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0432 dc-b\"expect:  tools:    - node_metrics(env=dc-b)  answer_contains:    - \"dc-b\"  answer_not_contains:    - stale_value_from_dc_a<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>Harness \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e planner\/finalizer-\u043c\u043e\u0434\u0435\u043b\u044c;<\/p>\n<\/li>\n<li>\n<p>replay \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 tools;<\/p>\n<\/li>\n<li>\n<p>\u0442\u0435 \u0436\u0435 production schemas \u0438 <code>x-agent<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438 optional scenarios;<\/p>\n<\/li>\n<li>\n<p>positive \u0438 negative assertions;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u043e\u043b\u043d\u044b\u0439 \u043e\u0442\u0447\u0451\u0442:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u041c\u0435\u0442\u0440\u0438\u043a\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">45<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">45<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u0440\u043e\u0448\u043b\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">44<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">29\/29<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0417\u0430\u043f\u0443\u0441\u043a\u043e\u0432 \u043a\u0430\u0436\u0434\u043e\u0433\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0420\u0435\u0436\u0438\u043c<\/p>\n<\/td>\n<td>\n<p align=\"left\">real-model \/ replay-tools<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u0432<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 MCP catalog<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/b6\/be\/4f\/b6be4f661359aa77399e7a30c0e0cbc6.png\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/b6\/be\/4f\/b6be4f661359aa77399e7a30c0e0cbc6.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/b6\/be\/4f\/b6be4f661359aa77399e7a30c0e0cbc6.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p> ![\u041e\u0431\u0435\u0437\u043b\u0438\u0447\u0435\u043d\u043d\u0430\u044f \u0441\u0432\u043e\u0434\u043a\u0430 evaluation](deck-assets\/eval-overview-anon.png) <\/p>\n<p>\u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 optional failure \u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0432 \u043e\u0442\u0447\u0451\u0442\u0435. \u041e\u0431\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043b\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430, \u043d\u043e \u043d\u0435 \u043f\u0440\u043e\u0448\u043b\u0438 assertion \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b capacity-\u043e\u0442\u0432\u0435\u0442\u0430. \u0421\u043a\u0440\u044b\u0442\u044c \u0435\u0433\u043e \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c 45\/45 \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u0440\u043e\u0449\u0435, \u043d\u043e \u0442\u043e\u0433\u0434\u0430 \u0441\u0430\u043c evaluation \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0441\u044f \u0431\u044b \u0432 \u0434\u0435\u043a\u043e\u0440\u0430\u0446\u0438\u044e.<\/p>\n<p>\u0422\u043e\u0447\u043d\u044b\u0439 request trace \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c header \u0437\u0430\u043d\u0438\u043c\u0430\u043b 8,49 \u0438 8,08 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u041e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 backend-node 502-\u043a\u0435\u0439\u0441 \u2014 4,38 \u0438 4,16 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u0414\u043b\u044f \u0446\u0435\u043f\u043e\u0447\u043a\u0438 GitLab job \u2192 Kubernetes audit \u2192 FailedMount \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u043e\u0441\u044c 9,65 \u0438 8,25 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u042d\u0442\u043e \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u00ab\u0430\u0433\u0435\u043d\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430 \u0432 N \u0440\u0430\u0437\u00bb: \u0440\u0443\u0447\u043d\u043e\u0439 baseline \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 \u043d\u0430\u0431\u043e\u0440\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u0438\u0437\u043c\u0435\u0440\u044f\u043b\u0441\u044f, \u0430 latency \u0436\u0438\u0432\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0432 replay \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442.<\/p>\n<p>\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441\u043a\u0440\u043e\u043c\u043d\u0435\u0435, \u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0435\u0435: \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u0441\u0442\u0435\u043c \u0441\u0432\u0435\u0434\u0435\u043d\u044b \u0432 \u043e\u0434\u0438\u043d natural-language \u0437\u0430\u043f\u0440\u043e\u0441, \u0430 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u0432\u0435\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438.<\/p>\n<h3>\u041a\u0430\u043a \u0437\u0434\u0435\u0441\u044c \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u0432\u0430\u0439\u0431\u043a\u043e\u0434\u0438\u043d\u0433<\/h3>\n<p>\u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u0432 \u043f\u043b\u043e\u0442\u043d\u043e\u043c \u0434\u0438\u0430\u043b\u043e\u0433\u0435 \u0441 coding agent. \u041d\u043e \u0440\u0430\u0431\u043e\u0447\u0430\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0431\u044b\u043b\u0430 \u043d\u0435 \u00ab\u043f\u0440\u043e\u043c\u043f\u0442 \u2192 \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0444\u0438\u0447\u0430\u00bb.<\/p>\n<p>\u041e\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0430 \u0442\u0430\u043a:<\/p>\n<pre><code>\u043f\u043b\u043e\u0445\u043e\u0439 production-\u043e\u0442\u0432\u0435\u0442    \u2193\u043a\u043b\u0430\u0441\u0441 \u043e\u0448\u0438\u0431\u043a\u0438    \u2193\u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442    \u2193\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f    \u2193patch + unit tests    \u2193real-model eval    \u2193\u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0439 production-\u043a\u0435\u0439\u0441<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<ul>\n<li>\n<p>\u00ab\u0431\u043e\u0442 \u0432\u0437\u044f\u043b \u0447\u0438\u0441\u043b\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0426\u041e\u0414\u0430\u00bb \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u043e\u0441\u044c \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u043e <code>explicit current scope &gt; memory<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u00ab\u0443\u0441\u043f\u0435\u0448\u043d\u044b\u0439 rollout \u043d\u0430\u0437\u0432\u0430\u043d \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u043c\u00bb \u2014 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 historical\/current-only;<\/p>\n<\/li>\n<li>\n<p>\u00ab\u0438\u0437 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b \u043f\u0440\u043e\u043f\u0430\u043b \u043e\u0434\u0438\u043d \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u00bb \u2014 \u0432 workspace \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 evidence budget;<\/p>\n<\/li>\n<li>\n<p>\u00ab\u043d\u043e\u0432\u044b\u0439 n8n skill \u043d\u0435 \u0432\u0438\u0434\u0435\u043d\u00bb \u2014 \u0432 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 admission \u043f\u043e <code>x-agent<\/code>, \u0430 \u043d\u0435 hardcoded whitelist;<\/p>\n<\/li>\n<li>\n<p>\u00ab\u043e\u0442\u0432\u0435\u0442 \u043f\u0440\u043e \u0440\u0435\u043b\u0438\u0437 \u043f\u043e\u0442\u0435\u0440\u044f\u043b \u0440\u0443\u0447\u043d\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 Deployment\u00bb \u2014 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 GitLab job, commit author \u0438 Kubernetes audit actor.<\/p>\n<\/li>\n<\/ul>\n<p>AI \u0445\u043e\u0440\u043e\u0448\u043e \u0443\u0441\u043a\u043e\u0440\u044f\u043b \u043f\u043e\u0438\u0441\u043a \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e fixtures, \u043c\u0435\u0445\u0430\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, HTML-\u043e\u0442\u0447\u0451\u0442\u044b \u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b. \u041c\u043e\u0434\u0435\u043b\u044c \u043e\u0442\u043a\u0430\u0437\u043e\u0432, trust boundaries, \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0438 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0439 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0433\u043e evidence \u043f\u043e\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0438\u0437 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a.<\/p>\n<p>\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442 \u0432\u0430\u0439\u0431\u043a\u043e\u0434\u0438\u043d\u0433\u0430 \u0437\u0434\u0435\u0441\u044c \u2014 \u043d\u0435 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430. \u041e\u043d \u0441\u0434\u0435\u043b\u0430\u043b \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0434\u0435\u0448\u0435\u0432\u043b\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0434\u043a\u0438\u0439 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u043a\u0435\u0439\u0441 \u0441\u0442\u0430\u043b\u043e \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0432 \u043e\u0431\u0449\u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0438 regression scenario, \u0430 \u043d\u0435 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u043c\u0435\u0442\u043a\u043e\u0439 \u00ab\u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0442\u043e\u043c\u00bb.<\/p>\n<h3>Read-only \u0442\u043e\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u0438 \u0443\u0433\u0440\u043e\u0437<\/h3>\n<p>\u0410\u0433\u0435\u043d\u0442 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442 production, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442 \u0435\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u043c.<\/p>\n<h4>Prompt injection<\/h4>\n<p>Tool descriptions, Wiki, \u043b\u043e\u0433\u0438 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b MCP \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u043d\u0435\u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0424\u0440\u0430\u0437\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u043b\u043e\u0433\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u043e\u043b\u044c \u0430\u0433\u0435\u043d\u0442\u0430 \u0438\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0430.<\/p>\n<h4>Access policy<\/h4>\n<p>\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043a\u043e\u0434. \u041d\u0435\u043b\u044c\u0437\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c tool \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u043c, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0432 \u0435\u0433\u043e description \u00ab\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439\u00bb. \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f trusted source, contract metadata, \u0440\u0435\u0436\u0438\u043c \u0430\u0433\u0435\u043d\u0442\u0430 \u0438 \u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<h4>SSRF \u0438 network checker<\/h4>\n<p>\u041e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0439 public host\/IP \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u043f\u043e\u0440\u0442\u0443. CIDR \u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u044b\u0439 \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c. \u041f\u043e\u0441\u043b\u0435 DNS resolution \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e\u0442\u0441\u044f \u0432\u0441\u0435 IP \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441.<\/p>\n<h4>Redaction<\/h4>\n<p>\u0421\u0435\u043a\u0440\u0435\u0442\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, request body, query parameters \u0438 \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u0443\u0434\u0430\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u043e evidence packet, \u043e\u0442\u0447\u0451\u0442\u0430 \u0438 \u0432\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<h4>\u0414\u0435\u0433\u0440\u0430\u0434\u0430\u0446\u0438\u044f<\/h4>\n<p>\u0415\u0441\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0435 \u0443\u0441\u043f\u0435\u043b\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c turn, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 synthesis budget \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u043e\u0442\u0432\u0435\u0442 \u0438\u0437 \u0443\u0436\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u0445 observations \u0438 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0431\u0435\u043b\u044b. Timeout \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0442\u0438\u0440\u0430\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u043a\u0442\u044b \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u043e\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u0439 \u00ab\u0443\u0441\u043f\u0435\u0445\u00bb.<\/p>\n<h3>\u0427\u0442\u043e \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c, \u0430 \u0447\u0442\u043e \u0435\u0449\u0451 \u043d\u0435\u0442<\/h3>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u043d\u0435 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u0430\u0433\u0435\u043d\u0442, \u0430 \u0443\u0437\u043a\u0438\u0439 operational interface:<\/p>\n<ul>\n<li>\n<p>\u043e\u0434\u0438\u043d runtime \u0434\u043b\u044f \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0447\u0430\u0442\u0430 \u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e web UI;<\/p>\n<\/li>\n<li>\n<p>\u0434\u0435\u0441\u044f\u0442\u043a\u0438 read-only \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c MCP catalog;<\/p>\n<\/li>\n<li>\n<p>typed context \u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0439 \u0433\u0440\u0430\u0444 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0443\u0442\u0438 \u0434\u043b\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0440\u0438\u0441\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 intents;<\/p>\n<\/li>\n<li>\n<p>\u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u043c, \u0433\u0434\u0435 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e workflow \u043d\u0435\u0442;<\/p>\n<\/li>\n<li>\n<p>\u043a\u043e\u0440\u043e\u0442\u043a\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u0442\u0440\u0435\u0434\u0430 \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u043c\u043e\u0435 operational knowledge;<\/p>\n<\/li>\n<li>\n<p>real-model evaluation \u043a\u0430\u043a release gate.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u2014 \u0438\u043b\u0438 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 remediation;<\/p>\n<\/li>\n<li>\n<p>packet-level root cause \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0430;<\/p>\n<\/li>\n<li>\n<p>\u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u0440\u0430\u0444 \u0432\u0441\u0435\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e knowledge retrieval \u043d\u0430\u0434 vector\/hybrid;<\/p>\n<\/li>\n<li>\n<p>\u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432 N \u0440\u0430\u0437;<\/p>\n<\/li>\n<li>\n<p>\u0441\u0442\u043e\u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u0430\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e planner.<\/p>\n<\/li>\n<\/ul>\n<p>\u0418 \u044d\u0442\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0433\u0440\u0430\u043d\u0438\u0446\u0430. \u0412 production \u043f\u043e\u043b\u0435\u0437\u043d\u0435\u0435 \u0430\u0433\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0447\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043a\u0440\u044b\u0442\u0438\u0435 \u0438 \u043f\u0440\u043e\u0431\u0435\u043b\u044b, \u0447\u0435\u043c \u0430\u0433\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0435\u0433\u0434\u0430 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c \u0432\u044b\u0432\u043e\u0434\u043e\u043c.<\/p>\n<h3>\u0427\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0431\u0435\u0437 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u043d\u0443\u043b\u044f, \u044f \u0431\u044b \u043d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u043b \u0441\u0440\u0430\u0437\u0443 \u0432\u0441\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438. \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0443\u0442\u044c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<ol>\n<li>\n<p><strong>\u0421\u043e\u0431\u0440\u0430\u0442\u044c 10\u201320 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043f\u043b\u043e\u0445\u0438\u0445 \u043e\u0442\u0432\u0435\u0442\u043e\u0432.<\/strong> \u041d\u0435 synthetic demo, \u0430 \u0441\u043b\u0443\u0447\u0430\u0438, \u0433\u0434\u0435 \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u0435\u0448\u0430\u043b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0443.<\/p>\n<\/li>\n<li>\n<p><strong>\u041e\u043f\u0438\u0441\u0430\u0442\u044c typed scope.<\/strong> Environment, object, namespace, time \u0438 subject \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0434\u0438\u0430\u043b\u043e\u0433\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u0438\u043d read-only \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439.<\/strong> \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, workload startup \u0438\u043b\u0438 \u0442\u043e\u0447\u043d\u044b\u0439 request trace.<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c schema \u0438 negative semantics.<\/strong> \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 <code>empty<\/code> \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434.<\/p>\n<\/li>\n<li>\n<p><strong>\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c raw \u0438 evidence.<\/strong> \u041f\u043e\u043b\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0438 \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f.<\/p>\n<\/li>\n<li>\n<p><strong>\u0417\u0430\u043f\u0438\u0441\u0430\u0442\u044c stop condition.<\/strong> \u0427\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u043e final \u0438 \u0447\u0442\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0434\u0435\u043b\u0430\u0442\u044c replay fixture.<\/strong> \u0417\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b tools \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0432\u0430\u0436\u0434\u044b.<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 scope.<\/strong> \u0418\u043d\u0430\u0447\u0435 \u043e\u043d\u0430 \u0437\u0430\u043a\u0440\u0435\u043f\u0438\u0442 \u043f\u0435\u0440\u0432\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 follow-up.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 tools \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u0438 fail closed.<\/strong> Description \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c vector DB \u0431\u0435\u0437 retrieval benchmark.<\/strong> \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0438.<\/p>\n<\/li>\n<\/ol>\n<p>\u0422\u0430\u043a \u0443\u0436\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430. RLM, \u0433\u0440\u0430\u0444 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, HTML-\u043e\u0442\u0447\u0451\u0442\u044b \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e\u0437\u0436\u0435, \u043a\u043e\u0433\u0434\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 failure mode \u043e\u043f\u0440\u0430\u0432\u0434\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c.<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0437\u0430\u0431\u0440\u0430\u043b \u0438\u0437 \u044d\u0442\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b<\/h3>\n<ol>\n<li>\n<p><strong>Tool calling \u2014 \u043d\u0430\u0447\u0430\u043b\u043e, \u0430 \u043d\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430.<\/strong> MCP \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0432\u044b\u0437\u043e\u0432, \u043d\u043e \u043d\u0435 \u0440\u0435\u0448\u0430\u0435\u0442 planning, access \u0438 evidence semantics.<\/p>\n<\/li>\n<li>\n<p><strong>Natural language \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f typed state.<\/strong> \u0418\u043d\u0430\u0447\u0435 follow-up \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u043d\u0430\u0447\u043d\u0451\u0442 \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u0432\u0440\u0435\u043c\u044f \u0438 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0443\u0441\u0442\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430.<\/strong> \u0423 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c scope \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u043e\u0435 coverage.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0430\u043c\u044f\u0442\u044c \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f evidence.<\/strong> \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u00ab\u0441\u0435\u0439\u0447\u0430\u0441\u00bb.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430.<\/strong> \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 tool \u2014 \u043b\u0438\u0448\u044c \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0437\u0430\u043a\u0440\u044b\u0442\u044c objective.<\/p>\n<\/li>\n<li>\n<p><strong>\u0411\u043e\u043b\u044c\u0448\u043e\u0439 raw \u043b\u0443\u0447\u0448\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u043d\u0435 prompt.<\/strong> \u041c\u043e\u0434\u0435\u043b\u044c \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f, \u0430 \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 head\/tail.<\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u043e\u0432\u044b\u0439 skill \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u0438 fail closed.<\/strong> \u0418\u043d\u0430\u0447\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u043e\u0432\u044b\u0439 hardcoded whitelist.<\/p>\n<\/li>\n<li>\n<p><strong>Evaluation \u2014 \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430.<\/strong> \u041e\u0434\u0438\u043d \u0443\u0434\u0430\u0447\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u041d\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 vector DB \u0438 \u0430\u0433\u0435\u043d\u0442\u0441\u043a\u043e\u043c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0435.<\/strong> \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u0435\u043d benchmark, \u0437\u0430\u0442\u0435\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u043e\u0439.<\/p>\n<\/li>\n<li>\n<p><strong>\u0412\u0430\u0439\u0431\u043a\u043e\u0434\u0438\u043d\u0433 \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438, \u043d\u043e \u043d\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b.<\/strong><\/p>\n<\/li>\n<\/ol>\n<p>\u0425\u043e\u0440\u043e\u0448\u0438\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u0430\u0433\u0435\u043d\u0442 \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u043d \u0437\u043d\u0430\u0442\u044c \u043e\u0442\u0432\u0435\u0442 \u0437\u0430\u0440\u0430\u043d\u0435\u0435. \u041e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0443\u043c\u0435\u0442\u044c \u0434\u043e\u0439\u0442\u0438 \u0434\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0438 \u043d\u0435 \u0441\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 \u0444\u0430\u043a\u0442\u043e\u043c, \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u043e\u0439 \u0438 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u043c.<\/p>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0430 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0441\u0430\u043c\u043e\u0439 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0447\u0430\u0441\u0442\u044c\u044e \u0440\u0430\u0431\u043e\u0442\u044b.<\/p>\n<hr\/>\n<h3>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/modelcontextprotocol.io\/docs\/learn\/server-concepts\" rel=\"noopener noreferrer nofollow\">Model Context Protocol: server concepts<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.anthropic.com\/engineering\/building-effective-agents\" rel=\"noopener noreferrer nofollow\">Anthropic: Building effective agents<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/arxiv.org\/abs\/2510.19286\" rel=\"noopener noreferrer nofollow\">TheMCPCompany: benchmark task-specific MCP tools<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.langchain.com\/oss\/python\/langchain\/retrieval\" rel=\"noopener noreferrer nofollow\">LangChain: retrieval<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1063404\/\">https:\/\/habr.com\/ru\/articles\/1063404\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442. \u042f \u0434\u0435\u043b\u0430\u044e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e read-only \u0430\u0433\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439: \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u043e \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c production. \u0418\u043d\u0436\u0435\u043d\u0435\u0440 \u043f\u0438\u0448\u0435\u0442 \u0435\u043c\u0443 \u0432 Mattermost \u0438\u043b\u0438 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u043c web-\u0447\u0430\u0442\u0435 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442\u0434\u0430\u0451\u0442 502?\u00bb, \u00ab\u043a\u0442\u043e \u0432\u044b\u043a\u0430\u0442\u0438\u043b \u044d\u0442\u0443 \u0432\u0435\u0440\u0441\u0438\u044e?\u00bb \u0438\u043b\u0438 \u00ab\u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0434 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u043c?\u00bb. \u0410\u0433\u0435\u043d\u0442 \u0441\u0430\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 Kubernetes, VictoriaMetrics, Elasticsearch, GitLab, Grafana, GSLB \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442 \u0441 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430\u043c\u0438 \u0438 \u044f\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438.\u0421\u0430\u043c \u0430\u0433\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Go, \u0431\u0435\u0437 LangChain \u0438 \u0434\u0440\u0443\u0433\u043e\u0433\u043e agent framework. Go-\u043a\u043e\u0434 \u0445\u0440\u0430\u043d\u0438\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043f\u0440\u0430\u0432\u0430 \u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b tools, \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043f\u043b\u0430\u043d \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 evidence \u2014 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 LLM \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043c\u043e\u0434\u0435\u043b\u0438 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c\u0438 \u0432\u0435\u0441\u0430\u043c\u0438 \u0437\u0430 OpenAI-compatible API: DeepSeek-V4-Flash \u0440\u0435\u0448\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c, \u0430 Qwen3.6-27B-FP8 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0438 \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 planning \u043f\u0440\u0438 \u0441\u0431\u043e\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438. \u041d\u0438 \u043e\u0434\u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0435 \u0445\u043e\u0434\u0438\u0442 \u0432 production \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e.\u0432\u043e\u043f\u0440\u043e\u0441 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430      \u2193Go runtime: scope \u00b7 policy \u00b7 memory      \u2193DeepSeek planner \u2192 Go executor \u2192 local\/MCP tools      \u2193Qwen finalizer      \u2193\u0444\u0430\u043a\u0442\u044b \u00b7 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b \u00b7 \u043d\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438\u041e\u0434\u0438\u043d \u0438\u0437 \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432 \u043d\u0430\u0447\u0430\u043b\u0441\u044f \u0441 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0440\u0435\u0447\u0438\u044f.\u0412\u043d\u0435\u0448\u043d\u0438\u0439 Angie \u0437\u0430\u043f\u0438\u0441\u0430\u043b 502. \u0412 \u043b\u043e\u0433\u0430\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u0442 \u0436\u0435 request_id \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0441\u044f \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u043c 302. \u041f\u0435\u0440\u0432\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0431\u043e\u0442\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u0440\u0430\u0437\u0443\u043c\u043d\u043e:\u041d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0435\u0442. \u0417\u0430\u043f\u0440\u043e\u0441 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d, \u043f\u0440\u0438\u0447\u0438\u043d\u0430, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 edge.\u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u0441\u0451 \u0432\u0435\u0440\u043d\u043e. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0442\u0430\u043a\u043e\u0439 \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u0447\u0442\u0438 \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u0435\u043d.\u0412 \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c error log \u0431\u044b\u043b\u0430 \u0442\u043e\u0447\u043d\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430: upstream sent too big header while reading response header from upstream. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043b\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 redirect, \u043d\u043e \u043e\u0431\u0449\u0438\u0439 \u0431\u043b\u043e\u043a response headers \u043d\u0435 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u0441\u044f \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 buffer Angie. \u041e\u0434\u0438\u043d \u0442\u043e\u043b\u044c\u043a\u043e Location \u0437\u0430\u043d\u0438\u043c\u0430\u043b 1191 \u0431\u0430\u0439\u0442. Proxy \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u043b \u043e\u0442\u0432\u0435\u0442 upstream \u0438 \u0432\u0435\u0440\u043d\u0443\u043b \u043a\u043b\u0438\u0435\u043d\u0442\u0443 502.\u041d\u0438 endpoints, \u043d\u0438 Kubernetes-\u043d\u043e\u0434\u0430 \u0432 \u044d\u0442\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u0435 \u043d\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439. \u0412 \u0434\u0440\u0443\u0433\u043e\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u043f\u0438\u0437\u043e\u0434\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 502 \u0443 \u0434\u0432\u0443\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u043e\u0431\u0449\u0435\u0433\u043e failure domain worker-\u043d\u043e\u0434\u044b. \u041e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u0434\u0432\u0443\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439.\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0430\u0433\u0435\u043d\u0442\u0430 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435 \u0432 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0431\u044b\u043b\u043e \u0434\u0430\u0436\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e. \u041e\u043d \u043d\u0435 \u0443\u043c\u0435\u043b \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u0442\u044c access, error \u0438 application logs, \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0442\u044c \u00ab\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043b\u043e \u043e\u0442\u0432\u0435\u0442\u00bb \u0438 \u00ab\u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u043b \u0435\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0443\u00bb, \u0443\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 scope \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0435\u0442\u043a\u0443 \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e evidence, \u0430 \u043d\u0435 \u043f\u043e \u0437\u043d\u0430\u043a\u043e\u043c\u043e\u043c\u0443 \u0441\u0438\u043c\u043f\u0442\u043e\u043c\u0443.\u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u2014 \u043d\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b \u00ab\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c MCP \u043a LLM \u0437\u0430 \u0447\u0430\u0441\u00bb. \u041e\u043d\u0430 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e tool call: \u043e \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432, \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445, \u043f\u0430\u043c\u044f\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u043c\u0435\u0435\u0442 \u043f\u043e\u0440\u0442\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442\u044b, \u0438 evaluation-\u043d\u0430\u0431\u043e\u0440\u0435, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u0433\u0435\u043d\u0442\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u044f\u0445.\u0412\u0441\u0435 \u0438\u043c\u0435\u043d\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u043b\u043e\u0449\u0430\u0434\u043e\u043a, \u043d\u043e\u0434, URL \u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u043d\u0438\u0436\u0435 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u044b. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u043a\u043b\u0430\u0441\u0441\u044b \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u043e\u0432 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b.\u041a\u043e\u0440\u043e\u0442\u043a\u043e\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f read-only \u0430\u0433\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439:\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0440\u0443\u0441\u0441\u043a\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c;\u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0435\u0433\u043e \u0432 typed scope \u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c;\u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u043f\u043e \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u0430\u043c, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439;\u0445\u0440\u0430\u043d\u0438\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432\u043d\u0435 prompt \u0438 \u043d\u0435 \u0442\u0435\u0440\u044f\u0435\u0442 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0443 \u043e\u0442\u0447\u0451\u0442\u0430;\u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442 live-\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0438 \u043f\u0430\u043c\u044f\u0442\u044c \u0442\u0440\u0435\u0434\u0430;\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c read-only skills \u0447\u0435\u0440\u0435\u0437 n8n \u0438 MCP \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044f\u0434\u0440\u0430;\u0443\u043c\u0435\u0435\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u0438\u0437 \u0442\u0440\u0435\u0434\u0430 \u0431\u0435\u0437 fine-tuning;\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u044c\u044e \u043d\u0430 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 production-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432.\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u043f\u043e\u043b\u043d\u043e\u043c \u043f\u0440\u043e\u0433\u043e\u043d\u0435 \u043f\u0440\u043e\u0448\u043b\u0438 44 \u0438\u0437 45 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0432\u043a\u043b\u044e\u0447\u0430\u044f 29 \u0438\u0437 29 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445. \u041a\u0430\u0436\u0434\u044b\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0441\u044f \u0434\u0432\u0430\u0436\u0434\u044b. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043d\u0435\u043f\u0440\u043e\u0439\u0434\u0435\u043d\u043d\u044b\u0439 \u0431\u044b\u043b optional \u0438 \u043a\u0430\u0441\u0430\u043b\u0441\u044f \u0444\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043e\u0442\u0447\u0451\u0442\u0430 \u043f\u043e capacity, \u0430 \u043d\u0435 \u0441\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043f\u0430\u0434\u0435\u043d\u0438\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u0435\u0439\u0441\u0430.\u042d\u0442\u043e \u043d\u0435 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 SRE \u0438 \u043d\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e remediation. \u0410\u0433\u0435\u043d\u0442 \u0447\u0438\u0442\u0430\u0435\u0442, \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442. \u0420\u0435\u0448\u0435\u043d\u0438\u044f \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 production \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0443 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430.\u0417\u0430\u0447\u0435\u043c \u0432\u043e\u043e\u0431\u0449\u0435 natural language \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435\u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0435 \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0434\u043a\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e PromQL \u0438\u043b\u0438 \u0438\u043c\u0435\u043d\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430. \u041e\u0431\u044b\u0447\u043d\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0437\u0432\u0443\u0447\u0438\u0442 \u0442\u0430\u043a:\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441 \u043e\u0442\u0434\u0430\u0432\u0430\u043b 502 \u0432 14:11?\u041a\u0442\u043e \u0432\u0447\u0435\u0440\u0430 \u0432\u044b\u043a\u0430\u0442\u044b\u0432\u0430\u043b \u044d\u0442\u0443 \u0432\u0435\u0440\u0441\u0438\u044e \u0438 \u0438\u0437 \u043a\u0430\u043a\u043e\u0439 job?\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043a\u0430\u0436\u0438 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0438.\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0443\u0436\u0435 \u0440\u0430\u0441\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043f\u043e \u043a\u0432\u043e\u0442\u0430\u043c, \u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f?\u0417\u0430 \u043a\u0430\u0436\u0434\u044b\u043c \u0442\u0430\u043a\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0441\u0438\u0441\u0442\u0435\u043c: Kubernetes, VictoriaMetrics, Elasticsearch, GitLab, Grafana, GSLB, edge-\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f, \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0440\u0435\u0435\u0441\u0442\u0440 \u0440\u0430\u0431\u043e\u0442 \u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0431\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f \u0432 \u0447\u0430\u0442\u0435.Natural language \u0437\u0434\u0435\u0441\u044c \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u043d\u0435 \u043a\u0430\u043a \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d API. \u041e\u043d \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f front-end \u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c \u0441 \u0440\u0430\u0437\u043d\u043e\u0439 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u043e\u0439. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c planner\u2019\u0443. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0437 \u043d\u0435\u0433\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438:environment: dc-anamespace: paymentssubject: request_traceobject: service-arequest_id: 7f9&#8230;c21time:  at: 2026-07-20 14:11 MSK  window: \u00b115mmode: historical\u042f\u0432\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0438\u043b\u044c\u043d\u0435\u0435 \u043f\u0430\u043c\u044f\u0442\u0438. \u0424\u0440\u0430\u0437\u0430 \u00ab\u0442\u0435\u043f\u0435\u0440\u044c \u0432 dc-b\u00bb \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c environment, \u0430 \u0441\u043b\u043e\u0432\u043e \u00ab\u0441\u0435\u0439\u0447\u0430\u0441\u00bb \u2014 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0430\u0440\u044b\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 at.\u042d\u0442\u043e \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u043c, \u043f\u043e\u043a\u0430 \u0431\u043e\u0442 \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 dc-a \u0432 \u043e\u0442\u0432\u0435\u0442\u0435 \u043f\u0440\u043e dc-b.\u041f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f: tools \u0435\u0441\u0442\u044c, \u043e\u0442\u0432\u0435\u0442\u0430 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0435\u0442\u041f\u0435\u0440\u0432\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0431\u044b\u043b\u0430 \u043e\u0431\u044b\u0447\u043d\u044b\u043c ReAct-\u0446\u0438\u043a\u043b\u043e\u043c:user question    \u2193LLM chooses a tool    \u2193tool returns text    \u2193LLM decides whether to call another tool    \u2193final answer\u041d\u0430 \u0434\u0435\u043c\u043e \u0432\u0441\u0451 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u043e \u0445\u043e\u0440\u043e\u0448\u043e. \u041c\u043e\u0434\u0435\u043b\u044c \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0430 \u043f\u043e\u0434\u044b, \u0447\u0438\u0442\u0430\u043b\u0430 \u043b\u043e\u0433\u0438 \u0438 \u0441\u0442\u0440\u043e\u0438\u043b\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0438\u0430\u043b\u043e\u0433\u0430\u0445 \u043d\u0430\u0447\u0430\u043b\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c\u0441\u044f \u043f\u044f\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043e\u0448\u0438\u0431\u043e\u043a.\u041e\u0448\u0438\u0431\u043a\u0430\u041a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0430\u041f\u043e\u0447\u0435\u043c\u0443 \u043e\u043f\u0430\u0441\u043d\u043e\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 scope\u0412\u0442\u043e\u0440\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u043c\u0435\u043d\u044f\u043b \u0426\u041e\u0414, \u043d\u043e \u043e\u0442\u0432\u0435\u0442 \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b \u0447\u0438\u0441\u043b\u0430 \u043f\u0435\u0440\u0432\u043e\u0433\u043e\u041e\u0442\u0432\u0435\u0442 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u0443, \u043d\u043e \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u0439 canary rollout \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u043b\u0441\u044f \u0432 \u00abcanary \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0435\u0439\u0447\u0430\u0441\u00bb\u041e\u0431\u044a\u0435\u043a\u0442 \u043f\u043e\u0441\u043b\u0435 rollout \u0443\u0436\u0435 \u043c\u043e\u0433 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0451\u043d\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0432\u0435\u0440\u043d\u0443\u043b \u043f\u0443\u0441\u0442\u043e, \u0431\u043e\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u00ab\u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0435\u0442\u00bb\u041f\u0443\u0441\u0442\u043e \u043c\u043e\u0433\u043b\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0439 env \u0438\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u041f\u043e\u0442\u0435\u0440\u044f evidence\u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0430\u043a\u0435\u0442 \u043e\u0431\u0440\u0435\u0437\u0430\u043b\u0441\u044f \u0447\u0435\u0440\u0435\u0437 head\/tail\u0418\u0437 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b \u0438\u0441\u0447\u0435\u0437\u0430\u043b \u0446\u0435\u043b\u044b\u0439 \u0426\u041e\u0414 \u0438\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0421\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u043f\u0435\u0440\u0435\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u041d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435 LLM \u0437\u0430\u043d\u043e\u0432\u043e \u0440\u0435\u0448\u0430\u043b\u0430, \u0447\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c\u041e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0448\u043b\u0438 \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u0446\u0435\u043f\u043e\u0447\u043a\u0430\u043c \u0438 \u0434\u0430\u0432\u0430\u043b\u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b\u0411\u044b\u043b\u0430 \u0438 \u043c\u0435\u043d\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b tool \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0438\u0441\u044c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438, \u043d\u043e \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e schema. \u041c\u043e\u0434\u0435\u043b\u044c \u043c\u043e\u0433\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u043f\u043e\u043b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u0442\u0430\u043a, \u0431\u0443\u0434\u0442\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0431\u044b\u043b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d.\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u044d\u0442\u043e \u043d\u043e\u0432\u044b\u043c\u0438 \u0444\u0440\u0430\u0437\u0430\u043c\u0438 \u0432 system prompt \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e. \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c, \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u043e\u0434\u043e\u043c.\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430: LLM \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0430 \u043d\u0435 \u0432\u043e\u043a\u0440\u0443\u0433 \u043d\u0435\u0451\u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439 \u043f\u0443\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441\u0442\u0430\u043b \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:Mattermost \/ fallback web chat              \u2193      Context State V2 env \u00b7 namespace \u00b7 object \u00b7 time \u00b7 subject              \u2193 Question and evidence planner objectives \u00b7 alternatives \u00b7 stop conditions              \u2193   Tool router and policy gate schema \u00b7 access \u00b7 freshness \u00b7 history              \u2193 Executor + workspace + infra graph parallel calls \u00b7 full artifacts \u00b7 relations              \u2193          Finalizer facts \u00b7 uncertainty \u00b7 gaps \u00b7 linksLLM \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u0430. \u041e\u043d\u0430 \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442 \u043d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044e \u0434\u043b\u044f \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u043a\u0435\u0439\u0441\u0430 \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u043a\u0442\u044b. \u041d\u043e \u043e\u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442:\u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u043b\u044f \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b \u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430;\u043a\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d tool;\u0447\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u0443\u0441\u0442\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442;\u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u043c snapshot \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u00ab\u0441\u0435\u0439\u0447\u0430\u0441\u00bb;\u0441\u043e\u0431\u0440\u0430\u043d\u043e \u043b\u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 evidence;\u043a\u0430\u043a\u043e\u0439 environment \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043a\u0443\u0449\u0438\u043c;\u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u043f\u043e \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u043c\u0443 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443.\u042d\u0442\u0438 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e. ![\u041e\u0431\u0435\u0437\u043b\u0438\u0447\u0435\u043d\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u0430\u0433\u0435\u043d\u0442\u0430](deck-assets\/article-architecture-anon.png) \u041a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0432\u0430\u0436\u043d\u0435\u0435 \u0435\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044fJSON Schema \u0440\u0435\u0448\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u0437\u0430\u0434\u0430\u0447\u0438. \u041e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c required, \u0442\u0438\u043f\u044b, enum, \u0444\u043e\u0440\u043c\u0430\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u043e\u043b\u044f. \u041d\u043e \u0438\u0437 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 schema \u0430\u0433\u0435\u043d\u0442 \u043d\u0435 \u0443\u0437\u043d\u0430\u0435\u0442:\u044d\u0442\u043e live-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u043b\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044f;\u043a\u0430\u043a\u043e\u0439 timestamp \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f;\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043b\u0438 \u043f\u0443\u0441\u0442\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u00ab\u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e\u00bb;\u043c\u043e\u0436\u0435\u0442 \u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430;\u043a\u0430\u043a\u0438\u0435 evidence-objectives \u043e\u043d \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442;read-only \u043b\u0438 \u043e\u043d \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435.\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a MCP-tool \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0441\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442 x-agent.{  &#171;type&#187;: &#171;object&#187;,  &#171;required&#187;: [&#171;env&#187;, &#171;namespace&#187;, &#171;workload&#187;],  &#171;additionalProperties&#187;: false,  &#171;properties&#187;: {    &#171;env&#187;: {      &#171;type&#187;: &#171;string&#187;,      &#171;enum&#187;: [&#171;dc-a&#187;, &#171;dc-b&#187;, &#171;stage&#187;]    },    &#171;namespace&#187;: {&#171;type&#187;: &#171;string&#187;},    &#171;workload&#187;: {&#171;type&#187;: &#171;string&#187;}  },  &#171;x-agent&#187;: {    &#171;evidence&#187;: [&#171;k8s.pod_status&#187;],    &#171;sources&#187;: [&#171;kube-state-metrics&#187;],    &#171;output_kind&#187;: &#171;workload_status&#187;,    &#171;freshness&#187;: &#171;observed_at from source&#187;,    &#171;negative_semantics&#187;: &#171;empty means no matches only in queried scope&#187;,    &#171;supports_history&#187;: false,    &#171;current_only&#187;: true,    &#171;read_only&#187;: true,    &#171;admin_only&#187;: false  }}\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u0430\u0436\u0435\u043d negative_semantics. \u041f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u043a\u0442 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442: \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0432\u0435\u0440\u043d\u0443\u043b pod \u0432 CrashLoopBackOff. \u0421 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0432\u0441\u0451 \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u00ab\u0421\u0442\u0440\u043e\u043a \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e\u00bb \u043c\u043e\u0436\u0435\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0442\u044c:\u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c \u043e\u043a\u043d\u0435;\u043d\u0435\u0432\u0435\u0440\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d \u0438\u043d\u0434\u0435\u043a\u0441;\u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f;\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0432\u0435\u0440\u043d\u0443\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u044b\u0435 300 \u0441\u0442\u0440\u043e\u043a;\u0437\u0430\u043f\u0440\u043e\u0441 \u0443\u043f\u0430\u043b, \u043d\u043e workflow \u0437\u0430\u0432\u0435\u0440\u043d\u0443\u043b \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u043f\u0443\u0441\u0442\u043e\u0439 \u043c\u0430\u0441\u0441\u0438\u0432.\u0411\u0435\u0437 \u044f\u0432\u043d\u043e\u0439 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0438 \u0430\u0433\u0435\u043d\u0442 \u043f\u043e\u0447\u0442\u0438 \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u043d\u0430\u0447\u043d\u0451\u0442 \u043f\u0443\u0442\u0430\u0442\u044c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0441 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e\u043c \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f.\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0442\u043e\u0436\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f:{  &#171;status&#187;: &#171;ok&#187;,  &#171;scope&#187;: {    &#171;env&#187;: &#171;dc-a&#187;,    &#171;namespace&#187;: &#171;payments&#187;,    &#171;object&#187;: &#171;service-a&#187;  },  &#171;observed_at&#187;: &#171;2026-07-20T14:12:03+03:00&#187;,  &#171;entities&#187;: [],  &#171;relations&#187;: [],  &#171;coverage&#187;: {    &#171;source&#187;: &#171;kube-state-metrics&#187;,    &#171;complete_for_negative&#187;: true  },  &#171;facts&#187;: [],  &#171;warnings&#187;: []}Capability \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e tool \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0443\u043c\u0435\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c. \u0422\u043e\u043b\u044c\u043a\u043e runtime coverage \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u043b \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u043b\u043d\u043e.\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0430 \u043d\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f tools\u0421\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 ReAct-\u0446\u0438\u043a\u043b \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043d\u0430\u0447\u0438\u043d\u0430\u043b \u0440\u0430\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043d\u043e\u0432\u043e. Forced route \u0443\u043b\u0443\u0447\u0448\u0430\u043b \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c, \u043d\u043e \u043c\u043e\u0433 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-488689","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/488689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=488689"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/488689\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=488689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=488689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=488689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}