ข้ามไปยังเนื้อหา
21/30บทที่ 21 จาก 30

ราคา Multimodal: รูปภาพ เสียง และวิดีโอคิดเงินจริงอย่างไร

โมเดลสามตัวเจอภาพ 500 ภาพชุดเดียวกัน แต่ค่าบริการต่างกัน 5.5 เท่า และตัวที่ถูกสุดพลิกทันทีเมื่อมีคน resize ภาพ

ในหน้านี้

นี่คืองานหนึ่งงาน แต่คิดราคาได้สามแบบ: อธิบายภาพถ่ายสินค้า 500 ภาพ ภาพละ caption สั้น ๆ หนึ่งอัน ภาพชุดเดียวกัน instruction เดียวกัน ความยาวคำตอบเท่ากัน สิ่งเดียวที่เปลี่ยนคือโมเดลตัวไหนเป็นคนอ่านภาพ

ภาพถ่ายgpt-5.6-lunagemini-3.1-flash-liteclaude-haiku-4.5
800 × 600$0.0848$0.1638$0.4380
1024 × 768$0.1200$0.1638$0.6370
1280 × 960$0.1718$0.1638$0.9010
1600 × 1200$0.2558$0.1638$0.9010
4000 × 3000$0.3220$0.1638$0.9010

มีสามเรื่องในตารางนี้ที่ควรหยุดดู

โมเดลที่ถูกที่สุด เปลี่ยน ระหว่างแถวที่สามกับแถวที่สี่ ทั้งที่เป็นงานเดียวกัน เพียงเพราะมีคน resize ภาพถ่าย ถ้าขอเป็นย่อหน้าแทน caption จุดตัดก็ขยับอีกครั้ง: ที่ 1280 × 960 ผู้ชนะคือ Gemini สำหรับ caption สี่สิบ token และเป็น OpenAI สำหรับย่อหน้าสี่ร้อย token

คอลัมน์ Gemini ไม่ขยับเลย ในทุกแถว: ภาพถ่าย 4000 \u00d7 3000 มีต้นทุนเท่ากับภาพ 640 \u00d7 480 พอดี ภาพถ่าย 4000 × 3000 มีต้นทุนเท่ากับภาพถ่าย 640 × 480 พอดี นั่นไม่ใช่เพดานราคา แต่เป็นผลจากวิธีนับของมัน และหมายความว่าการปรับต้นทุนที่พบบ่อยที่สุดในธุรกิจนี้ — downsample ก่อน upload — ให้ผลแบบนี้:

image tokens, 4000 × 3000 → 800 × 600ต้นทุนของรันประหยัด
gpt-5.6-luna2,942 → 570$0.3220 → $0.084873.7 %
claude-haiku-4.51,564 → 638$0.9010 → $0.438051.4 %
gemini-3.1-flash-lite1,032 → 1,032$0.1638 → $0.16380.0 %

ไม่มีตัวเลขไหนในนี้เป็นราคาที่ผู้ขายประกาศไว้ ทั้งสามต้อง คำนวณ จากกฎสามชุดที่ต่างกัน เพราะไม่มีที่ไหนถือว่าภาพถ่ายเป็นหน่วยคิดเงินจริง: ก่อนอื่นมันถูกแปลงเป็น token ด้วยเลขคณิตที่เขียนไว้ในสามที่ที่เข้ากันไม่ได้

บทที่ 16 สร้างใบเรียกเก็บเงินของ text และหยุดตรงที่ text สิ้นสุด บทนี้คือส่วนที่เหลือของ invoice: รูปภาพ speech transcription วิดีโอ และ raw compute ซึ่งรวมกันแล้วถูกคิดเงินด้วยหน่วยต่างกันแปดแบบ และวิธีเปรียบเทียบสิ่งที่ไม่ได้ขายด้วยมาตรวัดเดียวกัน

แสดงรายละเอียด

สิ่งที่บทนี้ต้องใช้จากบทก่อนหน้า

  • บทที่ 7 สร้าง tokenizer และหน่วย ทุกอย่างในบทนี้คือความพยายามแปลงสิ่งที่ไม่ใช่ text ให้กลายเป็นหน่วยนั้น
  • บทที่ 8 วางหลักว่าโมเดลบริโภคอะไร: ไม่ใช่สัญลักษณ์ แต่เป็นเวกเตอร์ใน embedding space นั่นคือเหตุผลที่รูปภาพถูกคิดราคาเป็น token ได้ตั้งแต่แรก
  • บทที่ 16 สร้าง computeCost, price tiers และ token buckets ห้าถังของมัน บทนี้ขยาย function นั้น แทนที่จะแทนที่มัน
  • บทที่ 11 แนะนำ LoRA ในฐานะเทคนิค fine-tuning และ บทที่ 20 คิดราคามันในฐานะการตัดสินใจด้านงบประมาณ ที่นี่มันโผล่มาบนโมเดลที่ไม่ใช่ language model

ไม่มี tensor ตามกฎจาก บทที่ 14: นี่คือภาษีราคา การแปลงหน่วย และบัญชี จึงเป็น TypeScript

transformer รับลำดับของเวกเตอร์ มันไม่สนว่าเวกเตอร์เหล่านั้นมาจากไหน บทที่ 8 ป้อน embeddings ที่ lookup จาก token id ให้มัน ไม่มีอะไรใน architecture บังคับว่าต้องมี lookup

ดังนั้น: ตัดภาพเป็นสี่เหลี่ยมขนาดคงที่ แผ่แต่ละสี่เหลี่ยมเป็นรายการตัวเลข แล้วดันแต่ละรายการผ่าน learned linear layer หนึ่งชั้นเพื่อให้ได้เวกเตอร์ที่มีความกว้างเท่ากับของโมเดล patch สีขนาด 32 × 32 คือ 32×32×3=307232 \times 32 \times 3 = 3072 ตัวเลข; projection ERd×3072E \in \mathbb{R}^{d \times 3072} แปลงมันเป็นเวกเตอร์มิติ dd หนึ่งตัว ซึ่งมี shape เดียวกับที่ text token เข้ามาพอดี ทั้งหมดมีแค่นี้ และนี่คือ paper ที่ชื่อก็บอกไว้: รูปภาพหนึ่งภาพมีค่าเท่ากับคำ 16 × 16 คำ1 เพิ่ม positional encoding เพื่อให้โมเดลรู้ว่าสี่เหลี่ยมไหนอยู่ตรงไหน สลับผลลัพธ์เข้ากับ text embeddings แล้วลำดับที่โมเดลอ่านก็เป็นรูปภาพส่วนหนึ่งและประโยคอีกส่วนหนึ่ง

