This refactor improves the `DeepSeekReasonerAgent` adapter to be a robust, drop-in replacement for native PydanticAI Agents. It brings several enhancements: 1. Re-implemented `run()` to manually inject historical messages (`message_history`) and dependencies, preserving state across workflows. 2. Replaced the simplistic crash loop with an explicit, manual multi-turn retry mechanism. If the Markdown JSON parser fails, it correctly injects the `ValidationError` back into the conversation history and prompts the model to correct its structure up to `retries` times. 3. Designed an elegant proxy `AgentRunResultProxy` to seamlessly wrap `AgentRunResult` outputs. This cleanly passes through downstream calls (e.g., `result.data`, `result.usage()`, `result.all_messages()`) avoiding `AttributeError`s and Monkey-patching. 4. Integrated fallback tool descriptions parsing, dynamically instructing the model on available tools. 5. Adapted `AgentFactory` to correctly propagate `tools` and `retries`. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: zhaoxi826 <198742034+zhaoxi826@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| adapter | ||
| api | ||
| core | ||
| plugin | ||
| utils | ||
| worker_individual | ||
| workflow_template | ||
| __init__.py | ||