TL;DR
Python and Go agents now collaborate via A2A protocol for contract compliance without rewriting code
Key points
- 1
Cross-language agent collaboration: The Agent2Agent (A2A) protocol enables Python and Go agents to communicate without language barriers. The Go compliance agent exposes an Agent Card at /.well-known/agent.json that declares its capabilities, including a 'contract_compliance_check' skill. The Python agent uses RemoteA2aAgent to connect to this Go service as if it were a local class, handling JSON-RPC 2.0 communication automatically. This means your data science team can keep using Python for cognitive tasks while security teams maintain Go for deterministic validation, eliminating the need to rewrite services in another language. For example, when a contract is uploaded, the Python agent extracts fields using Gemini, then passes them to the Go agent for policy checks without any code changes to either service.
- 2
ADK's RemoteA2aAgent abstraction: Google's Agent Development Kit provides RemoteA2aAgent to turn any A2A-compliant service into a local sub-agent with minimal code. The Python coordinator uses this to wrap the Go compliance service, automatically handling the Agent Card handshake, parameter serialization, and JSON-RPC requests. This abstraction means you don't need to write custom HTTP clients or manually manage protocol details. In practice, the Python agent can detect if the Go service is unavailable (e.g., due to a crash or network timeout) and trigger a manual review step instead of failing silently. This fail-safe pattern ensures your pipeline remains operational during service outages, which is critical for compliance systems where partial failures could lead to security risks.
- 3
Multi-agent pipeline orchestration: The system uses a state-driven workflow with clear checkpoints: INGESTED → EXTRACTED → COMPLIANCE_PENDING → COMPLIANCE_COMPLETE → MANUAL_REVIEW → REVIEW_READY → APPROVED. Each agent handles one specific task—extraction, validation, reporting—with minimal toolsets. This avoids the pitfalls of monolithic agents, such as context degradation from too many tools or unhandled exceptions crashing the entire pipeline. For instance, if the Go validation agent becomes unavailable, the pipeline transitions to MANUAL_REVIEW, routing the contract to a human reviewer instead of failing. This approach ensures your compliance system remains resilient and auditable, as the Go agent's deterministic logic can be verified against identical inputs without LLM variability.
What changed
Before this update
Contract compliance pipeline used single-language agents that couldn't work together
After this update
Python extraction and Go validation agents communicate via A2A protocol with shared state and fail-safes
Share this update
This is a summary of an official post from the Google Search Central Blog, provided for quick reading. Google and the Google logo are trademarks of Google LLC; My Tool Studio is not affiliated with Google. Always refer to the original announcement for authoritative guidance.