Drew McCormack

@drewmccormack@mastodon.cloud
988 Followers
524 Following
1,069 Posts
Founder agenda.com (notes) and glisten.ist (languages)
@cocoaphony I guess I was surprised, because Apple are enforcing typing for the actual responses, ie @.Generable types. I was expecting the same thing with tools, but I guess it comes down to what you say: the tools are just using MCP, so no types.
@cocoaphony But how does it know which tool to call, and when, if it has no idea what the tool is returning. Imagine a tool called getItem. Does it return the whole item, the identifier, what? Now the LLM thinks “I need the whole item”, and calls it, and it just returns the identifier. Seems like the return type is pretty fundamental. Or are you just supposed to describe that in the main description?
Something I am not understanding about the Foundation Models framework: How does the LLM know what output to expect from a Tool, given that ToolOutput is not generic, and doesn't take a Generable type? You would think knowing what is returned before you call the tool would be essential. Or are we just supposed to describe the output in the description?
@kyle @obrhoff So I set this up using a @ Generable type, and giving instructions to do the “thinking" first. It actually seems to improve things. What is weird though is that I see calls to tools made before the thinking begins. Something I don't understand is how the LLM knows about results from tools. They are generated dynamically. Surely it would be better if tool results were static, so it could know what it will give. Or do you simply have to add details in the description of the tool?
@alpennec @brandonhorst The responses are also part of the history. If you start a chain with a specific prompt, and continue exactly as last time, you should get the same responses each time in the .greedy case. (Although, I have a feeling temperature would have to be 0, because that might relate to a different part of the LLM.)
@alpennec @brandonhorst My understanding is that it will be deterministic based on the whole conversation. So a particular set of prompts will lead to the same response.
@hishnash There is no conflict res yet. ATM, it just cleans up older versions and keeps the most recent. Adding it probably wouldn't be terribly difficult since it does look for versions already. Re: wipes, SwiftCloudDrive is literally just showing what is in the container on the device, making it easier to work with. So if you log out, those files would disappear. If you want to keep a local copy, best to use SwiftCloudDrive to copy the files to another location and manage that clone.
@brandonhorst @alpennec In my case, it should just do the logical thing. Given my use case is mostly search and automation, a low temp probably makes sense. Personality is not very important here.
@brandonhorst @alpennec And I assume it doesn’t guarantee that it will be any more “right”, correct? Or is the zero temp solution the most likely to be right? I guess it is.
@alpennec I’ll look into it. What is the difference between this and a low temperature?