Agent Dev Thai Academyprinciples · patterns · architecture

สรุปตลาดทุกเช้าด้วย AI แต่ตัวเลขมั่ว — แยก fetch ออกจาก gen

AI สรุปตลาดแล้วตัวเลขมั่วเพราะให้มันไปหา data เองตอน gen เลยแยกให้ cron ดึง data ลงไฟล์ JSON ก่อน แล้วให้ prompt เดียวอ่านไฟล์มาสรุป ถ้า data หายให้เขียน n/a อย่าเดา

ลองให้ AI ช่วยสรุปตลาดให้ทุกเช้า — เปิดให้มันไล่เว็บเองสดๆ ดึงราคา, fear & greed, ดอกเบี้ย, long/short ratio

ตัวเลขมันมั่ว

บอกราคา BTC ผิดไปพันนึง บางทีก็ดึง fear & greed ของเมื่อวานมา บางทีก็ค้างกลางทาง


ไล่ดูอยู่นาน กว่าจะรู้ว่าปัญหาไม่ใช่ AI อ่านไม่เก่ง

ปัญหาคือเราให้มันไปหา data เองตอนกำลัง gen — มันเลยเดาจากหน้าเว็บที่โหลดไม่ครบ แล้วเขียนต่อเหมือนรู้จริง

AI ไม่ได้โง่ มันแค่ไม่มีของให้อ่าน เลยเดา


เลยกลับด้าน แยกเป็น 2 จังหวะ ไม่ให้มันแตะเว็บตอน gen เลย

จังหวะ 1 — cron ดึง data ล่วงหน้า เก็บเป็นไฟล์ JSON ไว้ก่อน AI จะอ่าน
จังหวะ 2 — prompt เดียว อ่านไฟล์ที่ดึงไว้แล้ว สรุปเป็น brief

AI ไม่ต้องไปหาอะไรเอง มันแค่อ่านของที่วางไว้ให้ครบแล้ว — เลยไม่มั่ว ไม่ช้า ไม่พังกลางทาง


6 แหล่งพื้นฐานที่ดึง (ฟรีหมด ไม่ต้องจ่าย):

1. ราคา — CoinGecko API (ไม่ต้องมี key)
2. Fear & Greed — alternative.me (ไม่ต้องมี key)
3. MACD / RSI — ดึง candle ย้อนหลังมาคำนวณเอง (ไม่ใช่ราคาปัจจุบันอย่างเดียว)
4. Long/Short ratio — Binance Futures (เปิด)
5. ดอกเบี้ย + yield curve — FRED ของ Fed (key ฟรี สมัคร 1 นาที)
6. หุ้น / VIX / ทอง — yfinance (ฟรี)

mkdir -p data

# fetch ราคา (ฟรี ไม่ต้อง key)
curl -s 'https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum,solana&vs_currencies=usd&include_24hr_change=true' \
  > data/crypto-prices.json

# fetch fear & greed (ฟรี ไม่ต้อง key)
curl -s 'https://api.alternative.me/fng/' > data/fear-greed.json

อีก 4 แหล่งที่เหลือ (candle, long/short, FRED, yfinance) ก็ pattern เดียวกัน — ดึงแล้วเขียนลงไฟล์ในโฟลเดอร์เดียว ตัวอย่างนี้โชว์ 2 ตัวให้เห็นรูปก่อน

API ที่ต้องมี key (FRED) — เก็บ key ไว้ใน .env อย่า hardcode ลงโค้ด:

import os
FRED_API_KEY = os.environ.get("FRED_API_KEY", "")   # อ่านจาก .env ไม่ใส่ตรงๆ

พอ data อยู่ในไฟล์ครบแล้ว เหลือแค่ prompt เดียวให้ AI อ่าน:

อ่านไฟล์ทั้งหมดใน data/ :
- crypto-prices.json — ราคา + 24h change
- fear-greed.json — ดัชนีความกลัว/โลภ
- macd-signals.json — สัญญาณ MACD/RSI
- long-short.json — Binance long/short ratio
- fred.json — ดอกเบี้ย (DFF) + yield curve (T10Y2Y)
- macro.json — S&P, VIX, ทอง

สรุปเป็น brief สั้นๆ แบ่งเป็น section:
📊 MARKET PULSE — ราคาขยับยังไง ภาพรวม risk-on หรือ risk-off
📈 TECHNICALS — MACD/RSI บอกอะไร
🏛️ MACRO — ดอกเบี้ย + yield curve กำลังบีบหรือคลาย

ถ้า data ตัวไหนหาย ให้เขียน "n/a" อย่าเดาตัวเลข

บรรทัดสุดท้ายสำคัญ — "อย่าเดาตัวเลข" กัน AI มั่วเวลา feed บางตัวล่ม


ออกมาหน้าตาประมาณนี้ (ตัวอย่างจริงจากเช้าวันนึง):

📊 MARKET PULSE
BTC $61,200 (-2.1%) · ETH $2,940 (-1.8%) · SOL $138 (-3.4%)
Fear & Greed: 18 (Extreme Fear) — ตลาดกลัว แต่ยังไม่ capitulate
ภาพรวม: risk-off, เงินไหลออกจาก altcoin ก่อน

📈 TECHNICALS
BTC: MACD ตัดลง 4h, RSI 38 ใกล้ oversold แต่ยังไม่เด้ง
ETH: เกาะ support, สัญญาณกลางๆ ยังไม่ชัด

🏛️ MACRO
Fed Funds 4.33% ทรงตัว · yield curve (10Y-2Y) +0.4% เพิ่งกลับเป็นบวก
ดอกเบี้ยยังตึง = headwind กับ risk asset

อ่านแป๊บเดียว ได้ภาพครบโดยไม่ต้องเปิด 10 แท็บไล่อ่านเอง


6 ตัวนี้คือพื้นฐานที่พอเริ่มได้เลย อยากต่อยอดค่อยเติมทีละแหล่ง

ไม่ต้องครบสิบกว่าตัวตั้งแต่วันแรก ส่วนใหญ่เป็น noise ต่อเมื่อรู้ว่าตัวไหนใช้จริง


เริ่มจาก script ดึง 2-3 แหล่งก่อน ทำให้มันรันใน cron ได้ แล้วค่อยต่อ prompt

พอ data แยกออกจาก AI แล้ว ทุกอย่างมันนิ่งขึ้นเยอะ — ไม่ใช่ AI เก่งขึ้น แค่เราหยุดให้มันเดา


ขี้เกียจเซ็ตเองตั้งแต่ศูนย์ มัดเป็น skill ไว้ให้แล้ว — บอก AI ว่าจะดึงแหล่งไหน มันต่อ fetcher + cron + prompt ให้ตามแพทเทิร์นนี้เลย

curl -sL https://raw.githubusercontent.com/somnus0x/agt-skill-pack/main/install.sh | bash -s market-brief-setup

อยู่ใน agt-skill-pack (github.com/somnus0x/agt-skill-pack) — ของในแพ็กฟรีหมด

ใครทำ brief เช้าแบบนี้อยู่แล้ว ดึงแหล่งไหนบ้าง มาเล่าให้ฟัง