claude-opus-4-20250514-thinking
Claude Opus 4 Thinking משתמש במצב החשיבה המורחבת של Opus 4 המקורי לשינויי תוכנה מורכבים, לתהליכי סוכנים ממושכים ולמחקר. הוא יכול להסיק מסקנות בין שלבי כלים נתמכים ולקשר ראיות לאורך משימה תובענית לפני הפקת תוצאת טקסט.
על המודל
התיאור הזה מציג את יכולות המודל. הקלט, הפלט והאפשרויות הזמינים ב-Ailoot מפורטים בהמשך לפי השיטה שנבחרה.
Claude Opus 4 Thinking מחיל הנמקה מורחבת על מודל Claude Opus 4 המקורי. Anthropic מייעדת את הדור הזה לעבודת תכנות קשה, למחקר, לכתיבה ולמשימות הדורשות שמירה על כיוון לאורך שלבים רבים. הסימון Thinking נוגע לאופן שבו המודל ניגש לתשובה; הוא אינו הופך את Opus 4 המקורי למהדורת Opus מאוחרת יותר.
הנמקה לאורך משימה תובענית
Claude Opus 4 משלב מצב מענה רגיל עם מצב חשיבה מורחבת. בחשיבה מורחבת, הוא יכול להקדיש זמן רב יותר לבחינת הבעיה לפני התשובה. היצרן מתאר עבודה מתמשכת על משימות מורכבות כחוזקה מרכזית, במיוחד כשהמשימה דורשת קישור בין רצף ממצאים ולא פתרון של הנחיות מבודדות.
לשאלת מחקר, ספקו את החומרים להשוואה, את ההחלטה שהם צריכים לתמוך בה ואת התנאים החשובים. בקשו סינתזה מבוססת ראיות המפרידה בין ממצאים, הנחות ושאלות פתוחות. למשימת כתיבה, כללו את הקהל, את חומר המקור, את המבנה הנדרש ואת הטענות שהתוצאה חייבת להסביר. אלה שימושים מעשיים ביכולות המחקר והכתיבה המתועדות של המודל, ולא הבטחות לתוצאה מסוימת.
שינויים ברחבי בסיס קוד
Anthropic מדגישה הבנת קוד מורכב, עריכה, ניפוי שגיאות ושינויים המתפרסים על כמה קבצים. תנו למודל את המודולים הרלוונטיים, את חוזי הממשקים, את ההתנהגות הצפויה ואת הבדיקות הקיימות או פלט השגיאות. הגדירו את היקף השינוי המבוקש ובקשו הסבר לתלויות שהופכות את העריכות המוצעות לנחוצות.
תוצאה הנדסית מועילה מחברת שלושה דברים: סיבת הבעיה, מימוש עקבי ודרך לבדוק את ההתנהגות שהתקבלה. לארגון קוד מחדש, ציינו אילו ממשקים ציבוריים והתנהגויות נצפות חייבים להישאר יציבים. לתכונה, תארו את מסלול המשתמש ואת מקרי הכשל שלו. כך ההנמקה המתמשכת של המודל מועילה לפרויקט ולא רק מפיקה תשובה ארוכה יותר.
כלים, עבודה במקביל והמשכיות
דור Claude 4 המקורי מוסיף הנמקה בין קריאות לכלים בתהליך החשיבה המורחבת המתועד של Anthropic. הוא יכול לבחון תוצאת כלי, לשקול מחדש את גישתו ולבחור פעולה הבאה. היצרן מתאר גם שימוש בכלים במקביל והמשכיות משופרת כשהיישום מספק קבצים מקומיים שהמודל יכול לקרוא ולעדכן.
סוכן המשתמש ביכולות האלה צריך שהיישום שלו יספק את הכלים, יבצע פעולות שהתבקשו ויחזיר את תוצאותיהן. גם קובצי הזיכרון שייכים לסביבת היישום; הם אינם מאגר בלתי מוגבל המועבר אוטומטית בין שיחות שאינן קשורות. בתכנון תהליך עבודה, החזירו למודל תצפיות רלוונטיות ושמרו את מטרת המשימה ואת קריטריוני הקבלה זמינים.
ניתוח חזותי ופלט טקסט
Claude Opus 4 תומך גם בניתוח חזותי. צילומי מסך, תרשימים ודיאגרמות יכולים לספק ראיות לצד טקסט, והתשובה של המודל נשארת טקסטואלית. השתמשו בתמונות קריאות בבירור וציינו אילו יחסים תרצו להסביר. כללו ערכי מקור כשהמשימה תלויה בספירות או במדידות מדויקות, משום שפרשנות חזותית יכולה להיות מקורבת.
למשימת Ailoot API, הגדירו את התוצר הסופי הדרוש: הצעת שינוי בכמה קבצים, חקירה טכנית, סינתזת מחקר או מסמך מאורגן בקפידה. הוסיפו את הראיות והמגבלות שמאפשרות למודל לבחור גישה. סיכומי החשיבה המורחבת של היצרן מספקים הסבר לצד התוצאה, אך סיכום אינו תיעוד מילולי של כל ההנמקה. בדקו את הקוד או הניתוח שנמסרו מול דרישות המשימה, כולל הנחות שעדיין דורשות ראיות.
משימה מעשית
משימה מעשית
דוגמה טכנית באנגלית
Plan a coordinated order refactor
Review this proposed refactor. Module A emits {order_id, total_cents}; module B stores those fields; module C displays total_cents / 100. A developer proposes renaming only A to amount_cents. Identify affected contracts and propose a coordinated migration that preserves existing consumers, with checks for old and new records.התוצאה הצפויה
A dependency map in text, a staged migration proposal and compatibility checks for each consumer.בדיקת התוצאה
Confirm the proposal covers B and C and does not silently reinterpret cents as whole currency units.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions claude-opus-4-20250514-thinking
claude-opus-4-20250514-thinking
claude-opus-4-20250514-thinkingהתחלה
Claude Opus 4 Thinking משתמש במצב החשיבה המורחבת של Opus 4 המקורי לשינויי תוכנה מורכבים, לתהליכי סוכנים ממושכים ולמחקר. הוא יכול להסיק מסקנות בין שלבי כלים נתמכים ולקשר ראיות לאורך משימה תובענית לפני הפקת תוצאת טקסט.
- סוגי קלט נתמכים
- טקסט
- תוצאות
- טקסט
זמין ב-Ailoot · קלט ושיטות
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- סוגי קלט
text- סוגי פלט
text- פורמט פלט
- json או SSE
| שדה | סוג | דרישה | ערכים ומגבלות | ברירת מחדל |
|---|---|---|---|---|
שדהmodel | סוגstring | דרישהחובה | ערכים ומגבלות claude-opus-4-20250514-thinking | ברירת מחדל— |
שדהmessages | סוגmessage[] | דרישהחובה | ערכים ומגבלות מספר פריטים מזערי: 1 | ברירת מחדל— |
שדהmessages[].role | סוגstring | דרישהחובה | ערכים ומגבלות דוגמאות: system, user, assistant, tool, function תנאים: התפקידים האלה מיוצגים במפורש בטיפוסי התאימות בקוד המקור; מערך התפקידים המדויק נשאר ייחודי לכל מודל. תלוי במודל | ברירת מחדל— |
שדהmessages[].content | סוגstring|content_part[]|null | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהmessages[].tool_calls | סוגtool_call[] | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהmessages[].tool_call_id | סוגstring | דרישהרשות | ערכים ומגבלות חל כאשר: role=tool; השתמשו במזהה שהוחזר בפועל | ברירת מחדל— |
שדהmessages[].name | סוגstring | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהmessages[].reasoning_content | סוגstring | דרישהרשות | ערכים ומגבלות חל כאשר: החזירו בהמשך את ההנמקה שהתקבלה בפועל כאשר המודל הזה משתמש בה | ברירת מחדל— |
שדהmessages[].reasoning_details | סוגobject|array | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהmax_tokens | סוגinteger | דרישהרשות | ערכים ומגבלות מינימום: 1 תלוי במודל | ברירת מחדל— |
שדהmax_completion_tokens | סוגinteger | דרישהרשות | ערכים ומגבלות מינימום: 1 תלוי במודל | ברירת מחדל— |
שדהstream | סוגboolean | דרישהרשות | ערכים ומגבלות | ברירת מחדלfalse |
שדהstream_options.include_usage | סוגboolean | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהtemperature | סוגnumber | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהtop_p | סוגnumber | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהstop | סוגstring|string[] | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהtools | סוגfunction_tool[] | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהtools[].type | סוגstring | דרישהרשות | ערכים ומגבלות function תלוי במודל | ברירת מחדל— |
שדהtools[].function.name | סוגstring | דרישהחובה | ערכים ומגבלות חל כאשר: סופק כלי פונקציה | ברירת מחדל— |
שדהtools[].function.description | סוגstring | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהtools[].function.parameters | סוגJSON_schema | דרישהרשות | ערכים ומגבלות | ברירת מחדל— |
שדהtool_choice | סוגstring|object | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהparallel_tool_calls | סוגboolean | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהresponse_format | סוגobject | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהreasoning_effort | סוגstring | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהreasoning | סוגobject | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהservice_tier | סוגstring | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהinstructions | סוגstring | דרישהרשות | ערכים ומגבלות שדה תאימות | ברירת מחדל— |
שדהfunctions | סוגfunction[] | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהfunction_call | סוגstring|object | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהprompt_cache_options | סוגobject | דרישהרשות | ערכים ומגבלות תלוי במודל | ברירת מחדל— |
שדהmodalities | סוגstring[] | דרישהרשות | ערכים ומגבלות text | ברירת מחדל— |
שדהprovider | סוגobject | דרישהרשות | ערכים ומגבלות תנאים: provider.options נדחה במסלול הטקסט הזה של Ultra | ברירת מחדל— |
שדהcache_control.ttl | סוגstring | דרישהרשות | ערכים ומגבלות תנאים: 1h נדחה במיקומים המשמשים בפועל למטמון הנחיות | ברירת מחדל— |
שילובים של חומרי קלט
טקסט · טקסט UTF8
messages[].content
פרמטרים ומחזור חיים של השיטה
| פרמטר | מפרט |
|---|---|
פרמטרcontent_type | מפרטapplication/json |
פרמטרrequired | מפרטmodel, messages |
פרמטרmaterial_types | מפרטtext |
פרמטרmessages | מפרטמערך הודעות במבנה role/content |
פרמטרfile_material | מפרטמסמך UTF-8 בפועל מוכנס כטקסט מילולי; לא מוסק מזהה קובץ |
פרמטרoptional_controls | מפרטstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
פרמטרcontrol_scope | מפרטייחודי למודל; כלי פונקציות של המשתמש שונים מכלים מתארחים |
פרמטרoutput_modalities | מפרטtext |
פרמטרhosted_operations | מפרטfalse |
פרמטרmultimodal_input_binding | מפרטnull |
מחזור חיים: synchronous_or_streamed
שלחו את מזהה המודל המדויק עם messages.
אורך ההקשר אינו תקרת פלט.
קובץ טקסט יכול לספק טקסט מילולי; קלטי תמונה/אודיו/אובייקט קובץ דורשים קישור מדויק.
תעריפים
מידע תעריפים אינו מוסיף אפשרויות לבקשה. הפרמטרים הנתמכים מפורטים בשיטה שנבחרה.
- מצב מהיר
- לא צוין כאשר נבחר מצב מהיר
- מצב Flex
- לא צוין כאשר נבחר מצב flex
- מאמץ חשיבה מרבי
- לא צוין כאשר מאמץ החשיבה המרבי משתמש בהתאמת ברירת המחדל (default)
תעריפי Ailoot
מחירים לפי תצורה
| תצורה | טבלת תעריפים | חיוב |
|---|---|---|
| תצורהתעריפי הבסיס לטוקנים | טבלת תעריפיםתעריף בסיס | חיוב קלט · טוקני קלט $0.03 / 1K טוקנים פלט · טוקני פלט $0.15 / 1K טוקנים קלט · קריאה מהמטמון $0.0006 / 1K טוקנים קלט · כתיבה למטמון $0.0075 / 1K טוקנים קלט · כתיבה למטמון, 1 שעה — / 1K טוקנים |
לפני הבקשה Ailoot משריינת סכום משוער. לאחר קבלת התוצאה היא מסדירה את החיוב הסופי לפי השימוש המדוד. הסדרת חיוב בהזרמה משתמשת ברשומת השימוש הסופית. איך פועלים שריון הסכום והסדרת החיוב →
דוגמאות לבקשות
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "claude-opus-4-20250514-thinking", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='claude-opus-4-20250514-thinking',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
with client.chat.completions.stream(model='claude-opus-4-20250514-thinking',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
for event in stream:
payload=event.to_dict(mode="json")
log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
print(json.dumps(payload,ensure_ascii=False))
final=stream.get_final_completion()
save_result(final.to_dict(mode="json"),"stream-result")
קבלה ושמירה של תוצאות
Ailoot Ultra · OpenAI Chat
json או SSE
שמירת כל התוצאות שהושלמו
שמרו כל תגובה מלאה, קובץ ומקטע תוכן שהוחזרו.
שמרו כל בחירה ואת התוכן, קריאות הכלים וההנמקה שלה. ב-SSE הרכיבו עדכונים לפי אינדקס הבחירה/הכלי ושמרו את סיבת הסיום הסופית ואת השימוש.
כשצריך לבדוק את התגובה המקורית
שמרו מזהי בקשות/תגובות וכותרות. לא מסופק URL כללי לאחזור משימת טקסט.
שדות התגובה
| שדה | סוג |
|---|---|
שדהchoices[].index | סוגinteger |
שדהchoices[].message.content | סוגstring|null |
שדהchoices[].message.tool_calls | סוגtool_call[] |
שדהchoices[].message.reasoning_content | סוגstring |
שדהchoices[].message.reasoning_details | סוגobject|array |
שדהchoices[].finish_reason | סוגstring|null |
שדהusage | סוגobject |
שגיאות והשלבים הבאים
| תגובה | תנאי | השלב הבא |
|---|---|---|
תגובה400 · invalid_request_error | תנאישדות נדרשים, ייצוג חומר או ערך פרמטר שאינם תקינים | השלב הבאתקנו את השדות שצוינו לפני בקשת יצירה חדשה. |
כינויים
כינויים למודל
Ailoot Ultra claude-opus-4-20250514-thinking
כינויים לנתיבי שיטות
השתמשו בנתיבי השיטות המוצגים למעלה.
מזהי מודלים קשורים IDs
FAQ · claude-opus-4-20250514-thinking
- אילו קלטים ותוצאות זמינים?
POST /v1/chat/completions·claude-opus-4-20250514-thinking:text→text- באילו שדות הבקשה משתמשת?
POST /v1/chat/completions·claude-opus-4-20250514-thinking:model,messages,stream,modalities,provider- אילו מגבלות חלות?
POST /v1/chat/completions·claude-opus-4-20250514-thinking:messages.min_items:1