16 คะแนน โดย GN⁺ 2026-01-19 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • โปรเจ็กต์ทดลองที่ผสาน Claude Code เข้ากับเกมโอเพนซอร์ส RollerCoaster Tycoon 2(OpenRCT2) เพื่อให้ AI บริหารสวนสนุกจริง
  • AI วิเคราะห์ตัวชี้วัดกว่า 100 รายการ เช่น การเงิน, ข้อร้องเรียนของผู้เล่น, ข้อมูลเครื่องเล่นขัดข้อง แล้วตัดสินใจด้านการบริหารโดยอัตโนมัติ เช่น ติดตั้งซุ้มเครื่องดื่ม จ้างพนักงาน และปรับค่าเข้าชม
  • ใช้ เครื่องมือ CLI rctctl เพื่อดำเนินการทุกอย่างในเกมผ่านบรรทัดคำสั่ง โดยออกแบบโครงสร้างให้คล้ายกับ kubectl ของ Kubernetes
  • Claude แสดงจุดแข็งด้าน การวิเคราะห์ข้อมูล, การปรับราคา, การจัดการพนักงาน แต่เผยข้อจำกัดในโจทย์เชิงพื้นที่ เช่น การเชื่อมทางเดิน, การวางรถไฟเหาะ, การรับรู้ภูมิประเทศ
  • การทดลองนี้ยืนยันว่า หัวใจสำคัญของการออกแบบเอเจนต์คือความอ่านง่ายของสภาพแวดล้อมและคุณภาพของอินเทอร์เฟซ

ภาพรวมโปรเจ็กต์

  • Ramp Labs ทดลองผสาน Claude Code เข้ากับ RollerCoaster Tycoon 2 เพื่อให้ AI ลงมือบริหารสวนสนุกด้วยตัวเอง
    • Claude วิเคราะห์ข้อมูลกว่า 100 รายการ เช่น การเงินในเกม ความพึงพอใจของผู้เล่น และสถานะของเครื่องเล่น
    • จากนั้นเสนอหรือดำเนินมาตรการอัตโนมัติ เช่น เพิ่มซุ้มเครื่องดื่ม จ้างช่างซ่อม และขึ้นค่าเข้าชม
  • เป้าหมายของการทดลองคือการดึง บทเรียนสำหรับการออกแบบ AI เอเจนต์ในสภาพแวดล้อม B2B SaaS
  • เลือก RollerCoaster Tycoon เพราะเป็นเกมที่สะท้อน การดำเนินธุรกิจแบบยึดลูกค้าเป็นศูนย์กลางและวงจรฟีดแบ็กดิจิทัล

ทำไมต้อง RollerCoaster Tycoon

  • Ramp กำลังพัฒนา เอเจนต์ขนาดเล็กแยกตามงาน โดยใช้แนวทางที่คำนึงถึงข้อจำกัดด้านความปลอดภัยและบริบท
  • แต่ก็มีความต้องการทดลองกับ เอเจนต์เดี่ยวที่มีสิทธิ์กว้างขวาง
  • RollerCoaster Tycoon เป็นสภาพแวดล้อมที่รวม เศรษฐกิจ ลูกค้า และการจัดการการดำเนินงาน ไว้ด้วยกัน จึงมีโครงสร้างคล้ายการปฏิบัติการของ SaaS
  • อินเทอร์เฟซของเกมยังคล้ายกับ แดชบอร์ด B2B SaaS และเข้ากับ เทอร์มินัลอินเทอร์เฟซแบบเรโทร-ฟิวเจอริสติก ของ Claude ได้ดี

ความสามารถและข้อจำกัดของ Claude

  • มีการ fork OpenRCT2 แล้วเพิ่ม หน้าต่างเทอร์มินัล เพื่อให้ Claude ควบคุมเกมผ่านบรรทัดคำสั่ง
  • CLI rctctl ครอบคลุมทุกการกระทำที่ผู้ใช้ทำได้ และสื่อสารกับสถานะของเกมผ่าน JSON-RPC
  • Claude รับรู้ข้อมูลเชิงพื้นที่ผ่าน เอาต์พุตแผนที่ ASCII แทนการมองเห็นภาพ

