From 5ab1b3f163b3b9216a74f7dd2293aab08116c6d0 Mon Sep 17 00:00:00 2001 From: D3n3bX Date: Tue, 5 May 2026 13:43:20 +0200 Subject: [PATCH] Doc chatAgent --- app/src/agents/docs/agents/chat-agent.md | 66 +++++++++++++++++++++ app/src/agents/docs/imgs/chat_agent_ex.png | Bin 0 -> 44259 bytes 2 files changed, 66 insertions(+) create mode 100644 app/src/agents/docs/agents/chat-agent.md create mode 100644 app/src/agents/docs/imgs/chat_agent_ex.png diff --git a/app/src/agents/docs/agents/chat-agent.md b/app/src/agents/docs/agents/chat-agent.md new file mode 100644 index 0000000..1392da6 --- /dev/null +++ b/app/src/agents/docs/agents/chat-agent.md @@ -0,0 +1,66 @@ +# ChatAgent + +The **ChatAgent** is the default specialized agent within the Perry ecosystem. Its primary responsibility is to handle general interactions, "chitchat," and professional greetings that do not require specific Odoo module actions (like Finance or CRM). + +## Overview + +Unlike other agents, the `ChatAgent` does not execute Odoo tools. Instead, it focuses on maintaining Perry's **strict professional persona** while ensuring that every response is structured as valid JSON for system consistency. + +### Key responsibilities: +* **Chitchat handling**: Responding to "Hello," "How are you?", or general AI queries. +* **Persona enforcement**: Ensuring Perry remains formal, direct, and humorless. +* **JSON enforcement**: Guaranteeing that all outputs follow the `{ "reply_content": "..." }` schema. + +## Technical logic + +### 1. Persona and system prompt +The agent is initialized with a strict system instruction set: +* **Role**: Artificial Intelligence Assistant for Odoo. +* **Tone**: Strictly professional and formal. +* **Constraint**: No informal language, no humor, and **JSON-only** output. + +### 2. Reasoning process (PerryThought) +The `ChatAgent` implements a transparent reasoning flow by yielding `PerryThought` objects during its execution. This allows the user to see exactly what Perry is doing in the background: + +| Step ID | Reasoning Description | +| :--- | :--- | +| `history_parsing` | Analyzes conversation history and chitchat context. | +| `llm_query` | Consults the LLM using Perry's professional communication model. | +| `json_parsing` | Extracts and parses the JSON from the model's raw text. | +| `validation` | Verifies the response integrity against professional standards. | +| `conclusion` | Finalizes the communication and generates the outgoing message. | + +## Data models + +### ChatAction +The agent uses a Pydantic model to validate the LLM's output before sending it to the user. + +```python +class ChatAction(BaseModel): + reply_content: Optional[str] = Field( + default="I will process your request accordingly." + ) +``` + +## Execution flow (`act` method) + +1. **Memory C¡check**: Verifies that there is message history. If empty, it yields a `Failed` state. +2. **LLM interaction**: Sends the last user message to the model (OpenAI/Gemini/vLLM). +3. **Advanced parsing**: + * Attempts to parse direct JSON. + * Uses **Regex** to extract JSON if the model wraps it in an `AgentRunResult` object. + * Cleans Markdown code blocks (`` ```json ``). + * **Fallback**: If `json.loads` fails, it attempts `ast.literal_eval` for maximum robustness. +4. **Validation**: Validates the dictionary against the `ChatAction` model. +5. **Output**: Yields the final `Message` to the orchestrator. + +## Observability (Logfire) + +The `ChatAgent` is fully instrumented with **Logfire** for real-time tracing: +* **Spans**: Every reasoning step is wrapped in a Logfire span. +* **Metadata**: Logs include `agent_name`, `sender`, `receiver`, and `message_length`. +* **Error Handling**: Failed parsing or validation attempts are logged as exceptions with full raw response data for debugging. + +## Example Interaction + +![Example interaction](../imgs/chat_agent_ex.png) \ No newline at end of file diff --git a/app/src/agents/docs/imgs/chat_agent_ex.png b/app/src/agents/docs/imgs/chat_agent_ex.png new file mode 100644 index 0000000000000000000000000000000000000000..2febb664e269fee64c95b9299b97893b66040c66 GIT binary patch literal 44259 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

