Armand1

@Armand1@lemmy.world · Joined ⁨Aug⁩ ⁨2023⁩

Replying to @⁨eicker@lemmy.world⁩

So if I remember correctly, what happens with auto mode is they run a second smaller LLM called the “classifier” to evaluate the tool uses of the main one.

I’ve used auto mode at work now for many months, and it approves most things because most things Claude does are reasonable.

Once or twice I have seen it reject Claude. I can’t remember the exact scenario, but I had asked Claude to diagnose an issue but not fix it yet, and when later on it tried to make the change the classifier rejected it, giving the reason that what it was trying to do did not match my request.

In my opinion, the trick to using auto mode safely here is to:

  • Commit and push your changes before handing over the reins (it rarely commits or pushes without you telling it to, especially if you have never asked in that session).
  • Don’t give it access to things it shouldn’t have access to or that can do significant damage
  • Don’t give ambiguous prompts.
  • Never use LLMs against untrusted code or files, as it may contain prompt injections.

Replying to @⁨eicker@lemmy.world⁩

Having run models locally, RAM use seems to be almost directly proportional to number of parameters. 8 Billion parameters requires approx 8GB of VRAM at 1/4 precision.

Therefore, if this pattern holds you somehow need 10 Terabytes of VRAM at 4K and 40 Terabytes at full precision.

I think I saw some estimates that Claude’s Opus models may be and Opus model equivalents may be at around 100B parameters (100-400GB VRAM).

TLDR its clear why RAM is so expensive.

Replying to @⁨Nobody_Special@piefed.social⁩

Sure enough, 32 out of the 35 students across two classes simply copied the question, pasted it into a chatbot, then copy and pasted its output into the answer window.

That’s an insanely high proportion. I don’t think I’ve ever cheated on an exam or assignment, so the concept seems kind of weird to me.

I wonder if some of the remaining people used AI but then reviewed the output and removed the weird stuff, or if they wrote it themselves.

Replying to @⁨theneverfox@pawb.social⁩

If you’re looking for declarations, some languages use const, let or var followed by the name of said variable. That’s a little easier to find than having a type name at the start, so I don’t think what you’re saying gives the other approach an advantage. The indentation is also more consistent with these keywords, which helps.

I realise some languages (like Python) don’t use these sorts of keywords during declaration. For those languages it could indeed be a disadvantage.

Replying to @⁨luthis@lemmy.nz⁩

As other users have said, we aren’t compilers.

Types are important for type safety, so you don’t access properties that don’t exist, can use polymorphism etc. However, having worked in both duck-typing and hard typing languages, I believe the most important part of a type is it’s name.

Classes are are arbitrary constructs we create to help us understand and manage code. They are inherently organisational structures.

That may sound like an argument FOR putting the name of the class first. “If I know it’s a ConnectionCredentialsQuery, I don’t need to know it’s name, the use-case is evident!” Classes often get reused though, like a CartesianPoint. You may create several instances of them. Which of the name and type below are more indicative of use?

CartesianPoint PlayerPosition; 

Types are, to some extent, implementation detail. The name tells you what the variable is for, which is more important.

Another point: You will always need to name variables well, because after declaration, whenever you see a variable, you will only see its name. You want to be able to fully understand what you are looking at without having to mouse over or go back to the declaration of a variable.

Additionally, many typed languages will allow you to use a syntax to altogether avoid declaring the type of a variable if derived from somewhere else.

var result = a + b;

var customer = new Customer();

Given that the type can be inferred, and therefore specifying it explicitly is optional, why make it the first thing you see? That means you need to move your eye back and forth when looking for the names of things. Which of these two are better for legibility:

var result = a + b;
CartesianCoordinate playerPosition;
const result = a + b;
let playerPosition: CartesianCoordinate; 

Finally, you say that types are more important because they are important to the compiler, but compilers don’t care about the order of these definitions. Compilers exist to allow us to write easier to read code. They exist to convert high level languages to low level byte code. They exist to enable more readable code.

Thank you for coming to my TED talk.