Skip to content

refactor(models): Refine MessageAgentThought SQLAlchemy typing#11

Open
tomerqodo wants to merge 2 commits intosentry_full_base_refactormodels_refine_messageagentthought_sqlalchemy_typing_pr11from
sentry_full_head_refactormodels_refine_messageagentthought_sqlalchemy_typing_pr11
Open

refactor(models): Refine MessageAgentThought SQLAlchemy typing#11
tomerqodo wants to merge 2 commits intosentry_full_base_refactormodels_refine_messageagentthought_sqlalchemy_typing_pr11from
sentry_full_head_refactormodels_refine_messageagentthought_sqlalchemy_typing_pr11

Conversation

@tomerqodo
Copy link
Copy Markdown

Benchmark PR from agentic-review-benchmarks#11

tool_call_response.append(
ToolPromptMessage(
content=tool_responses.get(tool, agent_thought.observation),
content=str(tool_inputs.get(tool, agent_thought.observation)),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The organize_agent_history method incorrectly uses tool_inputs instead of tool_responses for the content of a ToolPromptMessage, breaking the agent's reasoning.
Severity: CRITICAL

Suggested Fix

In api/core/agent/base_agent_runner.py on line 502, change content=str(tool_inputs.get(tool, agent_thought.observation)) to content=str(tool_responses.get(tool, agent_thought.observation)) to correctly use the tool's response content.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: api/core/agent/base_agent_runner.py#L502

Potential issue: In the `organize_agent_history` method, when constructing the
conversation history, the content for the `ToolPromptMessage` is incorrectly sourced
from the `tool_inputs` dictionary instead of the `tool_responses` dictionary. This
causes the agent to receive its own tool call inputs as if they were the tool's output.
This breaks the logical flow of the conversation history, as the
`AssistantPromptMessage` contains the tool call inputs, and the subsequent
`ToolPromptMessage` should contain the corresponding responses. This will prevent the
agent from correctly reasoning about the results of its tool executions.

Did we get this right? 👍 / 👎 to inform future reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant