Conversation
…date reporter delivery flow, and improve the quality check module (54.51)
…t-report guidance
…haracter for report qa
…at/enhance_dsv2
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly upgrades the Deep Research V2 framework by introducing a more flexible prompt management system, integrating advanced quality assurance mechanisms for generated reports, and enhancing the stability and execution of subagents. These changes aim to make the research process more autonomous, reliable, and easier to manage, ultimately leading to higher-quality research outputs. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
The pull request introduces significant enhancements to the Agentic Insight V2 system, focusing on externalizing prompts, improving agent execution robustness with in-process subagents, and adding crucial self-reflection and quality check modules for both Researcher and Reporter agents. The overhaul of the evidence tool to include "analysis" records is a valuable addition for structuring intermediate reasoning. Documentation has been extensively updated in both English and Chinese, providing clearer guidance for configuration and troubleshooting. The benchmark tooling has also been improved with a more reliable task completion detection mechanism. Overall, these changes greatly improve the system's modularity, reliability, and user experience.
| except Exception: | ||
| # Never block config loading due to prompt resolving. | ||
| pass |
There was a problem hiding this comment.
| except Exception: | ||
| # Be conservative: prompt loading must never break config loading. | ||
| return config |
| except BaseException as exc: # pragma: no cover | ||
| result_queue.put({ | ||
| 'ok': False, | ||
| 'error': str(exc), | ||
| 'traceback': traceback.format_exc(), | ||
| 'agent_tag': getattr(sub_agent, 'tag', None), | ||
| 'agent_type': getattr(sub_agent, 'AGENT_NAME', None), | ||
| }) |
There was a problem hiding this comment.
While catching BaseException allows for handling asyncio.CancelledError, it is generally discouraged as it can also catch critical system-exiting exceptions like KeyboardInterrupt or SystemExit. It's usually safer to catch Exception for application-level errors and handle asyncio.CancelledError explicitly if needed, or re-raise BaseException types that are not Exception.
| } | ||
| return { | ||
| 'code_executor': [ | ||
| t for t in tools['code_executor'] | ||
| if t['tool_name'] not in self.exclude_functions | ||
| ] | ||
| } | ||
|
|
||
| return tools |
There was a problem hiding this comment.
The removal of the exclusion logic for tools in _get_tools_inner means that all tools defined within LocalCodeExecutionTool will now be exposed. While this might be intended for higher-level filtering, it's important to ensure that no sensitive or unintended tools are exposed if the higher-level filtering is not robustly implemented.
| 'Which occurrence to replace (1-based). Default is 1 (first occurrence). ' | ||
| 'Use -1 to replace all occurrences.', |
There was a problem hiding this comment.
Changing the default occurrence from -1 (all occurrences) to 1 (first occurrence) for replace_file_contents is a significant behavioral change. While making the default safer, it might break existing workflows that relied on replacing all occurrences by default. It's good that occurrence is now a required parameter, which forces explicit choice.
| config = apply_prompt_files(config) | ||
| except Exception: | ||
| # Never block config loading due to prompt resolving. | ||
| pass |
There was a problem hiding this comment.
或者记录日志 logger.warning(f'Prompt resolution failed: {e}')
Change Summary
Agentic Insight V2
Agent & Framework
Tests
Related issue number
Checklist
pre-commit installandpre-commit run --all-filesbefore git commit, and passed lint check.