|

Bangun Agen Ringkasan Pemantauan yang Berjalan Terjadwal: Panduan 4 Komponen dan Pemilihan Antarmuka

Bangun Agen Ringkasan Pemantauan yang Berjalan Terjadwal: Panduan 4 Komponen dan Pemilihan Antarmuka

Catatan penulis: Artikel ini membedah empat komponen Agent pemantau dan peringkas yang berjalan terjadwal, menjelaskan cara memisahkan lapisan pemanggilan model dari SDK tertentu melalui antarmuka yang kompatibel dengan OpenAI, serta menyertakan contoh Python yang bisa dijalankan.

OpenRouter baru-baru ini menerbitkan tutorial untuk membangun AI Agent yang berjalan terus-menerus dan bekerja sesuai jadwal di TypeScript menggunakan @openrouter/agent 0.11.0. Agent ini otomatis memantau Hacker News dan membuat ringkasan. Skenario ini cukup umum: banyak tim menginginkan sistem serupa untuk merangkum berita industri, perkembangan kompetitor, atau diskusi populer di komunitas teknologi setiap pagi. Berangkat dari tutorial tersebut, artikel ini membahas arsitektur umum Agent pemantau dan peringkas yang tidak terikat pada SDK tertentu.

Ini bukan ringkasan ulang tutorial tersebut. Hanya informasi ringkas tentang tutorial aslinya yang dipublikasikan, jadi kita tidak akan menebak detail implementasinya. Artikel ini berfokus pada pertanyaan yang lebih umum: apa saja komponen Agent pemantau dan peringkas, serta bagaimana merancang lapisan pemanggilan model agar model dan penyedia layanan bisa diganti kapan saja.

Manfaat utama: Setelah membaca artikel ini, Anda akan memahami struktur empat tahap—pemicu terjadwal, pengambilan data, peringkasan oleh model, dan keluaran hasil—serta mendapatkan implementasi Python berbasis antarmuka yang kompatibel dengan OpenAI yang bisa langsung disesuaikan.

scheduled-monitoring-summary-agent-architecture-id-image-0


Poin utama Agent ringkasan pemantauan

Tabel berikut merangkum kesimpulan artikel ini. Setiap poin akan dibahas lebih lanjut pada bagian berikutnya.

Poin Penjelasan Manfaat
Struktur empat tahap Pemicu terjadwal → pengambilan data → peringkasan oleh model → keluaran hasil Setiap tahap dapat diganti dan diuji secara terpisah
Manajemen status Mencatat item yang sudah diproses agar tidak diringkas ulang Menghemat jumlah pemanggilan dan menghasilkan keluaran yang lebih rapi
Lapisan pemanggilan model terpisah Kode bisnis hanya bergantung pada satu antarmuka peringkasan, bukan langsung pada SDK penyedia tertentu Cukup ubah konfigurasi saat berganti model atau penyedia
Protokol kompatibel OpenAI Menggunakan format Chat Completions yang seragam sebagai dasar lapisan pemanggilan Ekosistemnya matang dan dapat terhubung ke berbagai model
Model dipilih sesuai tugas Untuk peringkasan, perhatikan panjang konteks, kepatuhan terhadap instruksi, stabilitas, dan biaya Menghindari biaya tinggi untuk tugas sederhana

Empat komponen Agent ringkasan pemantauan

Pada dasarnya, «Agent yang berjalan terus-menerus» adalah alur kerja yang dijalankan berulang kali oleh penjadwal. Agent ini tidak memerlukan penalaran kompleks dalam banyak langkah, tetapi harus sangat stabil karena tidak ada yang terus mengawasinya. Membaginya menjadi empat komponen dengan tanggung jawab yang jelas adalah langkah awal agar sistem dapat berjalan stabil dalam jangka panjang.