paper สามฉบับทำให้มันกลายเป็นผลิตภัณฑ์ CLIP ฝึก image encoder และ text encoder ให้เห็นพ้องกัน บนคู่ข้อมูลที่ scrape มา 400 ล้านคู่ ซึ่งเป็นจุดที่แนวคิดว่า pixel และคำสามารถแชร์ space เดียวกันเลิกเป็นแค่สมมติฐาน2 Flamingo เอา frozen vision encoder ไป bolt เข้ากับ frozen language model ด้วย bridging layers ที่ฝึกเพิ่มไม่กี่ชั้น3 LLaVA แสดงว่า bridge เป็น linear projection ชั้นเดียวได้ และสอน instruction-following ด้วยข้อมูลที่สร้างขึ้นได้ ซึ่งเป็นเหตุผลที่ open vision-language model ทุกตัวหลังจากนั้นหน้าตาใกล้เคียงกัน4

ผลต่อ invoice ของคุณตรงไปตรงมาและไม่หวือหวา: patches คือ positions ใน sequence ดังนั้นมันคือ input tokens ดังนั้นคุณจ่ายเงินตาม input rate จำนวนเท่าไรเป็นเลขคณิต และ provider แต่ละรายทำต่างกัน

กฎสามชุด ทั้งหมดเผยแพร่แล้ว แต่ไม่มีชุดไหนเหมือนกัน

ลิงก์ไปยังส่วน: กฎสามชุด ทั้งหมดเผยแพร่แล้ว แต่ไม่มีชุดไหนเหมือนกัน

กฎทุกข้อด้านล่าง implement จาก documentation ของ provider เอง และตรวจเทียบกับ worked examples ใน documentation เดียวกัน

OpenAI คลุมภาพด้วย patch 32 × 32 แล้วคูณจำนวนด้วย factor ต่อโมเดล หากจำนวน patch เกินงบของโมเดลและ detail level นั้น ภาพจะถูกย่อจนกว่าจะพอดี:

patches=w32×h32,shrink=322budgetwh\text{patches} = \left\lceil \frac{w}{32} \right\rceil \times \left\lceil \frac{h}{32} \right\rceil, \qquad \text{shrink} = \sqrt{\frac{32^2 \cdot \text{budget}}{w \cdot h}}

Anthropic คลุมภาพด้วย patch 28 × 28 หนึ่ง visual token ต่อ patch และกำหนดเพดานทั้งด้านยาวและจำนวน token — 1,568 pixels และ 1,568 tokens ในโมเดล standard-tier, 2,576 และ 4,784 ใน tier ความละเอียดสูง ภาพที่ใหญ่เกินจะถูก scale ลงสู่ขนาดใหญ่ที่สุดที่ยังพอดีกับทั้งสองเงื่อนไข5

Google ไม่ได้นับ pixels เลย ภาพที่ทั้งสองด้านยาวไม่เกิน 384 pixels คิดเหมา 258 tokens ภาพที่ใหญ่กว่านั้นจะถูกตัดเป็น tiles tile ละ 258 tokens และ grid ของ tile มาจาก crop unit ขนาด min(w,h)/1.5\lfloor \min(w,h) / 1.5 \rfloor6

imagetokens.tsTS
export function openaiImageTokens(
  w: number, h: number,
  { maxDim, patchBudget, multiplier }: { maxDim: number; patchBudget: number; multiplier: number },
) {
  const fit = Math.min(1, maxDim / Math.max(w, h));      // never enlarges
  w = Math.floor(w * fit); h = Math.floor(h * fit);
  let patches = Math.ceil(w / 32) * Math.ceil(h / 32);   
  if (patches > patchBudget) {
    const s = Math.sqrt((32 * 32 * patchBudget) / (w * h));
    const adj = s * Math.min(
      Math.floor((w * s) / 32) / ((w * s) / 32),
      Math.floor((h * s) / 32) / ((h * s) / 32));
    patches = Math.ceil(Math.floor(w * adj) / 32) * Math.ceil(Math.floor(h * adj) / 32);
  }
  return Math.ceil(patches * multiplier);                
}

export function anthropicVisualTokens(
  w: number, h: number,
  { maxLongEdge, maxTokens }: { maxLongEdge: number; maxTokens: number },
) {
  const tok = (a: number, b: number) => Math.ceil(a / 28) * Math.ceil(b / 28);
  const long = Math.max(w, h), short = Math.min(w, h);
  for (let L = Math.min(long, maxLongEdge); L >= 1; L--) {     
    const t = tok(L, Math.round((short * L) / long));
    if (t <= maxTokens) return t;                              
  }
  return 0;
}

export function geminiImageTokens(w: number, h: number) {
  if (w <= 384 && h <= 384) return 258;
  const crop = Math.floor(Math.min(w, h) / 1.5);               
  return Math.ceil(w / crop) * Math.ceil(h / crop) * 258;      
}

รันแต่ละกฎกับตัวเลขที่ vendor ของมันพิมพ์เอง:

three implementations against three documentationsTEXT
OpenAI, gpt-5.4 at detail:high (2048 px, 2,500 patches, 1.2x)
  1024x1024 -> 1024 patches -> 1229 tokens   doc says 1229   MATCH
  2048x2048 -> 2500 patches -> 3000 tokens   doc says 3000   MATCH

Anthropic, the published table (one tier per row shown)
  200x200    std   64 @ 200x200     doc   64, not resized    OK
  1000x1000  std 1296 @ 1000x1000   doc 1296, not resized    OK
  1092x1092  std 1521 @ 1092x1092   doc 1521, not resized    OK
  1920x1080  std 1560 @ 1456x819    doc 1560, 1456x819       OK
  2000x1500  std 1564 @ 1269x952    doc 1564, 1269x952       OK
  3840x2160  hi  4784 @ 2576x1449   doc 4784, 2576x1449      OK

Google, the worked example
  960x540 -> crop 360 -> 3 x 2 = 6 tiles     doc says 6      MATCH

มีการพิมพ์ความตรงกันเก้ารายการ; การรันเต็มตรวจสิบห้ารายการ เพราะตารางของ Anthropic ให้ทั้งสอง tier สำหรับทั้งหกขนาด ตอนนี้กฎเหล่านี้เป็นของคุณแล้ว จะรันกับภาพถ่ายไหนก็ได้ที่คุณมี และนั่นคือประเด็น: นี่คือ function เพียงสามตัวในบทนี้ที่คุณเอามาจากหน้าราคาไม่ได้

คำว่า "ใหญ่กว่า" หมายถึงอะไร สามแบบ

ลิงก์ไปยังส่วน: คำว่า "ใหญ่กว่า" หมายถึงอะไร สามแบบ

ส่งภาพถ่าย 4:3 ภาพเดียวกันผ่านทั้งสามระบบที่หกขนาด:

