About AI coding tools

I want to know your opinion on contributing code that is generated by AI coding tools such as Claude Code and Codex, etc.

I use them extensively in my toy projects, but when making a PR I always feel there is an obligation to mentally think through everything before showing my work to you all. I know this was how things were done before all these tools came up. But it is really frustrating to realise that what I was thinking, and meticulously coding for hours can be achieved by Claude Code in one or two prompts.

It is definitely a skill issue on my part. My PRs to BabylonJS are actually my first contributions to any open source projects. I am interested in learning what is considered best practice in this area. I’d really appreciate your thoughts on this.

1 Like

There is a moral obgligation because AI code is not your code. So do disclose.

From a business standpoint, there also is a legal, i.e. copyright, dimension; particularly if public open source. This gets worse in international contexts (i.e. conflicting legislation). The extra work incured by this copyright management work might be enough to reject AI contributions. But of course, depends on the company and the finanical situation.

2 Likes

Thank you Joe. I agree with you that AI generated code has to be disclosed. I am thinking about the incentives of me contributing to an open source project:

  1. I needed the feature / saw a bug
  2. I want to learn and practice my coding skills
  3. The project helped me a lot, I want to give my help back.

The second reason is getting undermined dramatically due to these tools. When I am doing my projects, I am more like a reviewer rather than a coder. And I can’t see the meaning of getting fluent in coding anymore.

The third reason remains true, but I doubt the reviewers really need my help. For example, I made a PR yesterday about adding custom mip data support to RawTexture. Popov72 not only gave me detailed guidance in the forum posts, but reviewed my commits line by line. Big shout out to them. On the other hand, I am almost certain that they are able to produce 100x more code with Claude Code using that time instead of mentoring me.

Hey :slight_smile:
Here is my point of view on the subject :

You said :

And added :

To me that’s the whole point ! Personally I force myself into this limit with AI : " Never use AI to code something that I cannot code 100% myself ". If AI is outsmarting you on a topic, don’t use it, because you loose your critical view on its output.

To make an analogy :

  • A carpenter is mastering roof construction
  • He has a lot of work on a new project
  • He hires some workers to help him on this task
  • He can theoretically do himself 100% of the work, but now works faster with employees, supervising their work, not allowing any mistake.

Everything goes fine because he is the ā€œexpertā€.

  • Now : AI means the worker is ā€œfreeā€, no salary.
    AI is good for the Carpenter : he can now hire workers, for free.
  • The roof will be doomed as soon as ā€œnon carpentersā€ are hiring some free workers (AI) claiming that they can be carpenters as well. Workers will bullshit the work, the roof will fall.


And well, that’s it. To be clear : I’m not claiming I can use AI because I am ā€œtheā€ master. I’m just saying I’m using it only on stuff I’m mastering…

Also : I agree it’s easy as a theory, not easy to put in practise… :slight_smile:

3 Likes

Thank you Tricotou for your reassuring words! The carpenter analogy is implying that by supervising, an expert amplifies their ability to distinguish ā€œgoodā€ and ā€œbadā€. I doubt that ability (reviewing/supervising) is a different skillset than actual coding, like we can read and pronounce something perfectly but sometimes struggles to spell them.

And I don’t think I am a better worker than claude code either. :joy: So what is my value in open source projects?

Counter question: What is ā€œcodingā€ or ā€œwriting codeā€? If you let your IDE auto-complete a for-loop, do you forgo any learning? I think ā€œwriting codeā€ is more than stringing together of characters. So what if prompting an AI to write code for you is just a different ā€œwriting codeā€. You still write code but the symbols/instructions you are doing it with change. In other words you do practice coding when using AI.

Therefore I disagree with:

ā€œThe second reason is getting undermined dramatically due to these tools.ā€

We are just replacing an abacus with a calculator.

re 1/3: Hmm. Say, AI could give us Nanite in Babylon. Would you reject it? Would anyone?

I do not know man. This kind of thinking sounds unhealthy. You either submit a PR or not. Then it gets accepted or rejected. What is the point in questioning your value in this workflow?


Finally, let me just point out re

meticulously coding for hours can be achieved by Claude Code in one or two prompts

So you are capable. Your ability solve a problem with code is just a function of time. Then bascially you are complaining that it is faster to go by car than by foot :grin:

2 Likes

I really appreciate it Joe. Your words empowered me. You are right. At the end of the day, if I can create something that’s really awesome, the tools that I use aren’t people’s concern .

i do agree with this standpoint mostly but not completely , let me explain :slight_smile:

For agreement :
yes, knowing what you are doing while working with AI will help your steer the direction better, faster and also catch any drift or infact bad outcomes.

For disagreement :
while that is true , im not going to say i wont let it do something i cant 100% do myself. Because we are smarter than that. In those instances you just have to go abouty doing it differently, dont trust outputs, use cross questioning , use smart prompts to break possible cycles of halucination. Ask for comparisons , ask to check documentation etc etc. Doing this on repeat can help you get to a place of getting usable code. Of course I guess that type of prompting also requires some level of developer experience , thats why I said I mostly agree , just not going to rule out that i cant use it to do things I would not be able to do 100% without its help.