Komponen Tanggung jawab Implementasi umum Poin desain
Pemicu terjadwal Menjalankan tugas secara berkala cron, systemd timer, timer fungsi cloud, alur kerja CI terjadwal, pustaka penjadwalan dalam proses Pisahkan pemicu dari logika bisnis agar tugas yang gagal dapat dijalankan ulang
Pengambil data Mengambil konten baru dari sumber informasi API publik, RSS, pengambilan data web Atur batas waktu, batasi jumlah item, dan catat ID yang sudah ditemukan
Peringkas Memanggil Model Bahasa Besar untuk membuat ringkasan Antarmuka Chat Completions Pangkas masukan, gunakan petunjuk yang tetap, dan batasi format keluaran
Pengirim hasil Mengirim hasil ke tempat yang dapat dilihat pengguna Email, webhook bot IM, file Markdown, basis data Siapkan langkah cadangan jika pengiriman gagal, misalnya menyimpan hasil ke disk

Keempat komponen ini berinteraksi melalui struktur data sederhana: pengambil data menghasilkan «daftar item», peringkas menghasilkan «teks ringkasan», dan pengirim hasil meneruskan teks tersebut. Dengan desain ini, masalah di setiap tahap dapat dilacak secara terpisah. Misalnya, jika kualitas ringkasan buruk, cukup sesuaikan peringkas; jika pengiriman gagal, cukup periksa pengirim hasil.

Pada versi pertama, banyak orang memasukkan seluruh logika ke dalam satu skrip. Cara ini memang bisa berjalan, tetapi sulit dipelihara. Begitu ingin mengganti Hacker News dengan GitHub Trending atau menggunakan model dari penyedia lain, mereka harus mengubah bagian besar kode. Dengan memisahkannya menjadi beberapa komponen, menambah sumber informasi cukup dilakukan dengan membuat pengambil data baru, sedangkan perubahan pada lapisan model cukup melalui konfigurasi.

scheduled-monitoring-summary-agent-architecture-id-image-1

Memilih Pemicu Terjadwal untuk Agent Ringkasan Pemantauan

Pemicu terjadwal membuat agent bisa berjalan secara berkelanjutan. Tutorial OpenRouter menerapkannya sebagai proses yang terus aktif, tetapi dalam praktiknya ada beberapa pilihan, tergantung infrastruktur yang sudah kamu miliki.

Metode pemicu Cara berjalan Kelebihan Hal yang perlu diperhatikan
Cron sistem Memulai proses baru setiap kali, lalu keluar setelah selesai Sederhana dan andal, proses tidak terus aktif, tidak ada kebocoran memori Status harus disimpan ke disk, variabel lingkungan perlu dikonfigurasi terpisah
Library penjadwalan dalam proses Proses terus aktif dan menjalankan tugas terjadwal secara internal Mudah berbagi koneksi dan cache Perlu mekanisme pemulihan jika proses gagal, seperti systemd atau kebijakan restart container
Timer cloud function Pemicu terjadwal tanpa server Tanpa perlu mengelola infrastruktur, biaya berdasarkan jumlah pemanggilan Ada batas durasi eksekusi, status harus disimpan di luar proses
Workflow CI terjadwal Berjalan sesuai jadwal di platform CI Tanpa biaya server, log dapat ditelusuri Jadwal bisa terlambat, tidak cocok untuk frekuensi tinggi

Untuk tugas peringkasan yang berjalan setiap jam atau setiap hari, cron sistem dengan skrip yang keluar setelah selesai biasanya menjadi pilihan paling hemat dan praktis. Cara ini menghindari peningkatan penggunaan memori pada proses yang terus aktif. Jika gagal, tugas akan dicoba lagi pada jadwal berikutnya. Proses yang terus aktif baru layak dipertimbangkan jika kamu membutuhkan pemantauan setiap beberapa menit atau perlu berbagi sumber daya yang cukup besar antar-eksekusi.


Cara memisahkan lapisan pemanggilan model pada Agent ringkasan pemantauan

Inilah fokus utama artikel ini. Tutorial OpenRouter menggunakan SDK @openrouter/agent miliknya sendiri, yang praktis untuk memulai dengan cepat. Namun, informasi ringkasan yang tersedia untuk umum belum menjelaskan apakah SDK tersebut mendukung endpoint kustom yang kompatibel dengan OpenAI. Kami juga belum memverifikasinya, jadi artikel ini tidak membahas cara menghubungkan SDK tersebut ke platform lain.

