2.4 KiB
Original User Request
Initial Request — 2026-06-15T14:14:16-04:00Z
Refactor the agents-runtime to act as a central Temporal-based orchestrator. It should use a single LangChain LLM agent that routes tasks to various "Tools" (WhatsApp, Reminders, Calendar) rather than relying on distributed autonomous agents.
Working directory: C:\Users\sunde.gemini\antigravity\scratch\repos\agents-runtime Integrity mode: development
Requirements
R1. Central LangChain Agent
Implement a central agent using LangChain in agents-runtime. It MUST use Google Gemini via the langchain-google-genai package instead of Ollama or Anthropic.
- Configure it using the provided Gemini API key:
AIzaSyDKYcgVPN2oJirwzf_td3sBYMnXHWfVphU. - Token Efficiency: Ensure the agent is designed not to waste tokens. Keep the system prompt concise, restrict excessive intermediate reasoning loops, and avoid feeding redundant memory back into the context window. It must be equipped with Python tools to:
- Send a WhatsApp message.
- Schedule a Reminder.
- Add a Calendar event.
These tools should just be standard LangChain
@toolfunctions. They can use mock logic (e.g.print("Scheduling reminder...")) for the proof-of-concept.
R2. Temporal Workflow Orchestrator
Create a Temporal Workflow named CentralOrchestratorWorkflow. Its execution method should accept a string (a user's natural language request) and invoke the LangChain agent from R1 to fulfill it.
R3. Temporal Worker Setup
Ensure agents-runtime has a worker.py script capable of running this new workflow and activities.
Acceptance Criteria
Execution & Verification
- A test script
test_orchestrator.pyis provided that submits a request to the Temporal cluster (e.g. "Remind me to call John at 4pm and send me a WhatsApp about it"). - Running the test script successfully completes the workflow.
- The worker logs clearly show the LangChain agent intelligently deciding to call the Reminder tool and then the WhatsApp tool based on the natural language input.
Follow-up — 2026-06-28T18:35:05Z
Hello Teamwork Orchestrator! The user just requested that we also add "Scrape Utility Data" as one of the LLM actions. Can you please add a 4th LangChain @tool called 'trigger_utility_scraper' that simply makes an HTTP POST request to 'http://utility-agent.ai-agents.svc.cluster.local:5005/api/run'?