ขนาดOpenAI, highAnthropic, standardAnthropic, high-resGemini
384 × 288130154154258
640 × 4803604144141,032
800 × 6005706386381,032
1600 × 12002,2801,5642,4941,032
3200 × 24002,9421,5644,7401,032
4000 × 30002,9421,5644,7401,032

อ่านคอลัมน์สุดท้ายลงมา เมื่อภาพกว้างเกิน 384 pixels ตัวเลขไม่เปลี่ยนอีกเลย และนั่นไม่ใช่เรื่องบังเอิญหรือเพดาน แทน crop unit กลับเข้าไปในสูตร tile สำหรับภาพที่อย่างน้อยก็กว้างเท่ากับสูง:

tiles=wh/1.5×hh/1.51.5wh×2\text{tiles} = \left\lceil \frac{w}{\lfloor h/1.5 \rfloor} \right\rceil \times \left\lceil \frac{h}{\lfloor h/1.5 \rfloor} \right\rceil \approx \left\lceil \frac{1.5\,w}{h} \right\rceil \times 2

ขนาดหักล้างกันหมด image tokens ของ Google ขึ้นกับ aspect ratio และไม่ขึ้นกับอย่างอื่นเลย ภาพถ่าย 4:3 มีสี่ tiles ไม่ว่าจะเป็น thumbnail หรือ poster ข้อเท็จจริงเชิงพีชคณิตข้อนี้เพียงข้อเดียวอธิบายศูนย์ในตาราง savings ด้านบนทั้งหมด และไม่มีหน้าราคาไหนระบุไว้

อีกสองคอลัมน์ใช้เพดานแทน ที่ความสูงต่างกันและด้วยเหตุผลต่างกัน — Anthropic ที่เพดาน token ที่ประกาศไว้, OpenAI ที่ patch budget หลังจาก pixel limit — จึงทำให้เส้นโค้งทั้งสามตัดกันที่ขนาดต่างกัน

ทีนี้ลองทำให้มันพัง วิธีที่ดูชัดเจนในการใช้เงินน้อยลงกับ vision model คือขอรายละเอียดน้อยลง ดังนั้นส่ง detail: "low":

gpt-5.4, the same photograph, two detail levelsTEXT
1600x1200   low = 2280   high = 2280   ratio 1.00
3200x2400   low = 3687   high = 2942   ratio 1.25

การขอ detail น้อยลง กลับแพงขึ้น 25 % นี่ไม่ใช่ bug และ OpenAI บอกไว้ในบรรทัดหนึ่งของ sizing table: ใน model family นั้น low ใช้ 2048-pixel limit พร้อม 6,144-patch budget ขณะที่ high ใช้ pixel limit เดียวกันพร้อม 2,500-patch budget "so it can use more tokens than high"7 คำว่า low ตั้งชื่อ fidelity setting ไม่ใช่ราคา: ในสองจากห้า model families ที่ document ไว้ มันไม่ประหยัดเลย และในหนึ่งจากสองนั้น มันแพงกว่า

การสร้างภาพหนึ่งภาพเป็นเครื่องจักรคนละแบบ

ลิงก์ไปยังส่วน: การสร้างภาพหนึ่งภาพเป็นเครื่องจักรคนละแบบ

ทุกอย่างจนถึงตอนนี้คือโมเดล อ่าน รูปภาพ การสร้างรูปภาพหนึ่งภาพทำงานบนกลไกที่ไม่มี token อยู่เลย และนั่นคือเหตุผลที่มันถูกขายเป็นราคาต่อภาพ ไม่ใช่ต่อคำ

การสร้างภาพ: ราคาต่อภาพคือราคาต่อ token

ลิงก์ไปยังส่วน: การสร้างภาพ: ราคาต่อภาพคือราคาต่อ token

Vendors เผยแพร่ image generation เป็นราคาต่อภาพ แต่มันไม่ใช่ GPT Image models ปล่อย image tokens เฉพาะทางที่จำนวนขึ้นกับ size และ quality ที่ขอ; คูณจำนวนที่เผยแพร่ด้วย image output rate ที่เผยแพร่ของ GPT Image 1 ที่ $40 ต่อหนึ่งล้าน แล้วเทียบกับราคาต่อภาพในหน้าเดียวกัน:

quality1024 × 10241024 × 15361536 × 1024
low272 tok → $0.0109 ($0.011)408 tok → $0.0163 ($0.016)400 tok → $0.0160 ($0.016)
medium1,056 tok → $0.0422 ($0.042)1,584 tok → $0.0634 ($0.063)1,568 tok → $0.0627 ($0.063)
high4,160 tok → $0.1664 ($0.167)6,240 tok → $0.2496 ($0.25)6,208 tok → $0.2483 ($0.25)

ตัวเลขที่ derive มาเก้าตัวเทียบกับตัวเลขที่เผยแพร่เก้าตัว ทุกคู่ตรงกันภายใน $0.00211 Google ยิ่ง explicit กว่านั้น และทำ conversion ให้คุณบนหน้าราคาเอง: image output ที่ $60 ต่อหนึ่งล้าน tokens, "output images at 1K (1024x1024px) consume 1120 tokens and are equivalent to $0.067 per image"12

ดังนั้นราคาต่อภาพคือราคาต่อ token ที่พับจำนวนเข้าไปแล้ว ซึ่งก็ไม่เป็นไร และมันซ่อนบางอย่างไว้ เอาตารางของ generation ปัจจุบันแล้วหารย้อนกลับ:

gpt-image-2, published price -> implied output tokens at $30/MTEXT
quality   1024x1024            1024x1536
low       $0.006 -> 200 tok    $0.005 -> 167 tok
medium    $0.053 -> 1767 tok   $0.041 -> 1367 tok
high      $0.211 -> 7033 tok   $0.165 -> 5500 tok

ภาพที่ ใหญ่กว่า คือภาพที่ ถูกกว่า ในทุก quality canvas 1024 × 1536 มี pixels มากกว่า 1024 × 1024 อยู่ 50 % และใช้ tokens น้อยกว่า 23 % ที่ medium OpenAI ชี้ไว้ในประโยคที่คุณน่าจะข้าม — "a larger non-square resolution can sometimes produce fewer output tokens than a smaller or square resolution at the same quality setting" — และใน model generation ก่อนหน้า มันวิ่งกลับทาง portrait แพงกว่า square 50 %11 ค่า default ของ 1024x1024 ทุกตัวที่เขียนไว้ก่อนการเปลี่ยนแปลงนั้น ตอนนี้เป็นตัวเลือกที่แพง

เสียง คิดเงินตามวินาที ตัวอักษร และ token

ลิงก์ไปยังส่วน: เสียง คิดเงินตามวินาที ตัวอักษร และ token

ขอให้ผลิตภัณฑ์สามตัวพูดข้อความ 519 ตัวอักษรเดียวกัน — เสียงประมาณ 38 วินาที — แล้วคุณได้ระบบหน่วยสามแบบจาก vendors สองราย:

