กลับไปที่บล็อก

การลดต้นทุนการวิเคราะห์เจาะลึก

วิธีประเมินค่าใช้จ่ายของ AI agent

ทำไมบิลของ agent จึงถูกครอบงำด้วย input tokens สูตรที่คุณรันได้ก่อนที่ agent จะทำงาน ตัวอย่าง 30 ขั้นตอนที่คำนวณจริง และเจ็ดวิธีลดค่าใช้จ่าย

โดย CheapTokens Teamเผยแพร่เมื่อ ใช้เวลาอ่าน 4 นาที

แผนภูมิของ input tokens ที่เพิ่มขึ้นทีละขั้นตอนในเซสชัน agent ถัดจากสูตรค่าใช้จ่าย
ในหน้านี้
  1. สูตร
  2. ทำไม agent จึงเน้น input
  3. ตัวอย่างที่คำนวณจริง
  4. ประเมินด้วยโค้ด
  5. วัดแทนการเดา
  6. เจ็ดวิธีลดค่าใช้จ่าย

AI agent ไม่ได้ส่งคำขอเพียงครั้งเดียว — แต่ส่งหลายสิบครั้ง และทุกขั้นตอนจะส่งบทสนทนาที่โตขึ้นซ้ำอีกครั้ง นั่นคือเหตุผลที่ค่าใช้จ่ายของ agent ถูกครอบงำด้วย input tokens และเป็นเหตุผลที่สัญชาตญาณ "ราคาต่อคำตอบ" จากแอปแชทใช้ไม่ได้ นี่คือวิธีประเมินค่าใช้จ่ายก่อนที่ agent จะทำงาน และเงินไปอยู่ที่ไหนจริง ๆ

สูตร#

ค่าใช้จ่ายของหนึ่งคำขอคือ input tokens คูณราคา input บวก output tokens คูณราคา output ราคาถูกคิดต่อล้าน tokens:

text
request_cost = input_tokens / 1,000,000 × input_price
             + output_tokens / 1,000,000 × output_price

ค่าใช้จ่ายของงานคือผลรวมของทุกคำขอที่ agent ส่งในขณะแก้ปัญหา

ทำไม agent จึงเน้น input#

ในทุกขั้นตอน agent ส่งให้โมเดล:

  • system prompt และคำจำกัดความของเครื่องมือ
  • ประวัติทั้งหมดจนถึงตอนนี้ — ข้อความก่อนหน้า คำตอบก่อนหน้าของโมเดล และผลลัพธ์จากเครื่องมือ (เนื้อหาไฟล์ เอาต์พุตคำสั่ง ผลการค้นหา)
  • คำสั่งใหม่

โมเดลมักตอบด้วยข้อความสั้น ๆ หรือการเรียกเครื่องมือ จากนั้นผลลัพธ์จากเครื่องมือจะถูกต่อท้ายประวัติ และขั้นตอนถัดไปจะส่งทุกอย่างซ้ำอีกครั้ง ดังนั้น input ของแต่ละขั้นตอนจึงเพิ่มขึ้น ในขณะที่ output ยังคงน้อย

ตัวอย่างที่คำนวณจริง#

เงื่อนไข (สมมติฐาน — แทนที่ด้วยตัวเลขจาก agent ของคุณ):

  • system prompt และคำจำกัดความของเครื่องมือ: 6,000 tokens
  • แต่ละขั้นตอนเพิ่ม 1,500 tokens ของผลลัพธ์จากเครื่องมือ และ 500 tokens ของเอาต์พุตโมเดลลงในประวัติ
  • งานใช้ 30 ขั้นตอน
  • โมเดล: DeepSeek-V4-Flash ที่ $0.0221 ต่อ 1M input tokens และ $0.10 ต่อ 1M output tokens (ราคาปัจจุบัน)

input ของขั้นตอนที่ n คือ 6,000 + (n − 1) × 2,000 tokens ตลอด 30 ขั้นตอน:

  • input รวม: 30 × 6,000 + 2,000 × (0 + 1 + … + 29) = 180,000 + 870,000 = 1,050,000 tokens
  • output รวม: 30 × 500 = 15,000 tokens
  • ค่าใช้จ่าย: 1.05 × $0.0221 + 0.015 × $0.10 ≈ $0.0247 ต่องาน

input คิดเป็น 98.6% ของ tokens และเกือบทั้งหมดของค่าใช้จ่าย ระดับที่ input ครอบงำขึ้นอยู่กับสถานการณ์: คำตอบยาว ไฟล์ที่สร้างขึ้น และโมเดลที่ใช้การให้เหตุผลจะเพิ่มสัดส่วน output ในขณะที่ประวัติที่ถูกตัดทอนและเอาต์พุตเครื่องมือสั้น ๆ จะลดสัดส่วน input

