Nhân vật quả địa cầu Eco², được tinh chỉnh cho portfolio này từ nhân vật chính chính thức mới nhất: quả địa cầu xanh da trời với lục địa xanh lá, mầm cây trên đỉnh và khuôn mặt cười màu nâu
Trở lại phòng trưng bày

Eco²

Backend · Cloud infrastructure

Hướng dẫn phân loại rác từ một bức ảnh và một cuộc trò chuyện.

Trợ lý AI tất cả trong một, hiểu cách phân loại rác tái chế ở Hàn Quốc.

2025.10.31 — 2026.02.10

Dự án nhóm · nền tảng hạ tầng và triển khai → backend miền → xử lý bất đồng bộ, tác nhân hội thoại, kiểm chứng

2025 새싹 해커톤 (Saessak Hackathon)Giải Xuất sắc · 2025.12.02

  • Ứng dụng webDịch vụ đã đóng

Một bản sửa tách khỏi tác nhân khác, một đợt rà soát chia theo góc nhìn

Hai trường hợp sửa bằng tác nhân lập trình trong backend Eco². Mô hình chỉ được nêu tên khi có dấu đồng tác giả Claude Opus 4.5 hoặc 4.6 ghi nhận.

Chú giải đầy đủ

Cách đọc · một quy ước cho mọi trường hợp

  • Cột là ai đã hành động; từ trên xuống là thời gian
  • Nét liền: một bàn giao hoặc bước tiếp theo được ghi lại
  • Nét lam đậm ↩: một phát hiện đã trả công việc về
  • Nét đứt: không phải một lần thực thi được ghi lại (quy tắc thành văn, lời khuyên không có thẩm quyền, ranh giới chưa kiểm chứng)
  • Hình chữ nhật: một hành động
  • Góc bo tròn: một trạng thái hoặc phát hiện quan sát được
  • Góc gấp: một artifact hoặc bằng chứng
  • Cột gạch chéo: các phần của sản phẩm đang phát triển (không phải các tác nhân dùng để xây dựng nó)

Trường hợp 1 / 2 · Tách khỏi nhánh develop mà một tác nhân khác đang dùng, việc stream token được sửa trong hai lượt

January 2026

Tách khỏi nhánh develop mà một tác nhân khác đang dùng, việc stream token được sửa trong hai lượt

  1. Tác nhân lập trìnhTác nhân khác

    Hành độngCông việc khác đang diễn ra trên develop

    • bàn giaoTree bị chiếm → tách ra→ Worktree riêng · ghi chú phân tích trước (Worktree sửa lỗi)
  2. Đang phát triểnStream Chat

    Quan sát · phát hiệnChỉ có sự kiện giai đoạn, không có token

    • bàn giaoPhạm vi: phát stream→ Worktree riêng · ghi chú phân tích trước (Worktree sửa lỗi)
  3. Tác nhân lập trìnhWorktree sửa lỗi

    Hành độngWorktree riêng · ghi chú phân tích trước

    • bàn giaoTệp cần thay đổi→ Bọc OpenAI SDK trong adapter LangChain (Worktree sửa lỗi)
  4. Tác nhân lập trìnhWorktree sửa lỗi

    Hành độngBọc OpenAI SDK trong adapter LangChain

    • bàn giao→ PR #437 → merge vào develop (Sản phẩm đầu ra)
  5. ArtifactSản phẩm đầu ra

    ArtifactPR #437 → merge vào develop

    • bàn giao→ Worktree · các bước phân tích trong skill git-workflow (Sản phẩm đầu ra)
    • bàn giaoE2E sau merge→ Token câu trả lời bị trùng · intent “general” bị rò rỉ (Stream Chat)
  6. Đang phát triểnStream Chat

    Quan sát · phát hiệnToken câu trả lời bị trùng · intent “general” bị rò rỉ

  7. ArtifactSản phẩm đầu ra

    ArtifactWorktree · các bước phân tích trong skill git-workflow

  8. Tác nhân lập trìnhWorktree sửa lỗi

    Hành độngPhân biệt hai bên phát bằng node · seq → bỏ qua token đã bắt (hai lượt)

    • bàn giaoTrước / sau→ Trích đoạn SSE đã ghi, trước và sau (Stream Chat)
    • bàn giaoKiểm tra cấp lệnh→ Kiểm tra lệnh cục bộ: 0 token từ notifier (Sản phẩm đầu ra)
  9. Đang phát triểnStream Chat

    Quan sát · phát hiệnTrích đoạn SSE đã ghi, trước và sau

  10. ArtifactSản phẩm đầu ra

    ArtifactKiểm tra lệnh cục bộ: 0 token từ notifier

    • bàn giao→ PR #448 · merge sau khi giải quyết xung đột với develop (Sản phẩm đầu ra)
  11. ArtifactSản phẩm đầu ra

    ArtifactPR #448 · merge sau khi giải quyết xung đột với develop