modelหน่วยราคา
tts-1ต่อตัวอักษร$15.00 ต่อหนึ่งล้านตัวอักษร → $0.007785
tts-1-hdต่อตัวอักษร$30.00 ต่อหนึ่งล้านตัวอักษร → $0.015570
gemini-3.1-flash-ttsต่อ audio token, 25 ต่อวินาที$20.00 ต่อหนึ่งล้าน → $0.019319

vendor รายเดียวขายทั้งสองหน่วย: tts-1 ของ OpenAI คิดราคาต่อหนึ่งล้านตัวอักษร ขณะที่ gpt-4o-mini-tts คิดราคาต่อหนึ่งล้าน tokens, $0.60 เข้าและ $12.00 ออก13 ดังนั้น "text-to-speech ที่ถูกที่สุด" จึงไม่ใช่คำถามที่มีคำตอบ จนกว่าคุณจะบอกว่าคุณกำลังพูดอะไร

และสองหน่วยนี้บอดต่อสิ่งตรงข้ามกัน ราคาต่อตัวอักษรมองไม่เห็น duration: เลือกเสียงที่ช้า ตั้งใจพูด หรือเพิ่ม pause แล้วบิลไม่ขยับในขณะที่ audio ยาวขึ้น ราคาต่อวินาทีมองไม่เห็น content: สามสิบวินาทีราคาเท่ากันไม่ว่าจะเป็นย่อหน้าทางเทคนิคที่แน่นมาก หรือคนกำลังนับหนึ่งถึงสิบ เปลี่ยน voice แล้ว vendor หนึ่งในสองรายของคุณเท่านั้นที่ reprice

Transcription วิ่งกลับทางและเป็นบรรทัดที่ง่ายที่สุดใน invoice ทั้งหมด — คิดตามนาทีของ audio แบบ flat:

transcribing 59.6 secondsTEXT
whisper                  $0.005960     ($0.006 / min)
gpt-transcribe           $0.004470     ($0.0045 / min)
gpt-4o-mini-transcribe   $0.002980     ($0.003 / min)
gpt-live-transcribe      $0.016887     ($0.017 / min)

สังเกตแถวสุดท้ายเทียบกับแถวที่สาม: การทำแบบ live ขณะที่คำพูดเข้ามา แพงกว่าการทำกับไฟล์ที่เสร็จแล้ว 5.7 เท่า ช่องว่างนั้นคือราคาของการ batch ไม่ได้ และเป็นสิ่งที่ทำให้ส่วนถัดไปแพง

ทีนี้คือตัวเลขที่ตัดสินว่า voice เป็น feature หรือ product

สายสนทนา: บทสนทนา support สิบ turn, 149 คำ ซึ่งที่อัตรา 150 words per minute ที่ประกาศไว้ เท่ากับ speech 59.6 วินาที — 21.2 วินาทีพูดโดยผู้โทร, 38.4 วินาทีพูดตอบกลับ token conversions เป็นของ providers เอง OpenAI: "audio tokens in user messages are 1 token per 100 ms of audio, while audio tokens in assistant messages are 1 token per 50 ms"14 Google: 25 tokens ต่อวินาที ทั้งสองทิศทาง ซึ่งหน้าราคายืนยันด้วยการเผยแพร่ $12.00 ต่อหนึ่งล้านและ $0.018 ต่อนาทีในบรรทัดเดียวกัน12

บทสนทนาสะสมเหมือนที่บทที่ 16 บอกไว้ทุกประการ เพราะเป็นกลไกเดียวกัน: "the entire conversation is sent to the model for each Response... thus turns later in the session will be more expensive"14 เพียงแต่ตอนนี้ history ถูกวัดเป็น audio tokens

turnuserassistantfresh audio incached audio inaudio outcost
14.4 s9.2 s440184$0.013224
25.6 s9.6 s56228192$0.014211
35.2 s9.2 s52476184$0.013670
44.0 s4.8 s4071296$0.007749
52.0 s5.6 s20848112$0.008187

ทีนี้คือการเปรียบเทียบที่ตัดสิน product ทั้งสี่ normalise เป็นหนึ่งนาที:

ต่อนาทีเทียบกับ text
gpt-realtime-2.1, no caching$0.13125937.9×
gpt-realtime-2.1, history cached$0.05742516.6×
gemini-3.1-flash-live, no caching$0.0239656.9×
คำเดียวกันที่พิมพ์, gpt-5.6-terra$0.003461

สามสิบแปดเท่า ไม่ใช่สามสิบแปดเปอร์เซ็นต์ การแลกเปลี่ยนข้อมูลเดียวกันทุกอย่าง แต่ทำในรูปเสียงแทน text แพงกว่าเกือบสอง order of magnitude และช่องว่างนั้นไม่มีส่วนไหนเป็น margin ที่ใครเลือกจะชาร์จ — มันคือ conversion rate เสียง assistant หนึ่งวินาทีคือยี่สิบ tokens วินาทีเดียวกันนั้นบรรทุก 2.5 คำตาม rate ที่ประกาศ และ transcript ที่วัดได้วิ่งที่ 1.26 tokens ต่อคำ ดังนั้นเมื่อเป็น text มันคือ 3.15 tokens เสียงเป็น package ที่ เทอะทะกว่า 6.3 เท่า สำหรับความหมายเดียวกัน และ token ของมันแต่ละตัวถูกคิดเงินที่ 5.3 เท่าของ text output rate และ 16 เท่าของ text input rate คูณ bulk ratio ด้วย price ratio แล้ว order of magnitude ก็อยู่ตรงนั้นแล้วก่อนบัญชีใด ๆ จะเริ่ม

ผลเชิงปฏิบัติการสองอย่างหล่นออกจากตารางโดยตรง

Audio caching ไม่ใช่ optimisation แต่มันคือ business model Cached audio input อยู่ที่ $0.40 ต่อหนึ่งล้าน เทียบกับ fresh $32.00 — ส่วนลด 98.75 % ที่ลดค่า call ลงครึ่งหนึ่ง กฎคือของบทที่ 16 ไม่เปลี่ยน: cache match prefix ดังนั้นอะไรที่ถูกแทรกไว้ด้านหน้าของบทสนทนากลางสายจะทำลายมัน และตำแหน่งธรรมชาติที่จะใส่ "ตอนนี้ผู้โทรยืนยันตัวตนแล้ว" ก็คือตรงนั้นพอดี

และไม่มีอะไรที่คุณทำใน client จะ un-bill เสียงได้ ผู้ใช้พูดแทรก assistant, code ของคุณหยุด playback, speaker เงียบลง อะไรก็ตามที่ถูก generate ไปแล้วถูก charge ไปแล้ว เพราะ billing accrue เมื่อ response ถูกสร้าง; และตามกฎของบทที่ 16 อะไรก็ตามที่ยังอยู่ใน conversation จะถูกส่งซ้ำเป็น input audio ทุก turn หลังจากนั้น บทที่ 14 พูดประเด็นนี้เกี่ยวกับการ abort text stream ใน voice มันแพงกว่าสามสิบเท่า

วิดีโอ, GPU-seconds, และราคาที่ไม่ใช่ราคา

ลิงก์ไปยังส่วน: วิดีโอ, GPU-seconds, และราคาที่ไม่ใช่ราคา

วิดีโอถูกขายเป็นราคาต่อวินาทีโดย vendors บางราย และต่อ clip โดยบางราย พร้อม tiers ตาม resolution และบางครั้งตาม duration รูปทรงสองแบบนี้ไม่ได้ต่างกันแค่ความสะดวก; มันตัดกัน

model1 s2 s5 s10 s20 s
veo-3.1, ต่อวินาที, 1080p$0.400$0.800$2.000$4.000$8.000
veo-3.1-fast, ต่อวินาที, 1080p$0.120$0.240$0.600$1.200$2.400
sora-2, ต่อวินาที, 720p$0.100$0.200$0.500$1.000$2.000
hailuo-02, ต่อ clip, 1080p$0.480$0.480$0.480$0.480$0.480
mochi, ต่อ GPU-second$0.018$0.037$0.092$0.183$0.366

vendor แบบต่อ clip แพงกว่าแบบต่อวินาทีเมื่อสั้นกว่า 1.2 วินาที และถูกกว่า 16.7 เท่าที่ความยาวยี่สิบวินาที ไม่มีการจัดอันดับของสองโมเดลนี้ที่รอดจากการเปลี่ยนความยาว clip ดังนั้น "video model ไหนถูกที่สุด" จึงไม่ใช่คำถามเกี่ยวกับโมเดล

แถวสุดท้ายแย่กว่า และเป็นหัวใจที่ซื่อสัตย์ของบทนี้ mochi ถูกคิดเงินตาม GPU seconds จริง — prediction time ที่วัดได้ของ job — ที่ $0.001400 ต่อวินาทีบน A100 และ $0.001525 บน H100 ซึ่งเป็น rate ของเครื่องเช่าเท่านั้น15 นั่นเป็น tariff ที่แม่นยำสมบูรณ์แบบ และมัน ไม่ใช่ราคา เพราะปริมาณที่มันคูณด้วยไม่รู้จนกว่าคุณจะ commit ว่าจะจ่ายมันไปแล้ว แถวด้านบน assume สิบสอง GPU-seconds ต่อหนึ่งวินาทีของ output; เพิ่มสมมติฐานนั้นสี่เท่าแล้วมันหลุดจาก band ที่ถูกที่สุด และเมื่อหกเท่าเท่านั้นจึงลงกลางตาราง มันเป็น tariff เดียวในหน้านี้ที่คุณใส่ใน quote ไม่ได้

ดังนั้น: tokens, image tokens, ตัวอักษร, นาที, video seconds, clips ทั้งก้อน, GPU seconds, flat units แปดปริมาณ และวิธีเดียวที่จะวางทั้งหมดบนแกนเดียวกันได้คือประกาศ workload แล้วคิดราคา

นี่คือ extension ของ computeCost จากบทที่ 16 — tier machinery เดิม แต่ตอนนี้มี criteria ที่ไม่ใช่ prompt length:

normalise.tsTS
export interface MediaCriteria {
  resolution?: string[]; quality?: string[];
  hasAudio?: boolean; maxDurationSeconds?: number;
}
export interface MediaTier { when?: MediaCriteria; price: number }
export type MediaRate = number | MediaTier[];

const matches = (when: MediaCriteria, u: Usage) => {
  const inList = (l?: string[], v?: string) => !l || (v !== undefined && l.includes(v));
  if (!inList(when.resolution, u.resolution)) return false;
  if (!inList(when.quality, u.quality)) return false;
  if (when.hasAudio !== undefined && when.hasAudio !== (u.hasAudio ?? false)) return false;
  if (when.maxDurationSeconds !== undefined
      && (u.videoSeconds ?? 0) > when.maxDurationSeconds) return false;   
  return true;
};

const mediaPrice = (rate: MediaRate | undefined, u: Usage): number => {
  if (rate === undefined) return 0;
  if (typeof rate === "number") return rate;
  for (const t of rate.filter((t) => t.when)) if (matches(t.when!, u)) return t.price;
  return rate.find((t) => !t.when)?.price ?? 0;      // the tier with no criteria is the default
};

export function computeCost(p: Pricing, u: Usage): number {
  let c = textCost(p, u);                             // Chapter 16, unchanged
  if (p.imageInputToken || p.imageOutputToken) {
    c += (u.imageInputTokens ?? 0) * (p.imageInputToken ?? 0)
       + (u.imageOutputTokens ?? 0) * (p.imageOutputToken ?? 0);
  } else if (p.imageUnit !== undefined) c += (u.images ?? 1) * mediaPrice(p.imageUnit, u);  
  if (p.videoSecond !== undefined) c += (u.videoSeconds ?? 0) * mediaPrice(p.videoSecond, u);
  if (p.videoUnit   !== undefined) c += (u.videoCount ?? 1)   * mediaPrice(p.videoUnit, u);
  c += (u.audioInputTokens ?? 0)       * (p.audioInputToken ?? 0)
     + (u.cachedAudioInputTokens ?? 0) * (p.cachedAudioInputToken ?? p.audioInputToken ?? 0)
     + (u.audioOutputTokens ?? 0)      * (p.audioOutputToken ?? 0)
     + (u.computeSeconds ?? 0)         * (p.computeSecond ?? 0)
     + (u.chars ?? 0)                  * (p.perChar ?? 0)
     + (u.minutes ?? 0)                * (p.perMinute ?? 0);
  return c;
}

สองบรรทัดที่ mark ไว้คือจุดที่มันพัง tariff ที่ quote ต่อ unit คูณ u.images ?? 1; tariff ที่ quote ต่อ token คูณสิ่งที่ default เป็นศูนย์ ป้อน usage ว่างให้ทั้งคู่ — shape ที่คุณได้เมื่อ measurement ล้มเหลว — แล้วดู:

the same missing measurement, priced by unitTEXT
per image (nano-banana-pro)     empty usage => $0.1500
per clip  (hailuo-02)           empty usage => $0.1500
per unit  (a cloned voice)      empty usage => $3.0000
per token (gpt-image-2)         empty usage => $0.0000
per second (veo-3.1)            empty usage => $0.0000
per GPU-second (mochi)          empty usage => $0.0000

ไม่มีอะไรเกิดขึ้นหกครั้ง และมัน cost สามดอลลาร์หนึ่งครั้งกับไม่ cost อะไรเลยห้าครั้ง นั่นไม่ใช่ความต่างจาก rounding; มันคือการตัดสินใจว่าเลขที่หายไปหมายความว่าอะไร ซึ่งถูกทำแยกกันสำหรับแต่ละ unit และไม่เคยเขียนไว้ กฎที่ถูกต้องคือ field ที่ไม่มีใครวัดจะยังคง absent เพราะ "not measured" กับ "measured and came out zero" เป็นคนละเรื่องกัน function นี้กลับไม่เห็นด้วยอย่างเงียบ ๆ

failure ที่สองคือ duration tariff แบบคิดราคา clip เลือก tier ด้วย maxDurationSeconds เทียบกับ u.videoSeconds ?? 0 ดังนั้น usage ที่ไม่เคยบันทึก duration จะ match tier ที่ สั้นที่สุด:

hailuo-02, 768pTEXT
duration recorded    ->  $0.45
duration missing     ->  $0.27

ลด 40 เปอร์เซ็นต์เพราะไม่รู้ว่าวิดีโอยาวเท่าไร bug ทั้งสองมีรากเดียวกัน: default ที่เลือกเพื่อความสะดวกภายใน function ที่หน้าที่ทั้งหมดคือความแม่นยำ

เมื่อคำนวณต้นทุนได้แล้ว การเปรียบเทียบต้องมีอีกครึ่งหนึ่ง — workload ตัวแทนที่ประกาศไว้ หนึ่งรายการต่อ engine ระบุแบบสาธารณะเพื่อให้ผู้อ่านไม่เห็นด้วยได้:

workloads.tsTS
export const representative = {
  text:   { blend: [[{ promptTokens: 1e6 }, 0.25], [{ completionTokens: 1e6 }, 0.75]] },
  image:  { images: 1, imageInputTokens: 50, imageOutputTokens: 1500 },
  video:  { videoSeconds: 5, videoCount: 1, resolution: "1080p", hasAudio: true, computeSeconds: 60 },
  voice:  { chars: 1000, computeSeconds: 10 },
  stt:    { minutes: 1 },
};

ทุกบรรทัดในนั้นคือ argument Text ผสม input หนึ่งในสี่และ output สามในสี่ เพราะการใช้งานจริงเอนเอียงไปทาง output; blend ห้าสิบห้าสิบจัดอันดับโมเดลต่างออกไป image workload assume output tokens 1,500 ระหว่าง 1,056 ของ OpenAI สำหรับ medium square กับ 1,584 สำหรับ medium portrait วิดีโอ assume ห้าวินาทีที่ 1080p และเราเพิ่งเห็น vendors สองรายสลับตำแหน่งกันที่ 1.2 วินาที compute entry assume หกสิบ GPU-seconds เพราะไม่มีอย่างอื่นให้ assume

นี่คือวิธีการ และเป็นวิธีเดียวที่ซื่อสัตย์ที่มี: คุณเปรียบเทียบราคาในหน่วยต่างกันไม่ได้; คุณเปรียบเทียบได้เพียงต้นทุนของ workload ที่คุณเขียนไว้ ตารางใดก็ตามที่ rank multimodal models โดยไม่พิมพ์ workload ของตัวเอง กำลัง rank สมมติฐานของตัวเอง

ตอนนี้คุณคิดราคาทุกอย่างที่โมเดลผลิตได้ ไม่ว่าจะขายในหน่วยไหน และพูดออกมาชัดเจนได้ว่า comparison ของคุณ assume workload ใด นั่นปิด invoice ที่บทที่ 16 เปิดไว้ และปิด Part III: ทุกอย่างตั้งแต่บทที่ 14 ถึงตรงนี้ว่าด้วย หนึ่ง call — ทำอย่างไร ใส่อะไรเข้าไป sample อย่างไร return อะไร cost เท่าไร

บทที่ 22 เปลี่ยน unit of analysis และการเปลี่ยนนั้นแพง agent ไม่ใช่หนึ่ง call; มันคือ loop ที่ตัดสินใจเองว่าจะทำกี่ call และเลขคณิตของสองบทล่าสุดคือสิ่งที่แปลงมันจาก architecture diagram เป็น budget บทนั้นเปิดด้วยการถามคำถามเดียวกันกับโมเดลเดียวกันสองครั้ง โดยเพิ่ม tool หนึ่งตัวเข้า catalogue ในครั้งที่สอง แล้ววัดว่า tool หนึ่งตัวนั้นทำอะไร: หนึ่ง call กลายเป็นสอง, input tokens สามสิบเก้ากลายเป็น 420

สิ่งนั้นจะทำให้มันเป็น agent หรือไม่ ขึ้นกับว่าคุณเปิดนิยามที่เผยแพร่ไว้ชุดใดในสองชุด และสองชุดนั้นไม่เห็นตรงกัน ชุดหนึ่งยังไม่เห็นตรงกับตัวเองด้วยซ้ำ


ราคา สูตร และ conversion rate ทุกตัวในบทนี้อ่านจากหน้าของ provider เองเมื่อ 7 กันยายน 2026 และ quote พร้อมวันที่นั้น เพราะทั้งหมดจะขยับ token counts, costs และ comparisons คำนวณจากข้อมูลนั้นด้วย code ที่พิมพ์ด้านบน บนเครื่องเดียว โดยไม่ได้เรียก paid API เลย — ซึ่งเป็นเหตุผลที่ซื่อสัตย์เช่นกันว่าทำไมบทนี้จึงไม่มี latency claim แม้แต่รายการเดียว

