gitautoai / gitauto

GitAuto creates pull requests from issues every day.
https://gitauto.ai
Apache License 2.0
5 stars 2 forks source link

Enable GitAuto to make as many commits as it needs to #265

Closed hiroshinishio closed 1 month ago

hiroshinishio commented 1 month ago

What does this PR do?

About Agent

  1. Simplify the role of the agent by changing it to handle function calling only.
  2. Change diffs to arguments to function callings instead of agent outputs, so that they can be done as many times as possible.
  3. Also, change the commit function to one of the function callings instead of after the output of the agent, so that successful and unsuccessful commits can be fed back to the agent.
  4. Turn on Structured Outputs in OpenAI.
  5. Make the commit message a fixed message, as agents sometimes forgot to include it as an argument.
  6. If there was no commit, the pull request would fail and result in an error, but change it so that it is not an error.
  7. Prevent infinite loops by ensuring that the same function is not called with the same arguments more than once.

Improvement

  1. Change the file tree to only the root hierarchy, instead of recursive, to reduce tokens and noise. Even with the reduction, GitAuto can still dig into the file tree hierarchy itself, or keyword search.
  2. Change the progress bar to give detailed information about the progress in increments of 10%.

Refactoring

  1. Shorten variable names from TIMEOUT_IN_SECONDS to TIMEOUT.
  2. Shorten the number of lines by grouping frequently used arguments into base_args.
sentry-io[bot] commented 1 month ago

Suspect Issues

This pull request was deployed and Sentry observed the following issues:

Did you find this useful? React with a 👍 or 👎