diff --git a/tapeagents/agent.py b/tapeagents/agent.py index 92a3d5bf..ae45e509 100644 --- a/tapeagents/agent.py +++ b/tapeagents/agent.py @@ -125,7 +125,7 @@ class Agent(BaseModel, Generic[TapeType]): ) max_iterations: int = 100 - _boss: Any | None = None + _manager: Any | None = None model_config = ConfigDict(extra="forbid") @@ -138,9 +138,9 @@ def model_post_init(self, __context: Any) -> None: for agent in self.subagents: names.add(agent.name) if isinstance(agent, Agent): - if agent._boss is not None: + if agent._manager is not None: raise ValueError("Agent is already a subagent of another agent. Make a copy of your agent.") - agent._boss = self + agent._manager = self else: raise ValueError("Subagents must be instances of Agent") if len(names) < len(self.subagents): @@ -148,10 +148,10 @@ def model_post_init(self, __context: Any) -> None: return super().model_post_init(__context) @property - def boss(self): - if self._boss is None: - raise ValueError("Agent doesn't have a boss") - return self._boss + def manager(self): + if self._manager is None: + raise ValueError("Agent doesn't have a manager") + return self._manager @property def llm(self): @@ -167,9 +167,9 @@ def template(self): @property def full_name(self): - if self._boss is None: + if self._manager is None: return self.name - return f"{self._boss.full_name}/{self.name}" + return f"{self._manager.full_name}/{self.name}" def find_subagent(self, name: str): for agent in self.subagents: diff --git a/tapeagents/rendering.py b/tapeagents/rendering.py index dc855d3c..8a415fb3 100644 --- a/tapeagents/rendering.py +++ b/tapeagents/rendering.py @@ -415,7 +415,7 @@ def render_agent_tree(agent: Agent): Like this: - - Big Boss + - The Manager - His Assistant 1 - His Helper 2 diff --git a/tapeagents/view.py b/tapeagents/view.py index 94a4a767..412e11a5 100644 --- a/tapeagents/view.py +++ b/tapeagents/view.py @@ -135,7 +135,7 @@ def pop_view_from_stack(self, step): new_top.outputs_by_subagent[top.agent_name] = top_step break - # TODO: what if the agent was not called by its immediate boss? + # TODO: what if the agent was not called by its immediate manager? receiver = step.by.rsplit("/", 1)[0] self.messages_by_agent[step.by].append(step) self.messages_by_agent[receiver].append(step)