Add implementation instructions
Design agreed in discussion, nothing built yet. Records the agent's role, its scopes and MCP servers, its A2A surface, and the framework choice with its reason — so the next session starts from the decisions rather than re-deriving them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,50 @@
|
|||||||
|
# Assistant — orchestrating agent
|
||||||
|
|
||||||
|
**Framework:** LangGraph · **Mode:** conversational · **Client id:** `classic-models-agent-assistant`
|
||||||
|
|
||||||
|
The single entry point for users. Understands the request, delegates to
|
||||||
|
specialists over A2A, composes the answer.
|
||||||
|
|
||||||
|
## Scopes
|
||||||
|
|
||||||
|
**None.** This agent has no MCP server and no domain scope, by design. It is the
|
||||||
|
component that sees raw user text, therefore the prompt-injection target, and it
|
||||||
|
must be structurally incapable of exfiltrating data. If you find yourself
|
||||||
|
wanting to give it a domain scope, the work belongs in a specialist instead.
|
||||||
|
|
||||||
|
## What it calls
|
||||||
|
|
||||||
|
Every other agent, over A2A: Ventes, Catalogue, Support, Approvisionnement,
|
||||||
|
Recouvrement. It calls them in parallel when the request allows.
|
||||||
|
|
||||||
|
Example: *"can we ship order 10248?"* → Ventes (order contents) and
|
||||||
|
Approvisionnement (stock) concurrently, then compose.
|
||||||
|
|
||||||
|
## Why LangGraph here
|
||||||
|
|
||||||
|
The orchestrator is where the routing logic is worth making explicit. A graph
|
||||||
|
states which specialist is consulted when, and where the composition happens —
|
||||||
|
useful when a request fans out and the answers must be reconciled.
|
||||||
|
|
||||||
|
## Watch out
|
||||||
|
|
||||||
|
LangGraph's `MultiServerMCPClient` fixes its headers at construction and
|
||||||
|
rebuilding it loses in-memory checkpoints (langchain-mcp-adapters #172, #194,
|
||||||
|
#235). This agent has no MCP servers, so it is not affected — but do not copy an
|
||||||
|
MCP pattern from here into a specialist.
|
||||||
|
|
||||||
|
## Before writing code
|
||||||
|
|
||||||
|
Read `classic-models-agent-platform/CLAUDE.md` first. It holds the identity
|
||||||
|
model, the MCP and LLM endpoints, the token-exchange recipe and the known
|
||||||
|
blockers. This file only covers what is specific to this agent.
|
||||||
|
|
||||||
|
## Non-negotiables
|
||||||
|
|
||||||
|
- **Inference goes through the Kong AI gateway**, `https://llm-dev.sttlab.local/llm/v1/chat/completions`.
|
||||||
|
Calling a provider directly bypasses the rate limits and prompt guards.
|
||||||
|
- **One MCP client per conversation turn**, built with freshly exchanged tokens.
|
||||||
|
Do not hold a long-lived MCP connection with a fixed token.
|
||||||
|
- **A2A calls return answers, not data.** Expose narrow decision-shaped skills,
|
||||||
|
never a generic `query`.
|
||||||
|
- Deliverables in English.
|
||||||
Reference in New Issue
Block a user