Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: CodeAct agent console log skips user messages #1736

Closed
2 tasks done
enyst opened this issue May 12, 2024 · 1 comment
Closed
2 tasks done

[Bug]: CodeAct agent console log skips user messages #1736

enyst opened this issue May 12, 2024 · 1 comment
Labels
bug Something isn't working severity:low Minor issues, code cleanup, etc

Comments

@enyst
Copy link
Collaborator

enyst commented May 12, 2024

Is there an existing issue for the same bug?

Describe the bug

The user message is now an action, when it used to be an observation. I think the observation was displayed/logged in console, the action is not.

The effect is that CodeAct seems to talk to itself, without presenting the other side of the conversation.
Note: while this seems weird and affects logs,

Current Version

Current main (https://github.com/OpenDevin/OpenDevin/commit/8bfae8413e74e1b6095d5380a7ea93b6b73a4537)

Installation and Configuration

`make build`
`make run`

Model and Agent

  • Model - GPT-3.5-turbo
  • Agent - CodeAct

Reproduction Steps

  1. run with UI, CodeAct
  2. start a task
  3. say something in the UI
    => everything I say won't be in the console, but the agent does talk to someone, a ghost, an alter ego... 😅

Logs, Errors, Screenshots, and Additional Context

Example console display CodeAct talking to itself:

STEP 0

22:30:43 - PLAN
make a bash script to solve the 17 queens problem
22:31:34 - ACTION
MessageAction(content='Sure, I can help with that. The N-Queens problem is the problem of placing N chess queens on an N×N chessboard so that no two queens threaten each other. Thus, a solution requires that no two queens share the same row, column, or diagonal.\n\nThe 17-Queens problem is a specific case of the N-Queens problem where N is 17. This problem is computationally expensive to solve, especially with a bash script, due to the large number of possibilities to check.\n\nHowever, I can provide a simple bash script that uses a backtracking algorithm to solve the N-Queens problem. This script will not be efficient for large N like 17, but it can solve the problem for smaller N like 8.\n\nHere is the bash script:\n\n```bash\n#!/bin/bash\n\n# N-Queens problem solver in Bash\n\nN=$1\nsolution=0\n\n# Initialize the board\nfor (( i=0; i<$N; i++ )); do\n  for (( j=0; j<$N; j++ )); do\n    board[$i,$j]=0\n  done\ndone\n\n# Check if a position is safe\nis_safe() {\n  local row=$1\n  local col=$2\n  local i=0\n  local j=0\n\n  # Check this row on left side\n  for (( i=0; i<$col; i++ )); do\n    if (( board[$row,$i] )); then\n      return 1\n    fi\n  done\n\n  # Check upper diagonal on left side\n  for (( i=$row, j=$col; i>=0 && j>=0; i--, j-- )); do\n    if (( board[$i,$j] )); then\n      return 1\n    fi\n  done\n\n  # Check lower diagonal on left side\n  for (( i=$row, j=$col; j>=0 && i<$N; i++, j-- )); do\n    if (( board[$i,$j] )); then\n      return 1\n    fi\n  done\n\n  return 0\n}\n\n# A recursive utility function to solve N-Queens problem\nsolve_n_queens() {\n  local col=$1\n  if (( $col == $N )); then\n    (( solution++ ))\n    echo "Solution $solution:"\n    print_solution\n    return\n  fi\n  for (( i=0; i<$N; i++ )); do\n    if is_safe $i $col; then\n      board[$i,$col]=1\n      solve_n_queens $(( $col + 1 ))\n      board[$i,$col]=0\n    fi\n  done\n}\n\n# Function to print a solution\nprint_solution() {\n  for (( i=0; i<$N; i++ )); do\n    for (( j=0; j<$N; j++ )); do\n      echo -n "${board[$i,$j]} "\n    done\n    echo\n  done\n  echo\n}\n\n# Solve the N-Queens problem\nsolve_n_queens 0\n```\n\nYou can run this script with the number of queens as an argument, like this:\n\n```bash\nbash n_queens.sh 8\n```\n\nThis will print all solutions to the 8-Queens problem.\n\nPlease note that this script uses a simple backtracking algorithm and is not optimized for large N. It may take a very long time to find all solutions for N=17.', wait_for_response=True, action='message')

==============
STEP 1

22:34:05 - ACTION
MessageAction(content="I'm sorry for the confusion, but as an AI text-based model, I don't have the capability to execute bash scripts directly. However, you can run the script on your local machine by following these steps:\n\n1. Copy the script provided in the previous response.\n2. Open a text editor, paste the script, and save it as `n_queens.sh`.\n3. Open a terminal and navigate to the directory where you saved `n_queens.sh`.\n4. Make the script executable by running `chmod +x n_queens.sh`.\n5. Run the script with the number of queens as an argument, like this: `./n_queens.sh 3`.\n\nPlease note that the N-Queens problem has no solutions for N=2 and N=3. The first non-trivial case, with a solution, is N=4.", wait_for_response=True, action='message')

==============
STEP 2

22:36:26 - ACTION
**CmdRunAction**
THOUGHT:I apologize for the confusion. You're right, I can execute bash commands. However, creating and executing a bash script in this environment is a bit tricky. Let's try it step by step.
@enyst enyst added bug Something isn't working severity:low Minor issues, code cleanup, etc labels May 12, 2024
@neubig
Copy link
Contributor

neubig commented May 24, 2024

Fixed by #2035

@neubig neubig closed this as completed May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working severity:low Minor issues, code cleanup, etc
Projects
None yet
Development

No branches or pull requests

2 participants