Kita ambil pendekatan lain: alih-alih membuat kode bisnis bergantung langsung pada SDK Agent dari penyedia tertentu, kita tambahkan lapisan tipis berupa “antarmuka ringkasan”. Kode bisnis hanya memanggil summarize(items), sementara lapisan ini menentukan model dan endpoint yang digunakan berdasarkan konfigurasi.

Desain antarmuka lapisan pemanggilan Agent ringkasan pemantauan

Desain lapisan pemanggilan ini mengikuti tiga prinsip sederhana yang bisa menghemat banyak pekerjaan ulang di kemudian hari:

  • Hanya tampilkan fungsi yang relevan dengan bisnis: sediakan summarize(items) -> str tanpa mengekspos parameter tingkat rendah seperti messages dan temperature ke kode bisnis.
  • Gunakan protokol yang seragam: secara internal, gunakan format Chat Completions yang kompatibel dengan OpenAI. Baca base_url, api_key, dan model dari variabel lingkungan.
  • Sediakan fallback saat gagal: ulangi pemanggilan dalam jumlah terbatas. Jika masih gagal, tampilkan daftar judul asli agar setidaknya ada hasil yang bisa dibaca pada hari itu.

Protokol yang kompatibel dengan OpenAI dipilih sebagai dasar karena telah menjadi format umum secara de facto. SDK resmi dan banyak alat pihak ketiga juga mendukung perubahan base_url. Selama server kompatibel dengan format ini, pergantian model cukup dilakukan dengan mengubah satu baris konfigurasi.

Pilihan antarmuka Biaya pergantian model Ekosistem dan alat Skenario yang cocok
Terikat pada SDK Agent khusus dari satu penyedia Mengganti penyedia biasanya memerlukan perubahan kode Fitur bawaan SDK siap digunakan Sudah yakin akan menggunakan platform tersebut dalam jangka panjang dan mengutamakan fitur bawaannya
Langsung menggunakan SDK resmi OpenAI + endpoint yang kompatibel Cukup ubah base_url dan model Ekosistem paling matang, contoh paling banyak Sebagian besar tugas ringkasan pemantauan
Membuat pemanggilan HTTP sendiri Cukup ubah konfigurasi, tetapi biaya pemeliharaan ditanggung sendiri Dependensi paling sedikit Lingkungan yang sangat sensitif terhadap ukuran dependensi

scheduled-monitoring-summary-agent-architecture-id-image-2

Dengan desain ini, platform agregasi seperti APIYI bisa menjadi salah satu pilihan untuk lapisan pemanggilan model. APIYI kompatibel dengan format OpenAI API dan mendukung integrasi melalui SDK resmi OpenAI; untuk berganti model, cukup ubah nama model. Bagi Agent ringkasan pemantauan, ini berarti kamu bisa membandingkan hasil ringkasan dari berbagai model menggunakan satu kunci API, tanpa perlu menulis kode integrasi terpisah untuk setiap penyedia model.

Apa yang perlu dipertimbangkan saat memilih model untuk tugas peringkasan hasil pemantauan

Tugas peringkasan terlihat sederhana, tetapi setiap sumber informasi bisa memiliki kebutuhan model yang berbeda. Saat ini kami belum memiliki data pengujian sistematis untuk tugas semacam ini, jadi kami tidak akan menyimpulkan model mana yang terbaik. Sebagai gantinya, berikut beberapa hal yang perlu dipertimbangkan saat memilih.

Faktor pertimbangan Mengapa penting Saran praktis
Panjang konteks Puluhan judul, bahkan isi artikel, mungkin perlu dimasukkan sekaligus Pangkas input terlebih dahulu, lalu pilih model berdasarkan panjang hasil pemangkasan
Kemampuan mengikuti instruksi Ringkasan perlu mengikuti format tetap agar mudah dikirim dan diproses Jalankan beberapa putaran dengan petunjuk yang sama dan periksa kestabilan formatnya
Kemampuan bahasa Sumber berbahasa Inggris perlu menghasilkan ringkasan dalam bahasa Mandarin Periksa terutama keakuratan terjemahan istilah teknis
Biaya pemanggilan Biaya tugas terjadwal akan terus bertambah seiring waktu Lakukan satu pemanggilan per putaran serta batasi jumlah input dan panjang output
Stabilitas layanan Tugas berjalan tanpa pengawasan, sehingga kegagalan sering baru diketahui keesokan harinya Siapkan percobaan ulang, mekanisme fallback, dan model cadangan

