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

Proposal for a git 'command' #277

Open
3 tasks done
dany-on-demand opened this issue May 9, 2023 · 1 comment
Open
3 tasks done

Proposal for a git 'command' #277

dany-on-demand opened this issue May 9, 2023 · 1 comment
Labels
help wanted We humbly request contribution to this issue due to time contraints. type | request | new command A new command implementation.

Comments

@dany-on-demand
Copy link
Contributor

Problem Description

The idea is that forcing the models to use git or any other versioning system will trigger more of the programming training and thus improve logical reasoning? Ideally, the agents would use git history to determine if they're going in the right direction, and possibly undo bad decisions. And the ultimate version would be having the agents be able to interpret git history of existing projects

Proposed Solution

I propose making a 'VersionControl' command with these (hopefully self-explanatory) functions:

  • git_init(optional readme_content: string) # I assume the model will like to use the readme as a sort of "description of objective"?
  • git_write_and_commit(text: string, mode: (ReWrite,Append), commit_message: string)
  • git_cherrypick(commit_hash: string)
  • git_history() # show last 10 commits
  • git_search_history(filter: string) # show last 10 matching commits, different command as to not confuse the model into using filters when not needed
  • git_list_commit(commit_hash: string)
  • git_diff_last_commit() # will feed the model peacemeal acc to context size
  • git_status()
  • git_commit_as(agent_name: string)
  • git_switch_branch(branch_name: string) # switches or creates
  • git_ignore(regex: string)

git will be local only (no pushing), all commands will git_init if not already initialised

I also assume, this would be primarily used for code & (story)writing. (off-topic, for code, a companion 'CodeTools' command containing stuff like 'cloc' and linters)

Alternatives Considered

No response

Additional Context

No response

Acknowledgements

  • My issue title is concise, descriptive, and in title casing.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.
@dany-on-demand dany-on-demand added the needs triage Needs labels assigned. label May 9, 2023
@Josh-XT Josh-XT added help wanted We humbly request contribution to this issue due to time contraints. type | request | new command A new command implementation. and removed needs triage Needs labels assigned. labels Jun 6, 2023
@lightningRalf
Copy link
Contributor

This looks interesting.
Can this be somehow be combined with the concepts of recursion and backtracking? / similar to the tree of thoughts paper?

https://arxiv.org/abs/2305.10601

There are two implementations:
Official: https://github.com/princeton-nlp/tree-of-thought-llm
unofficial: https://github.com/kyegomez/tree-of-thoughts / with a monte-carlo approach also.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted We humbly request contribution to this issue due to time contraints. type | request | new command A new command implementation.
Projects
None yet
Development

No branches or pull requests

3 participants