จุดแข็งของ Claude

  • ความรู้เกี่ยวกับเกม: มีความรู้เกี่ยวกับ RCT มาก และทำงานได้อย่างเป็นธรรมชาติแม้อยู่ในสภาพแวดล้อมเกมยุค 90
  • การรวบรวมข้อมูล: วิเคราะห์ตัวชี้วัดหลากหลาย เช่น ฟีดแบ็กจากผู้เล่นและข้อมูลการเงินแบบบูรณาการ
  • การควบคุมเชิงดิจิทัล: ทำงานที่ไม่ใช่เชิงพื้นที่ได้ดี เช่น เปิด-ปิดเครื่องเล่น ปรับราคา จ้างพนักงาน และทำการตลาด
  • การวางสิ่งอำนวยความสะดวก: สามารถวางโครงสร้างง่าย ๆ เช่น ห้องน้ำและซุ้มเครื่องดื่มได้อย่างเสถียร

จุดอ่อนของ Claude

  • การเชื่อมทางเดิน: มีปัญหากับงานเชิงพื้นที่ เช่น การหาเส้นทางและการเชื่อมทางเข้า-ทางออก
  • การวางรถไฟเหาะ: เมื่อติดตั้งเครื่องเล่นขนาดใหญ่ มักล้มเหลวในการรับรู้อุปสรรคและสภาพภูมิประเทศ
  • การรับรู้พื้นที่สามมิติ: ไม่สามารถจัดการความชัน โครงสร้างใต้ดิน หรือออกแบบรถไฟเหาะแบบกำหนดเองได้
  • โดยสรุป Claude แข็งแกร่งกับการบริหารที่อิงข้อมูล แต่ยังอ่อนกับการควบคุมเชิงภาพและเชิงพื้นที่

กระบวนการพัฒนา

  • สร้างบนพื้นฐานของ OpenRCT2(C++) โดยเพิ่ม หน้าต่างเทอร์มินัลของ Claude, CLI rctctl, ชั้น RPC และโค้ดทดสอบ
  • เวอร์ชันแรกวางแผนด้วย ChatGPT o3-Pro Deep Research ก่อนจะนำมาสร้างใหม่ด้วย GPT-5.1-codex
  • ใช้เวลารวมมากกว่า 40 ชั่วโมง และชี้ว่า การขาดวงจรฟีดแบ็ก เป็นคอขวดที่ใหญ่ที่สุด
  • ยังให้ Claude เขียนรายงานบั๊กลงในรีโพซิทอรีโดยตรง เพื่อเพิ่มประสิทธิภาพของ QA

บทเรียนสำคัญ

  • ความอ่านง่ายของสภาพแวดล้อม (Environment Legibility): Claude ทำได้ยอดเยี่ยมเมื่อมีอินเทอร์เฟซข้อมูลที่ชัดเจน แต่ยังอ่อนกับการแทนพื้นที่ด้วยข้อความ
  • คุณค่าของ coding agent: การอัปเดตโมเดลล่าสุด เช่น Claude Opus 4.5 สะท้อนเข้ามาได้ทันที ช่วยเร่งความเร็วในการพัฒนา
  • ความสำคัญของลูปการพัฒนา: หากไม่มีลูป QA อัตโนมัติ ประสิทธิภาพการผลิตจะลดลงอย่างมาก
  • ความได้เปรียบของประสบการณ์ตรง: วิธีที่ดีที่สุดในการเข้าใจกลไกการทำงานของ LLM คือการทดลองและเล่นด้วยตัวเอง

การรันและข้อมูลโอเพนซอร์ส

  • ต้องใช้ macOS(Sonoma ขึ้นไป), Xcode, CMake, Ninja และ RCT2(ของแท้)
  • CLI rctctl ใช้ โครงสร้างคำสั่งสไตล์ kubectl โดย Claude ควบคุมเกมผ่าน JSON-RPC
  • ผลลัพธ์ที่ได้จากการบิลด์:
    • OpenRCT2 (เวอร์ชันฝังเทอร์มินัล)
    • rctctl (เครื่องมือ CLI)
    • แอสเซ็ต Sprite
  • โค้ดทั้งหมดเปิดเผยบน GitHub(jaysobel/OpenRCT2) และสามารถสาธิตสดได้ผ่าน Twitch

บทสรุป

  • Claude Code แสดงให้เห็นทั้ง ศักยภาพและข้อจำกัดของระบบอัตโนมัติด้านปฏิบัติการ
  • RollerCoaster Tycoon ทำหน้าที่เป็น สนามทดลองช่วงเปลี่ยนผ่านระหว่างกราฟิกอินเทอร์เฟซกับระบบอัจฉริยะ
  • ข้อสรุปสำคัญคือ ความสำเร็จหรือล้มเหลวของ AI เอเจนต์ขึ้นอยู่กับความชัดเจนของสภาพแวดล้อมและคุณภาพการออกแบบอินเทอร์เฟซ

