{"id":486185,"date":"2026-07-04T17:36:23","date_gmt":"2026-07-04T17:36:23","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=486185"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=486185","title":{"rendered":"GitHub \u0441\u0442\u0430\u043b \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0435\u0435 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f ChatGPT?"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f ChatGPT \u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f GitHub Copilot, Cursor, Claude Code, Windsurf \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 AI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435. \u041a\u043e\u0434, \u0442\u0435\u0441\u0442\u044b, README, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 utility-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u041d\u043e \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u044d\u0442\u0438\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043c\u0435\u043d\u0435\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u0435\u0441\u043b\u0438 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u043f\u0440\u043e\u043c\u043f\u0442\u044b, \u043d\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043b\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c?<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e \u044d\u0442\u0443 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 GitHub \u0437\u0430 2019-2025 \u0433\u043e\u0434\u044b. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f GH Archive \u0447\u0435\u0440\u0435\u0437 BigQuery: \u044d\u0442\u043e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 GitHub, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u00a0<code>PushEvent<\/code>,\u00a0<code>PullRequestEvent<\/code>,\u00a0<code>CreateEvent<\/code>,\u00a0<code>IssuesEvent<\/code>,\u00a0<code>ForkEvent<\/code>,\u00a0<code>WatchEvent<\/code>\u00a0\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0438\u043f\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432: README, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438, \u0438\u043c\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<\/p>\n<p>\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u0440\u0430\u0431\u043e\u0442\u044b &#8212; GitHub Uniformity Index, \u0438\u043b\u0438 GUI: \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u0438\u043d\u0434\u0435\u043a\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0435 open source \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u043c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. \u0412 \u043d\u0435\u0433\u043e \u0432\u0445\u043e\u0434\u044f\u0442 \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u044c README, \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c commit messages \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432, \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u044f \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439, proxy-\u043c\u0435\u0442\u0440\u0438\u043a\u0430 AST similarity \u0438 \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<\/p>\n<p>\u042d\u0442\u043e \u043d\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0443\u0433\u0430\u0434\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c\u044e. \u0422\u0430\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0442: \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043c\u0430\u0441\u0441\u043e\u0432\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c AI-\u043a\u043e\u0434 \u043e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. \u0426\u0435\u043b\u044c \u0434\u0440\u0443\u0433\u0430\u044f &#8212; \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c \u043b\u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 GitHub \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0418\u0418 \u0441\u0442\u0430\u043b \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<p>30 \u043d\u043e\u044f\u0431\u0440\u044f 2022 \u0433\u043e\u0434\u0430 OpenAI \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 ChatGPT. \u0414\u043b\u044f \u0448\u0438\u0440\u043e\u043a\u043e\u0439 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0438 \u044d\u0442\u043e \u0441\u0442\u0430\u043b\u043e \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e AI-\u0431\u0443\u043c\u0430; \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 &#8212; \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043e\u0434 \u0432\u0441\u0435 \u0447\u0430\u0449\u0435 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u043d\u0435 \u0432 \u043e\u0434\u0438\u043d\u043e\u0447\u043a\u0443, \u0430 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435 \u0441 \u043c\u043e\u0434\u0435\u043b\u044c\u044e.<\/p>\n<p>\u041e\u0431\u044b\u0447\u043d\u043e \u0432\u043b\u0438\u044f\u043d\u0438\u0435 AI \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0421\u0442\u0430\u043b\u0438 \u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0438? \u0423\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u043e\u0441\u044c \u043b\u0438 \u0447\u0438\u0441\u043b\u043e pull request? \u0421\u043e\u043a\u0440\u0430\u0442\u0438\u043b\u043e\u0441\u044c \u043b\u0438 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 boilerplate? \u042d\u0442\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0432\u0430\u0436\u043d\u044b, \u043d\u043e \u043e\u043d\u0438 \u043d\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044e\u0442 \u0442\u0435\u043c\u0443.<\/p>\n<p>\u0415\u0441\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0442\u0438\u0445\u0438\u0439 \u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0435\u043c \u043a\u043e\u0434\u0430?<\/p>\n<p>Open source \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u044b\u043b \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u043e\u0439, \u043d\u043e \u0438 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043d\u043e\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439. \u0412 \u043d\u0435\u043c \u0436\u0438\u0432\u0443\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0442\u0438\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0440\u0430\u0437\u043d\u044b\u0435 README, \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f \u043e\u0431 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0438, \u0440\u0430\u0437\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0438 \u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c \u043a\u043e\u0434. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043b\u044e\u0434\u0435\u0439 \u043e\u0431\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043a \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043c\u043e\u0434\u0435\u043b\u044f\u043c, \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u044b\u043c \u043d\u0430 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u043a\u043e\u0440\u043f\u0443\u0441\u0430\u0445, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0430 \u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u041a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u0443\u0436\u0435, \u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u043c. README &#8212; \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0445\u043e\u0436\u0438\u043c\u0438. \u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 &#8212; \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0430\u0434\u043a\u0438\u043c\u0438 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c\u0438. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 &#8212; \u0431\u043e\u043b\u0435\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u043e\u0439.<\/p>\n<p>\u0412\u043e\u043f\u0440\u043e\u0441 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u043e:<\/p>\n<blockquote>\n<p>\u0421\u0442\u0430\u043b \u043b\u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 GitHub \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c \u043f\u043e\u0441\u043b\u0435 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439?<\/p>\n<\/blockquote>\n<p>\u0425\u043e\u0440\u043e\u0448\u0430\u044f \u043d\u043e\u0432\u043e\u0441\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0435 \u043d\u0430 \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u044f\u0445, \u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<h3>\u0427\u0442\u043e \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e<\/h3>\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0441\u043c\u043e\u0442\u0440\u044f\u0442 \u043d\u0430 AI \u043a\u0430\u043a \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0430\u0431\u043e\u0442\u0430 Microsoft Research, GitHub \u0438 MIT \u043e GitHub Copilot \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430, \u0447\u0442\u043e \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a Copilot \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0441 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 HTTP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 JavaScript. GitHub Octoverse \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u0430\u043a\u0440\u043e\u0442\u0440\u0435\u043d\u0434\u044b open source: \u0440\u043e\u0441\u0442 \u0447\u0438\u0441\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u044f\u0437\u044b\u043a\u043e\u0432\u0443\u044e \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0443, \u0432\u043a\u043b\u0430\u0434 AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. Stack Overflow Developer Survey \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e AI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0441\u0442\u0430\u043b\u0438 \u0447\u0430\u0441\u0442\u044c\u044e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0434\u043e\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432.<\/p>\n<p>\u041d\u043e \u0432 \u044d\u0442\u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u0445 \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u043b\u043e\u0439: \u043d\u0435 \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u043b\u0438 AI \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443, \u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u043b\u0438 \u043e\u043d open source \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043d\u0430 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0435\u0431\u044f.<\/p>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u043d\u0438\u0448\u0430. \u041c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u044f\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043d\u0430 GitHub, \u043d\u043e \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432: README, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432, commit messages, \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u0438 AST-\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432.<\/p>\n<h3>\u0413\u0438\u043f\u043e\u0442\u0435\u0437\u0430<\/h3>\n<p>\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0430 \u0437\u0432\u0443\u0447\u0438\u0442 \u0442\u0430\u043a: \u043f\u043e\u0441\u043b\u0435 2022 \u0433\u043e\u0434\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 GitHub \u0441\u0442\u0430\u043b \u0431\u043e\u043b\u0435\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u043c \u0432 \u0442\u0435\u0445 \u0447\u0430\u0441\u0442\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 LLM \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c.<\/p>\n<p>\u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u044d\u0442\u043e README \u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f. \u041c\u043e\u0434\u0435\u043b\u0438 \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443: Overview, Features, Installation, Usage, Configuration, Contributing, License. \u0422\u0430\u043a\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0430, \u043d\u043e \u0435\u0441\u043b\u0438 \u0435\u0435 \u0434\u043e\u043b\u044f \u0440\u0435\u0437\u043a\u043e \u0440\u0430\u0441\u0442\u0435\u0442, \u044d\u0442\u043e \u0443\u0436\u0435 \u0438\u0437\u043c\u0435\u0440\u0438\u043c\u044b\u0439 \u0441\u0434\u0432\u0438\u0433 \u0432 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0435.<\/p>\n<p>\u0412\u0442\u043e\u0440\u0430\u044f \u0437\u043e\u043d\u0430 &#8212; \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438. \u0423 LLM \u0435\u0441\u0442\u044c \u0443\u0437\u043d\u0430\u0432\u0430\u0435\u043c\u0430\u044f \u0441\u043a\u043b\u043e\u043d\u043d\u043e\u0441\u0442\u044c \u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f\u043c:\u00a0<code>Initialize...<\/code>,\u00a0<code>Validate input<\/code>,\u00a0<code>Handle errors<\/code>,\u00a0<code>Return the result<\/code>. \u041d\u0438 \u043e\u0434\u043d\u0430 \u0442\u0430\u043a\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 AI-\u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e, \u043d\u043e \u043c\u0430\u0441\u0441\u043e\u0432\u0430\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u044d\u0442\u0438\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439.<\/p>\n<p>\u0422\u0440\u0435\u0442\u044c\u044f \u0437\u043e\u043d\u0430 &#8212; \u0438\u043c\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.\u00a0<code>fetchData<\/code>,\u00a0<code>processData<\/code>,\u00a0<code>handleError<\/code>,\u00a0<code>validateInput<\/code>,\u00a0<code>getUserData<\/code>,\u00a0<code>renderComponent<\/code>\u00a0&#8212; \u044d\u0442\u043e \u043d\u0435 \u043f\u043b\u043e\u0445\u0438\u0435 \u0438\u043c\u0435\u043d\u0430, \u043d\u043e \u043e\u043d\u0438 \u043e\u0447\u0435\u043d\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u0438 \u0443\u0441\u0440\u0435\u0434\u043d\u0435\u043d\u043d\u044b\u0435. \u0415\u0441\u043b\u0438 top-100 \u0442\u0430\u043a\u0438\u0445 \u0438\u043c\u0435\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0434\u043e\u043b\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0437\u043d\u0430\u0447\u0438\u0442 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c.<\/p>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0435\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. AI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0442\u0438\u043f\u043e\u0432\u044b\u0435 \u043a\u0430\u0440\u043a\u0430\u0441\u044b:\u00a0<code>src\/<\/code>,\u00a0<code>tests\/<\/code>,\u00a0<code>docs\/<\/code>,\u00a0<code>config\/<\/code>,\u00a0<code>.github\/workflows\/<\/code>. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c best practices, \u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043b\u0435\u0434\u043e\u043c \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 scaffolding. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u0443\u044e \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u043d\u0443\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0433\u0440\u0443\u043f\u043f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<\/p>\n<h3>\u0414\u0430\u043d\u043d\u044b\u0435<\/h3>\n<p>\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0439 &#8212; GH Archive. \u041e\u043d \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0435\u0442 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u0443\u044e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0448\u043a\u0430\u043b\u0443 GitHub \u0441 2011 \u0433\u043e\u0434\u0430 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u0443\u044e \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c GitHub \u043f\u043e\u0447\u0442\u0438 \u043a\u0430\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u044f\u0434.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0434\u043d\u0435\u0432\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b GH Archive \u0432 BigQuery. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0435\u0437\u043e\u043d\u044b \u0438 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u043a\u0430\u043d \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442, \u044f \u0432\u0437\u044f\u043b\u0430 \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u043d\u0443\u044e \u0434\u0430\u0442\u0443 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0433\u043e\u0434\u0430:<\/p>\n<pre><code>2019-02-152021-02-152023-02-152024-02-152025-02-15<\/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>\u042d\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u0434\u0435\u043d\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0435\u0441\u044c \u0433\u043e\u0434. \u041d\u043e \u0442\u0430\u043a\u043e\u0439 \u0434\u0438\u0437\u0430\u0439\u043d \u0434\u0430\u0435\u0442 \u0447\u0435\u0441\u0442\u043d\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u0447\u0435\u043a: \u0434\u043e ChatGPT, \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f ChatGPT \u0438 \u0432 \u0431\u043e\u043b\u0435\u0435 \u0437\u0440\u0435\u043b\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 AI-assisted development.<\/p>\n<p>\u0427\u0435\u0440\u0435\u0437 BigQuery \u0431\u044b\u043b\u0438 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043d\u044b:<\/p>\n<ul>\n<li>\n<p>\u043e\u0431\u0449\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 GitHub;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e\u00a0<code>PushEvent<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e\u00a0<code>PullRequestEvent<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e\u00a0<code>CreateEvent<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432\u043d\u0443\u0442\u0440\u0438\u00a0<code>PushEvent<\/code>;<\/p>\n<\/li>\n<li>\n<p>\u0447\u0438\u0441\u043b\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0437\u0430 \u0434\u0435\u043d\u044c;<\/p>\n<\/li>\n<li>\n<p>\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 commit messages;<\/p>\n<\/li>\n<li>\n<p>\u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f commit messages;<\/p>\n<\/li>\n<li>\n<p>\u0434\u043e\u043b\u044f top-10, top-100 \u0438 top-1000 commit messages.<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430. \u0418\u0437\u00a0<code>PushEvent<\/code>\u00a0\u0437\u0430 \u0442\u0435 \u0436\u0435 \u0434\u0430\u0442\u044b \u0431\u044b\u043b\u0438 \u0432\u0437\u044f\u0442\u044b \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0438\u0445 \u0442\u0435\u043a\u0443\u0449\u0438\u0435 zip-\u0430\u0440\u0445\u0438\u0432\u044b \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0447\u0435\u0440\u0435\u0437 GitHub codeload. \u0410\u0440\u0445\u0438\u0432\u044b \u0431\u043e\u043b\u044c\u0448\u0435 30 MB \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u043b\u0438\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u0434\u0438\u043d \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u043c\u043e\u043d\u043e\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0435 \u0438\u0441\u043a\u0430\u0436\u0430\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b 89 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432:<\/p>\n<pre><code>2019: 26 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u04322021: 16 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u04322023: 15 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u04322024: 7 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u04322025: 25 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432<\/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<h3>\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f<\/h3>\n<p>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 &#171;\u0432\u0435\u0441\u044c GitHub 2021 \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0441\u0435\u0433\u043e GitHub 2025&#187;. \u0421\u043e\u0441\u0442\u0430\u0432 GitHub \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f: \u0440\u0430\u0441\u0442\u0435\u0442 \u0447\u0438\u0441\u043b\u043e \u0443\u0447\u0435\u0431\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, AI-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0445 pet projects, forks, \u0430\u0432\u0442\u043e\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 scaffolds \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 Python. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 LLM, \u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0438.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u043a\u0440\u043e\u043c\u043d\u044b\u0439, \u043d\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0439 \u0434\u0438\u0437\u0430\u0439\u043d: \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u0430\u044f \u0434\u0430\u0442\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0433\u043e\u0434\u0430, \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0442\u0438\u043f\u044b \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432.<\/p>\n<p>\u0414\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 GitHub \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f GH Archive. \u0414\u043b\u044f commit messages \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438\u0437\u00a0<code>payload.commits<\/code>\u00a0\u0432\u043d\u0443\u0442\u0440\u0438\u00a0<code>PushEvent<\/code>, \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u043d\u0438\u0436\u043d\u0435\u043c\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443. \u0417\u0430\u0442\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f \u0428\u0435\u043d\u043d\u043e\u043d\u0430 \u0438 \u0434\u043e\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.<\/p>\n<p>\u0414\u043b\u044f README \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u0438: \u0442\u0435\u043a\u0441\u0442\u044b \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u044e\u0442\u0441\u044f, \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u044b\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u044b, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f cosine similarity \u0434\u043e \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043e \u0441\u043e\u0441\u0435\u0434\u0430. \u042d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u0431\u043e\u0433\u0430\u0442\u043e, \u043a\u0430\u043a sentence embeddings, \u043d\u043e \u0437\u0430\u0442\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u043e \u0431\u0435\u0437 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 API.<\/p>\n<p>\u0414\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0438 commit messages \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0434\u043e\u043b\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0445 \u0444\u0440\u0430\u0437 \u0438 top-100 share. \u0414\u043b\u044f \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u00a0<code>def<\/code>,\u00a0<code>function<\/code>,\u00a0<code>func<\/code>,\u00a0<code>fn<\/code>, arrow functions. \u042d\u0442\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 Tree-sitter, \u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u0438 \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/p>\n<p>\u0414\u043b\u044f AST similarity \u0432 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f proxy: structural fingerprint \u043f\u043e \u043d\u0430\u0431\u043e\u0440\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 (<code>import<\/code>,\u00a0<code>class<\/code>,\u00a0<code>def<\/code>,\u00a0<code>function<\/code>,\u00a0<code>if<\/code>,\u00a0<code>for<\/code>,\u00a0<code>return<\/code>,\u00a0<code>async<\/code>,\u00a0<code>await<\/code>\u00a0\u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435). \u042d\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435, \u0438 \u043e\u043d\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u0445.<\/p>\n<p>\u0412\u0430\u0436\u043d\u044b\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f: \u0432\u0441\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0443\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u0438\u043b\u043e\u0442\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u043a\u0430\u043a \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0430\u0433\u043d\u043e\u0437 \u0432\u0441\u0435\u043c\u0443 GitHub.<\/p>\n<h3>GitHub Uniformity Index<\/h3>\n<p>\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 &#8212; GitHub Uniformity Index, \u0438\u043b\u0438 GUI. \u042d\u0442\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u044f GitHub, \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043e\u0442 0 \u0434\u043e 100.<\/p>\n<pre><code>GUI = 100 * (R + C + F + A + S) \/ 5<\/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:<\/p>\n<pre><code>R - \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u044c READMEC - \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0438 commit messagesF - \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u044f \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439A - AST similarity \/ structural proxyS - \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432<\/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\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0440\u0430\u0432\u043d\u044b\u0435 \u0432\u0435\u0441\u0430. \u042d\u0442\u043e \u043f\u0440\u043e\u0449\u0435 \u0438 \u0447\u0435\u0441\u0442\u043d\u0435\u0435: \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u0435\u0440\u0438\u0442\u044c \u0432 \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432. \u0418\u043d\u0434\u0435\u043a\u0441 \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u0435\u0442 \u043d\u0430 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u0443\u044e \u0438\u0441\u0442\u0438\u043d\u0443. \u041e\u043d \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u0432 \u043e\u0434\u0438\u043d \u0433\u0440\u0430\u0444\u0438\u043a \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u043b\u0438 \u043e\u043d\u0438 \u0432\u043c\u0435\u0441\u0442\u0435.<\/p>\n<p>\u0418\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f: 0 &#8212; \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430, 100 &#8212; \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u0430\u044f. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 GitHub, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438 \u043e\u043a\u043e\u043b\u043e 0, \u043d\u0438 \u043e\u043a\u043e\u043b\u043e 100. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u043d\u0435 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u0430\u044f \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430, \u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u043f\u043e \u0433\u043e\u0434\u0430\u043c \u0438 \u0432\u043a\u043b\u0430\u0434 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432.<\/p>\n<h3>\u0410\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c GitHub: \u0440\u043e\u0441\u0442 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437<\/h3>\n<p>\u0414\u0430\u0436\u0435 \u043e\u0434\u0438\u043d \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0434\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0440\u043e\u0441 GitHub.<\/p>\n<pre><code>15 \u0444\u0435\u0432\u0440\u0430\u043b\u044f 2019:  \u0432\u0441\u0435\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439:              1 704 660  PushEvent:                    848 699  PullRequestEvent:             111 796  \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438:         66 789  \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u0432\u043d\u0443\u0442\u0440\u0438 PushEvent:   1 363 22815 \u0444\u0435\u0432\u0440\u0430\u043b\u044f 2025:  \u0432\u0441\u0435\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439:              4 669 434  PushEvent:                  3 204 831  PullRequestEvent:             250 556  \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438:        174 268  \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u0432\u043d\u0443\u0442\u0440\u0438 PushEvent:   4 182 600<\/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 \u044d\u0442\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435\u00a0<code>PushEvent<\/code>\u00a0\u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 3.8 \u0440\u0430\u0437\u0430, \u0430 \u0447\u0438\u0441\u043b\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 push-\u0441\u043e\u0431\u044b\u0442\u0438\u0439 &#8212; \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 3.1 \u0440\u0430\u0437\u0430. Pull request \u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u0441\u043b\u0430\u0431\u0435\u0435: \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 2.2 \u0440\u0430\u0437\u0430.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/656\/76b\/bd0\/65676bbd027199551030d54c1a11c6d5.png\" width=\"1557\" height=\"862\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/656\/76b\/bd0\/65676bbd027199551030d54c1a11c6d5.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/656\/76b\/bd0\/65676bbd027199551030d54c1a11c6d5.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<h3>Commit messages \u0441\u0442\u0430\u043b\u0438 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0435\u0435<\/h3>\n<p>\u0421\u0430\u043c\u044b\u0439 \u0441\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u043f\u043e commit messages.<\/p>\n<p>\u0412 2019 \u0433\u043e\u0434\u0443 top-100 commit messages \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u043b\u0438 14.7% \u0432\u0441\u0435\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0435. \u0412 2021 \u0433\u043e\u0434\u0443 \u043f\u043e\u0447\u0442\u0438 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0436\u0435 &#8212; 14.7%. \u0412 2023 \u0433\u043e\u0434\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0440\u043e\u0441 \u0434\u043e 19.9%. \u0412 2024 \u0433\u043e\u0434\u0443 &#8212; \u0434\u043e 33.1%. \u0412 2025 \u0433\u043e\u0434\u0443 &#8212; 29.3%.<\/p>\n<pre><code>year   entropy   top-100 share   template share2019   17.25     14.68%          8.00%2021   17.56     14.70%          9.90%2023   17.19     19.88%          9.61%2024   15.05     33.07%          19.60%2025   15.60     29.32%          10.19%<\/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\u00a0<code>template share<\/code>\u00a0&#8212; \u0434\u043e\u043b\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u043f\u043e\u043f\u0430\u0432\u0448\u0438\u0445 \u0432 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0432\u0440\u043e\u0434\u0435\u00a0<code>update readme<\/code>,\u00a0<code>add files via upload<\/code>,\u00a0<code>initial commit<\/code>,\u00a0<code>minor changes<\/code>,\u00a0<code>generated<\/code>,\u00a0<code>update dependencies<\/code>\u00a0\u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0444\u0440\u0430\u0437.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9a4\/d14\/517\/9a4d145171a075bce4a4495f0e419cfd.png\" width=\"1639\" height=\"861\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/9a4\/d14\/517\/9a4d145171a075bce4a4495f0e419cfd.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9a4\/d14\/517\/9a4d145171a075bce4a4495f0e419cfd.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u042d\u0442\u043e \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043f\u0438\u0441\u0430\u043b AI. \u041d\u043e \u044d\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 commit messages \u043f\u043e\u0441\u043b\u0435 2022 \u0433\u043e\u0434\u0430 \u0441\u0442\u0430\u043b\u043e \u043c\u0435\u043d\u0435\u0435 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u044b\u043c. \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u0447\u0430\u0441\u0442\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0434\u043e\u043b\u044e \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432.<\/p>\n<p>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f 2024 \u0433\u043e\u0434: \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f \u043f\u0430\u0434\u0430\u0435\u0442 \u0434\u043e 15.05, top-100 messages \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0434\u043e\u0445\u043e\u0434\u044f\u0442 \u043f\u043e\u0447\u0442\u0438 \u0434\u043e 20%.<\/p>\n<h3>Top commit messages \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043e\u0447\u0435\u043d\u044c \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u043e<\/h3>\n<p>\u0412 top commit messages \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0440\u0430\u0437\u044b:<\/p>\n<pre><code>update readme.mdadd files via uploadupdateinitial commitfixupdate readme.<\/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 \u043d\u043e\u0432\u044b\u0439 \u0444\u0435\u043d\u043e\u043c\u0435\u043d. \u0422\u0430\u043a\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u0438 \u0438 \u0434\u043e ChatGPT. \u041d\u043e \u043f\u043e\u0441\u043b\u0435 2022 \u0433\u043e\u0434\u0430 \u043e\u043d\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0434\u043e\u043b\u044e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/beb\/867\/35c\/beb86735cdf8be97d334ce9d27b81823.png\" width=\"1983\" height=\"923\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/beb\/867\/35c\/beb86735cdf8be97d334ce9d27b81823.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/beb\/867\/35c\/beb86735cdf8be97d334ce9d27b81823.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<h3><\/h3>\n<h3>README \u0438 \u043a\u043e\u0434: \u0441\u0438\u0433\u043d\u0430\u043b \u0435\u0441\u0442\u044c, \u043d\u043e \u043e\u043d \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439<\/h3>\n<p>\u0414\u043b\u044f README\/code-\u0441\u043b\u043e\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u0435\u043d\u0435\u0435 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0439. \u042d\u0442\u043e \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e: \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0441\u043b\u043e\u0436\u043d\u0435\u0435, \u0447\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f GH Archive.<\/p>\n<p>\u041c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c zip-\u0430\u0440\u0445\u0438\u0432\u0430\u043c:<\/p>\n<pre><code>year   repos   readmes   README similarity   README AI-like sections2019   26      21        0.266               28.6%2021   16      14        0.553               64.3%2023   15      13        0.371               15.4%2024   7       6         0.216               0.0%2025   25      22        0.514               36.4%<\/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 \u043d\u0435\u0442 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0439 \u043c\u043e\u043d\u043e\u0442\u043e\u043d\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438 &#171;\u043f\u043e\u0441\u043b\u0435 ChatGPT \u0432\u0441\u0435 \u0441\u0442\u0430\u043b\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c&#187;. 2025 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u044b\u0448\u0435 2019 \u043f\u043e README similarity, \u043d\u043e 2021 \u0435\u0449\u0435 \u0432\u044b\u0448\u0435. 2024, \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u043d\u0438\u0436\u0435 \u0432\u0441\u0435\u0445, \u043d\u043e \u043f\u043e \u043d\u0435\u043c\u0443 \u043c\u0430\u043b\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432.<\/p>\n<p>\u042d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u043e\u0433\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0434\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e. \u0415\u0441\u043b\u0438 \u0431\u044b \u0446\u0435\u043b\u044c\u044e \u0431\u044b\u043b\u043e \u043b\u044e\u0431\u043e\u0439 \u0446\u0435\u043d\u043e\u0439 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c &#171;AI \u0441\u0434\u0435\u043b\u0430\u043b GitHub \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c&#187;, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0432\u044b\u0442\u0430\u0449\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 2025 \u043f\u0440\u043e\u0442\u0438\u0432 2019 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442. \u041d\u043e \u0447\u0435\u0441\u0442\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0441\u043b\u043e\u0436\u043d\u0435\u0435: \u043d\u0430 \u043c\u0430\u043b\u043e\u0439 repo-artifact \u0432\u044b\u0431\u043e\u0440\u043a\u0435 README-\u0441\u0438\u0433\u043d\u0430\u043b \u0435\u0441\u0442\u044c, \u043d\u043e \u043e\u043d \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u0435\u043d.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2fc\/724\/39a\/2fc72439ae41c47273f09b50573ba8a6.png\" width=\"1865\" height=\"829\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/2fc\/724\/39a\/2fc72439ae41c47273f09b50573ba8a6.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2fc\/724\/39a\/2fc72439ae41c47273f09b50573ba8a6.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<h3><\/h3>\n<h3>\u0418\u043c\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0435 \u0441\u0442\u0430\u043b\u0438 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0435\u0435<\/h3>\n<p>\u041f\u043e \u0438\u043c\u0435\u043d\u0430\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u0438\u043b\u043e\u0442\u043d\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u043d\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443 &#171;\u043f\u043e\u0441\u043b\u0435 ChatGPT \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0442\u0430\u043b\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e&#187;.<\/p>\n<pre><code>year   function names   entropy   top-100 share2019   7202             7.45      57.9%2021   2357             7.68      57.4%2023   2549             10.88     15.0%2024   539              7.33      66.6%2025   1909             8.50      49.9%<\/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>2025 \u043d\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c, \u0447\u0435\u043c 2019 \u0438\u043b\u0438 2021. \u041d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u043f\u043e \u044d\u0442\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 2023 \u0431\u044b\u043b \u0441\u0430\u043c\u044b\u043c \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c \u043f\u043e \u0438\u043c\u0435\u043d\u0430\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0430 2024 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u0447\u0435\u043d\u044c \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c, \u043d\u043e \u0442\u0430\u043c \u0432\u0441\u0435\u0433\u043e 539 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u0432\u043e\u0434 \u0441\u043b\u0430\u0431\u044b\u0439.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dc1\/642\/ded\/dc1642ded5472f00f560b97868d4b804.png\" width=\"1433\" height=\"870\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/dc1\/642\/ded\/dc1642ded5472f00f560b97868d4b804.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dc1\/642\/ded\/dc1642ded5472f00f560b97868d4b804.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041f\u043e\u043a\u0430 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u0441\u0442\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u0442\u0430\u043a\u043e\u0439: \u0432 commit messages \u044d\u0444\u0444\u0435\u043a\u0442 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u043c\u0435\u0442\u0435\u043d \u0441\u0438\u043b\u044c\u043d\u0435\u0435, \u0447\u0435\u043c \u0432 \u0438\u043c\u0435\u043d\u0430\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/p>\n<h3>GitHub Uniformity Index: \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c<\/h3>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043f\u0438\u043b\u043e\u0442\u043d\u044b\u0439 GUI \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0442\u0430\u043a\u0438\u043c:<\/p>\n<pre><code>2019   57.82021   54.12023   27.62024   55.72025   77.5<\/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<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/35c\/85a\/54e\/35c85a54e49f4be53d0d0a352e5de58d.png\" width=\"1557\" height=\"862\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/35c\/85a\/54e\/35c85a54e49f4be53d0d0a352e5de58d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/35c\/85a\/54e\/35c85a54e49f4be53d0d0a352e5de58d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 2025 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u0430\u043c\u044b\u043c \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c \u0433\u043e\u0434\u043e\u043c \u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0435. \u041d\u043e \u044d\u0442\u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0443\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e. GUI \u0440\u0430\u0441\u0442\u0435\u0442 \u0432 2025 \u043d\u0435 \u043f\u043e\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u0432\u044b\u0440\u043e\u0441\u043b\u0430 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0432\u043a\u043b\u0430\u0434 \u0434\u0430\u044e\u0442 README similarity, AST proxy \u0438 structure similarity, \u0430 commit-message \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u044f \u0431\u044b\u043b\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0432 2024.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430 \u0442\u0430\u043a\u0430\u044f:<\/p>\n<blockquote>\n<p>\u0412 \u043f\u0438\u043b\u043e\u0442\u043d\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 2025 \u0433\u043e\u0434 \u0438\u043c\u0435\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 GUI, \u043d\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u043d\u0435\u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e. \u0421\u0430\u043c\u044b\u0439 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u044f \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f \u0432 commit messages, \u0430 repo-artifact \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0431\u043e\u043b\u0435\u0435 \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438.<\/p>\n<\/blockquote>\n<h3>\u0427\u0442\u043e \u044d\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e ChatGPT<\/h3>\n<p>\u041f\u0440\u044f\u043c\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u043b\u0438\u044f\u043d\u0438\u0435 ChatGPT \u043f\u043e \u044d\u0442\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u043c \u043d\u0435\u043b\u044c\u0437\u044f. GH Archive \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0444\u043b\u0430\u0433 &#171;\u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u043c\u0438\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0441 AI&#187;, \u0430 \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u0444\u0440\u0430\u0437\u044b \u043c\u043e\u0433\u043b\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0434\u043e\u043b\u0433\u043e \u0434\u043e LLM.<\/p>\n<p>\u041d\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0435: \u043f\u043e\u0441\u043b\u0435 2022 \u0433\u043e\u0434\u0430 \u0432 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0438\u043b\u0438\u043b\u0430\u0441\u044c \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432 GitHub. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0432\u0438\u0434\u043d\u043e \u043f\u043e commit messages.<\/p>\n<p>\u042d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u0435\u0442\u0441\u044f \u0441 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u043e\u0439, \u0447\u0442\u043e AI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0441\u0438\u043b\u044c\u043d\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u0443\u044e\u0442 \u043d\u0435 \u0433\u043b\u0443\u0431\u043e\u043a\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0430 &#171;\u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0443&#187; \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438:<\/p>\n<ul>\n<li>\n<p>commit messages;<\/p>\n<\/li>\n<li>\n<p>README;<\/p>\n<\/li>\n<li>\n<p>\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438;<\/p>\n<\/li>\n<li>\n<p>\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u0442\u0438\u043f\u043e\u0432\u044b\u0435 utility-\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b;<\/p>\n<\/li>\n<li>\n<p>scaffolding.<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e \u0438\u043c\u0435\u043d\u0430\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043a\u043e\u0434\u0430 \u0432 \u043f\u0438\u043b\u043e\u0442\u043d\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u043d\u0435 \u0442\u0430\u043a\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f. \u0422\u0430\u043c \u043d\u0435\u043b\u044c\u0437\u044f \u0447\u0435\u0441\u0442\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c &#171;\u0432\u0441\u0435 \u0441\u0442\u0430\u043b\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c&#187;. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043b\u043e\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0441\u0438\u043b\u044c\u043d\u0435\u0435 \u0434\u0440\u0443\u0433\u0438\u0445.<\/p>\n<h3>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f<\/h3>\n<p>\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 &#8212; \u043c\u0430\u0441\u0448\u0442\u0430\u0431. \u0412\u044b\u0431\u043e\u0440\u043a\u0430 GH Archive \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0434\u043d\u044e \u043d\u0430 \u0433\u043e\u0434: 15 \u0444\u0435\u0432\u0440\u0430\u043b\u044f. \u042d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u043c \u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442 BigQuery-\u0441\u043a\u0430\u043d\u043e\u0432. \u041d\u043e \u043e\u0434\u0438\u043d \u0434\u0435\u043d\u044c \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u043d \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0435\u0441\u044c \u0433\u043e\u0434.<\/p>\n<p>\u0412\u0442\u043e\u0440\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 &#8212; repo-artifact \u0441\u043b\u043e\u0439. README \u0438 \u043a\u043e\u0434 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u043c\u0443 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043f\u0430\u043b\u0438 \u0432\u00a0<code>PushEvent<\/code>\u00a0\u0432 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0434\u0435\u043d\u044c. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e README 2019-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043c\u043e\u0433 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u0441\u043b\u0435 2019 \u0433\u043e\u0434\u0430. \u0414\u043b\u044f \u0441\u0442\u0440\u043e\u0433\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0443\u0436\u043d\u043e \u0431\u0440\u0430\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 commit \u0438\u043b\u0438 \u0434\u0430\u0442\u0443.<\/p>\n<p>\u0422\u0440\u0435\u0442\u044c\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 &#8212; \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432. \u0421\u0442\u0430\u0440\u044b\u0435 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0447\u0430\u0441\u0442\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0447\u0435\u0440\u0435\u0437 codeload. \u041a\u0440\u0443\u043f\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0432\u044b \u0431\u043e\u043b\u044c\u0448\u0435 30 MB \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u043b\u0438\u0441\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 repo-artifact \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u0441\u043c\u0435\u0449\u0435\u043d\u0430 \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438 \u0441\u0440\u0435\u0434\u043d\u0438\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.<\/p>\n<p>\u0427\u0435\u0442\u0432\u0435\u0440\u0442\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 &#8212; AST proxy. \u0417\u0434\u0435\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u044b\u0439 structural fingerprint \u043f\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u0441\u043b\u043e\u0432\u0430\u043c \u0438 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c, \u0430 \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 Tree-sitter AST \u0438\u043b\u0438 GumTree. \u0414\u043b\u044f \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0443\u0447\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0441\u043b\u043e\u0439 \u043d\u0430 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 AST-\u043f\u0430\u0440\u0441\u0438\u043d\u0433 \u043f\u043e \u044f\u0437\u044b\u043a\u0430\u043c.<\/p>\n<p>\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u0438\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f ChatGPT. \u041d\u0430 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0435 \u0432\u043b\u0438\u044f\u044e\u0442 GitHub Actions, \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438, \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0443\u0447\u0435\u0431\u043d\u044b\u0435 \u043a\u0443\u0440\u0441\u044b, \u0430\u0432\u0442\u043e\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, package managers \u0438 \u043e\u0431\u0449\u0430\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n<p>\u0412\u043e\u043f\u0440\u043e\u0441 &#171;\u0441\u0442\u0430\u043b \u043b\u0438 GitHub \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0435\u0435 \u043f\u043e\u0441\u043b\u0435 ChatGPT?&#187; \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043e\u0442\u0432\u0435\u0442\u0430 &#171;\u0434\u0430&#187; \u0438\u043b\u0438 &#171;\u043d\u0435\u0442&#187;.<\/p>\n<p>\u041f\u043e \u044d\u0442\u043e\u0439 \u043f\u0438\u043b\u043e\u0442\u043d\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<ul>\n<li>\n<p>\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c GitHub \u0441\u0438\u043b\u044c\u043d\u043e \u0432\u044b\u0440\u043e\u0441\u043b\u0430;<\/p>\n<\/li>\n<li>\n<p>commit messages \u043f\u043e\u0441\u043b\u0435 2022 \u0433\u043e\u0434\u0430 \u0441\u0442\u0430\u043b\u0438 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438;<\/p>\n<\/li>\n<li>\n<p>top-100 commit messages \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0434\u043e\u043b\u044e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u0447\u0435\u043c \u0432 2019-2021;<\/p>\n<\/li>\n<li>\n<p>README\/code-\u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u0430\u044e\u0442 \u0441\u0438\u0433\u043d\u0430\u043b, \u043d\u043e \u043f\u043e\u043a\u0430 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0438\u0437-\u0437\u0430 \u043c\u0430\u043b\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0438\u043c\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0433\u043e \u0440\u043e\u0441\u0442\u0430 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0438\u043b\u043e\u0442\u043d\u044b\u0439 GUI \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u0435\u043d \u0432 2025 \u0433\u043e\u0434\u0443, \u043d\u043e \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0432\u0435\u0434\u0443\u0442 \u0441\u0435\u0431\u044f \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443.<\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0430\u043c\u044b\u0439 \u0441\u0438\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e &#171;AI \u0441\u0434\u0435\u043b\u0430\u043b \u0432\u0435\u0441\u044c \u043a\u043e\u0434 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c&#187;. \u0414\u0430\u043d\u043d\u044b\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u0442\u0430\u043a\u043e\u0439:<\/p>\n<blockquote>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f AI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u044b GitHub, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e commit messages, \u0441\u0442\u0430\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u043c\u0438. \u041d\u043e \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043a\u043e\u0434\u0430 \u0438 \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u044d\u0444\u0444\u0435\u043a\u0442 \u043d\u0435\u043e\u0434\u043d\u043e\u0440\u043e\u0434\u0435\u043d \u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438.<\/p>\n<\/blockquote>\n<h3>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438<\/h3>\n<ul>\n<li>\n<p>GH Archive:\u00a0<a href=\"https:\/\/www.gharchive.org\/\" rel=\"noopener noreferrer nofollow\">https:\/\/www.gharchive.org\/<\/a><\/p>\n<\/li>\n<li>\n<p>Google BigQuery Public Datasets:\u00a0<a href=\"https:\/\/docs.cloud.google.com\/bigquery\/public-data\" rel=\"noopener noreferrer nofollow\">https:\/\/docs.cloud.google.com\/bigquery\/public-data<\/a><\/p>\n<\/li>\n<li>\n<p>GitHub on BigQuery:\u00a0<a href=\"https:\/\/cloud.google.com\/blog\/topics\/public-datasets\/github-on-bigquery-analyze-all-the-open-source-code\" rel=\"noopener noreferrer nofollow\">https:\/\/cloud.google.com\/blog\/topics\/public-datasets\/github-on-bigquery-analyze-all-the-open-source-code<\/a><\/p>\n<\/li>\n<li>\n<p>OpenAI, Introducing ChatGPT:\u00a0<a href=\"https:\/\/openai.com\/index\/chatgpt\/\" rel=\"noopener noreferrer nofollow\">https:\/\/openai.com\/index\/chatgpt\/<\/a><\/p>\n<\/li>\n<li>\n<p>GitHub Octoverse:\u00a0<a href=\"https:\/\/octoverse.github.com\/\" rel=\"noopener noreferrer nofollow\">https:\/\/octoverse.github.com\/<\/a><\/p>\n<\/li>\n<li>\n<p>GitHub Octoverse 2024:\u00a0<a href=\"https:\/\/github.blog\/news-insights\/octoverse\/octoverse-2024\/\" rel=\"noopener noreferrer nofollow\">https:\/\/github.blog\/news-insights\/octoverse\/octoverse-2024\/<\/a><\/p>\n<\/li>\n<li>\n<p>Stack Overflow Developer Survey 2025:\u00a0<a href=\"https:\/\/survey.stackoverflow.co\/2025\/ai\" rel=\"noopener noreferrer nofollow\">https:\/\/survey.stackoverflow.co\/2025\/ai<\/a><\/p>\n<\/li>\n<li>\n<p>Stack Overflow Developer Survey 2024:\u00a0<a href=\"https:\/\/survey.stackoverflow.co\/2024\/\" rel=\"noopener noreferrer nofollow\">https:\/\/survey.stackoverflow.co\/2024\/<\/a><\/p>\n<\/li>\n<li>\n<p>Microsoft Research, The Impact of AI on Developer Productivity: Evidence from GitHub Copilot:\u00a0<a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/the-impact-of-ai-on-developer-productivity-evidence-from-github-copilot\/\" rel=\"noopener noreferrer nofollow\">https:\/\/www.microsoft.com\/en-us\/research\/publication\/the-impact-of-ai-on-developer-productivity-evidence-from-github-copilot\/<\/a><\/p>\n<\/li>\n<li>\n<p>GitHub Blog, Quantifying GitHub Copilot&#8217;s impact on developer productivity and happiness:\u00a0<a href=\"https:\/\/github.blog\/news-insights\/research\/research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness\/\" rel=\"noopener noreferrer nofollow\">https:\/\/github.blog\/news-insights\/research\/research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness\/<\/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\/1055596\/\">https:\/\/habr.com\/ru\/articles\/1055596\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f ChatGPT \u0438 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f GitHub Copilot, Cursor, Claude Code, Windsurf \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 AI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435. \u041a\u043e\u0434, \u0442\u0435\u0441\u0442\u044b, README, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 utility-\u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u041d\u043e \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u044d\u0442\u0438\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043c\u0435\u043d\u0435\u0435 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u0435\u0441\u043b\u0438 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u043f\u0440\u043e\u043c\u043f\u0442\u044b, \u043d\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043b\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c?\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e \u044d\u0442\u0443 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0443 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 GitHub \u0437\u0430 2019-2025 \u0433\u043e\u0434\u044b. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f GH Archive \u0447\u0435\u0440\u0435\u0437 BigQuery: \u044d\u0442\u043e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 GitHub, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u00a0PushEvent,\u00a0PullRequestEvent,\u00a0CreateEvent,\u00a0IssuesEvent,\u00a0ForkEvent,\u00a0WatchEvent\u00a0\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0438\u043f\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432: README, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438, \u0438\u043c\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u0440\u0430\u0431\u043e\u0442\u044b &#8212; GitHub Uniformity Index, \u0438\u043b\u0438 GUI: \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u0438\u043d\u0434\u0435\u043a\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0435 open source \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u043c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. \u0412 \u043d\u0435\u0433\u043e \u0432\u0445\u043e\u0434\u044f\u0442 \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u044c README, \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c commit messages \u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432, \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u044f \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439, proxy-\u043c\u0435\u0442\u0440\u0438\u043a\u0430 AST similarity \u0438 \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.\u042d\u0442\u043e \u043d\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0443\u0433\u0430\u0434\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c\u044e. \u0422\u0430\u043a\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0437\u0434\u0435\u0441\u044c \u043d\u0435\u0442: \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043c\u0430\u0441\u0441\u043e\u0432\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c AI-\u043a\u043e\u0434 \u043e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. \u0426\u0435\u043b\u044c \u0434\u0440\u0443\u0433\u0430\u044f &#8212; \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c \u043b\u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 GitHub \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0418\u0418 \u0441\u0442\u0430\u043b \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.30 \u043d\u043e\u044f\u0431\u0440\u044f 2022 \u0433\u043e\u0434\u0430 OpenAI \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0430 ChatGPT. \u0414\u043b\u044f \u0448\u0438\u0440\u043e\u043a\u043e\u0439 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0438 \u044d\u0442\u043e \u0441\u0442\u0430\u043b\u043e \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e AI-\u0431\u0443\u043c\u0430; \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 &#8212; \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u043c, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043a\u043e\u0434 \u0432\u0441\u0435 \u0447\u0430\u0449\u0435 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u043d\u0435 \u0432 \u043e\u0434\u0438\u043d\u043e\u0447\u043a\u0443, \u0430 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435 \u0441 \u043c\u043e\u0434\u0435\u043b\u044c\u044e.\u041e\u0431\u044b\u0447\u043d\u043e \u0432\u043b\u0438\u044f\u043d\u0438\u0435 AI \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u0421\u0442\u0430\u043b\u0438 \u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0438? \u0423\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u043e\u0441\u044c \u043b\u0438 \u0447\u0438\u0441\u043b\u043e pull request? \u0421\u043e\u043a\u0440\u0430\u0442\u0438\u043b\u043e\u0441\u044c \u043b\u0438 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 boilerplate? \u042d\u0442\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0432\u0430\u0436\u043d\u044b, \u043d\u043e \u043e\u043d\u0438 \u043d\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u044b\u0432\u0430\u044e\u0442 \u0442\u0435\u043c\u0443.\u0415\u0441\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0442\u0438\u0445\u0438\u0439 \u0438, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0435\u043c \u043a\u043e\u0434\u0430?Open source \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u044b\u043b \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u043e\u0439, \u043d\u043e \u0438 \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u043d\u043e\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439. \u0412 \u043d\u0435\u043c \u0436\u0438\u0432\u0443\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0442\u0438\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0440\u0430\u0437\u043d\u044b\u0435 README, \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f \u043e\u0431 \u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0438, \u0440\u0430\u0437\u043d\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0438 \u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0442\u044c \u043a\u043e\u0434. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043b\u044e\u0434\u0435\u0439 \u043e\u0431\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043a \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043c\u043e\u0434\u0435\u043b\u044f\u043c, \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u044b\u043c \u043d\u0430 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u043a\u043e\u0440\u043f\u0443\u0441\u0430\u0445, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0430 \u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u041a\u043e\u0434 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u0443\u0436\u0435, \u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u043c. README &#8212; \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0445\u043e\u0436\u0438\u043c\u0438. \u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 &#8212; \u0431\u043e\u043b\u0435\u0435 \u0433\u043b\u0430\u0434\u043a\u0438\u043c\u0438 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c\u0438. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 &#8212; \u0431\u043e\u043b\u0435\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u043e\u0439.\u0412\u043e\u043f\u0440\u043e\u0441 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u043e:\u0421\u0442\u0430\u043b \u043b\u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 GitHub \u0431\u043e\u043b\u0435\u0435 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u043c \u043f\u043e\u0441\u043b\u0435 \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439?\u0425\u043e\u0440\u043e\u0448\u0430\u044f \u043d\u043e\u0432\u043e\u0441\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0435 \u043d\u0430 \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u044f\u0445, \u0430 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.\u0427\u0442\u043e \u0443\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0441\u043c\u043e\u0442\u0440\u044f\u0442 \u043d\u0430 AI \u043a\u0430\u043a \u043d\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0430\u0431\u043e\u0442\u0430 Microsoft Research, GitHub \u0438 MIT \u043e GitHub Copilot \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430, \u0447\u0442\u043e \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a Copilot \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0441 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 HTTP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0430 JavaScript. GitHub Octoverse \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043c\u0430\u043a\u0440\u043e\u0442\u0440\u0435\u043d\u0434\u044b open source: \u0440\u043e\u0441\u0442 \u0447\u0438\u0441\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u044f\u0437\u044b\u043a\u043e\u0432\u0443\u044e \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0443, \u0432\u043a\u043b\u0430\u0434 AI-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438. Stack Overflow Developer Survey \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e AI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0441\u0442\u0430\u043b\u0438 \u0447\u0430\u0441\u0442\u044c\u044e \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0434\u043e\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432.\u041d\u043e \u0432 \u044d\u0442\u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u0445 \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u043b\u043e\u0439: \u043d\u0435 \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u043b\u0438 AI \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443, \u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u043b\u0438 \u043e\u043d open source \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043d\u0430 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0435\u0431\u044f.\u0418\u043c\u0435\u043d\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u043d\u0438\u0448\u0430. \u041c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u044f\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043d\u0430 GitHub, \u043d\u043e \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u043e\u0432: README, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432, commit messages, \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u0438 AST-\u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432.\u0413\u0438\u043f\u043e\u0442\u0435\u0437\u0430\u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u0430 \u0437\u0432\u0443\u0447\u0438\u0442 \u0442\u0430\u043a: \u043f\u043e\u0441\u043b\u0435 2022 \u0433\u043e\u0434\u0430 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 GitHub \u0441\u0442\u0430\u043b \u0431\u043e\u043b\u0435\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u043c \u0432 \u0442\u0435\u0445 \u0447\u0430\u0441\u0442\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 LLM \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c.\u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u044d\u0442\u043e README \u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f. \u041c\u043e\u0434\u0435\u043b\u0438 \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u043f\u043e\u0445\u043e\u0436\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443: Overview, Features, Installation, Usage, Configuration, Contributing, License. \u0422\u0430\u043a\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0430, \u043d\u043e \u0435\u0441\u043b\u0438 \u0435\u0435 \u0434\u043e\u043b\u044f \u0440\u0435\u0437\u043a\u043e \u0440\u0430\u0441\u0442\u0435\u0442, \u044d\u0442\u043e \u0443\u0436\u0435 \u0438\u0437\u043c\u0435\u0440\u0438\u043c\u044b\u0439 \u0441\u0434\u0432\u0438\u0433 \u0432 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0435.\u0412\u0442\u043e\u0440\u0430\u044f \u0437\u043e\u043d\u0430 &#8212; \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438. \u0423 LLM \u0435\u0441\u0442\u044c \u0443\u0437\u043d\u0430\u0432\u0430\u0435\u043c\u0430\u044f \u0441\u043a\u043b\u043e\u043d\u043d\u043e\u0441\u0442\u044c \u043a \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f\u043c:\u00a0Initialize&#8230;,\u00a0Validate input,\u00a0Handle errors,\u00a0Return the result. \u041d\u0438 \u043e\u0434\u043d\u0430 \u0442\u0430\u043a\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u043d\u0435 \u0434\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 AI-\u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u043e, \u043d\u043e \u043c\u0430\u0441\u0441\u043e\u0432\u0430\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u044d\u0442\u0438\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439.\u0422\u0440\u0435\u0442\u044c\u044f \u0437\u043e\u043d\u0430 &#8212; \u0438\u043c\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.\u00a0fetchData,\u00a0processData,\u00a0handleError,\u00a0validateInput,\u00a0getUserData,\u00a0renderComponent\u00a0&#8212; \u044d\u0442\u043e \u043d\u0435 \u043f\u043b\u043e\u0445\u0438\u0435 \u0438\u043c\u0435\u043d\u0430, \u043d\u043e \u043e\u043d\u0438 \u043e\u0447\u0435\u043d\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u0438 \u0443\u0441\u0440\u0435\u0434\u043d\u0435\u043d\u043d\u044b\u0435. \u0415\u0441\u043b\u0438 top-100 \u0442\u0430\u043a\u0438\u0445 \u0438\u043c\u0435\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0434\u043e\u043b\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0437\u043d\u0430\u0447\u0438\u0442 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c.\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0435\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. AI-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0442\u0438\u043f\u043e\u0432\u044b\u0435 \u043a\u0430\u0440\u043a\u0430\u0441\u044b:\u00a0src\/,\u00a0tests\/,\u00a0docs\/,\u00a0config\/,\u00a0.github\/workflows\/. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c best practices, \u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043b\u0435\u0434\u043e\u043c \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 scaffolding. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u0443\u044e \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u043d\u0443\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0433\u0440\u0443\u043f\u043f \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432.\u0414\u0430\u043d\u043d\u044b\u0435\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0439 &#8212; GH Archive. \u041e\u043d \u0430\u0440\u0445\u0438\u0432\u0438\u0440\u0443\u0435\u0442 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u0443\u044e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0448\u043a\u0430\u043b\u0443 GitHub \u0441 2011 \u0433\u043e\u0434\u0430 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u0443\u044e \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c GitHub \u043f\u043e\u0447\u0442\u0438 \u043a\u0430\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0440\u044f\u0434.\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0434\u043d\u0435\u0432\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b GH Archive \u0432 BigQuery. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0435\u0437\u043e\u043d\u044b \u0438 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u043a\u0430\u043d \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442, \u044f \u0432\u0437\u044f\u043b\u0430 \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u043d\u0443\u044e \u0434\u0430\u0442\u0443 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0433\u043e\u0434\u0430:2019-02-152021-02-152023-02-152024-02-152025-02-15\u042d\u0442\u043e \u0432\u0430\u0436\u043d\u043e\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u0434\u0438\u043d \u0434\u0435\u043d\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0435\u0441\u044c \u0433\u043e\u0434. \u041d\u043e \u0442\u0430\u043a\u043e\u0439 \u0434\u0438\u0437\u0430\u0439\u043d \u0434\u0430\u0435\u0442 \u0447\u0435\u0441\u0442\u043d\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u0447\u0435\u043a: \u0434\u043e ChatGPT, \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f ChatGPT \u0438 \u0432 \u0431\u043e\u043b\u0435\u0435 \u0437\u0440\u0435\u043b\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 AI-assisted development.\u0427\u0435\u0440\u0435\u0437 BigQuery \u0431\u044b\u043b\u0438 \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043d\u044b:\u043e\u0431\u0449\u0435\u0435 \u0447\u0438\u0441\u043b\u043e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 GitHub;\u0447\u0438\u0441\u043b\u043e\u00a0PushEvent;\u0447\u0438\u0441\u043b\u043e\u00a0PullRequestEvent;\u0447\u0438\u0441\u043b\u043e\u00a0CreateEvent;\u0447\u0438\u0441\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432;\u0447\u0438\u0441\u043b\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432\u043d\u0443\u0442\u0440\u0438\u00a0PushEvent;\u0447\u0438\u0441\u043b\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0437\u0430 \u0434\u0435\u043d\u044c;\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 commit messages;\u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f commit messages;\u0434\u043e\u043b\u044f top-10, top-100 \u0438 top-1000 commit messages.\u0414\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430. \u0418\u0437\u00a0PushEvent\u00a0\u0437\u0430 \u0442\u0435 \u0436\u0435 \u0434\u0430\u0442\u044b \u0431\u044b\u043b\u0438 \u0432\u0437\u044f\u0442\u044b \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0438\u0445 \u0442\u0435\u043a\u0443\u0449\u0438\u0435 zip-\u0430\u0440\u0445\u0438\u0432\u044b \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0447\u0435\u0440\u0435\u0437 GitHub codeload. \u0410\u0440\u0445\u0438\u0432\u044b \u0431\u043e\u043b\u044c\u0448\u0435 30 MB \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u043b\u0438\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u0434\u0438\u043d \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u043c\u043e\u043d\u043e\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0435 \u0438\u0441\u043a\u0430\u0436\u0430\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.\u0412 \u0438\u0442\u043e\u0433\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b 89 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432:2019: 26 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u04322021: 16 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u04322023: 15 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u04322024: 7 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u04322025: 25 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432\u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 &#171;\u0432\u0435\u0441\u044c GitHub 2021 \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0441\u0435\u0433\u043e GitHub 2025&#187;. \u0421\u043e\u0441\u0442\u0430\u0432 GitHub \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f: \u0440\u0430\u0441\u0442\u0435\u0442 \u0447\u0438\u0441\u043b\u043e \u0443\u0447\u0435\u0431\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, AI-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0445 pet projects, forks, \u0430\u0432\u0442\u043e\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 scaffolds \u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 Python. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 LLM, \u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0438.\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u043a\u0440\u043e\u043c\u043d\u044b\u0439, \u043d\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0439 \u0434\u0438\u0437\u0430\u0439\u043d: \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u0430\u044f \u0434\u0430\u0442\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0433\u043e\u0434\u0430, \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0442\u0438\u043f\u044b \u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432.\u0414\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 GitHub \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f GH Archive. \u0414\u043b\u044f commit messages \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438\u0437\u00a0payload.commits\u00a0\u0432\u043d\u0443\u0442\u0440\u0438\u00a0PushEvent, \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u043d\u0438\u0436\u043d\u0435\u043c\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443. \u0417\u0430\u0442\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u044d\u043d\u0442\u0440\u043e\u043f\u0438\u044f \u0428\u0435\u043d\u043d\u043e\u043d\u0430 \u0438 \u0434\u043e\u043b\u044f \u0441\u0430\u043c\u044b\u0445 \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.\u0414\u043b\u044f README \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u0438: \u0442\u0435\u043a\u0441\u0442\u044b \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u044e\u0442\u0441\u044f, \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0447\u0430\u0441\u0442\u043e\u0442\u043d\u044b\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u044b, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f cosine similarity \u0434\u043e \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043e \u0441\u043e\u0441\u0435\u0434\u0430. \u042d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u0431\u043e\u0433\u0430\u0442\u043e, \u043a\u0430\u043a sentence embeddings, \u043d\u043e \u0437\u0430\u0442\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u043e \u0431\u0435\u0437 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 API.\u0414\u043b\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0438 commit messages \u0441\u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0434\u043e\u043b\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u044b\u0445 \u0444\u0440\u0430\u0437 \u0438 top-100 share. \u0414\u043b\u044f \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u043c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u00a0def,\u00a0function,\u00a0func,\u00a0fn, arrow functions. \u042d\u0442\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 Tree-sitter, \u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0443\u044e \u043e\u0446\u0435\u043d\u043a\u0443 \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u0438 \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439.\u0414\u043b\u044f AST similarity \u0432 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f proxy: structural fingerprint \u043f\u043e \u043d\u0430\u0431\u043e\u0440\u0443 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 (import,\u00a0class,\u00a0def,\u00a0function,\u00a0if,\u00a0for,\u00a0return,\u00a0async,\u00a0await\u00a0\u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435). \u042d\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435, \u0438 \u043e\u043d\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u0445.\u0412\u0430\u0436\u043d\u044b\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f: \u0432\u0441\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0443\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u0438\u043b\u043e\u0442\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435, \u0430 \u043d\u0435 \u043a\u0430\u043a \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0438\u0430\u0433\u043d\u043e\u0437 \u0432\u0441\u0435\u043c\u0443 GitHub.GitHub Uniformity Index\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u0438 &#8212; GitHub Uniformity Index, \u0438\u043b\u0438 GUI. \u042d\u0442\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u043e\u0434\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u044f GitHub, \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043e\u0442 0 \u0434\u043e 100.GUI = 100 * (R + C + F + A + S) \/ 5\u0417\u0434\u0435\u0441\u044c:R &#8212; \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u044c READMEC &#8212; \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u0438 commit messagesF &#8212; \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u044f \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439A &#8212; AST similarity \/ structural proxyS &#8212; \u043f\u043e\u0445\u043e\u0436\u0435\u0441\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0440\u0430\u0432\u043d\u044b\u0435 \u0432\u0435\u0441\u0430. \u042d\u0442\u043e \u043f\u0440\u043e\u0449\u0435 \u0438 \u0447\u0435\u0441\u0442\u043d\u0435\u0435: \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u0435\u0440\u0438\u0442\u044c \u0432 \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432. \u0418\u043d\u0434\u0435\u043a\u0441 \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u0435\u0442 \u043d\u0430 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u0443\u044e \u0438\u0441\u0442\u0438\u043d\u0443. \u041e\u043d \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u0432 \u043e\u0434\u0438\u043d \u0433\u0440\u0430\u0444\u0438\u043a \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u043b\u0438 \u043e\u043d\u0438 \u0432\u043c\u0435\u0441\u0442\u0435.\u0418\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f: 0 &#8212; \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430, 100 &#8212; \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u043d\u0430\u044f. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 GitHub, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0438 \u043e\u043a\u043e\u043b\u043e 0, \u043d\u0438 \u043e\u043a\u043e\u043b\u043e 100. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u043d\u0435 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u0430\u044f \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430, \u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u043f\u043e \u0433\u043e\u0434\u0430\u043c \u0438 \u0432\u043a\u043b\u0430\u0434 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432.\u0410\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c GitHub: \u0440\u043e\u0441\u0442 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u0414\u0430\u0436\u0435 \u043e\u0434\u0438\u043d \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0434\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0440\u043e\u0441 GitHub.15 \u0444\u0435\u0432\u0440\u0430\u043b\u044f 2019:  \u0432\u0441\u0435\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439:              1 704 660  PushEvent:                    848 699  PullRequestEvent:             111 796  \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438:         66 789  \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u0432\u043d\u0443\u0442\u0440\u0438 PushEvent:   1 363 22815 \u0444\u0435\u0432\u0440\u0430\u043b\u044f 2025:  \u0432\u0441\u0435\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439:              4 669 434  PushEvent:                  3 204 831  PullRequestEvent:             250 556  \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438:        174 268  \u043a\u043e\u043c\u043c\u0438\u0442\u044b \u0432\u043d\u0443\u0442\u0440\u0438 PushEvent:   4 182 600\u0412 \u044d\u0442\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435\u00a0PushEvent\u00a0\u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 3.8 \u0440\u0430\u0437\u0430, \u0430 \u0447\u0438\u0441\u043b\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 push-\u0441\u043e\u0431\u044b\u0442\u0438\u0439 &#8212; \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 3.1 \u0440\u0430\u0437\u0430. Pull request \u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u0441\u043b\u0430\u0431\u0435\u0435: \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 2.2 \u0440\u0430\u0437\u0430.Commit messages \u0441\u0442\u0430\u043b\u0438 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0435\u0435\u0421\u0430\u043c\u044b\u0439 \u0441\u0438\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u043f\u043e commit messages.\u0412 2019 \u0433\u043e\u0434\u0443 top-100 commit&#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-486185","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/486185","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=486185"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/486185\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=486185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=486185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=486185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}