{"id":30114,"date":"2026-09-30T04:53:42","date_gmt":"2026-09-30T04:53:42","guid":{"rendered":"https:\/\/umang.pk\/2026\/09\/30\/%da%a9%d9%84%d8%a7%da%88-api-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d8%a7%db%8c%da%a9-%d9%82%d8%a7%d8%a8%d9%84-%d8%a7%d8%b9%d8%aa\/"},"modified":"2026-09-30T04:53:42","modified_gmt":"2026-09-30T04:53:42","slug":"%da%a9%d9%84%d8%a7%da%88-api-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d8%a7%db%8c%da%a9-%d9%82%d8%a7%d8%a8%d9%84-%d8%a7%d8%b9%d8%aa","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/09\/30\/%da%a9%d9%84%d8%a7%da%88-api-%da%a9%d8%a7-%d8%a7%d8%b3%d8%aa%d8%b9%d9%85%d8%a7%d9%84-%da%a9%d8%b1%d8%aa%db%92-%db%81%d9%88%d8%a6%db%92-%d8%a7%db%8c%da%a9-%d9%82%d8%a7%d8%a8%d9%84-%d8%a7%d8%b9%d8%aa\/","title":{"rendered":"\u06a9\u0644\u0627\u0688 API \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u06a9 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f AI \u0627\u0633\u0633\u0679\u0646\u0679 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0628\u0691\u06d2 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0632\u0628\u0627\u0646 \u06a9\u06d2 \u0645\u0627\u0688\u0644 \u0633\u0648\u0627\u0644\u0627\u062a \u06a9\u06d2 \u062c\u0648\u0627\u0628 \u062f\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u06a9\u0627 \u062e\u0644\u0627\u0635\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06a9\u0648\u0688 \u0644\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0628\u06cc\u0631\u0648\u0646\u06cc \u0646\u0638\u0627\u0645\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0639\u0627\u0645\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0644\u06cc\u06a9\u0646 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f AI \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0634\u0627\u0631\u06d2 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u0627\u0648\u0631 \u0631\u062f\u0639\u0645\u0644 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u06cc\u0627\u0631 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646 \u06a9\u0648 \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u06cc \u0633\u0631\u06af\u0632\u0634\u062a \u06a9\u0627 \u0646\u0638\u0645 \u06a9\u0631\u0646\u0627\u060c \u0645\u062a\u0639\u0644\u0642\u06c1 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u0627\u060c \u0679\u0648\u0644\u0632 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627\u060c \u0631\u062f\u0639\u0645\u0644 \u06a9\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0642\u0633\u0627\u0645 \u06a9\u0648 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0631\u0646\u0627\u060c \u0627\u0648\u0631 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0627 \u0627\u0646\u062f\u0627\u0632\u06c1 \u0644\u06af\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u0622\u0624\u0679 \u067e\u0679 \u0645\u0641\u06cc\u062f \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644 \u0645\u06cc\u06ba \u06c1\u0645 \u0628\u0646\u0627\u0626\u06cc\u06ba \u06af\u06d2: <strong>\u0634\u0627\u067e\u0646\u06af \u0627\u0633\u0633\u0679\u0646\u0679<\/strong>\u062e\u06cc\u0627\u0644\u06cc \u0622\u0646 \u0644\u0627\u0626\u0646 \u0627\u0633\u0679\u0648\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0633\u0679\u0645\u0631 \u0633\u067e\u0648\u0631\u0679 \u0627\u0633\u0633\u0679\u0646\u0679\u06d4 \u0628\u0627\u0644\u0622\u062e\u0631\u060c ShopHelper \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2:<\/p>\n<ul>\n<li>\n<p>\u0627\u06cc\u06a9 \u0645\u0633\u062a\u0642\u0644 \u0644\u06c1\u062c\u06d2 \u0645\u06cc\u06ba \u0639\u0627\u0645 \u0633\u0648\u0627\u0644\u0627\u062a \u06a9\u06d2 \u062c\u0648\u0627\u0628 \u062f\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06cc\u0627\u062f \u0631\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u06af\u0627\u06c1\u06a9 \u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06cc\u0627 \u06a9\u06c1\u0627 \u062a\u06be\u0627\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0627\u067e\u0646\u06d2 \u0622\u0631\u0688\u0631 \u06a9\u06cc \u062d\u0627\u0644\u062a \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u06a9\u0644\u0627\u0688 \u06a9\u06d2 \u0645\u0644\u0679\u06cc \u0628\u0644\u0627\u06a9 \u062c\u0648\u0627\u0628\u0627\u062a \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0648\u0631\u06a9 \u0641\u0644\u0648 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0633\u067e\u0648\u0631\u0679 \u0679\u06a9\u0679\u0633 \u06a9\u0648 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p>\u0627\u0646\u062f\u0627\u0632\u06c1 \u0644\u06af\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u062a\u06cc\u0632 \u0631\u0641\u062a\u0627\u0631 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u0633\u06d2 \u0646\u062a\u0627\u0626\u062c \u0645\u06cc\u06ba \u0628\u06c1\u062a\u0631\u06cc \u0622\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<\/ul>\n<p>\u06c1\u0631 \u0633\u06cc\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u062d\u0635\u06c1 \u0634\u0627\u0645\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0622\u067e \u062e\u0648\u062f \u0627\u067e\u0646\u06d2 \u0627\u06cc\u0688\u06cc\u0679\u0631 \u0645\u06cc\u06ba \u0627\u0633 \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631 \u0633\u06a9\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0637\u06cc\u06ba<\/h2>\n<p>\u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2:<\/p>\n<h2 id=\"heading-how-to-set-up-the-project-and-keep-your-api-key-secure\">\u0627\u067e\u0646\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u06ba \u0627\u0648\u0631 \u0627\u067e\u0646\u06cc API \u06a9\u06cc\u0632 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u0631\u06a9\u06be\u06cc\u06ba<\/h2>\n<p>\u0627\u06cc\u06a9 \u0648\u0631\u0686\u0648\u0626\u0644 \u0645\u0627\u062d\u0648\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06cc\u0646\u062a\u06be\u0631\u0648\u067e\u06a9 \u067e\u0627\u0626\u062a\u06be\u0648\u0646 SDK \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">python -m venv .venv\nsource .venv\/bin\/activate\npip install anthropic python-dotenv\n<\/code><\/pre>\n<p>\u0648\u0646\u0688\u0648\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2:<\/p>\n<pre><code class=\"language-bash\">.venv\\Scripts\\activate\n<\/code><\/pre>\n<p>\u0628\u0646\u0627\u0646\u0627 <code>.env<\/code> \u0641\u0627\u0626\u0644:<\/p>\n<pre><code class=\"language-text\">ANTHROPIC_API_KEY=your_api_key_here\n<\/code><\/pre>\n<p>\u0622\u067e \u06a9\u06cc API \u06a9\u0644\u06cc\u062f \u0622\u067e \u06a9\u06cc \u062e\u0641\u06cc\u06c1 \u0627\u0633\u0646\u0627\u062f \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u0628\u0631\u0627\u0624\u0632\u0631 JavaScript\u060c \u0645\u0648\u0628\u0627\u0626\u0644 \u0627\u06cc\u067e \u06a9\u0648\u0688\u060c \u06cc\u0627 \u06a9\u0644\u0627\u0626\u0646\u0679 \u0633\u0627\u0626\u0688 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0645\u06cc\u06ba \u0646\u06c1 \u0631\u06a9\u06be\u06cc\u06ba\u06d4 \u0630\u062e\u06cc\u0631\u06c1 \u0627\u0646\u062f\u0648\u0632\u06cc \u06a9\u0627 \u06a9\u0628\u06be\u06cc \u0639\u06c1\u062f \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">echo \".env\" >> .gitignore\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0628\u0639\u062f \u0645\u06cc\u06ba \u0648\u06cc\u0628 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0686\u0627\u0628\u06cc\u0627\u06ba \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u0645\u06cc\u06ba \u0631\u06a9\u06be\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-text\">Browser \u2192 Your backend \u2192 Claude API\n<\/code><\/pre>\n<p>\u0628\u0646\u0627\u0646\u0627 <code>app.py<\/code>:<\/p>\n<pre><code class=\"language-python\">import os\n\nfrom anthropic import Anthropic\nfrom dotenv import load_dotenv\n\nload_dotenv()\n\nMODEL = \"claude-sonnet-5\"\n\nclient = Anthropic(\n    api_key=os.environ[\"ANTHROPIC_API_KEY\"]\n)\n<\/code><\/pre>\n<p><code>load_dotenv()<\/code>    \u0627\u0633 \u0633\u06d2 \u0642\u062f\u0631\u06cc\u06ba \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba: <code>.env<\/code>. \u06a9\u06c1 <code>MODEL<\/code> \u0645\u0633\u062a\u0642\u0644 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u0648 \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u062c\u06af\u06c1 \u067e\u0631 \u0645\u0627\u0688\u0644 \u06a9\u0627 \u0646\u0627\u0645 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u0645\u062b\u0627\u0644 \u0686\u0644\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0645\u0627\u0688\u0644 \u0634\u0646\u0627\u062e\u062a \u06a9\u0646\u0646\u062f\u06c1 \u0622\u067e \u06a9\u06d2 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0645\u06cc\u06ba \u062f\u0633\u062a\u06cc\u0627\u0628 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-make-your-first-request\">\u067e\u06c1\u0644\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1<\/h2>\n<pre><code class=\"language-python\">response = client.messages.create(\n    model=MODEL,\n    max_tokens=500,\n    messages=[\n        {\n            \"role\": \"user\",\n            \"content\": \"Explain what an API is in simple terms.\"\n        }\n    ],\n)\n\nanswer = \"\".join(\n    block.text\n    for block in response.content\n    if block.type == \"text\"\n)\n\nprint(answer)\n<\/code><\/pre>\n<p>\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u06cc\u06ba \u062a\u06cc\u0646 \u0627\u06c1\u0645 \u062d\u0635\u06d2 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba:<\/p>\n<ul>\n<li>\n<p><code>model<\/code>    \u06a9\u0644\u0627\u0688 \u0645\u0627\u0688\u0644 \u06a9\u0648 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u0633\u0646\u0628\u06be\u0627\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a\u060c \u0631\u0641\u062a\u0627\u0631\u060c \u0627\u0648\u0631 \u0642\u06cc\u0645\u062a \u0645\u0627\u0688\u0644\u0632 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0645\u062e\u062a\u0644\u0641 \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<\/li>\n<li>\n<p><code>max_tokens<\/code>    \u0645\u062a\u0646 \u06a9\u06cc \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0642\u062f\u0627\u0631 \u06a9\u0648 \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 Claude \u067e\u06cc\u062f\u0627 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0686\u06be\u0648\u0679\u06cc \u0642\u062f\u0631\u06cc\u06ba \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 Claude \u06a9\u0648 \u0627\u067e\u0646\u0627 \u062c\u0648\u0627\u0628 \u0645\u06a9\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0631\u06a9\u0646\u06d2 \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/li>\n<li>\n<p><code>messages<\/code>    \u06af\u0641\u062a\u06af\u0648 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4 \u06c1\u0631 \u067e\u06cc\u063a\u0627\u0645 \u0645\u06cc\u06ba <code>role<\/code> \u0627\u0648\u0631 <code>content<\/code>. \u06a9\u0631\u062f\u0627\u0631 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 <code>user<\/code> \u06cc\u0627 <code>assistant<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0635\u0627\u0631\u0641 \u06a9\u0627 \u067e\u06cc\u063a\u0627\u0645 \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4 \u0645\u0644\u0679\u06cc \u0679\u0631\u0646 \u06af\u0641\u062a\u06af\u0648 \u0645\u06cc\u06ba \u0633\u0627\u0628\u0642\u06c1 \u200b\u200b\u0635\u0627\u0631\u0641 \u0627\u0648\u0631 \u0645\u0639\u0627\u0648\u0646 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u0634\u0627\u0645\u0644 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u0644\u0627\u0688 \u0648\u0627\u067e\u0633 \u0622 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 <code>response.content<\/code>\u0627\u0646 \u067e\u0679 \u0645\u0648\u0627\u062f \u06a9\u06d2 \u0628\u0644\u0627\u06a9\u0633 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a\u06d4 \u0639\u0627\u0645 \u0628\u0644\u0627\u06a9\u0633 \u06c1\u06cc\u06ba:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u0628\u0644\u0627\u06a9 \u06a9\u06cc \u0642\u0633\u0645<\/th>\n<th>\u0645\u0639\u0646\u06cc<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>text<\/code><\/td>\n<td>\u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u0645\u062a\u0646<\/td>\n<\/tr>\n<tr>\n<td><code>tool_use<\/code><\/td>\n<td>\u0627\u067e\u0646\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0633\u06d2 \u0679\u0648\u0644 \u06a9\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0648 \u06a9\u06c1\u06cc\u06ba\u06d4<\/td>\n<\/tr>\n<tr>\n<td><code>thinking<\/code><\/td>\n<td>\u0641\u0639\u0627\u0644 \u0645\u0648\u0627\u062f \u06a9\u0627 \u0627\u0646\u062f\u0627\u0632\u06c1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0627\u0633 \u0645\u062b\u0627\u0644 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u0645\u0641\u0631\u0648\u0636\u06d2 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0645\u062a\u0646 \u06a9\u06d2 \u0628\u0644\u0627\u06a9\u0633 \u062c\u0645\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>response.content[0]<\/code> \u06cc\u06c1 \u06c1\u0645\u06cc\u0634\u06c1 \u0645\u062a\u0646 \u06c1\u06d2.<\/p>\n<p>\u0622\u067e \u0646\u06af\u0631\u0627\u0646\u06cc \u06a9\u06d2 \u0645\u0642\u0627\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0627 \u0645\u0639\u0627\u0626\u0646\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">print(response.usage.input_tokens)\nprint(response.usage.output_tokens)\n<\/code><\/pre>\n<h2 id=\"heading-how-to-manage-conversation-history\">\u0627\u067e\u0646\u06cc \u06af\u0641\u062a\u06af\u0648 \u06a9\u06cc \u0633\u0631\u06af\u0632\u0634\u062a \u06a9\u0627 \u0646\u0638\u0645 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u06a9\u0644\u0627\u0688 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0639\u0644\u06cc\u062d\u062f\u06c1 API \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0648 \u06cc\u0627\u062f \u0646\u06c1\u06cc\u06ba \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0645 \u06c1\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062a\u0639\u0644\u0642\u06c1 \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u0628\u06be\u06cc\u062c\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">messages = [\n    {\n        \"role\": \"user\",\n        \"content\": \"What is your returns policy?\"\n    },\n    {\n        \"role\": \"assistant\",\n        \"content\": \"Items can be returned within 30 days.\"\n    },\n    {\n        \"role\": \"user\",\n        \"content\": \"How long do I have?\"\n    },\n]\n\nresponse = client.messages.create(\n    model=MODEL,\n    max_tokens=300,\n    messages=messages,\n)\n<\/code><\/pre>\n<p>\u062b\u0627\u0646\u0648\u06cc \u067e\u06cc\u063a\u0627\u0645 \u06a9\u0644\u0627\u0688 \u06a9\u06d2 \u067e\u0686\u06be\u0644\u06d2 \u062c\u0648\u0627\u0628\u0627\u062a \u06a9\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0622\u062e\u0631\u06cc \u0633\u0648\u0627\u0644 \u06a9\u06cc \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0645\u06cc\u06ba \u062a\u0634\u0631\u06cc\u062d \u06a9\u06cc \u062c\u0627 \u0633\u06a9\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0686\u06cc\u0679 \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u062a \u0622\u067e \u06a9\u0648 \u0686\u06cc\u0632\u0648\u06ba \u067e\u0631 \u0646\u0638\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">def chat(history, user_text):\n    history.append({\n        \"role\": \"user\",\n        \"content\": user_text,\n    })\n\n    response = client.messages.create(\n        model=MODEL,\n        max_tokens=500,\n        messages=history,\n    )\n\n    reply = \"\".join(\n        block.text\n        for block in response.content\n        if block.type == \"text\"\n    )\n\n    history.append({\n        \"role\": \"assistant\",\n        \"content\": reply,\n    })\n\n    return reply\n\n\nhistory = []\n\nprint(chat(history, \"What is your returns policy?\"))\nprint(chat(history, \"How long do I have?\"))\n<\/code><\/pre>\n<p>\u06c1\u0631 \u06a9\u0627\u0644 \u0635\u0627\u0631\u0641 \u06a9\u0627 \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u067e\u06cc\u063a\u0627\u0645 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u067e\u0648\u0631\u06cc \u062a\u0627\u0631\u06cc\u062e \u06a9\u0648 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u06af\u0644\u06cc \u0628\u0627\u0631\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0644\u0627\u0688 \u06a9\u06d2 \u062c\u0648\u0627\u0628 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u06af\u0627\u06c1\u06a9 \u06cc\u0627 \u0633\u06cc\u0634\u0646 ID \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-how-to-manage-history-as-it-grows\">\u0627\u067e\u0646\u06d2 \u0628\u0691\u06be\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0631\u06cc\u06a9\u0627\u0631\u0688\u0632 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0645 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0644\u0627\u0645\u062d\u062f\u0648\u062f \u0631\u06cc\u06a9\u0627\u0631\u0688\u0646\u06af \u0627\u0646 \u067e\u0679 \u0633\u0627\u0626\u0632 \u06a9\u0648 \u0628\u0691\u06be\u0627 \u0633\u06a9\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0644\u0627\u0688 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0648\u062c\u06c1 \u0645\u0631\u06a9\u0648\u0632 \u06a9\u0631\u0646\u0627 \u0645\u0632\u06cc\u062f \u0645\u0634\u06a9\u0644 \u0628\u0646\u0627 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0622\u067e\u0634\u0646 \u0635\u0631\u0641 \u062d\u0627\u0644\u06cc\u06c1 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u06a9\u0648 \u0631\u06a9\u06be\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">def trim_history(history, max_messages=10):\n    trimmed = history[-max_messages:]\n\n    while trimmed and trimmed[0][\"role\"] != \"user\":\n        trimmed.pop(0)\n\n    return trimmed\n<\/code><\/pre>\n<p>\u0627\u06cc\u06a9 \u0627\u0648\u0631 \u0622\u067e\u0634\u0646 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u062d\u0627\u0644\u06cc\u06c1 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u067e\u0686\u06be\u0644\u06d2 \u0645\u0648\u0691 \u06a9\u0627 \u062e\u0644\u0627\u0635\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">def summarise_history(history, keep_last=6):\n    old = history[:-keep_last]\n    recent = history[-keep_last:]\n\n    transcript = \"\\n\".join(\n        f\"{message['role']}: {message['content']}\"\n        for message in old\n    )\n\n    response = client.messages.create(\n        model=MODEL,\n        max_tokens=250,\n        messages=[{\n            \"role\": \"user\",\n            \"content\": (\n                \"Summarise this conversation in under 100 words. \"\n                \"Keep order numbers and unresolved issues.\\n\\n\"\n                f\"<conversation>{transcript}<\/conversation>\"\n            ),\n        }],\n    )\n\n    summary = \"\".join(\n        block.text\n        for block in response.content\n        if block.type == \"text\"\n    )\n\n    return summary, recent\n<\/code><\/pre>\n<p>\u062e\u0644\u0627\u0635\u06c1 \u0627\u06cc\u06a9 \u0627\u0644\u06af \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u06cc\u06ba \u0631\u06a9\u06be\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0627\u06af\u0644\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u06cc\u06ba \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0627\u0636\u0627\u0641\u06cc \u067e\u06cc\u063a\u0627\u0645 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u062f\u0627\u062e\u0644 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4 <code>recent<\/code>\u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0645\u0633\u0644\u0633\u0644 \u063a\u0644\u0637 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u067e\u06cc\u063a\u0627\u0645\u0627\u062a \u062a\u06cc\u0627\u0631 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u0646\u06d2 \u06cc\u0627 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062d\u0633\u0627\u0633 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u0648 \u0628\u06be\u06cc \u062f\u0631\u0633\u062a \u06a9\u0631\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">import re\n\ndef redact(text):\n    return re.sub(\n        r\"\\b(?:\\d[ -]?){13,16}\\b\",\n        \"[REDACTED CARD]\",\n        text,\n    )\n<\/code><\/pre>\n<h2 id=\"heading-how-to-structure-prompts-with-clear-boundaries\">\u0648\u0627\u0636\u062d \u062d\u062f\u0648\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u0634\u0627\u0631\u06d2 \u06a9\u06cc \u062a\u0634\u06a9\u06cc\u0644 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>XML \u0637\u0631\u0632 \u06a9\u06d2 \u0679\u06cc\u06af\u0632 \u0633\u0627\u062f\u06c1 \u0645\u062a\u0646 \u06c1\u06cc\u06ba\u060c \u062e\u0627\u0635 API \u06a9\u0645\u0627\u0646\u0688\u0632 \u0646\u06c1\u06cc\u06ba\u06d4 \u067e\u0631\u0627\u0645\u067e\u0679 \u06a9\u06d2 \u06c1\u0631 \u062d\u0635\u06d2 \u06a9\u0648 \u0648\u0627\u0636\u062d \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">prompt = \"\"\"\n<customer_reviews>\nThe product is comfortable, but the available colours are limited.\nCustomers also describe it as durable.\n<\/customer_reviews>\n\n<sales_data>\nJanuary: 120 units\nFebruary: 150 units\nMarch: 98 units\n<\/sales_data>\n\n<task>\nCompare the reviews with the sales data.\nIdentify possible relationships and state uncertainty.\n<\/task>\n\"\"\"\n<\/code><\/pre>\n<p>\u06cc\u06c1\u0627\u06ba\u060c <code><customer_reviews\/><\/code> \u062d\u0648\u0627\u0644\u06c1 \u062c\u0627\u062a \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a\u061b <code><sales_data\/><\/code> \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a\u060c <code><task\/><\/code> \u06a9\u0645\u0627\u0646\u0688 \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u0627\u0644\u06cc\u0633\u06cc\u0648\u06ba\u060c \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u0645\u0648\u0627\u062f\u060c \u0645\u062b\u0627\u0644\u0648\u06ba\u060c \u0627\u0648\u0631 \u0622\u0624\u0679 \u067e\u0679 \u06a9\u06cc \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0644\u062a\u06d2 \u062c\u0644\u062a\u06d2 \u062d\u062f\u0648\u062f \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-to-use-a-system-prompt\">\u0633\u0633\u0679\u0645 \u067e\u0631\u0627\u0645\u067e\u0679 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0633\u0633\u0679\u0645 \u067e\u0631\u0627\u0645\u067e\u0679\u0633 ShopHelper \u06a9\u06d2 \u0639\u0645\u0648\u0645\u06cc \u0631\u0648\u06cc\u06d2 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">system_prompt = \"\"\"\nYou are ShopHelper, a friendly customer-support assistant.\n\nKeep answers concise and clear.\nDo not invent prices, policies, or order details.\nIf information is missing, ask for it.\n\"\"\"\n<\/code><\/pre>\n<p>\u0627\u0633\u06d2 \u06af\u0641\u062a\u06af\u0648 \u0633\u06d2 \u0627\u0644\u06af \u06a9\u0631 \u062f\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">response = client.messages.create(\n    model=MODEL,\n    max_tokens=500,\n    system=system_prompt,\n    messages=[\n        {\"role\": \"user\", \"content\": \"Where is my order?\"}\n    ],\n)\n<\/code><\/pre>\n<p>\u0686\u0648\u0646\u06a9\u06c1 \u06af\u0627\u06c1\u06a9 \u0646\u06d2 \u0622\u0631\u0688\u0631 \u0646\u0645\u0628\u0631 \u0641\u0631\u0627\u06c1\u0645 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627\u060c \u0627\u0633 \u0644\u06cc\u06d2 ShopHelper \u06a9\u0648 \u0627\u0646\u062f\u0627\u0632\u06c1 \u0644\u06af\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0622\u0631\u0688\u0631 \u0646\u0645\u0628\u0631 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u06a9\u0644\u0627\u0688 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u062a\u06a9 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u0633\u06a9\u062a\u0627\u06d4 \u0679\u0648\u0644\u0632 \u0622\u067e \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0633\u06d2 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0645\u0646\u0638\u0645 \u0637\u0631\u06cc\u0642\u06c1 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">def get_order_status(order_id):\n    orders = {\n        \"ORD-1001\": \"shipped\",\n        \"ORD-1002\": \"processing\",\n    }\n\n    return {\n        \"order_id\": order_id,\n        \"status\": orders.get(order_id, \"not_found\"),\n    }\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u0622\u0631\u0688\u0631 \u0622\u0626\u06cc \u0688\u06cc \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633\u06d2 \u062f\u06cc\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0642\u0627\u0628\u0644 \u067e\u06cc\u0634\u0646 \u06af\u0648\u0626\u06cc \u0688\u06cc\u0679\u0627 \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u0645\u06cc\u06ba\u060c \u0644\u063a\u0627\u062a \u06a9\u0648 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06d2 \u0633\u0648\u0627\u0644\u0627\u062a \u0633\u06d2 \u0628\u062f\u0644 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0644\u0627\u0688 \u0641\u0646\u06a9\u0634\u0646 \u0646\u06c1\u06cc\u06ba \u0686\u0644\u0627\u062a\u0627\u06d4 \u0622\u067e \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06c1\u0627\u06ba \u06a9\u06c1\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633\u06a9\u06cc\u0645\u0648\u06ba \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0641\u0639\u0627\u0644 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">tools = [{\n    \"name\": \"get_order_status\",\n    \"description\": \"Get the current status of a customer order.\",\n    \"input_schema\": {\n        \"type\": \"object\",\n        \"properties\": {\n            \"order_id\": {\n                \"type\": \"string\",\n                \"description\": \"An order ID such as ORD-1001.\"\n            }\n        },\n        \"required\": [\"order_id\"],\n    },\n}]\n<\/code><\/pre>\n<p>\u06a9\u0644\u0627\u0688 \u0648\u0627\u067e\u0633 \u0622 \u0633\u06a9\u062a\u0627 \u06c1\u06d2: <code>tool_use<\/code> \u062d\u062a\u0645\u06cc \u062c\u0648\u0627\u0628 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0628\u0644\u0627\u06a9 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-text\">type=\"tool_use\"\nid=\"toolu_example\"\nname=\"get_order_status\"\ninput={\"order_id\": \"ORD-1001\"}\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>name<\/code> \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a\u061b <code>input<\/code> \u062f\u0644\u0627\u0626\u0644 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2 \u0627\u0648\u0631 <code>id<\/code> \u0646\u062a\u0627\u0626\u062c \u0648\u0627\u067e\u0633 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u062f\u0631\u06a9\u0627\u0631 \u06c1\u06d2\u06d4 \u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <code>stop_reason<\/code> \u06a9\u06cc <code>\"tool_use\"<\/code> \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 Claude \u06a9\u0648 \u062c\u0627\u0631\u06cc \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0622\u067e \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0648 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0679\u0648\u0644 \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0627 \u062c\u0648\u0627\u0628 \u0648\u06c1 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba: <code>tool_use<\/code> \u06cc\u06c1 \u0627\u0648\u067e\u0631 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062f\u06c1 \u0628\u0644\u0627\u06a9 \u06c1\u06d2\u06d4<\/p>\n<p>\u0686\u0644\u0627\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0679\u0648\u0644 \u06a9\u0627 \u0646\u0627\u0645\u060c \u062f\u0644\u0627\u0626\u0644 \u0627\u0648\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">import re\n\nORDER_ID_PATTERN = re.compile(r\"^ORD-\\d{4}$\")\n\ndef validate_tool_request(name, tool_input, current_user):\n    if name != \"get_order_status\":\n        return False, \"Unknown tool\"\n\n    order_id = tool_input.get(\"order_id\")\n\n    if not isinstance(order_id, str):\n        return False, \"order_id must be a string\"\n\n    if not ORDER_ID_PATTERN.fullmatch(order_id):\n        return False, \"Invalid order ID format\"\n\n    if order_id not in current_user[\"order_ids\"]:\n        return False, \"The customer cannot access this order\"\n\n    return True, None\n<\/code><\/pre>\n<p>\u0627\u06cc\u06a9 \u0645\u06a9\u0645\u0644 \u0644\u0648\u067e \u067e\u06be\u0631 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u0627\u0648\u0631 \u0639\u0645\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">def run_conversation(user_text, current_user):\n    messages = [{\"role\": \"user\", \"content\": user_text}]\n\n    while True:\n        response = client.messages.create(\n            model=MODEL,\n            max_tokens=500,\n            system=system_prompt,\n            tools=tools,\n            messages=messages,\n        )\n\n        if response.stop_reason != \"tool_use\":\n            return \"\".join(\n                block.text\n                for block in response.content\n                if block.type == \"text\"\n            )\n\n        messages.append({\n            \"role\": \"assistant\",\n            \"content\": response.content,\n        })\n\n        results = []\n\n        for block in response.content:\n            if block.type != \"tool_use\":\n                continue\n\n            valid, error = validate_tool_request(\n                block.name,\n                block.input,\n                current_user,\n            )\n\n            if valid:\n                result = get_order_status(block.input[\"order_id\"])\n                results.append({\n                    \"type\": \"tool_result\",\n                    \"tool_use_id\": block.id,\n                    \"content\": str(result),\n                })\n            else:\n                results.append({\n                    \"type\": \"tool_result\",\n                    \"tool_use_id\": block.id,\n                    \"content\": error,\n                    \"is_error\": True,\n                })\n\n        messages.append({\n            \"role\": \"user\",\n            \"content\": results,\n        })\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>tool_use_id<\/code> \u0646\u062a\u06cc\u062c\u06c1 \u06a9\u0648 \u0627\u0635\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062c\u0648\u0691\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062a\u0635\u062f\u06cc\u0642 \u0627\u0648\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0630\u0645\u06c1 \u062f\u0627\u0631 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-claude-responses-can-contain-multiple-blocks\">\u06a9\u0644\u0627\u0688 \u06a9\u06d2 \u062c\u0648\u0627\u0628 \u0645\u06cc\u06ba \u0645\u062a\u0639\u062f\u062f \u0628\u0644\u0627\u06a9\u0633 \u06c1\u0648\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/h2>\n<p>\u06cc\u06c1 \u0645\u0641\u0631\u0648\u0636\u06c1 \u0646\u0627\u0632\u06a9 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-python\">answer = response.content[0].text\n<\/code><\/pre>\n<p>\u0641\u0631\u0636 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u067e\u06c1\u0644\u0627 \u0628\u0644\u0627\u06a9 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u062a\u0646 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u06c1\u0631 \u0628\u0644\u0627\u06a9 \u06a9\u0627 \u0645\u0639\u0627\u0626\u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">for block in response.content:\n    if block.type == \"text\":\n        print(block.text)\n    elif block.type == \"tool_use\":\n        print(\"Validate and execute:\", block.name)\n    elif block.type == \"thinking\":\n        continue\n    else:\n        print(\"Unhandled block type:\", block.type)\n<\/code><\/pre>\n<p>ShopHelper \u0645\u062a\u0646 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0645\u0646\u0638\u0648\u0631 \u0634\u062f\u06c1 \u0679\u0648\u0644 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u067e\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0648\u0627\u0642\u0639\u0627\u062a \u06a9\u0648 \u062f\u0628\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0628\u0644\u0627\u06a9 \u06a9\u06cc \u0646\u0627\u0645\u0639\u0644\u0648\u0645 \u0627\u0642\u0633\u0627\u0645 \u06a9\u0648 \u0644\u0627\u06af \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-workflows-vs-agents\">\u0648\u0631\u06a9 \u0641\u0644\u0648 \u0627\u0648\u0631 \u0627\u06cc\u062c\u0646\u0679<\/h2>\n<p>\u0648\u0631\u06a9 \u0641\u0644\u0648 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u062a\u0631\u062a\u06cc\u0628 \u06a9\u06cc \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-text\">Receive ticket\n\u2193\nExtract details\n\u2193\nDraft reply\n\u2193\nReview reply\n<\/code><\/pre>\n<pre><code class=\"language-python\">def ask(prompt, max_tokens=500):\n    response = client.messages.create(\n        model=MODEL,\n        max_tokens=max_tokens,\n        messages=[{\"role\": \"user\", \"content\": prompt}],\n    )\n\n    return \"\".join(\n        block.text\n        for block in response.content\n        if block.type == \"text\"\n    )\n\n\ndef handle_ticket_workflow(ticket):\n    details = ask(\n        f\"<ticket>{ticket}<\/ticket>\\n\"\n        \"<task>Extract the problem and desired outcome.<\/task>\"\n    )\n\n    draft = ask(\n        f\"<details>{details}<\/details>\\n\"\n        \"<task>Draft a concise support reply.<\/task>\"\n    )\n\n    review = ask(\n        f\"<draft>{draft}<\/draft>\\n\"\n        \"<task>List unsupported promises, or say OK.<\/task>\"\n    )\n\n    return draft, review\n<\/code><\/pre>\n<p>\u0627\u06cc\u062c\u0646\u0679 \u0632\u06cc\u0627\u062f\u06c1 \u0644\u0686\u06a9\u062f\u0627\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0644\u0627\u0688 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0679\u0648\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627 \u06c1\u06d2 \u06cc\u0627 \u0646\u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0622\u06af\u06d2 \u06a9\u06cc\u0627 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u062c\u0646\u0679\u0648\u06ba \u06a9\u0648 \u0627\u0628 \u0628\u06be\u06cc \u062a\u0648\u062b\u06cc\u0642 \u0627\u0648\u0631 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0631\u0627\u062d\u0644 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>run_conversation()<\/code> \u0645\u0646\u062f\u0631\u062c\u06c1 \u0628\u0627\u0644\u0627 \u0641\u0646\u06a9\u0634\u0646 \u0627\u06cc\u062c\u0646\u0679 \u0644\u0648\u067e \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2.<\/p>\n<p>\u062c\u0628 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648\u06ba \u0627\u0648\u0631 \u0627\u0639\u0627\u062f\u06c1 \u0636\u0631\u0648\u0631\u06cc \u06c1\u0648 \u062a\u0648 \u0648\u0631\u06a9 \u0641\u0644\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u062c\u0628 \u0622\u067e \u06a9\u06cc \u0627\u06af\u0644\u06cc \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u0645\u0648\u062c\u0648\u062f\u06c1 \u0646\u062a\u0627\u0626\u062c \u067e\u0631 \u0645\u0646\u062d\u0635\u0631 \u06c1\u0648 \u062a\u0648 \u0627\u06cc\u062c\u0646\u0679 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-chaining-parallelisation-routing-and-evaluator-optimizer\">\u06a9\u0646\u06cc\u06a9\u0679\u06cc\u0648\u06cc\u0679\u06cc\u060c \u0645\u062a\u0648\u0627\u0632\u06cc\u060c \u0631\u0648\u0679\u0646\u06af\u060c \u0627\u0648\u0631 evaluator-optimizer<\/h2>\n<p><strong>\u0686\u06cc\u0646 \u06a9\u06d2 \u062c\u0648\u062a\u06d2<\/strong> \u06c1\u0631 \u0646\u062a\u06cc\u062c\u06c1 \u06a9\u0648 \u0627\u06af\u0644\u06d2 \u0645\u0631\u062d\u0644\u06d2 \u067e\u0631 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">def chained_reply(ticket, policy):\n    draft = ask(\n        f\"<ticket>{ticket}<\/ticket>\\n\"\n        \"<task>Draft a support reply.<\/task>\"\n    )\n\n    issues = ask(\n        f\"<policy>{policy}<\/policy>\\n\"\n        f\"<draft>{draft}<\/draft>\\n\"\n        \"<task>List unsupported claims.<\/task>\"\n    )\n\n    return ask(\n        f\"<draft>{draft}<\/draft>\\n\"\n        f\"<issues>{issues}<\/issues>\\n\"\n        \"<task>Rewrite the final reply.<\/task>\"\n    )\n<\/code><\/pre>\n<p><strong>\u0645\u062a\u0648\u0627\u0632\u06cc<\/strong> \u0628\u06cc\u06a9 \u0648\u0642\u062a \u0622\u0632\u0627\u062f\u0627\u0646\u06c1 \u06a9\u0627\u0645 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">from concurrent.futures import ThreadPoolExecutor\n\ntickets = [\n    \"My headphones arrived broken.\",\n    \"I was charged twice.\",\n    \"How do I change my address?\",\n]\n\ndef summarise(ticket):\n    return ask(\n        f\"<ticket>{ticket}<\/ticket>\\n\"\n        \"<task>Summarise in one sentence.<\/task>\",\n        max_tokens=100,\n    )\n\nwith ThreadPoolExecutor(max_workers=3) as pool:\n    summaries = list(pool.map(summarise, tickets))\n\ndigest = ask(\n    \"<summaries>\\n\"\n    + \"\\n\".join(summaries)\n    + \"\\n<\/summaries>\\n\"\n    \"<task>Summarise today's support themes.<\/task>\"\n)\n<\/code><\/pre>\n<p><strong>\u0631\u0648\u0679\u0646\u06af<\/strong> \u062e\u0635\u0648\u0635\u06cc \u0648\u0631\u06a9 \u0641\u0644\u0648 \u06a9\u0648 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">def route(ticket):\n    label = ask(\n        f\"<ticket>{ticket}<\/ticket>\\n\"\n        \"<task>Return exactly refund, delivery, or general.<\/task>\",\n        max_tokens=10,\n    ).strip().lower()\n\n    return label if label in {\"refund\", \"delivery\", \"general\"} else \"general\"\n<\/code><\/pre>\n<p><strong>\u062a\u0634\u062e\u06cc\u0635 \u06a9\u0646\u0646\u062f\u06c1 &#8211; \u0627\u0635\u0644\u0627\u062d \u06a9\u0646\u0646\u062f\u06c1<\/strong> \u062c\u0648\u0627\u0628\u0627\u062a \u0628\u0646\u0627\u0626\u06cc\u06ba\u060c \u0627\u0646 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">def improve_reply(ticket, rounds=2):\n    reply = ask(\n        f\"<ticket>{ticket}<\/ticket>\\n\"\n        \"<task>Write a support reply.<\/task>\"\n    )\n\n    for _ in range(rounds):\n        review = ask(\n            f\"<reply>{reply}<\/reply>\\n\"\n            \"<task>List accuracy or tone problems, or say PASS.<\/task>\"\n        )\n\n        if review.strip().upper() == \"PASS\":\n            break\n\n        reply = ask(\n            f\"<reply>{reply}<\/reply>\\n\"\n            f\"<review>{review}<\/review>\\n\"\n            \"<task>Rewrite the reply.<\/task>\"\n        )\n\n    return reply\n<\/code><\/pre>\n<p>\u0627\u06af\u0631 \u0627\u0636\u0627\u0641\u06cc \u0645\u0639\u06cc\u0627\u0631 \u0627\u0636\u0627\u0641\u06cc API \u06a9\u0627\u0644\u0648\u06ba \u06a9\u0627 \u062c\u0648\u0627\u0632 \u067e\u06cc\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0648\u060c \u0645\u0646\u062d\u0635\u0631 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0686\u06cc\u0646\u0646\u06af\u060c \u0622\u0632\u0627\u062f \u06a9\u0627\u0645\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062a\u0648\u0627\u0632\u06cc\u060c \u062e\u0635\u0648\u0635\u06cc \u0631\u0627\u0633\u062a\u0648\u06ba \u067e\u0631 \u0631\u0648\u0679\u0646\u06af\u060c \u0627\u0648\u0631 \u0627\u06cc\u0648\u06cc\u0644\u06cc\u0648\u06cc\u0679\u0631-\u0622\u067e\u0679\u06cc\u0645\u0627\u0626\u0632\u06cc\u0634\u0646 \u0644\u0648\u067e\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-to-evaluate-prompt-quality\">\u0645\u0639\u06cc\u0627\u0631 \u06a9\u0627 \u0641\u0648\u0631\u06cc \u0627\u0646\u062f\u0627\u0632\u06c1 \u06a9\u06cc\u0633\u06d2 \u0644\u06af\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/h2>\n<p>\u0646\u0645\u0627\u0626\u0646\u062f\u06c1 \u0679\u06cc\u0633\u0679 \u06a9\u06cc\u0633\u0632 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">test_cases = [\n    {\n        \"ticket\": \"I want a refund for broken headphones.\",\n        \"expected\": \"refund\",\n    },\n    {\n        \"ticket\": \"Where is ORD-1002?\",\n        \"expected\": \"delivery\",\n    },\n    {\n        \"ticket\": \"Do you sell gift cards?\",\n        \"expected\": \"general\",\n    },\n]\n<\/code><\/pre>\n<p>\u0627\u0646 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u0645\u06cc\u06ba \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06cc \u0645\u062e\u062a\u0644\u0641 \u0627\u0642\u0633\u0627\u0645 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4 \u0633\u0633\u0679\u0645 \u067e\u0631\u0627\u0645\u067e\u0679\u060c \u0645\u062b\u0627\u0644\u060c \u0645\u0627\u0688\u0644\u060c \u0679\u0648\u06a9\u0646 \u06a9\u06cc \u062d\u062f\u060c \u06cc\u0627 \u0631\u0648\u0679\u0646\u06af \u06a9\u06cc \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0627\u0633\u06cc \u06a9\u06cc\u0633 \u06a9\u0648 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">def evaluate(route_fn, cases):\n    passed = 0\n\n    for case in cases:\n        result = route_fn(case[\"ticket\"])\n\n        if result == case[\"expected\"]:\n            passed += 1\n        else:\n            print(\"Failed:\", case[\"ticket\"], result)\n\n    score = passed \/ len(cases)\n    print(f\"{passed}\/{len(cases)} passed\")\n    return score\n<\/code><\/pre>\n<p>\u0644\u06cc\u0628\u0644\u0632 \u0627\u0648\u0631 JSON \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0648\u0688 \u067e\u0631 \u0645\u0628\u0646\u06cc \u06af\u0631\u06cc\u0688\u0631\u0632 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0644\u06c1\u062c\u06d2\u060c \u062f\u0631\u0633\u062a\u06af\u06cc \u0627\u0648\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0646\u0633\u0627\u0646\u06cc \u06cc\u0627 \u0645\u0627\u0688\u0644 \u067e\u0631 \u0645\u0628\u0646\u06cc \u0631\u06cc\u0679\u0631\u0632 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-conclusion\">\u0646\u062a\u06cc\u062c\u06c1<\/h2>\n<p>Claude API \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u062d\u0631\u06cc\u0631\u06cc \u0627\u0634\u0627\u0631\u06d2 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u0642\u0627\u0628\u0644 \u0628\u06be\u0631\u0648\u0633\u06c1 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u06a9\u0648 \u0645\u0646\u0638\u0645 \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642\u060c \u0645\u0646\u0638\u0645 \u06af\u0641\u062a\u06af\u0648 \u06a9\u06cc \u062d\u0627\u0644\u062a\u060c \u062b\u0627\u0628\u062a \u0634\u062f\u06c1 \u0679\u0648\u0644 \u0627\u06cc\u06af\u0632\u06cc\u06a9\u06cc\u0648\u0634\u0646\u060c \u0645\u062d\u062a\u0627\u0637 \u0631\u062f\u0639\u0645\u0644 \u0633\u06d2 \u0646\u0645\u0679\u0646\u06d2\u060c \u0645\u0646\u0627\u0633\u0628 \u0648\u0631\u06a9 \u0641\u0644\u0648\u060c \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0642\u0627\u0628\u0644 \u062a\u0634\u062e\u06cc\u0635 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u0642\u0635\u062f \u0627\u06cc\u06a9 \u06a9\u0627\u0645\u0644 \u0627\u0634\u0627\u0631\u06c1 \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u0627 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 Claude \u06a9\u06d2 \u0627\u0631\u062f \u06af\u0631\u062f \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u06d2 \u0646\u0638\u0627\u0645 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06c1\u06d2 \u062c\u0648 \u0635\u062d\u06cc\u062d \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u063a\u06cc\u0631 \u0645\u062d\u0641\u0648\u0638 \u0631\u0648\u06cc\u06d2 \u06a9\u0648 \u0645\u062d\u062f\u0648\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u063a\u06cc\u0631 \u06cc\u0642\u06cc\u0646\u06cc \u0635\u0648\u0631\u062a\u062d\u0627\u0644 \u06a9\u0648 \u0633\u0646\u0628\u06be\u0627\u0644\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u0627\u0642\u062f\u0627\u0645\u0627\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0627\u06ba \u0646\u062a\u0627\u0626\u062c \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0628\u0691\u06d2 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0632\u0628\u0627\u0646 \u06a9\u06d2 \u0645\u0627\u0688\u0644 \u0633\u0648\u0627\u0644\u0627\u062a \u06a9\u06d2 \u062c\u0648\u0627\u0628 \u062f\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u06a9\u0627 \u062e\u0644\u0627\u0635\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06a9\u0648\u0688 \u0644\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0628\u06cc\u0631\u0648\u0646\u06cc \u0646\u0638\u0627\u0645\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0639\u0627\u0645\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0644\u06cc\u06a9\u0646 \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f AI \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0634\u0627\u0631\u06d2 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u0627\u0648\u0631 \u0631\u062f\u0639\u0645\u0644 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-30114","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/30114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/comments?post=30114"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/30114\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=30114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=30114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=30114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}