image-token functions, cost tables, voice-call breakdown และ empty-usage results ผลิตโดย TypeScript ที่พิมพ์ในบทนี้ รันบน Node 22 dialogue ที่ใช้สำหรับ voice comparison มี 149 คำ และถูก tokenize ด้วย tiktoken ภายใต้ encoding o200k_base ที่ 188 tokens; duration ของมันมาจาก declared rate 150 words per minute ซึ่งเป็น parameter ของ comparison ไม่ใช่ measurement ตัวเลข provider ทุกตัวมี footnote ที่ระบุหน้าแหล่งที่มา

  1. Dosovitskiy, A. et al. An Image Is Worth 16x16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929 (2020). Patches, linear projection เข้า embedding dimension, และ position embeddings ที่ทำให้ grid อ่านได้สำหรับ sequence model

  2. Radford, A. et al. Learning Transferable Visual Models From Natural Language Supervision. arXiv:2103.00020 (2021). contrastive training ของ image encoder และ text encoder บน 400 ล้านคู่ และ shared space ที่ทุกอย่าง downstream assume

  3. Alayrac, J.-B. et al. Flamingo: a Visual Language Model for Few-Shot Learning. arXiv:2204.14198 (2022). Frozen vision encoder, frozen language model, bridging layers ที่ฝึกแล้ว — architecture ที่เปลี่ยน image understanding ให้เป็นความสามารถใน chat

  4. Liu, H., Li, C., Wu, Q. and Lee, Y. J. Visual Instruction Tuning. arXiv:2304.08485 (2023). linear projection ชั้นเดียวในฐานะ bridge และ generated instruction data ในฐานะ training set; เหตุผลที่ open vision-language models converge ไปยัง shape เดียว

  5. Anthropic, Vision, platform.claude.com/docs/en/build-with-claude/vision, เข้าถึง 2026-09-07 "Claude views images in patches instead of pixels. Each patch is a 28×28-pixel block of the image, referred to as a visual token. An image, therefore, costs ⌈width / 28⌉ × ⌈height / 28⌉ visual tokens." รวมถึง resolution tiers สองระดับ (standard: ด้านยาว 1568-pixel, 1568 visual tokens; high-resolution บน Claude 4.7 และหลังจากนั้น: 2576 pixels และ 4784 tokens), downsizing rule, และตารางหกแถวของขนาดและ token counts ที่ทำซ้ำด้านบน Model rates จาก Anthropic, Pricing, platform.claude.com/docs/en/about-claude/pricing, วันที่เดียวกัน: Claude Haiku 4.5 ที่ $1 และ $5 ต่อหนึ่งล้าน input และ output tokens

  6. Google, Image understanding, ai.google.dev/gemini-api/docs/image-understanding, เข้าถึง 2026-09-07 "258 tokens if both dimensions <= 384 pixels. Larger images are tiled into 768x768 pixel tiles, each costing 258 tokens" พร้อม crop-unit formula — floor(min(width, height) / 1.5), dimensions หารด้วยมันแล้วคูณกัน — และ worked example ของ 960 × 540 ที่ให้ 3 × 2 = 6 tiles Google เรียกมันว่า "a rough formula"; scale-invariance ที่ derive ด้านบนเป็น property ของ formula ตามที่เผยแพร่ Audio input บน family เดียวกันคือ 32 tokens ต่อวินาทีของ audio (ai.google.dev/gemini-api/docs/audio, วันที่เดียวกัน)

  7. OpenAI, Images and vision, developers.openai.com/api/docs/guides/images-vision, เข้าถึง 2026-09-07 แหล่งที่มาของกฎแบบ patch-based (patch 32 × 32, patch_count = ceil(width/32)×ceil(height/32), สูตร shrink_factor และการปรับ integer ของมัน, rejection limit 30,000 patches); model sizing table รวมถึงว่า low บน gpt-5.4 ใช้ 2048-pixel limit และ 6,144-patch budget "so it can use more tokens than high" เทียบกับ 2,500-patch budget ของ high; multiplier table (1.2 สำหรับ GPT-5.x families, 1.62 สำหรับ gpt-4.1-mini, 2.46 สำหรับ gpt-4.1-nano); worked examples สองรายการที่ทำซ้ำด้านบน (1024 × 1024 → 1229 tokens, 2048 × 2048 → 3000 tokens); กฎแบบ tile-based สำหรับโมเดลรุ่นเก่า (base plus 512-pixel tiles, 85 + 170 บน gpt-4o); และรายการ limitations ที่ quote ในกล่อง vision 2

  8. Ho, J., Jain, A. and Abbeel, P. Denoising Diffusion Probabilistic Models. arXiv:2006.11239 (2020). forward noising schedule, reparameterisation ที่เปลี่ยน objective เป็นการทำนาย noise ที่เติมเข้าไป, และ sampling loop

  9. Rombach, R., Blattmann, A., Lorenz, D., Esser, P. and Ommer, B. High-Resolution Image Synthesis with Latent Diffusion Models. arXiv:2112.10752 (2022). การรัน diffusion process ใน compressed latent space ซึ่งเป็นสิ่งที่ทำให้ fixed step count ราคาถูกพอจะขายต่อภาพได้

  10. Prince, S. J. D. Understanding Deep Learning (MIT Press, 2023), chapter 18. delegation ที่ประกาศไว้สำหรับทุกอย่างเกี่ยวกับ diffusion ที่บทนี้ข้าม — variational bound, noise schedules, classifier-free guidance และ sampler families Hu, E. et al., LoRA: Low-Rank Adaptation of Large Language Models, arXiv:2106.09685 (2021), คือ adapter เอง ซึ่งแนะนำในบทที่ 11 บน language model และใช้ที่นี่บน image model โดยคณิตศาสตร์ไม่เปลี่ยน Radford, A. et al., Robust Speech Recognition via Large-Scale Weak Supervision (Whisper), arXiv:2212.04356 (2022), คือ transcription model ที่มีราคาต่อนาทีปรากฏด้านบน

  11. OpenAI, Image generation, developers.openai.com/api/docs/guides/image-generation, Pricing, developers.openai.com/api/docs/pricing, และ model page สำหรับ gpt-image-1, ทั้งหมดเข้าถึง 2026-09-07 model page สำหรับ gpt-image-2 ไม่มี pricing section; rates ของมันมาจาก pricing page ด้านบน หน้า GPT Image 1 เผยแพร่ text input ที่ $5.00, image input ที่ $10.00 และ image output ที่ $40.00 ต่อหนึ่งล้าน tokens ข้าง per-image table ที่ใช้ในการ derivation ด้านบน รวมถึง: output-token table สำหรับโมเดลก่อน gpt-image-2 (272 / 408 / 400 low, 1056 / 1584 / 1568 medium, 4160 / 6240 / 6208 high, สำหรับ square, portrait และ landscape); per-image price tables สำหรับ GPT Image 2, 1.5, 1 และ 1 Mini ที่ใช้ในการ derivations ด้านบน; ประโยค "a larger non-square resolution can sometimes produce fewer output tokens than a smaller or square resolution at the same quality setting"; note ว่า streamed partial image แต่ละภาพ cost image output tokens เพิ่ม 100; และ rates ของ gpt-image-2 ที่ $8.00 image input, $2.00 cached image input, $30.00 image output และ $5.00 text input ต่อหนึ่งล้าน tokens Text model rates ที่ใช้สำหรับ comparisons: gpt-5.6-terra ที่ $2.00 input, $0.20 cached input และ $12.00 output, gpt-5.6-luna ที่ $0.20 และ $1.20, standard tier, short context Video: sora-2 ที่ $0.10 ต่อวินาทีที่ 720p และ sora-2-pro ที่ $0.30, $0.50 และ $0.70 ที่ 720p, 1024p และ 1080p Transcription: $0.006, $0.0045, $0.003 และ $0.017 ต่อนาทีสำหรับ gpt-4o-transcribe, gpt-transcribe, gpt-4o-mini-transcribe และ gpt-live-transcribe 2

  12. Google, Gemini Developer API pricing, ai.google.dev/gemini-api/docs/pricing, เข้าถึง 2026-09-07 Gemini 3.1 Flash-Lite ที่ $0.25 ต่อหนึ่งล้าน input tokens (text, image และ video) และ $1.50 output Gemini 3.1 Flash Image: image output ที่ $60 ต่อหนึ่งล้าน tokens พร้อม equivalences ที่เผยแพร่ของ 747, 1120, 1680 และ 2520 tokens สำหรับภาพ 0.5K, 1K, 2K และ 4K และ per-image prices ของ $0.045, $0.067, $0.101 และ $0.151 Gemini 3.1 Flash TTS: $1.00 text input, $20.00 audio output, "audio tokens correspond to 25 tokens per second of audio" Gemini 3.1 Flash Live Preview: $0.75 text และ "$3.00 or $0.005/min" audio input, "$4.50 (text) $12.00 or $0.018/min (audio)" output Veo 3.1 ต่อวินาทีพร้อม audio: $0.40 ที่ 720p และ 1080p และ $0.60 ที่ 4K standard; $0.10, $0.12 และ $0.30 fast Gemini Omni Flash bill video output "at a rate of 5,792 tokens per second of 720p video" ซึ่ง footnote เดียวกันแปลงเป็นประมาณ $0.10 ต่อวินาที — statement ที่ชัดที่สุดที่เผยแพร่ที่ไหนก็ตามว่า media price ต่อวินาทีคือ token price 2

  13. OpenAI model pages สำหรับ tts-1, tts-1-hd และ gpt-4o-mini-tts, developers.openai.com/api/docs/models, เข้าถึง 2026-09-07 tts-1 ที่ $15.00 และ tts-1-hd ที่ $30.00 ต่อหนึ่งล้าน characters; gpt-4o-mini-tts ที่ $0.60 ต่อหนึ่งล้าน text input tokens และ $12.00 ต่อหนึ่งล้าน audio output tokens — vendor เดียวกัน operation เดียวกัน สองหน่วย

  14. OpenAI, Managing costs (Realtime API), developers.openai.com/api/docs/guides/realtime-costs, เข้าถึง 2026-09-07 "Audio tokens in user messages are 1 token per 100 ms of audio, while audio tokens in assistant messages are 1 token per 50ms of audio." รวมถึง: "The entire conversation is sent to the model for each Response... thus turns later in the session will be more expensive"; costs accrue เมื่อ Response ถูกสร้าง; worked two-turn example ที่ตารางด้านบน reproduce การสะสม; และ usage payload response.done พร้อม splits input_token_details และ output_token_details Rates จาก pricing page วันที่เดียวกัน: audio gpt-realtime-2.1 ที่ $32.00 input, $0.40 cached input และ $64.00 output ต่อหนึ่งล้าน tokens, text ที่ $4.00, $0.40 และ $24.00, image input ที่ $5.00 2

  15. Replicate, Pricing, replicate.com/pricing, เข้าถึง 2026-09-07 Nvidia A100 (80GB) ที่ $0.001400 ต่อวินาทีและ $5.04 ต่อชั่วโมง; Nvidia H100 ที่ $0.001525 ต่อวินาทีและ $5.49 ต่อชั่วโมง


