Skip to content

[OMEGA-374] Omega V2: using tools API fields to pass the list of tools to LLM - #349

Open
vsbogd wants to merge 18 commits into
mainfrom
MeTTaClaw2-vitaly
Open

vsbogd wants to merge 18 commits into
mainfrom
MeTTaClaw2-vitaly

Conversation

@vsbogd

@vsbogd vsbogd commented Sep 14, 2026

Copy link
Copy Markdown
Member

Description

This is rework of #323 and adopting it to the current Omega code keeping old features in place and adding new features such as:

  • use OpenAI API fields to pass the list of tools to the LLM
  • get the list of tool calls from OpenAI API fields and execute the calls

How Has This Been Tested?

I have manually checked the all of LLM providers starting build with each provider and asking "What is the distance to the Sun" each instance of the agent.

Most autotests are passed, the only test is broken see discussion below (#349 (comment)).

Optional autotests are still broken, they need to be updated similarly to the required auto tests.

Checklist

  • PR contains autogenerated code
  • Self-review completed
  • Test scenarios above are passed with the version of the code from PR

patham9 and others added 7 commits September 14, 2026 16:16
@vsbogd
vsbogd requested a review from jazzbox35 September 14, 2026 14:22
@vsbogd

vsbogd commented Sep 14, 2026

Copy link
Copy Markdown
Member Author

Command to run dev build:
curl -fsSL https://raw.githubusercontent.com/singnet/Omega/refs/heads/MeTTaClaw2-vitaly/scripts/omega | bash -s -- singularitynet/omega:6e9f0fbb944b64d15a4ee5b668be874619d9378a

@vsbogd
vsbogd marked this pull request as ready for review September 16, 2026 14:11
@vsbogd

vsbogd commented Sep 16, 2026

Copy link
Copy Markdown
Member Author

@pisaev1 could you please review this, unfortunately I cannot add you as a reviewer probably because you didn't contribute to the repo but you should be able to publish comments here.

@vsbogd

vsbogd commented Sep 16, 2026

Copy link
Copy Markdown
Member Author

CI job fails to start tests for some reason will look at it. Should not be blocker for the review as I ran integration tests locally and published the results in the description.

@vsbogd

vsbogd commented Sep 16, 2026

Copy link
Copy Markdown
Member Author

@patham9 @pisaev1 pin tool is broken in #323 because it is never sent to the LLM in the list of last messages as it was before. Now it is present only in history.metta file. This breaks the integration test mock/test_pin_invisible_within_iteration_mock.py. I am not sure was this change made by intention or accidentally?

@vsbogd

vsbogd commented Sep 16, 2026

Copy link
Copy Markdown
Member Author

@pisaev1 @patham9 could you please also answer questions I asked in https://github.com/singnet/Omega/pull/323/changes because they are critical for the understanding the OmegaV2 changes.

@jazzbox35

Copy link
Copy Markdown
Collaborator

Overall it seems to run pretty well in my tests and aesthetically seems well organized!

Here are some suggestions and question:

  1. I feel like making the main loop the last / lowest function inside loop.metta would help readability. I'm used to the loop being at the bottom and I think people can orient around the bottom of the program to reference functions above the main loop.

  2. I see in callTools that we are calling each tool in the sequence received. I wonder if this could be done with a superpose or hyperpose structure? I'm not sure though if parallelism or nondeterminism is supported with respect to tool calls or even if we must execute tool calls in sequence. I don't know if there is an implied or explicit reason to make tool calls sequential or parallel...

  3. I think the new loop.py program is what Patrick devised as the base of version 2 (?). It looks like this can then be run as a way of running Omega starting with Python. I'm not sure this is necessary and I worry that a loop.py program could be out of sync with a loop.metta program. Maybe we should omit loop.py if it is just doing the same thing as loop.metta? We might be stuck updating two algorithms for a single problem right? (I think I understand this).

  4. In a couple of instances when running tests, I received strange output in my chat channel, once an announcement that an auction was coming up and another case of two numbers appearing. If this happens again I will save the log.

I think both @blackhammer116 and @patham9 should also review this given the magnitude of the release, and also that everybody is encouraged to "test drive" version 2.

@vsbogd

vsbogd commented Sep 16, 2026

Copy link
Copy Markdown
Member Author
  1. I feel like making the main loop the last / lowest function inside loop.metta would help readability. I

No problem with that. I will do this change tomorrow.

  1. I see in callTools that we are calling each tool in the sequence received. I wonder if this could be done with a superpose or hyperpose structure?

We cannot rely on the order of execution provided by superpose it can be random.

I don't know if there is an implied or explicit reason to make tool calls sequential or parallel...

Autotests rely on the sequence of execution of the tool calls sent. I believe LLM will also form a list of calls for being executed in sequence.

  1. Maybe we should omit loop.py if it is just doing the same thing as loop.metta?

Absolutely agree, we need to remove it. I didn't do this yet because there are some features to copy as the next step.

  1. In a couple of instances when running tests, I received strange output in my chat channel, once an announcement that an auction was coming up and another case of two numbers appearing.

Yes, log would be very helpful here to understand if this was triggered by something on agent side.

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.

4 participants