Skip to content

Conversation

@nhynes
Copy link
Member

@nhynes nhynes commented Jan 6, 2026

No description provided.

@nhynes nhynes requested a review from staverm January 6, 2026 09:07
Copy link
Member

@staverm staverm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agent impls look good. Both scenarios run smoothly on my machine. I'm on board for getting these in but I'm not sure what to do with the old code.

We can either delete it or leave it as alternative impls, but then it would be good to mention that in some README. Keeping alternative impls seems fine for a tutorial repo. What do you think?

Talking about these files:

Tau2

  • tau2/tau2_agent.py
  • tau2/tau2_evaluator.py

Debate

  • debate/debater.py
  • debate/debate_judge_common.py
  • debate/debate_judge.py
  • debate/adk_debate_judge.py
  • debate/Dockerfile.adk-debate-judge

we can e.g. add a debate/README file and briefly explain the different impls

The old 'SDK'

  • src/agentbeats/green_executor.py
  • src/agentbeats/tool_provider.py

it's weird that this is shared code, but the new template Executor is not

break
time.sleep(0.5)
else:
time.sleep(1.0)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sleep here looks unnecessary, we're already waiting for agents to be ready above

load_dotenv(override=True)


def _connect_host(host: str) -> str:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This mapping is only done in ensure_endpoints_unused and not in wait_for_agents or client_cli.py. Not sure if this is actually useful, maybe consider removing it

json.dump(output_data, f, indent=2)
print(f"Results written to {output_path}")

if error_status:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ this change is to write the output json file even when green agent fails (writes role-id mapping and empty results)

self.messages.append({"role": "assistant", "content": assistant_content})

await updater.add_artifact(
parts=[Part(root=TextPart(text=assistant_content))],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can also use DataPart here since the output is json

```

If you see `Error: Some agent endpoints are already in use`, update the `endpoint` + `--port` values in `scenarios/tau2/scenario.toml`.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add uv sync --extra tau2-agent --extra tau2-evaluator in the Setup section

1. Receives task descriptions with available tools from the green agent
2. Decides which tool to call or how to respond
The tau2 purple agent now lives in `scenarios/tau2/agent/src/`.
This file is kept so external links and older commands keep working.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can just delete this file right? if we delete this, we should also delete scenarios/tau2/tau2_evaluator.py. Or we leave both files as alternative impls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants