Spaces:
Running
Running
| """director — 신뢰축/비트/수렴 판정 (LlmAgent). | |
| 구조화 값은 텍스트가 아니라 FunctionTool이 session.state에 직접 기록한다 | |
| (output_key 구조화 기대 금지 / output_schema+tools 동시 사용 금지 — CLAUDE.md). | |
| 수렴 선언(finish_pocket)은 escalate만 세우고, 최종 전이는 services/pocket.py가 재검증한다. | |
| """ | |
| from __future__ import annotations | |
| from pathlib import Path | |
| from google.adk.agents import LlmAgent | |
| from engine.model import LLM_MODEL | |
| from engine.tools.state.finish_pocket import finish_pocket | |
| from engine.tools.state.mark_beat import mark_beat | |
| from engine.tools.state.update_trust import update_trust | |
| _INSTRUCTION = Path(__file__).resolve().parents[2] / "instructions" / "director.md" | |
| def create_director(model=None) -> LlmAgent: | |
| return LlmAgent( | |
| name="director", | |
| model=model or LLM_MODEL, | |
| instruction=_INSTRUCTION.read_text(encoding="utf-8"), | |
| tools=[update_trust, mark_beat, finish_pocket], | |
| ) | |