| """Hints system for KaggleSimEnv. |
| |
| When the agent takes the `inspect_top_solution` action it receives a hint |
| from the task's hint list. Hints are dispensed in order; once all hints are |
| exhausted the agent receives a generic message. |
| """ |
|
|
| from __future__ import annotations |
|
|
|
|
| class HintProvider: |
| """Dispenses task-specific hints one at a time.""" |
|
|
| def __init__(self, hints: list[str]) -> None: |
| self._hints = list(hints) |
| self._index = 0 |
|
|
| @property |
| def hints_given(self) -> int: |
| return self._index |
|
|
| def next_hint(self) -> str: |
| if self._index < len(self._hints): |
| hint = self._hints[self._index] |
| self._index += 1 |
| return hint |
| return "No more hints available. Try combining strategies you've learned so far." |
|
|
| def reset(self) -> None: |
| self._index = 0 |
|
|