> But all inconsistent understanding is incorrect.
Why do you believe that?
Even if we assume that reality itself is self-consistent (what does that even mean?), why would that imply that we humans are able to find a self-consistent representation of it? Maybe reality is self-consistent in some sense but cannot even be represented by the tools we use for theory building.
My point being, the ultimate target of our understanding may be self-consistent, but the way we _necessarily_ have to reduce it to lossy theories means that we can only ever approach it with a non-zero error. And a theory focusing on one aspect, minimizing representational error from one direction of approaching it, necessarily has to make assumptions that will contradict those made by another theory trying to minimize representational error coming from another direction / domain.
> but the way we _necessarily_ have to reduce it to lossy theories means that we can only ever approach it with a non-zero error.
Yes. Fortunately, we also usually don't need the error to be zero. In practice, we usually have narrow scope at any given time, and can get away with a lot of error.
E.g. people in the past found alternatives to modern germ theory, involving evil spirits and other such shenanigans, but to the extend they covered the high-level mechanisms (curse transfers through contact, hygiene and boiling water removes the harmful effects, etc.), it doesn't really matter the theories were wrong. The beliefs were consistent with each other and empirical evidence to some degree, and to that degree were useful.
> And a theory focusing on one aspect, minimizing representational error from one direction of approaching it, necessarily has to make assumptions that will contradict those made by another theory trying to minimize representational error coming from another direction / domain.
That's fair. Our brains and attentions are finite, you always have to limit the scope. If you imagine you'd have practically forever, you could sort it out and make it all consistent to arbitrary degree (subject to fundamental computational limits, which are physical limits). In practice, the heuristic of consistency works like this:
- For things within your domain of interest, inconsistent information flags an error.
- For things at the interface between your domain of interest and another domain(s), inconsistent information flags an abstraction boundary. It's where you can observe simplifications both domains make because they don't add up (and if you adjust them to make them mutually consistent, you just allowed two domains to work together).
> I've observed many (most?) people seemingly being completely oblivious to self-consistency issues of their beliefs and mental models, or even texts they're reading or instructions they're following, and yet... somehow they're generally more successful at life because of it
What do you mean by "successful at life" here? Genuine happiness, fulfillment in life? Or in the sense of doing well by what society holds as it's current interpretion of what one should strive for, and otherwise just kinda drifting through life?
Because if it's the latter, I'd say that is to be expected. It's much simpler to put your energy into fulfilling the expectations of whoever is your superior in your current group, mostly get the expected reward, and then just coast. Reflection and experimentation, which is required to get to self-consistent views, takes effort and and the willingness to question existing beliefs, which will also be uncomfortable times.
In your experience, would you say that your communication has become more precise?
Reflecting on it now, I believe that metaphors and idioms can help a lot for communicating intuitively and they can convey a lot of information. But at the same time in the situations where a idiom isn't understood by the other, I often have to take a moment to extract the essence of its meaning.
I don't think my communication became more precise. Language is imprecise and in these cases (ESL), you are also limiting your vocabulary. (Especially when I moved outside the US - while I was around very educated people who studied for the GRE, learning a word is not the same as digesting all connotations.
So in social communication, you aren't getting more precise -- in many cases, you're getting less precise and taking more words to handle that. Consider the idiom "shit or get off the pot." You can say that "Make a decision" is less precise. "Do it or don't" is also an idiom but doesn't express the frustration that the vulgarity does. "I am frustrated and need you to either take action or shut up" is more direct and possibly more offensive because it takes formality.
And then there's the prefix of "Sometimes you need to" that turns it from a command to advice. "Sometimes you need to either take action or stop complaining" sounds like the emphasis is on "you" instead of the predicate as if it's a critique of the person, whereas the idiom gives more of a proverb connotation.
The problem is that language carries many layers and "more precise" is a goal in technical communication but neglects the other layers.
That's a very good question that I also don't have an answer to (yet). But I believe part of the reason for that is that were currently still in the middle of this shift, so there's issues of both knowledge about AI and how people relate to it. And of course there's so many different situations here.
Your non-technical parents ask you a question? Use the best tool for the job (might be Claude), then just help them with the task.
Talking to a friend looking for genuine advice? Maybe show them how you use Claude while also answering the actual question.
A lazy person trying to make you do their work? Don't become their Claude interface.
Someone asking a question but actually just trying to open up a conversation? Maybe check-in what their intention behind the question is, and if it's indeed conversation / exploration, leave the phone in your pocket and do that.
I am a software engineer. Most of the times, the people asking are from product management or devops. Devops contractors are the most difficult ones. They have access to the code, they have access to Claude. But they don't use it.
Specifying USD is indeed often a service usually offered by people born elsewhere for people born elsewhere. Americans seem rarely know about these mysterious places, where bills can come in all sorts of funny sizes and colours. (kind of joking)
Seems like for such requests it's necessary to get some proof of work: require a meeting where for every artifact they sent you to review, they briefly explain the gist and point out the motivation for creating the artifact.
Agreed. It seems a core issue underlying these prompt injection attacks is a failure to properly scope the agent's permissions. In this case, depending on what exactly the agent is supposed to actually do, this might be defining a separate workflow agent per repo, or a workflow agent with broader repo access but configured to only be triggered by users on an allow list (still compatible with developing in the open, still allows outsiders to open public issues, but takes into account the different trust to be placed in each). And likely many more options when one properly thinks about it.
But that requires:
1. the technical ability for such fine-grained scoping / permissions
2. actually taking the time to think about what you want to achieve with the agent and what the smallest set of permissions / capabilities is for it to achieve it
Regarding 1., I think this will come, we're still in the wild west phase of agent usage. It'll be interesting to see which abstraction(s) will turn out to be the best interface for humans designing agents (minimize friction for finding and defining scope and permissions) and to limit agent capabilities (again finding the best trade-off between level of detail possible for defining capabilities and the ease of use of actually doing it).
Regarding 2., well, that's still the core problem that's always prevented the construction of high quality software, isn't it? Taking the time to properly think it out,and then taking the time to properly implement it. Which goes counter to the "move fast and break things" approach of people throwing agents at everything.
The fallacy here is expecting an agent that has access to ALL your repos to respect the singular repo it’s in. It won’t. If it has access to all your repos and you ask it about a private repo you aren’t in - it will definitely go look at that private repo. This is like giving your dog a bone and then being surprised when he buries it in the backyard.
Exactly. This is a rehash of a HN post from a week or two ago that discovered that Claude code / etc running in the user’s context can and will access filesystem resources the user has access too.
That post had crazy suggestions for harness-level rules or shell scripts or something, when the obvious and correct answer is to run agents using existing OS-level security features that grant appropriate access (if you don’t want an agent accessing ~/ , run it as a user that doesn’t have access!)
In my agent sessions,which are scoped to one or more src/project folders, the model regularly tries to access src/ for no good reason. When asked what it’s looking for, it never has a good answer, and suddenly discovers that it can find what it needs in the folders it already has access to.
The dog analogy is quite apt - it just really wants to access src/, it doesn’t need a reason.