Skip to main content
Glama

GLOBAL Hybrid — Stability First

這一版不是「多幾個 Agent」而已,而是把你最在意的問題做成可執行架構:少除錯、少試錯、舊規則不亂復活、做不到不偷偷換方法、錯了能定位是哪一層。

已完成的完整流程

你這次要什麼
  -> CURRENT TASK CONTRACT(本次唯一有效任務)
  -> deterministic contract check
  -> 必要時 Fact Specialist
  -> 圖像任務先 Ground CURRENT source identity
  -> capability / route gate
  -> bounded Executor
  -> independent Visual Judge
  -> deterministic acceptance
  -> GLOBAL 最後整合

研究則走另一條路:

舊圖片 / 舊輸出 / 成功失敗案例 / feedback
  -> Evidence Layer
  -> Evidence Researcher
  -> CANDIDATE finding
  -> countercheck / matching-scope validation
  -> adoption eligibility
  -> 明確 ADOPT 後才成為 reusable authority

舊資料可以一直拿來學,但不會因為曾經存在就自動變成新任務限制。

Related MCP server: agent-orchestrator

現在跟最早 MVP 最大的差異

  • GLOBAL Manager 不再自己臨場呼叫 Fact 亂繞流程;專業步驟由 orchestrator 明確安排。

  • Fact / Sales / Visual / Executor 各自有邊界。

  • Image Executor 不自己判成功;Visual Judge 才做 acceptance。

  • strict source-preserving 只在本次明確要求時啟用。

  • fresh generation 帶 source image 時仍是「reference-based generation」,不假裝 pixel-preserving edit。

  • Persistent SQLite store 會保存 evidence、研究 finding、被採用的 authority、每次 run trace。

  • scheduled research 可以反覆研究已存 evidence;沒有新上傳不代表完全停止學習。圖片 evidence 會以實際影像輸入 Researcher,不只看檔名。

  • finding 預設只進 CANDIDATE,不會自動污染 production authority。

  • 每次 run 可追到 TASK_CONTRACT / FACT / SOURCE_IDENTITY / ROUTE / EXECUTION / VISUAL_JUDGE / GLOBAL 哪一層失敗。

安裝

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
export OPENAI_API_KEY=sk-...
export GLOBAL_MODEL=gpt-5.6-sol

OpenAI Agents SDK 支援 manager/specialist、hosted image generation、guardrails 與 tracing;本專案另外保留一份 local SQLite trace,避免只靠遠端 trace 才能除錯。

出圖

python main.py run \
  --request "把這台車做成更有賣相的真實銷售圖;可以重畫,但必須保持同一台實車身份" \
  --source-image front.jpg \
  --source-image rear.jpg \
  --authority-file data/authority/current.md \
  --evidence-dir data/evidence \
  --feedback-file data/feedback/current_feedback.md \
  --store state/global_hybrid.sqlite3 \
  --json-report output/latest_run.json \
  --output output/latest.png \
  --live-image-exec

如果本次寫的是:

原車不可重畫,只換背景

contract 才會啟動 strict source-preserving。因為本專案目前沒有接 deterministic/pixel-preserving compositor,這種任務會 BLOCK,不會偷偷改用 whole-image regeneration。

銷售 / Fact

Contract Builder 會判斷 task 是 salesfactimageanalysismixed

  • 銷售文案 / 真人回覆:Sales Specialist 自然處理,但 hard facts 不能自己猜。

  • 年份 / 市場 / trim / 配備 / 價格 / 法規等:先走 Fact Specialist,需要時才查證。

  • Sales 不會因過去某篇文案成功就固定 CTA / 段落 / 客戶類型。

用舊資料自動研究

python main.py research \
  --authority-file data/authority/current.md \
  --evidence-dir data/evidence \
  --feedback-file data/feedback/current_feedback.md \
  --store state/global_hybrid.sqlite3 \
  --evidence-manifest state/latest_evidence_manifest.json

排程可直接跑 scripts/hourly_research.sh

研究會把 finding 保存在 SQLite,但不會直接改 production 規則。只有通過 adoption eligibility,並被明確採用後,才會進 reusable authority。

看它到底哪裡出錯

python main.py status --store state/global_hybrid.sqlite3
python main.py findings --store state/global_hybrid.sqlite3
python main.py trace RUN_ID --store state/global_hybrid.sqlite3

這就是減少你反覆用人話幫系統除錯的核心:結果不對時先看 trace,不需要把整套規則重新討論一次。

Tests

PYTHONPATH=. pytest -q

目前 deterministic core:20 tests,涵蓋:

  • 舊 strict rule 不得自己復活。

  • 本次 explicit strict 才能啟用。

  • strict 不得 silent fallback 到 fresh regeneration。

  • rerender 任務可使用 fresh generation。

  • current source identity 與 style 分離。

  • generic old evidence 永遠不會自己變 authority。

  • 單一案例 finding 不具 adoption eligibility。

  • supported、多證據、有 countercheck 的 finding 才可進 adoption gate。

  • adopted finding 可被 reject 並立即退出 authority。

  • Visual Judge FAIL 時,即使圖片成功生成也不能 accepted。

  • 每個 run stage 都可寫入 local trace。

已知硬邊界

目前真正剩下的不是架構缺口,而是執行環境邊界:

  1. 這個 Python runtime 無法直接接管你正在開著的 ChatGPT 對話內部 image_gen 它要透過 OpenAI API / Agents SDK 自己執行。

  2. pixel-preserving / deterministic composite executor 尚未提供。 所以 strict source-preserving 任務故意 fail-close。

  3. 這個工作容器目前沒有外網 package installation,也沒有你的 API key,因此這裡能完整驗證 deterministic core,但不能在容器內替你跑一次 Agents SDK live API execution。

其餘架構、資料層、learning lifecycle、route gate、specialists、acceptance、local trace、scheduled research 都已接好。

詳細結構見 ARCHITECTURE.md,部署見 DEPLOY.md

MCP / ChatGPT App 版本

repo root 現在也包含 server.pyrender.yaml

ChatGPT App
  -> https://<service>.onrender.com/mcp
  -> GLOBAL current-task contract
  -> bounded specialists / capability gate
  -> executor
  -> independent Visual Judge
  -> trace + result

Render 部署細節見 DEPLOY_RENDER.md。第一次部署預設關閉 live image execution,先驗證 MCP 連線;確認後再開啟 GLOBAL_ALLOW_LIVE_EXEC=true

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that enforces fail-closed deterministic checks, independent refute-first review, and tamper-evident hash-chained receipts for AI agent outputs before claiming completion.
    4
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides transactional intelligence for AI agents, enabling safe tool execution with pre-flight invariant checks, sub-second filesystem snapshots/rollback, causal tracing, belief contradiction detection, and 15 native MCP tools for Claude Code.
    15
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI coding agents and hosts to enforce deterministic repository boundaries via MCP, providing structured reads, supervised edits, snapshots, audits, and recovery with machine-readable evidence.
    MIT