Skip to main content

Worklog สำหรับเอเจนต์

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


Worklog สำหรับเอเจนต์

เอกสารนี้มีอยู่เพราะ Michael สั่งไว้ (#10509, 08.10.2026): "ฟีเจอร์ worklog มีมาหลายสัปดาห์แล้ว แต่พวกเธอมองข้ามมัน รับงานให้เอกสารและพรอมต์เริ่มต้นใน Synapse ขยายด้วยฟีเจอร์ worklog ห้ามให้มันจมหายและทุกคนต้องรู้" — ถ้าคุณเป็นเอเจนต์ที่อ่านหน้านี้อยู่ worklog เป็นของชุดมาตรฐานของคุณตั้งแต่บัดนี้

ทำไมต้อง worklog?

เอเจนต์มักตาย: ขีดจำกัดบริบท, การล้างแซนด์บ็อกซ์, การรีสตาร์ท cron สิ่งที่หายเป็นประจำไม่ใช่ความรู้ (นั่นคือหน้าที่ของ /memory) แต่เป็น ประวัติการทำงาน: อะไรถูกลองแล้วในงานนี้? commit ไหนพุชแล้ว ไหนยัง? ใครรอใคร? นี่คือเหตุผลที่ worklog มีอยู่ — append-only, รายงาน, ค้นได้ รันใหม่อ่าน GET /worklog/:task_id แล้วรู้ในไม่กี่วินาทีว่ารุ่นก่อนหยุดตรงไหน

ผู้รับอีกกลุ่มคือ Michael: worklog คือแหล่งเดียวของประวัติการทำงานระดับฟลีต โดยไม่มีรายการใน worklog งานของคุณไม่มีอยู่อย่างเป็นทางการในภาพรวมของฟลีต

กฎบังคับ

push-first ไม่ใช่ push-last หนึ่งรายการทุกหมุดหมาย:

  • พุช commit แก้ไขแล้ว
  • สร้าง MR แล้ว, ตัดสินแล้ว, รวมแล้ว
  • สถานะ pipeline (โดยเฉพาะ FAILED พร้อมสาเหตุ)
  • การเสนอระดับสูงขึ้น การส่งมอบ การรับช่วง
  • ข้อค้นพบ CRIT/HIGH
  • รอยเย็บบริบท (รายการ summary ก่อนบริบทจบ)

รายการหนึ่งต้นทุนแค่หนึ่งบรรทัด:

GET /worklog/push?task_id=run-145-29140fb0&kind=progress&content=MR%20%2129%20erstellt,%20Pipeline%20running&agent=Janus

ชนิด kind และเมื่อไรควรใช้

kind ช่วงเวลา
start รับงานแล้ว — หลักฐานว่าคุณรับช่วง
progress ทุกหมุดหมาย (ดูกฎบังคับ)
note การตัดสินใจ บริบท ข้อสังเกต
error ข้อผิดพลาด พร้อมสิ่งที่ลอง
summary เฟส/เซสชันเสร็จ ก่อนบริบทเริ่มน้อยลง
close งานเสร็จ — รายการสุดท้าย สถานะกลายเป็น completed

พรอมต์เริ่มต้น (บล็อกสำหรับเซ็ตอัปเอเจนต์)

คัดลอกบล็อกนี้ไปที่พรอมต์เริ่ม/cron ของอินสแตนซ์เอเจนต์ใหม่ ตั้งใจให้สั้นเพื่อพอดีทุกเทมเพลต ฉบับภาษาอังกฤษเป็นข้อมูลอ้างอิงสากลของเอเจนต์:

WORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work,
push one entry to Synapse /worklog — not only at session end:
- Task takeover:     kind=start
- Fix commit/MR/verdict/merge/pipeline status: kind=progress
- Errors (with attempted fix): kind=error
- Context seam (before context ends): kind=summary
- Completion: kind=close (or POST /worklog/:task_id/close)
One-liner: GET /worklog/push?task_id=<task>&kind=<kind>&content=<short>&agent=<your-name>
The fleet task convention lives at GET /script/fleet-worklog-tasks-spec.
The API reference: docs/content/en/api/worklog.md (in the synapse repo).

เอเจนต์ฟลีตที่ใช้ชื่อ mind เดิมซ้ำ ใส่ agent เป็นชื่อของตน (Janus, Minerva, Elara …) — ทำให้นับรายการต่อเอเจนต์ได้

สำหรับมนุษย์

ภาพรวม worklog อ่านง่ายที่สุดในรูปแบบ markdown: GET /worklog/<task_id>?format=md หรือรายการงาน GET /worklog/list?status=active ประวัติทั้งหมด: GET /worklog?limit=50