{"id":1300,"date":"2026-01-31T20:03:15","date_gmt":"2026-01-31T20:03:15","guid":{"rendered":"https:\/\/marksmen.com.pl\/ai\/?p=1300"},"modified":"2026-01-31T23:20:05","modified_gmt":"2026-01-31T23:20:05","slug":"roboty-humanoidalne","status":"publish","type":"post","link":"https:\/\/marksmen.com.pl\/ai\/roboty-humanoidalne\/","title":{"rendered":"Roboty humanoidalne i pytanie \u201eQuo vadis, cz\u0142owieku?\u201d"},"content":{"rendered":"<figure class=\"wp-block-post-featured-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"1024\" src=\"https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2026\/01\/ChatGPT-Image-1-lut-2026-00_14_33.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"aria roboty humanoidalne\" style=\"object-fit:cover;\" srcset=\"https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2026\/01\/ChatGPT-Image-1-lut-2026-00_14_33.png 1536w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2026\/01\/ChatGPT-Image-1-lut-2026-00_14_33-300x200.png 300w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2026\/01\/ChatGPT-Image-1-lut-2026-00_14_33-1024x683.png 1024w, https:\/\/marksmen.com.pl\/ai\/wp-content\/uploads\/2026\/01\/ChatGPT-Image-1-lut-2026-00_14_33-768x512.png 768w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><\/figure>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<div id=\"article-rating\" data-max-stars=\"10\">\n  <div class=\"rating-row\">\n\n    <!-- LEWA STRONA: OCENIANIE -->\n    <div class=\"rate-left\">\n      <span class=\"label-left\">Oce\u0144 artyku\u0142:<\/span>\n      <div class=\"stars\"><\/div>\n      <div class=\"rating-status\"><\/div>\n    <\/div>\n\n    <!-- PRAWA STRONA: \u015aREDNIA -->\n    <div class=\"rate-right\">\n      <span class=\"label-right\">\u015arednia ocena:<\/span>\n      <div class=\"average-stars\"><\/div>\n      <div class=\"average-text\"><\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  'use strict';\n\n  var widget = document.getElementById('article-rating');\n  if (!widget) return;\n\n  var maxStars       = parseInt(widget.getAttribute('data-max-stars'), 10) || 10;\n  var starsContainer = widget.querySelector('.stars');\n  var status         = widget.querySelector('.rating-status');\n  var avgStars       = widget.querySelector('.average-stars');\n  var avgText        = widget.querySelector('.average-text');\n\n  \/\/ Pobranie tytu\u0142u artyku\u0142u\n  var h1entry = document.querySelector('h1.entry-title');\n  var h1any   = document.querySelector('h1');\n  var articleTitle = h1entry ? h1entry.innerText : (h1any ? h1any.innerText : document.title);\n\n  var currentRating = 0;\n  var userCountry   = 'unknown';\n  var alreadyRated  = false;\n\n  var storageKey   = 'article-rating-' + articleTitle;\n  var storedRating = localStorage.getItem(storageKey);\n\n  if (storedRating) {\n    currentRating = parseInt(storedRating, 10) || 0;\n    alreadyRated  = true;\n    status.textContent = 'Ju\u017c oceni\u0142e\u015b: ' + currentRating + ' \u2605';\n  }\n\n  \/\/ opcjonalne pobranie kraju u\u017cytkownika\n  fetch('https:\/\/ipapi.co\/json\/')\n    .then(function(res){ return res.json(); })\n    .then(function(data){\n      if (data && (data.country_name || data.country)) {\n        userCountry = data.country_name || data.country;\n      }\n    });\n\n  \/\/ ----- RENDEROWANIE GWIAZDEK -----\n  function renderStars() {\n    starsContainer.innerHTML = '';\n    for (var i = 1; i <= maxStars; i++) {\n      var span = document.createElement('span');\n      span.textContent = i <= currentRating ? '\u2605' : '\u2606';\n      span.style.cursor = alreadyRated ? 'default' : 'pointer';\n      span.style.fontSize = '1.4rem';\n      span.style.marginRight = '3px';\n      span.setAttribute('data-value', i);\n\n      if (!alreadyRated) {\n        (function(value) {\n          span.addEventListener('mouseenter', function(){ highlightStars(value); });\n          span.addEventListener('mouseleave', function(){ highlightStars(currentRating); });\n          span.addEventListener('click', function(){ handleRatingClick(value); });\n        })(i);\n      }\n\n      starsContainer.appendChild(span);\n    }\n  }\n\n  function highlightStars(value) {\n    var stars = starsContainer.querySelectorAll('span');\n    stars.forEach(function(star){\n      var v = parseInt(star.getAttribute('data-value'), 10);\n      star.textContent = v <= value ? '\u2605' : '\u2606';\n    });\n  }\n\n  function handleRatingClick(value) {\n    if (alreadyRated) return;\n    currentRating = value;\n    highlightStars(currentRating);\n    sendRating();\n  }\n\n  \/\/ ----- ZAPIS OCENY -----\n  function sendRating() {\n    status.textContent = 'Zapisywanie...';\n\n    var payload = {\n      title:   articleTitle,\n      stars:   currentRating,\n      country: userCountry\n    };\n\n    fetch('https:\/\/marksmen.com.pl\/ai\/wp-json\/marksmen\/v1\/rate', {\n      method: 'POST',\n      headers: {'Content-Type': 'application\/json'},\n      body: JSON.stringify(payload)\n    })\n    .then(function(res){ return res.json(); })\n    .then(function(){\n      localStorage.setItem(storageKey, String(currentRating));\n      alreadyRated = true;\n      status.textContent = 'Dzi\u0119kujemy! Oceni\u0142e\u015b: ' + currentRating + ' \u2605';\n      renderStars();\n      loadAverageRating();\n    })\n    .catch(function(){\n      status.textContent = 'B\u0142\u0105d zapisu.';\n    });\n  }\n\n  \/\/ ----- \u015aREDNIA -----\n  function loadAverageRating() {\n    avgText.textContent = '';\n\n    var url = 'https:\/\/marksmen.com.pl\/ai\/wp-json\/marksmen\/v1\/rating?title=' +\n      encodeURIComponent(articleTitle);\n\n    fetch(url)\n      .then(function(res){ return res.json(); })\n      .then(function(data){\n        if (!data || !data.success) {\n          avgText.textContent = '(brak danych)';\n          return;\n        }\n\n        var avg   = data.average;\n        var count = data.count;\n\n        if (!count || avg === null) {\n          renderAverageStars(0);\n          avgText.textContent = '(brak ocen)';\n          return;\n        }\n\n        var full = Math.floor(avg); \/\/ pe\u0142ne gwiazdki zaokr\u0105glone w d\u00f3\u0142\n        renderAverageStars(full);\n\n        avgText.textContent = '(' + avg.toFixed(1) + ' \/ 10, ' + count + ' g\u0142os\u00f3w)';\n      })\n      .catch(function(){\n        avgText.textContent = '(b\u0142\u0105d pobierania)';\n      });\n  }\n\n  function renderAverageStars(full) {\n    avgStars.innerHTML = '';\n    for (var i = 1; i <= maxStars; i++) {\n      var s = document.createElement('span');\n      s.textContent = i <= full ? '\u2605' : '\u2606';\n      s.style.fontSize = '1.4rem';\n      s.style.marginRight = '3px';\n      avgStars.appendChild(s);\n    }\n  }\n\n  renderStars();\n  loadAverageRating();\n\n})();\n<\/script>\n\n<style>\n#article-rating .rating-row {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin: 15px 0;\n}\n\n#article-rating .rate-left,\n#article-rating .rate-right {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n}\n\n#article-rating .rating-status,\n#article-rating .average-text {\n  font-size: 0.85rem;\n  margin-left: 6px;\n}\n\n#article-rating .rate-right {\n  white-space: nowrap;\n}\n\n#article-rating .label-left,\n#article-rating .label-right {\n  font-weight: bold;\n  margin-right: 5px;\n}\n\n@media (max-width: 600px) {\n  #article-rating .rating-row {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 10px;\n  }\n}\n<\/style>\n\n\n\n<!-- Anti-copy notice & auto-source insert -->\n<style>\n  .copy-popup {\n    position: fixed;\n    top: 50%; left: 50%;\n    transform: translate(-50%, -50%);\n    background: #fff;\n    border: 3px dashed #2196F3;\n    border-radius: 14px;\n    box-shadow: 0 8px 25px rgba(0,0,0,.25);\n    padding: 28px 40px;\n    text-align: center;\n    font-family: 'Segoe UI', Roboto, sans-serif;\n    z-index: 99999;\n    opacity: 0;\n    pointer-events: none;\n    transition: opacity 0.3s ease;\n  }\n\n  .copy-popup.show {\n    opacity: 1;\n    pointer-events: auto;\n  }\n\n  .copy-popup h2 {\n    color: #d32f2f;\n    font-weight: 700;\n    margin: 0 0 10px;\n    font-size: 24px;\n    letter-spacing: 1px;\n  }\n\n  .copy-popup p {\n    color: #222;\n    margin: 0;\n    font-size: 16px;\n  }\n<\/style>\n\n<script>\n(function(){\n  const MIN_CHARS = 40; \/\/ minimalna d\u0142ugo\u015b\u0107 kopiowanego tekstu, \u017ceby doda\u0107 \u017ar\u00f3d\u0142o\n  const EXCLUDED_SELECTORS = \"pre, code, kbd, samp, input, textarea, [contenteditable='true']\";\n\n  function getCanonicalUrl(){\n    const canonical = document.querySelector('link[rel=\"canonical\"]');\n    return (canonical && canonical.href ? canonical.href : location.href).split('#')[0];\n  }\n\n  function getTitle(){\n    const og = document.querySelector('meta[property=\"og:title\"]');\n    if (og && og.content) return og.content.trim();\n    return (document.title || \"\").trim();\n  }\n\n  function escapeHtml(s){\n    return String(s).replace(\/[&<>\"']\/g, (ch)=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[ch]));\n  }\n\n  function isExcluded(sel){\n    if (!sel || sel.rangeCount === 0) return false;\n    const range = sel.getRangeAt(0);\n    const node = range.commonAncestorContainer.nodeType === 1 ? range.commonAncestorContainer : range.commonAncestorContainer.parentElement;\n    return node && node.closest(EXCLUDED_SELECTORS);\n  }\n\n  function showPopup(){\n    let popup = document.querySelector('.copy-popup');\n    if (!popup){\n      popup = document.createElement('div');\n      popup.className = 'copy-popup';\n      popup.innerHTML = `\n        <h2>UWAGA<\/h2>\n        <p>Nie zapomnij poda\u0107 \u017ar\u00f3d\u0142a<\/p>`;\n      document.body.appendChild(popup);\n    }\n    popup.classList.add('show');\n    setTimeout(()=>popup.classList.remove('show'), 2500);\n  }\n\n  document.addEventListener('copy', function(e){\n    const sel = window.getSelection();\n    if (!sel || sel.isCollapsed || isExcluded(sel)) return;\n\n    const selectedText = sel.toString().trim();\n    if (selectedText.length < MIN_CHARS) return;\n\n    const title = getTitle();\n    const url = getCanonicalUrl();\n\n    const textAddition = `\\n\\n\u2014\\n\u0179r\u00f3d\u0142o: ${title ? title + \" \u2013 \" : \"\"}${url}`;\n    const htmlAddition = `<p style=\"margin-top:.75em;border-top:1px dashed #ccc;padding-top:.5em;\">\n      \u0179r\u00f3d\u0142o: ${title ? `<strong>${escapeHtml(title)}<\/strong> \u2013 ` : \"\"}<a href=\"${url}\">${url}<\/a>\n    <\/p>`;\n\n    \/\/ nadpisz zawarto\u015b\u0107 schowka\n    e.preventDefault();\n    if (e.clipboardData) {\n      e.clipboardData.setData('text\/plain', selectedText + textAddition);\n      const container = document.createElement('div');\n      for (let i=0; i<sel.rangeCount; i++){\n        container.appendChild(sel.getRangeAt(i).cloneContents());\n      }\n      e.clipboardData.setData('text\/html', container.innerHTML + htmlAddition);\n    }\n\n    showPopup();\n  });\n})();\n<\/script>\n\n\n\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-4160309499472645\"\n     crossorigin=\"anonymous\"><\/script>\n<ins class=\"adsbygoogle\"\n     style=\"display:block; text-align:center;\"\n     data-ad-layout=\"in-article\"\n     data-ad-format=\"fluid\"\n     data-ad-client=\"ca-pub-4160309499472645\"\n     data-ad-slot=\"7834809286\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Oce\u0144 artyku\u0142: \u015arednia ocena:<\/p>\n","protected":false},"author":1,"featured_media":1321,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"footnotes":""},"categories":[1,9,14,10,93,92],"tags":[95,96,97,94],"class_list":["post-1300","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ogolna","category-ai","category-bezpieczenstwo","category-llm","category-robotyka","category-technologie","tag-humanoidy","tag-roboty-humanoidalne","tag-robotyczni-towarzysze","tag-robotyka"],"_links":{"self":[{"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/posts\/1300","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/comments?post=1300"}],"version-history":[{"count":14,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/posts\/1300\/revisions"}],"predecessor-version":[{"id":1320,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/posts\/1300\/revisions\/1320"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/media\/1321"}],"wp:attachment":[{"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/media?parent=1300"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/categories?post=1300"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marksmen.com.pl\/ai\/wp-json\/wp\/v2\/tags?post=1300"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}