1 ความคิดเห็น

 
GN⁺ 2026-01-19
ความคิดเห็นจาก Hacker News
  • ผมเสียดายอยู่เสมอที่ ระดับเครื่องมือ ที่ LLM ของผมใช้มันต่ำเกินไป
    ใน IDE ผมคลิกครั้งเดียวก็รีแฟกเตอร์, ไล่ตาม symbol, ดูตำแหน่งที่ฟังก์ชันถูกใช้งานได้ แต่ LLM กลับใช้แค่คำสั่งพื้นฐานอย่าง grep, diff, cat
    เลยสงสัยว่ามีความพยายามจะให้ LLM มี เครื่องมือสำหรับเขียนโค้ด·รีแฟกเตอร์ ที่ดีกว่านี้ไหม

    • ต่อให้ให้สิทธิ์เข้าถึง VSCode Diagnostics หรือเซิร์ฟเวอร์ LSP, LLM ก็มักจะยังพยายามใช้แค่เครื่องมือ CLI พื้นฐาน
      ต่อให้เขียนไว้ใน AGENTS.md ก็มักจะเมินแล้วกลับไปใช้วิธีง่ายๆ ทำให้น่าหงุดหงิด
    • น่าแปลกที่เครื่องมือพัฒนา AI ส่วนใหญ่ อิงกับ VSCode
      ถ้า JetBrains เอาความสามารถด้านรีแฟกเตอร์·code inspection ที่มีมาเชื่อมกับ AI ก็น่าจะนำไปไกลกว่านี้มาก
    • Claude Code ในเวอร์ชันเดือนธันวาคม 2025 รองรับ LSP อย่างเป็นทางการ แล้ว แต่ก็ดูเหมือนยังถูกฝึกมาให้เน้นเครื่องมือง่ายๆ อยู่ดี
      ที่จริง LLM กลับมีจุดแข็งตรงการเอาเครื่องมือระดับล่างมาประกอบกันเพื่อแก้ปัญหา
      Python script ยาว 20 บรรทัดที่มนุษย์มองว่าซับซ้อน LLM กลับสร้างได้ใน 0.5 วินาที
    • Zed Editor ส่งต่อความสามารถที่อิง LSP ให้ LLM ใช้ได้ตรงๆ จึงช่วยลดการพึ่งพา grep
    • LLM ไม่จำเป็นต้องต้องมีฟังก์ชัน IDE แบบมนุษย์เสมอไป
      เพราะมันเข้าใจและประกอบชิ้นส่วนโค้ดได้เร็ว ฟังก์ชัน refactoring อาจกลับทำให้สับสนได้
      ถ้าให้เครื่องมือเยอะเกินไปก็เสี่ยงทำให้การตัดสินใจพร่ามัว
  • ผู้เขียนเองครับ ขอโพสต์ ลิงก์โบนัส เพิ่ม
    สคริปต์เซสชันที่ใช้ claude-code-transcripts ของ Simon Willison
    โพสต์ Reddit
    Repo ของโปรเจกต์ OpenRCT2

    • สงสัยว่าใช้ ภาพหน้าจอหรือหน้าจอแบบแสดงผลภาพ ในการประเมินแทน CLI หรือเปล่า
      Claude อาจเก่งกับอินพุตที่อิงภาพ แต่ไม่เก่งกับแผนภาพ ASCII
    • มีความเห็นที่พูดถึง ข้อจำกัดด้านการมองเห็น·การรับรู้เชิงพื้นที่ ของ Claude และมองว่าโมเดลของ OpenAI น่าจะเข้าใจภาพได้ดีกว่า
  • เหมือนกับการออกแบบเอเจนต์ในโลกจริง ข้อจำกัดของเอเจนต์อเนกประสงค์อยู่ที่ การมองเห็นสภาพแวดล้อม และ ความแข็งแรงของอินเทอร์เฟซ
    เพราะงั้นเราอาจควรมองเอเจนต์ว่าเป็นสิ่งที่ทำงานอัตโนมัติแทน ‘ความขยัน’ ไม่ใช่ ‘สติปัญญา’

  • เคยมีเหตุการณ์ที่ใช้คำว่า “revert” ผิด ทำให้ Codex ไปรัน git revert จริงๆ แล้ว ย้อนงานที่ทำไป

    • น่าแปลกที่เครื่องมือพวกนี้ ไม่เก็บบันทึกการทำงานให้เล่นซ้ำได้
      git revert ไม่ใช่คำสั่งแบบทำลายล้าง ดังนั้นถ้ามีข้อมูลหายจริง น่าจะเป็น git reset --hard มากกว่า
    • ถ้าจะป้องกันอุบัติเหตุแบบนี้ ต้องมีฟีเจอร์ ควบคุมสิทธิ์ของคำสั่ง
    • เลยมีคนเสนอให้ใช้ Jujutsu แทน ถ้าใส่ jj status ไว้ในพรอมป์ต์ก็จะปลอดภัย
  • น่าทึ่งที่เกมนี้ ถูกพัฒนาโดยคนคนเดียวด้วย assembly code
    อยากตามหานักพัฒนาคนนั้นแล้วไปขอบคุณด้วยตัวเอง
    ความพยายามของ Claude Code ก็น่าประทับใจจนทำให้สนใจขึ้นมา

  • ส่วนที่บอกว่าทำโปรเจกต์จนเสร็จด้วย vibe-coding ทั้งที่ไม่รู้ C++ เลยก็น่าสนใจมาก

    • ปกติ vibe-coding มักชอบพูดว่า “ทำเสร็จในไม่กี่ชั่วโมง” แต่ครั้งนี้กลับเสนอ กรอบเวลาที่สมจริง ซึ่งสดใหม่ดี
    • ขั้นตอนลองผิดลองถูกและการแก้ปัญหาของพวกเขาน่าสนใจมากจริงๆ
    • ถ้ามีอะไรแบบนี้ตั้งแต่ปี 1997 ผมคงยอมทุ่มทรัพย์สินทั้งหมดเพื่อซื้อแน่ๆ
      คนรุ่นนี้ดูเหมือนจะไม่ค่อยรู้คุณค่าของสภาพแวดล้อมแบบนี้เท่าไร
  • บทสัมภาษณ์ท้ายวิดีโอน่าประทับใจมาก
    เครื่องมือทำงานร่วมกันระหว่าง AI กับมนุษย์อย่าง CLI สไตล์ kubectl, ฟีดแบ็กของ Claude, ระบบเตือน ฯลฯ กำลังสำคัญขึ้นเรื่อยๆ
    ถ้าให้บริบทที่มนุษย์เข้าใจได้ด้วยสายตาแก่ AI ด้วย ก็จะได้ผลลัพธ์ที่ดีขึ้นมาก

    • แต่โครงสร้างที่ให้ AI ปรับปรุงตัวเองนั้น ในความเป็นจริงกลับทำงานได้ไม่ค่อยดี
      แค่ เพิ่ม context อย่างเดียวไม่ทำให้เกิดการเรียนรู้ และสุดท้ายก็ยังต้องใช้การปรับจูนละเอียด (fine-tuning)
  • บทความน่าสนใจ แต่ยังขาด การวิเคราะห์ผลลัพธ์ ว่า AI เล่นเกมได้ดีแค่ไหนจริงๆ

    • เอาเข้าจริงมันเก่งเรื่องจัดการการเงิน แต่ อ่อนเรื่องสร้างอาคาร
      เพราะเข้าใจแผนที่ 2D ได้ยาก เลยสร้างได้แค่ห้องน้ำกับร้านฮอตด็อกประมาณนั้น
      ถ้าเป็นโมเดลแบบมัลติโหมดก็น่าจะดีกว่านี้มาก
    • บางคนมองว่าแก่นของ AI คือ ความสามารถในการสร้าง ไม่ใช่การตรวจสอบยืนยัน
  • สงสัยว่าจะดู ปริมาณ context คงเหลือ ใน Claude Code ได้อย่างไร

    • ดูได้ทันทีด้วยคำสั่ง /context
    • และยังเพิ่ม ตัวแสดงการใช้ context ใน status line ได้ด้วย
      มีปลั๊กอินที่แสดงปริมาณคงเหลือเป็นแถบสีให้เห็นด้วย
  • คิดว่าการทดลองแบบนี้น่าจะเหมาะกับ เกมเทิร์นเบสอย่าง Civilization มากกว่า
    เพราะแผนที่เป็นโครงสร้างแบบกริด และดำเนินไปเป็นรอบๆ