💡 Saran memilih model: Tidak ada satu model ringkasan yang cocok untuk semua kebutuhan. Cara paling andal adalah membandingkan beberapa model menggunakan sumber informasi yang benar-benar Anda pakai selama beberapa hari. Coba gunakan APIYI apiyi.com untuk beralih di antara beberapa kandidat dengan kode yang sama, lalu bandingkan kestabilan format dan kualitas bahasa Mandarinnya sebelum menentukan model untuk penggunaan jangka panjang.


Memulai Agent Perangkum Pemantauan

Berikut implementasi versi minimal yang dapat digunakan dengan Python. Sumber informasinya adalah API publik Hacker News (hacker-news.firebaseio.com/v0), sesuai dengan skenario dalam tutorial OpenRouter agar mudah dibandingkan.

Contoh sederhana: ambil dan rangkum

Kode berikut mengambil 10 judul terpopuler di Hacker News, lalu meminta model membuat ringkasan dalam bahasa Mandarin untuk memastikan seluruh alur berjalan dengan baik:

import requests
import openai

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"  # OpenAI 兼容端点
)

HN = "https://hacker-news.firebaseio.com/v0"
ids = requests.get(f"{HN}/topstories.json", timeout=10).json()[:10]
titles = [requests.get(f"{HN}/item/{i}.json", timeout=10).json().get("title", "") for i in ids]

resp = client.chat.completions.create(
    model="gpt-4o-mini",  # 示例模型名,以平台模型列表为准
    messages=[{"role": "user", "content": "用中文分 3 点总结这些热帖的主题:\n" + "\n".join(titles)}]
)
print(resp.choices[0].message.content)

Kode ini bisa dijalankan, tetapi belum siap untuk berjalan terus-menerus: belum ada deduplikasi atau penanganan kegagalan, dan model serta endpoint masih ditetapkan langsung dalam kode. Versi lengkap di bawah ini memisahkan empat komponen dan menambahkan pengelolaan status.

Lihat kode implementasi lengkap (empat komponen + deduplikasi + fallback)
import json
import os
import time
from pathlib import Path

import openai
import requests

HN = "https://hacker-news.firebaseio.com/v0"
STATE_FILE = Path(os.getenv("STATE_FILE", "seen_ids.json"))
TOP_N = int(os.getenv("TOP_N", "30"))


# ---------- 数据获取器 ----------
def fetch_new_stories(seen: set) -> list:
    ids = requests.get(f"{HN}/topstories.json", timeout=10).json()[:TOP_N]
    items = []
    for i in ids:
        if i in seen:
            continue
        item = requests.get(f"{HN}/item/{i}.json", timeout=10).json() or {}
        if item.get("title"):
            items.append({"id": i, "title": item["title"],
                          "url": item.get("url", ""), "score": item.get("score", 0)})
    return items


# ---------- 状态管理 ----------
def load_seen() -> set:
    return set(json.loads(STATE_FILE.read_text())) if STATE_FILE.exists() else set()

def save_seen(seen: set) -> None:
    STATE_FILE.write_text(json.dumps(sorted(seen)[-2000:]))  # 只保留最近的 ID


