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

Clean up unused agent skills after function calling migration #6083

Open
xingyaoww opened this issue Jan 6, 2025 — with OpenHands by All Hands AI · 3 comments
Open
Labels
good first issue Good for newcomers

Comments

Copy link
Collaborator

Background

During the review of PR #6064 (removing opencv-python dependency), it was noted that our codebase still contains legacy agent skills that are no longer used by default since we switched to function calling. This technical debt should be addressed to maintain a clean and efficient codebase.

Current State

  • The project has migrated from agent skills to function calling as the primary mechanism
  • Legacy agent skills remain in the codebase but are not used by default
  • Recent PR Fix issue #6063: [Bug]: Build error on opencv-python #6064 highlighted the need for cleanup while removing unused dependencies

Proposed Changes

  1. Audit

    • Identify all legacy agent skills in the codebase
    • Document which skills are still being used (if any) by custom configurations
    • Map dependencies specifically tied to these legacy skills
  2. Cleanup

    • Remove unused agent skill implementations
    • Clean up associated tests and documentation
    • Remove any dependencies that were only needed for legacy skills
    • Update configuration examples and documentation to reflect the function calling approach
  3. Documentation

    • Update migration guides to help users who might be using legacy skills
    • Document the function calling alternatives for removed skills
    • Update architecture documentation to reflect current design

Benefits

  • Reduced maintenance burden
  • Cleaner codebase
  • Smaller dependency footprint
  • Clearer documentation for new users
  • Reduced confusion about preferred implementation patterns

Implementation Notes

  • This should be done in small, focused PRs to minimize risk
  • Each PR should include appropriate tests and documentation updates
  • We should maintain backward compatibility if we discover active users of legacy skills

Questions to Address

  • Are there any known active users of legacy agent skills?
  • Should we maintain any backward compatibility layer?
  • What's the timeline for deprecation if we need a transition period?

/cc @xingyaoww

@xingyaoww xingyaoww changed the title [Tech Debt] Clean up unused agent skills after function calling migration Clean up unused agent skills after function calling migration Jan 6, 2025
@enyst
Copy link
Collaborator

enyst commented Jan 6, 2025

This is quite cool! Kinda verbose, like Sonnet is prone to do.

@xingyaoww xingyaoww added the fix-me Attempt to fix this issue with OpenHands label Jan 6, 2025
@openhands-agent
Copy link
Contributor

OpenHands started fixing the issue! You can monitor the progress here.

@openhands-agent
Copy link
Contributor

An attempt was made to automatically fix this issue, but it was unsuccessful. A branch named 'openhands-fix-issue-6083' has been created with the attempted changes. You can view the branch here. Manual intervention may be required.

Additional details about the failure:
While the AI agent has made significant progress in addressing the core requirements by removing legacy agent skills and their dependencies, the issue cannot be considered fully resolved for several reasons:

  1. The proposed changes section required documentation updates including:

    • Migration guides for users who might be using legacy skills
    • Documentation of function calling alternatives
    • Updated architecture documentation
      These documentation updates were not mentioned in the implemented changes.
  2. The issue specifically requested "small, focused PRs to minimize risk" but the changes appear to have been made in one large sweep.

  3. The issue raised important questions that weren't addressed:

    • Whether there are any known active users of legacy agent skills
    • If backward compatibility should be maintained
    • Timeline for deprecation if a transition period is needed
  4. There are failing tests, and while they may be environment-specific, they need to be resolved before the changes can be merged.

To fully resolve this issue, we need to:

  1. Complete the documentation updates
  2. Address the questions about backward compatibility and users
  3. Fix the failing tests
  4. Consider breaking the changes into smaller, focused PRs

The core code changes look promising, but the issue requirements go beyond just code removal and require additional work to be considered fully resolved.

@neubig neubig added good first issue Good for newcomers and removed fix-me Attempt to fix this issue with OpenHands labels Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

4 participants