I agree with your disagrement :joy:


What I mean is : I happen to have AI doing something I would not 100% do (Did someone say ā€œRegexā€ ? :D) but I try as much as possible to limit it to some very ā€œshort range codeā€ where I accept not having 100% the hand on :stuck_out_tongue:

1 Like

yes , and I also heard them say ( long linux terminal commands )

I think part of the anxiety here comes from mixing up execution with authorship.

For me, AI is just another source of information, with the difference that it delivers that information already adapted to the problem at hand. In programming, official documentation is still the primary reference, followed by books and forums. AI simply adds a new layer by contextualizing knowledge and suggesting how it might be applied to a specific problem. And that’s a good thing.

The important thing, though, is not letting AI imagine the final result before you do. If you already have an idea, a direction, a project in mind, then using AI as support is perfectly fine, it’s just a tool that helps you get there faster.

Where I see a real risk is when the project idea itself comes from the AI. In that case, you may end up implementing something that wasn’t really your idea. And when that happens, the sense of ownership, creative engagement, and even long-term satisfaction tends to be much weaker.

So, in that sense, your value doesn’t disappear because of AI. It shifts. Less about typing and understanding code line by line, more about deciding what you actually want to build in the first place.

3 Likes

Thank you rafaelj. You made an excellent point. I will keep that in mind to not let AI takes over the directions.

Your idea about seeing AI as an information provider gives me a lot of reassurance as I always require them to explain to me what and why they code this way. However, in the mean time, I can see people bragging about how many billions tokens burnt, 7x24, to let agents tirelessly build products. It just makes me feel that I am so lagging behind, because my skills become the bottleneck.

1 Like

I think it’s normal to feel this kind of anxiety.However, let’s consider a different perspective. You can use AI to improve your learning efficiency, validate your ideas, answer questions, or provide new directions. Personally, I don’t let AI dominate my programming. Even if the code is written by AI, I’ll review it to see if the implementation meets my expectations. For functions outside my capabilities, I’ll ask the AI ​​for reference links and an outline of the implementation process. After reading the papers and understanding the concepts, and implementing the code myself, I’ll then review the AI’s implementation to see if it conforms to the expected process and results before actually using the code.(Only applicable to the field you want to specialize in, because human energy is limited, you must learn to accept imperfections and accept the challenges you cannot control…
Perhaps my ideas don’t align with the currently popular Vibe coding philosophy, haha.

2 Likes

Hi KallkaGo! Do you think human involvement is slowing down the loop? Some claim that using autonomous agents they managed to produce 1000 commits per day. This is exactly the vibe coding philosophy you mentioned. I am more inclined to think that agents will become the new compiler. I mean surely it’s good to know some assembly if you write C or C++, but coding in assembly is not a requirement to be a C++ dev, let alone a JavaScript programmer.

In my opinion, I believe that while we may be at a bottleneck in mechanical tasks (writing boilerplate code, fixing obvious bugs, and repeating tests), AI still has a long way to go in creative decision-making (choosing technical solutions, weighing trade-offs, and defining ā€œwhat is goodā€).

3 Likes

One really cool thing about using AI to code is that it can explain code to you. You can grab something out of the playground or the source, throw it into any LLM, and have it patiently walk you through it and help you test out each line and really understand them all.

In practical terms, I found that modern LLMs are still awful at working with Babylon unless you coach them by putting the relevant APIs and sample code into the context window. Find or make playgrounds that make each thing you’re trying to do, then dump the code into the chat. Also, be sure to put your questions/commands/whatever up at the top before you drop in the sample code/code to edit. Then it can use the tokens parsing the input context to work on the output.

Honestly I don’t think AI is going to get much smarter than it already is. So don’t use it as an excuse to slack off. You can use current AI as a springboard to level up your skills and build more and more gooder things and blast way ahead of the average person even if some pros are going to be be able to rawdog code in notepad faster than most people burning infinite tokens

Thank you CodeMoney for the practical suggestions. I think the ā€œskillā€ (another of Anthropic’s fancy terms) is an attempt to solve this? I do use them extensively for explaining code. But as a junior dev, my feeling is that the tide is retreating and I am like a little crab using all my efforts not to be left on the shore.

This is a very non-linear way of learning, you learn based on your interests and the specific demands of the problems you’re facing. It’s quite different from the academic approach, where you build a foundation through textbooks. As a teacher, I find it increasingly difficult to see my students following that traditional linear path nowadays, especially with AI around. However, I still believe that by following an ā€˜A to B’ or ā€˜cover to cover’ approach, you won’t be just moving sideways like a crab; you’ll be making real forward progress.

Just-in-Time Learning

2 Likes

Just-in-Time Learning An introduction to software engineering book (e.g. Ian Sommerville) :saluting_face:

2 Likes

I learned a lot from this book!
For example, Chapter 16, Software Reuse, page 425, when creating my simulations for my website fisicagames.com.br.

2 Likes