# ---------- 摘要器(模型调用层) ----------
class Summarizer:
    def __init__(self):
        self.client = openai.OpenAI(
            api_key=os.environ["LLM_API_KEY"],
            base_url=os.getenv("LLM_BASE_URL", "https://api.apiyi.com/v1"),
        )
        self.model = os.getenv("SUMMARY_MODEL", "gpt-4o-mini")

    def summarize(self, items: list, retries: int = 2) -> str:
        lines = "\n".join(f"- [{x['score']}] {x['title']}" for x in items)
        prompt = ("你是技术资讯编辑。请用中文把下面的 Hacker News 新热帖归纳为 3-5 个主题,"
                  "每个主题一句话,并列出最值得关注的 3 条标题。\n" + lines)
        for attempt in range(retries + 1):
            try:
                resp = self.client.chat.completions.create(
                    model=self.model,
                    messages=[{"role": "user", "content": prompt}],
                    max_tokens=800,
                )
                return resp.choices[0].message.content
            except Exception as e:
                print(f"摘要失败(第 {attempt + 1} 次):{e}")
                time.sleep(2 ** attempt)
        return "【模型暂不可用,以下为原始标题】\n" + lines  # 降级输出


# ---------- 输出器 ----------
def deliver(text: str) -> None:
    webhook = os.getenv("WEBHOOK_URL")
    if webhook:
        try:
            requests.post(webhook, json={"text": text}, timeout=10).raise_for_status()
            return
        except Exception as e:
            print(f"推送失败,改为落盘:{e}")
    Path(f"digest-{time.strftime('%Y%m%d-%H%M')}.md").write_text(text, encoding="utf-8")


# ---------- 一次运行(由定时器触发) ----------
def run_once() -> None:
    seen = load_seen()
    items = fetch_new_stories(seen)
    if not items:
        print("没有新条目,本轮跳过")
        return
    deliver(Summarizer().summarize(items))
    save_seen(seen | {x["id"] for x in items})


if __name__ == "__main__":
    run_once()

Ada beberapa keputusan desain penting dalam versi lengkap ini. Pertama, Summarizer hanya mengekspos summarize, sedangkan nama model, endpoint, dan kunci API semuanya berasal dari variabel lingkungan. Inilah pemisahan lapisan pemanggilan yang dibahas sebelumnya. Kedua, file status hanya menyimpan sejumlah ID terbaru agar ukurannya tidak terus bertambah saat berjalan dalam jangka panjang. Terakhir, jika model gagal, judul asli tetap dikeluarkan. Jika pengiriman gagal, hasilnya disimpan ke disk agar setiap putaran tetap menghasilkan keluaran yang bisa dilacak.

Menjadwalkan deployment Agent ringkasan pemantauan

Skrip ini dirancang untuk berjalan sekali lalu berhenti, jadi bisa langsung dijadwalkan lewat cron. Konfigurasi berikut menjalankannya setiap hari pada pukul 08.00 dan 20.00:

# crontab -e
0 8,20 * * * cd /opt/hn-digest && LLM_API_KEY=xxx SUMMARY_MODEL=gpt-4o-mini /usr/bin/python3 agent.py >> run.log 2>&1

Jika ingin membandingkan model lain, cukup ubah SUMMARY_MODEL ke nama model tersebut tanpa mengubah satu baris kode pun. Untuk lingkungan produksi, sebaiknya simpan kunci API di file .env atau layanan pengelolaan kunci, bukan langsung di crontab.

🚀 Saran untuk mulai cepat: Gunakan contoh paling sederhana untuk memastikan seluruh alur berjalan lancar, lalu beralih ke versi lengkap dan jadwalkan dengan cron. APIYI apiyi.com menyediakan kuota uji coba gratis bagi pengguna baru. Dengan satu kunci API, Anda bisa beralih antara model OpenAI, Claude, Gemini, dan lainnya untuk membandingkan kualitas ringkasan dengan cepat saat membuat prototipe.

scheduled-monitoring-summary-agent-architecture-id-image-3


Pertanyaan Umum (FAQ)

Q1: Apa itu Agent pemantau dan peringkas yang berjalan terjadwal?

Agent ini adalah program otomatis yang dijalankan secara berkala oleh penjadwal. Program mengambil konten baru dari sumber informasi sesuai jadwal, menyerahkannya kepada Model Bahasa Besar untuk diringkas, lalu mengirimkan hasilnya ke email, IM, atau file. Berbeda dari Agent percakapan, program ini berjalan terus-menerus tanpa pengawasan, sehingga stabilitas dan deduplikasi lebih penting daripada penalaran yang kompleks.