s6*B2hlkG^s5;IRtk(t$ zd0YG2c$kzJ-mC80K!rPxMlGL?yK4P0f{ew{*&FRT*NcfzG}Z^wUwLwYEj+Md?&RG!+g4F* z)r@q5I`y+OuNs&s3Q4AZev;AFsGbuXgmfwcfe{$Y8v5e0{0@SF-9=gn9y-h`%CuAmKG@=l3je?$4 zia!urv$edzDwEh@j(tT5=kLdB(er2}sN8v3$%+eWP4RdiWVma*S)~(yJvEpph^{d7 zUQ4l2ob)-nCLef2IIT*zo`aGyPDpg(#>npc{>rE->^w)`=vM;rqTG3qEJ+zCBvatt+^)pHHr%RSAe(bUY7YqucsqeagopFB4*>NAKwju zcMQO!q0=Gyz`Sm7N>U_CGy!bXuuVrND2$k&erHn#C$Brl$0|8pZCy>iRTxNJlwY{X z@>wtkUTh%r`(yKG&zVHm<+w6?DWQA`bs^Igd^Zlo^zVNtki^5B8FY)yr*#q#ZTVAiw-eNX>4HIkLuXndDq2al5s4kuQDQsq zkbCvJmB#sW4J#KYp&P|rh`hNNP^~=NETcgQ%_c{c)6Q*r!0w$xVkDeBWjrgQzEXTh zV(UC0bUL?h=EIVtf9gTAzq^x`Q1b0|@z!w_u=)ex&ts>YgDC?W{r92xEyGFo@(VzB z%n1P_CM{+k*&*bk0H~K(o`Ejvo7dm;=fr`*MK3j&_N_z4LA#_HbtCT1j@7W~6w7+; zaddjgq#g!=zS)UW)!p7d_^3^F&K)T~IvW7x>TR>4QwtlZ6r0qd}}(1Dj@49O5wsCbZKHgt{R!|z6Ee=HOQGPQzW=^ z6!%d}c#VI!#OwdAp`a1qzTQ*kdTpB;qNBU!_RI9% zXhy#9uqi%yq9%iUUHj3JRaaG-&BxPe|HB)%wS(63G$XUaG#w?No*xzFE=ZO5)#BE2 z%F1pN1uh1Kt_u|`%9^5v*V8HsXD%1)&QcqnNgTCR>yrhvfs=EMwLaSarjKr<7z!eP z<@09U5ry9B$^C!4`o+B&qNA^3wfhuH59djK0UR0@J#1+ z=H`$-0Ps?O_Ur|-TwZ*(q)+5I$Yhm#b{)M|vJxvTvMQONHxR7tUTLZK(8)+C55Ai4Pml)b2*pE8?t-;ydP)OclJiQ)^!W zBqO=R!bTI}8hY&B68+F5?XTfI(l} zMyD&()v-)Yo^Ya;VOs*S?%&1!a*b|mJL2+a4>vnpV%_{EJM(#!8m;V#R$~Jkcem~9 ze1Z2Oyt$^~3f^l;ULcy+)}WlI&OTm@R2j$)_NkIO;W$&FXy)vS8RCvh0gg!CHx`ku zWjZIj4hgLu+?-k7V+xe`Bzx(Cg$MDH@yWKK@Ts^CGhxTPMy{SF-P65D7OS9lK&#{1 zjYgd~t~b|~mwEfOw|8DXD7#Y-u2AwQQrpcZu+plw1qn8lXG81`0O|+i>pGnxMm4P1ySmP#2+_4sg;+leKQw)dG=I9vG!&Ml34Nm zl%k7;z+}dxCRk8C!_bG5R=c1=h$e91$m0~#T}oPWLrg|*=_#>U(&t**LVy-zQpKT^ zH!GSbutsMMJw843SE-Tlaye6ooRZZJ;OJX^HS@IJGx?Qa=@GWJKc&)QMKLW!x`?Wm z?=Vv67GykJ&rz#tR8fVRg-tuSEi5C_cy_e+UQ7T`(>wH3e$f5rEG)&w<3 zWn+SoNt>B-Jwprtb>1?3(>%os9$Kv~KM(Iw8(*#&D)7uU0*R1EQ}sQw$+WX_Xz6`} zR>+u|Yces_;h+5g!_Z$qPHR!lvugsIQ40Rzu3OWQ|>x7w-x07pf7rkA^rK|?h~}CZf@yy#qRHsR>h+9@Dc5s|XH}Pg zIHNshCDds=Zkm3lN>x#hKQ@i zt8oqkbu*zq@!47@SPrdW{1wM$#|Pb#tEL0pkG~T@G-PkO2Ti?s?)7uF6C0q_(sVKC0omzzo=@`?JSo!OLz5Qz+qVHDC#4Ul{+-3OP`Cq_B-#t8w(8NlD z=IB|L3y;aH&gK$GQb9YK+lcPP&)9U4AH9$JsB!oe>Qy}%LyjeyFA82QX_{B2R})|`V8#mVp~ip z+-EI8rbhtKKb#kMGV{*`B95gI2cdSIwY?|2)VJ0N8FYx_8oO4Lb^47I%Fk zL#Kh)*v~|j1kpPLa4&7lfQ(r$+)4A@IP~9j^WJV{2!Y4O<1xsY8UhNt%^`qB3QzI~ zC$AgQ6#G$}=j%&SVD3t4;6LiJyPF*{Lw#u%&StD{b7{^KgA1vYQ~d}3cVc>ktNfp^ p74v@sTmR=~|G)9w|MyjHfiDy43r%~%{+Du){vD&+B|5e*{tNhY%r5`{ literal 0 HcmV?d00001