このポートフォリオのために最新の公式メインキャラクターをもとに整えたEco²の地球キャラクター:緑の陸地のある空色の地球、頭の上の新芽、茶色の笑顔
展示室へ戻る

Eco²

Backend · Cloud infrastructure

分別の案内を、写真1枚と対話で。

韓国の分別回収の仕組みを理解するオールインワンのAIアシスタントです。

2025.10.31 — 2026.02.10

チームプロジェクト · インフラ・デプロイ基盤 → ドメインバックエンド → 非同期処理・対話エージェント・検証

2025 새싹 해커톤 (Saessak Hackathon)優秀賞 · 2025年12月2日

  • Webアプリ運用終了

別のエージェントから切り離した修正、観点ごとに分けたレビュー

Eco²のバックエンドで、コーディングエージェントとともに修正した2つの事例です。モデル名は、Claude Opus 4.5または4.6の共同作成者表記が記録している箇所にだけ記しています。

凡例の全体

読み方 · すべての事例に同じ規則

  • 列は誰が行ったか、上から下へは時間の順
  • 実線: 記録された引き継ぎ・次の段階
  • 太い瑠璃色 ↩: 作業を差し戻した指摘
  • 破線: 記録された実行ではない(指針、権限のない仮説、未確認の境界)
  • 長方形: 行動
  • 角丸: 観測された状態・指摘
  • 折れた角: 成果物・証拠
  • 斜線の列: 開発対象の製品の構成要素(開発に使ったエージェントではない)

事例 1 / 2 · 別のエージェントが使っていたdevelopから切り離し、トークンストリーミングを2段階で修正

January 2026

別のエージェントが使っていたdevelopから切り離し、トークンストリーミングを2段階で修正

  1. コーディングエージェント別のエージェント

    行動developで別の作業が進行中

    • 引き継ぎツリー使用中 → 切り離し→ 別のworktree · まず分析ノート (修正用worktree)
  2. 開発対象Chatストリーム

    観測 · 指摘段階イベントだけが届き、トークンは届かない

    • 引き継ぎ範囲:ストリームの発行→ 別のworktree · まず分析ノート (修正用worktree)
  3. コーディングエージェント修正用worktree

    行動別のworktree · まず分析ノート

    • 引き継ぎ変更するファイル→ OpenAI SDKをLangChainアダプターでラップ (修正用worktree)
  4. コーディングエージェント修正用worktree

    行動OpenAI SDKをLangChainアダプターでラップ

    • 引き継ぎ→ PR #437 → developにマージ (成果物)
  5. 成果物成果物

    成果物PR #437 → developにマージ

    • 引き継ぎ→ worktree · git-workflowスキルの分析手順 (成果物)
    • 引き継ぎマージ後のE2E→ 回答トークンが重複 · intent「general」が漏れる (Chatストリーム)
  6. 開発対象Chatストリーム

    観測 · 指摘回答トークンが重複 · intent「general」が漏れる

  7. 成果物成果物

    成果物worktree · git-workflowスキルの分析手順

  8. コーディングエージェント修正用worktree

    行動node · seqで2つの発行者を区別 → キャプチャ済みトークンをスキップ(2段階)

    • 引き継ぎ前 / 後→ 記録されたSSEの前後の抜粋 (Chatストリーム)
    • 引き継ぎコマンド単位の検査→ ローカルのコマンド検査:notifierのトークン0 (成果物)
  9. 開発対象Chatストリーム

    観測 · 指摘記録されたSSEの前後の抜粋

  10. 成果物成果物

    成果物ローカルのコマンド検査:notifierのトークン0

    • 引き継ぎ→ PR #448 · developとの競合を解消してマージ (成果物)
  11. 成果物成果物

    成果物PR #448 · developとの競合を解消してマージ

背景
ChatのSSEには段階イベントが届くのに、トークンが届きませんでした。別のエージェントがdevelopで作業していたため、別のworktreeでの分析ノートから作業を始めました。最初の修正がマージされた後、観測された重複と漏れを2回目の修正で絞り込みました。
結果
トークンを発行する責任を、実際にトークンを生成する1つのノードに絞りました。コマンド検査が示すのはnotifierがトークンを送らないことだけで、記録されたSSEの抜粋はその後のE2Eの観測を示します。両者は別の証拠です。
限界
別のエージェントの身元とモデル、コーディングエージェントの数は記録されていません。どちらのPRにも正式なレビュー承認はなく、この記録は現在のサービスでも新しいE2E実行でもありません。
根拠と残る限界
  • PR #448の中でも、最初のパッチは回答トークンだけをスキップし、続く修正でProcessChatCommandがキャプチャしたメッセージトークンをすべてスキップするようにしました。一度で済んだ修正としてまとめてはいません。
  • 分析ノートと前後のSSE抜粋は、リポジトリ内の内部レポートの記録です。

February 10, 2026

評価器を観点ごとにレビューし、具体的な指摘だけをコードに

  1. コーディングエージェント実装

    行動評価パイプラインの実装候補

    • 引き継ぎ観点ごとのレビュー→ 指摘:サンプリング・コストガードなし / 結果が可変 / 設定がクロージャの外 (5つのレビュー観点)
  2. レビュー · 検証5つのレビュー観点

    観測 · 指摘指摘:サンプリング・コストガードなし / 結果が可変 / 設定がクロージャの外

  3. コーディングエージェント実装

    行動評価前にサンプリングし、1日のコストを確認

  4. コーディングエージェント実装

    行動凍結された結果オブジェクト · 設定の明示的なバインディング

    • 引き継ぎ検査→ 単体 · 配線の検査(ローカル · モック) (成果物)
  5. 成果物成果物

    成果物単体 · 配線の検査(ローカル · モック)

    • 記録された実行ではないここまでは及ばない→ 実際のRedis + PGでのE2E:当時は未作成 (成果物)
    • 引き継ぎ→ PR #546をマージ · 手順をeval-feedback-loopスキルへ (成果物)
  6. 成果物成果物

    指針 · 未確認実際のRedis + PGでのE2E:当時は未作成

  7. 成果物成果物

    成果物PR #546をマージ · 手順をeval-feedback-loopスキルへ

背景
会話評価パイプラインの実装レポートには、5つのレビュー観点と2回の修正が記録されています。観点の数は、セッションやエージェントの数ではありません。
結果
コードには、評価の前にサンプリングして1日のコストを確認する分岐、凍結された結果オブジェクト、設定の明示的なバインディングがあります。コストの照会に失敗してもL2評価はそのまま進むため、支出の厳密な上限ではありません。
限界
5つの観点はレビューの分け方であり、5つの独立したモデルセッションや人間の専門家による承認を意味しません。レポートにある100点近い内部スコアは品質の測定ではないため、掲載していません。
根拠と残る限界
  • レポートの冒頭にリンクされているPRは#545で、Phase 1–4をマージした公開PRは#546です。
  • まだ残っているrecalibrationのスタブも、レポートにそのまま記されています。