Bối cảnh
SSE của Chat gửi sự kiện giai đoạn nhưng không có token. Một tác nhân khác đang làm việc trên develop, nên công việc bắt đầu bằng một ghi chú phân tích trong worktree riêng; sau khi bản sửa đầu tiên được merge, việc trùng lặp và rò rỉ quan sát được khi đó được thu hẹp bằng bản sửa thứ hai.
Kết quả
Trách nhiệm phát token được thu hẹp về đúng một node thực sự tạo ra chúng. Kiểm tra lệnh chỉ cho thấy notifier không gửi token; các trích đoạn SSE đã ghi cho thấy quan sát E2E sau đó. Đó là những bằng chứng khác nhau.
Giới hạn
Danh tính và mô hình của tác nhân kia, cũng như số lượng tác nhân lập trình, không được ghi lại. Cả hai PR đều không có phê duyệt rà soát chính thức, và bản ghi này không phải dịch vụ hiện tại cũng không phải một lượt chạy E2E mới.
Nguồn và các giới hạn còn lại
  • Trong PR #448, bản vá đầu bỏ qua token câu trả lời; một bản tiếp theo khiến ProcessChatCommand bỏ qua mọi token tin nhắn đã bắt. Chúng không được gộp thành một bản sửa thành công ngay lần đầu.
  • Ghi chú phân tích và các trích đoạn SSE trước/sau là bản ghi báo cáo nội bộ trong kho mã.

February 10, 2026

Evaluator được rà soát theo từng góc nhìn, và chỉ những phát hiện cụ thể mới trở thành mã

  1. Tác nhân lập trìnhHiện thực

    Hành độngPipeline đánh giá ứng viên

    • bàn giaoRà soát theo từng góc nhìn→ Phát hiện: không lấy mẫu · cost guard / kết quả có thể thay đổi / cấu hình nằm ngoài closure (Năm góc nhìn rà soát)
  2. Rà soát · kiểm chứngNăm góc nhìn rà soát

    Quan sát · phát hiệnPhát hiện: không lấy mẫu · cost guard / kết quả có thể thay đổi / cấu hình nằm ngoài closure

  3. Tác nhân lập trìnhHiện thực

    Hành độngLấy mẫu và kiểm tra chi phí hằng ngày trước khi đánh giá

  4. Tác nhân lập trìnhHiện thực

    Hành độngĐối tượng kết quả frozen · ràng buộc config tường minh

    • bàn giaoKiểm tra→ Kiểm tra unit · wiring (cục bộ · mock) (Sản phẩm đầu ra)
  5. ArtifactSản phẩm đầu ra

    ArtifactKiểm tra unit · wiring (cục bộ · mock)

    • không phải lần thực thi được ghi lạiKhông đi xa đến đây→ E2E với Redis + PG thật: chưa được viết khi đó (Sản phẩm đầu ra)
    • bàn giao→ PR #546 đã merge · quy trình vào skill eval-feedback-loop (Sản phẩm đầu ra)
  6. ArtifactSản phẩm đầu ra

    Quy tắc · chưa kiểm chứngE2E với Redis + PG thật: chưa được viết khi đó

  7. ArtifactSản phẩm đầu ra

    ArtifactPR #546 đã merge · quy trình vào skill eval-feedback-loop

Bối cảnh
Báo cáo hiện thực của pipeline đánh giá hội thoại ghi lại năm góc nhìn rà soát và hai vòng sửa. Số góc nhìn không phải số phiên hay số tác nhân.
Kết quả
Mã có một nhánh lấy mẫu và kiểm tra chi phí hằng ngày trước khi đánh giá, các đối tượng kết quả frozen và ràng buộc config tường minh. Nếu việc tra cứu chi phí thất bại, đánh giá L2 vẫn tiếp tục, nên đây không phải giới hạn cứng về chi tiêu.
Giới hạn
Năm góc nhìn là một cách chia việc rà soát; chúng không có nghĩa là năm phiên mô hình độc lập hay sự phê duyệt của chuyên gia con người. Các điểm nội bộ gần 100 của báo cáo không phải phép đo chất lượng và không được đưa vào.
Nguồn và các giới hạn còn lại
  • PR được liên kết ở đầu báo cáo là #545; PR công khai đã merge Phase 1–4 là #546.
  • Stub recalibration vẫn còn bỏ ngỏ cũng được nêu nguyên trạng trong báo cáo.