งานเดียวกันบนทุกโมเดลที่ราคาปัจจุบัน โดยมีราคาอ้างอิงของ OpenRouter สำหรับการเปรียบเทียบ:

โมเดล ค่าใช้จ่าย OpenRouter
GLM-5.3-Flash $0.0296 $0.0534
DeepSeek-V4-Flash $0.0247 $0.0264
MiniMax-M2.7 $0.0548 $0.333

1,050,000 โทเค็นอินพุตและ 15,000 โทเค็นเอาต์พุตรวมทั้งหมด ราคาต่อ 1M โทเค็นเป็นราคาปัจจุบันและเปลี่ยนแปลงไปพร้อมกับอัตราค่าบริการของเรา คอลัมน์ OpenRouter แสดงราคาอ้างอิงสำหรับปริมาณงานเดียวกัน

ประเมินด้วยโค้ด#

การคำนวณเดียวกันในรูปแบบฟังก์ชัน — เปลี่ยนสมมติฐานและราคา:

python
def estimate(steps, base_tokens, tool_tokens, out_tokens, price_in, price_out):
    """Token totals and cost of one agent task. Prices: $ per 1M tokens."""
    grow = tool_tokens + out_tokens            # what each step adds to the history
    total_in = steps * base_tokens + grow * steps * (steps - 1) // 2
    total_out = steps * out_tokens
    cost = (total_in * price_in + total_out * price_out) / 1_000_000
    return total_in, total_out, round(cost, 5)

# example rates, $ per 1M tokens — put in the current ones from the pricing table below
print(estimate(30, 6_000, 1_500, 500, price_in=0.10, price_out=0.40))
# (1050000, 15000, 0.111)

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

วัดแทนการเดา#

ทุกการตอบกลับมี usage.prompt_tokens (input) และ usage.completion_tokens (output) บันทึกค่าเหล่านี้สำหรับแต่ละขั้นตอนของงานจริง คูณด้วยอัตราปัจจุบัน แล้วคุณจะได้ค่าใช้จ่ายจริง แดชบอร์ดยังแสดงการใช้งานตามโมเดลและตามวัน

อัตราปัจจุบัน — ข้อมูลเดียวกับบนหน้าราคา:

โมเดล บริบท Input $/1M Output $/1M OpenRouter เข้า OpenRouter ออก
GLM-5.3-Flash reasoning 390K $0.027 $0.08 $0.048 $0.20
DeepSeek-V4-Flash 380K $0.0221 $0.10 $0.016 $0.64
MiniMax-M2.7 200K $0.05 $0.15 $0.30 $1.20

ราคาเป็น USD ต่อ 1 ล้านโทเค็น ตัวเลขของ OpenRouter แสดงไว้เพื่อเปรียบเทียบและอาจมีการเปลี่ยนแปลง

เจ็ดวิธีลดค่าใช้จ่าย#

  1. เริ่มงานใหม่สำหรับงานที่ไม่เกี่ยวข้อง เซสชันใหม่จะไม่พาประวัติของเซสชันก่อนหน้าไปด้วย
  2. ให้ agent รับส่วนย่อย ไม่ใช่ไฟล์ทั้งไฟล์ ฟังก์ชันและผู้เรียกใช้ แทนที่จะเป็นโมดูล 3,000 บรรทัด
  3. ตัดทอนเอาต์พุตเครื่องมือ บันทึกยาว ๆ และเอาต์พุตคำสั่งจะอยู่ในประวัติไปตลอดเซสชันที่เหลือ — จำกัดมัน เช่นด้วย | tail -n 50
  4. สรุปเซสชันยาว ๆ agent หลายตัวสามารถย่อประวัติได้ ใช้มันก่อนที่บริบทจะยาว
  5. จำกัดความยาวคำตอบ ด้วย max_tokens ในจุดที่ไม่ต้องการคำตอบยาว
  6. ใช้โมเดลที่เหมาะสมกับขั้นตอน ขั้นตอนroutine ไม่จำเป็นต้องใช้โมเดลที่ให้เหตุผล
  7. เก็บงบประมาณแบบเติมเงิน ยอดคงเหลือเป็นแบบเติมเงิน: เมื่อหมด คำขอจะหยุดด้วย HTTP 402 แทนที่จะสร้างบิลแบบเปิด-ended

หากต้องการดูว่า workload เดียวกันเปรียบเทียบข้ามโมเดลและกับ OpenRouter อย่างไร ให้ใช้การเปรียบเทียบค่าใช้จ่ายบนหน้าแรก