สร้างโดย

David Vicente Campos

ผู้ก่อตั้ง NeuraLIA Labs และผู้ร่วมก่อตั้ง MyRealFood

ผมเป็นวิศวกรคอมพิวเตอร์ที่จบจากมหาวิทยาลัยเลออน ผมร่วมก่อตั้ง MyRealFood ที่ที่ผมในฐานะ CTO ได้สร้างแอปซึ่งผู้คนหลายล้านคนใช้เพื่อกินให้ดีขึ้น และผมก่อตั้ง NeuraLIA Labs ที่ที่ผมสร้างผลิตภัณฑ์ AI ที่นี่ผมเขียนถึงสิ่งที่ผมต้องทำความเข้าใจระหว่างทาง ในแบบที่ผมเคยหวังว่าจะมีใครสักคนอธิบายให้ผมฟัง

เพิ่มเติมเกี่ยวกับผู้เขียน

เผยแพร่โดย NeuraLIA Labs

รับโพสต์ใหม่ในกล่องจดหมาย

ข่าว AI คู่มือ และอัปเดตผลิตภัณฑ์ — อีเมลสั้น ๆ เมื่อเรามีสิ่งที่คุ้มเวลาของคุณ

ชอบแบบข้อความมากกว่าไหม รับเนื้อหาเดียวกันได้ที่นี่:คอมมูนิตี้ WhatsApp (เปิดในแท็บใหม่)ช่อง Telegram (เปิดในแท็บใหม่)

ดัชนีคอร์ส

Abstract software decision engine with branching paths, probability nodes, and glowing gates.
jevอ่าน 5 นาที

โมเดล AI Jev สร้างมาเพื่อการตัดสินใจ ไม่ใช่การเขียนความเรียง

Jev ของ TypeSafe AI กำลังได้รับความสนใจ เพราะมองความฉลาดของซอฟต์แวร์เป็นปัญหาความน่าจะเป็น: เลือกกิ่งที่ถูกต้อง แนบความมั่นใจ และหลีกเลี่ยงการจ่ายเงินให้ LLM เขียนข้อความเมื่อโค้ดต้องการการตัดสินใจ

Abstract legal research workspace with documents, search nodes and governance controls.
openaiอ่าน 4 นาที

Astra for Law ของ OpenAI คือระบบ AI ด้านกฎหมาย ไม่ใช่โมเดลใหม่

การเปิดตัวด้านกฎหมายของ OpenAI ไม่ได้เน้นโมเดลฐานรากใหม่เท่ากับระบบที่ล้อมรอบโมเดลนั้น: การค้นคืนเฉพาะโดเมน เครื่องมือที่เชื่อถือได้ สิทธิ์ เบนช์มาร์ก และเส้นทางการตรวจทาน

Abstract agent runtime sorting documents, memory blocks and pointer nodes inside a bounded context frame.
context-engineeringอ่าน 4 นาที

วิศวกรรมบริบทสำหรับเอเจนต์ AI ที่ทำงานระยะยาว

เอเจนต์ที่ทำงานต่อเนื่องไม่ได้ล้มเหลวเพียงเพราะหน้าต่างบริบทเล็กเกินไป แต่ล้มเหลวเมื่อไฟล์ ผลลัพธ์จากเครื่องมือ และประวัติที่ค้างเก่าบดบังงานที่เอเจนต์ควรทำให้เสร็จ

พร้อมให้ LIA เลือกโมเดลให้แล้วหรือยัง?

สร้างงานด้วยโมเดล AI ทุกตัวในที่เดียว เริ่มฟรีวันนี้