Q2: Apa perbedaan menggunakan SDK Agent khusus dan antarmuka yang kompatibel dengan OpenAI?

SDK khusus biasanya sudah menyediakan kemampuan seperti pemanggilan alat dan penjadwalan, sehingga lebih cepat untuk memulai. Namun, kode aplikasi akan terikat pada platform tersebut. Antarmuka yang kompatibel dengan OpenAI lebih mendasar dan mengharuskan Anda menambahkan penjadwalan serta deduplikasi sendiri. Keuntungannya, Anda bisa beralih model dan penyedia layanan hanya dengan mengubah konfigurasi. Untuk tugas peringkasan yang sederhana, fleksibilitas ini biasanya lebih bermanfaat.

Q3: Apakah tutorial @openrouter/agent dari OpenRouter bisa langsung diadaptasi untuk platform lain?

Informasi ringkasan yang tersedia saat ini hanya menyebutkan bahwa tutorial tersebut menggunakan `@openrouter/agent` 0.11.0 di TypeScript. Informasi itu tidak menjelaskan apakah SDK mendukung endpoint kustom, dan kami juga belum memastikannya. Jika Anda ingin tetap leluasa beralih platform, langkah yang lebih aman adalah mengambil inspirasi dari skenarionya, lalu membuat implementasi sendiri dengan lapisan pemanggilan yang kompatibel dengan OpenAI seperti dalam artikel ini.

Q4: Untuk skenario apa saja Agent pemantau dan peringkas cocok digunakan?

– **Ringkasan harian topik populer di komunitas teknologi**: misalnya, merangkum topik harian dari Hacker News dan forum teknologi
– **Pelacakan pembaruan pesaing**: memantau blog atau catatan pembaruan pesaing, lalu membuat ringkasan perubahan
– **Perkembangan proyek sumber terbuka**: merangkum versi baru dan Issue penting dari repositori yang diikuti
– **Ringkasan berita industri pagi hari**: menggabungkan beberapa sumber RSS dan mengirimkan ringkasan berbahasa Mandarin setiap pagi

Q5: Bagaimana cara memanggil model dengan cepat melalui API untuk membuat ringkasan?

Anda bisa menggunakan platform agregator yang mendukung format kompatibel dengan OpenAI:

1. Kunjungi APIYI apiyi.com untuk mendaftar, lalu dapatkan kunci API dan kuota uji coba gratis
2. Atur `base_url` dalam kode artikel ini menjadi `https://api.apiyi.com/v1`
3. Gunakan variabel lingkungan `SUMMARY_MODEL` untuk beralih model dan membandingkan hasil ringkasannya

Q6: Bagaimana cara mengendalikan biaya pemanggilan untuk penggunaan jangka panjang?

Prinsip utamanya adalah hanya memproses konten baru dan memanggil model sekali per putaran. Gunakan file status untuk menyaring item yang sudah diproses, batasi jumlah item input dan `max_tokens` pada setiap putaran, serta atur frekuensi sesuai kebutuhan. Harga tiap model bisa sangat berbeda. Anda dapat membandingkannya di halaman harga model APIYI apiyi.com, lalu memilih model yang lebih ekonomis untuk tugas ringan seperti peringkasan.

Q7: Apa saja keterbatasan yang diketahui dari Agent pemantau dan peringkas?

– **Informasi dari judul saja terbatas**: ringkasan yang hanya berdasarkan judul bisa salah menafsirkan isi. Jika perlu, ambil teks lengkapnya, tetapi perhatikan panjang input dan kepatuhan saat mengambil konten
– **Model bisa mengarang detail**: petunjuk harus meminta model merangkum hanya berdasarkan konten yang diberikan dan menyertakan tautan asli untuk kesimpulan penting
– **Sumber informasi bisa berubah**: perubahan format antarmuka atau kebijakan pembatasan laju dapat menyebabkan pengambilan data gagal, sehingga log perlu dipantau


