Spaces:
Sleeping
Sleeping
File size: 736 Bytes
116524e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | """Protocol defining what steps need from a Reflector implementation."""
from __future__ import annotations
from typing import Any, Optional, Protocol, runtime_checkable
from ..core.outputs import AgentOutput, ReflectorOutput
@runtime_checkable
class ReflectorLike(Protocol):
"""Structural interface for Reflector-like objects.
Any object with a matching ``reflect`` method satisfies this —
``ace.roles.Reflector`` does.
"""
def reflect(
self,
*,
question: str,
agent_output: AgentOutput,
skillbook: Any,
ground_truth: Optional[str] = ...,
feedback: Optional[str] = ...,
**kwargs: Any,
) -> ReflectorOutput: ...
|