Poin Penting Agent Pemantauan dan Ringkasan

  • Struktur empat tahap: pemicu terjadwal, pengambilan data, peringkasan oleh model, dan keluaran hasil berdiri sendiri sehingga mudah diganti dan ditelusuri saat ada masalah
  • Lebih andal jika selesai lalu berhenti: untuk tugas ringkasan yang jarang dijalankan, cron dan skrip sekali jalan lebih mudah dikelola daripada proses yang terus aktif
  • Status menentukan kualitas: catat ID yang sudah dilihat agar setiap proses hanya merangkum data baru, sehingga tidak berulang dan boros
  • Pisahkan lapisan pemanggilan: logika bisnis hanya bergantung pada antarmuka summarize, sedangkan model, endpoint, dan kunci semuanya berasal dari konfigurasi
  • Gunakan protokol yang kompatibel sebagai dasar: format kompatibel OpenAI memungkinkan pergantian model hanya dengan mengubah satu baris variabel lingkungan
  • Pilih model berdasarkan pengujian: bandingkan konteks, kepatuhan terhadap instruksi, bahasa, biaya, dan stabilitas. Di APIYI apiyi.com, kamu bisa beralih model dan mengujinya dengan kode yang sama
  • Siapkan fallback saat terjadi kegagalan: jika model gagal, keluarkan judul asli; jika pengiriman gagal, simpan hasil ke disk

Kesimpulan

Kunci membangun Agent pemantauan dan ringkasan yang berjalan secara terjadwal bukanlah menggunakan framework yang rumit, melainkan membagi strukturnya dengan jelas:

  1. Pembagian komponen: empat komponen—pemicu, pengambilan, peringkasan, dan keluaran—terhubung melalui struktur data sederhana, sehingga masing-masing bisa diuji secara terpisah
  2. Pemisahan antarmuka: gunakan lapisan antarmuka peringkasan yang sederhana untuk memisahkan SDK tertentu, dengan protokol kompatibel OpenAI sebagai dasarnya
  3. Utamakan stabilitas: deduplikasi, percobaan ulang, dan fallback wajib disiapkan untuk tugas yang berjalan tanpa pengawasan

Tutorial Hacker News dari OpenRouter memberikan contoh skenario yang bagus. Sementara itu, arsitektur umum dalam artikel ini memungkinkan kamu menerapkan pendekatan yang sama ke sumber informasi dan model apa pun. Sebagai langkah berikutnya, coba jalankan seluruh alur dengan contoh sederhana, lalu hubungkan ke cron selama beberapa hari. Amati kualitas ringkasannya sebelum menentukan model untuk penggunaan jangka panjang.

Kamu bisa mencoba APIYI apiyi.com untuk memverifikasi hasil dengan cepat. Satu kunci API cukup untuk beralih di antara berbagai model populer, dan pengguna baru juga mendapat kuota uji coba gratis untuk membandingkan model pada tahap prototipe.


📚 Referensi

  1. Ringkasan tutorial OpenRouter: Membangun AI Agent yang terus berjalan untuk memantau Hacker News dengan Agent SDK
  2. Tautan: aihot.news/items/upl3hjjdokqe13w3ieo9opr0v
  3. Keterangan: Pengantar artikel ini, yang membahas penggunaan @openrouter/agent 0.11.0 untuk membangun Agent terjadwal dengan TypeScript

  4. API resmi Hacker News: Antarmuka data publik yang hanya bisa dibaca

  5. Tautan: github.com/HackerNews/API
  6. Keterangan: Berisi penjelasan field untuk endpoint seperti topstories dan item, serta menjadi dokumentasi sumber data contoh dalam artikel ini

  7. OpenAI Python SDK: Pustaka klien resmi

  8. Tautan: github.com/openai/openai-python
  9. Keterangan: Menjelaskan cara terhubung ke endpoint yang kompatibel melalui parameter base_url

Penulis: Tim teknis APIYI
Diskusi teknis: Hubungi kami melalui halaman utama situs APIYI. Untuk panduan integrasi lainnya, kunjungi pusat dokumentasi di docs.apiyi.com

Artikel terkait

Similar Posts