12 June 2026 6 min read
how-to-use-ai-effectively

The dumbest person you know is currently being told “You’re absolutely right!” by ChatGPT.


AI 是想法的「放大器/加速器」,而不是想法的「產生器」。1

「0 到 1」的突破仰賴人類的創造力,而 AI 工具則擅長將「1 到 100」的流程高效擴展。

The intended roles AI should play: Treat it as a collaborative partner—an assistant, co-worker, helper, coach, or adviser—not a contractor to whom you completely delegate your tasks and offload your responsibilities. Remember: What you outsource will atrophy.

The proper use of AI tools is to treat them like an intern or new grad hire. You can give them the work that none of the mid-tier or senior people want to do, thereby speeding up the team. But you will have to review their work thoroughly because there is a good chance they have no idea what they are actually doing. If you give them mission-critical work that demands accuracy or just let them have free rein without keeping an eye on them, it’s likely you are going to regret it.


The Bicycle of the Mind

AI is not just a tool, but an extension of our will, allowing us to accomplish feats that were once thought impossible.

“We humans are tool builders. […] And so for me, a computer has always been a bicycle of the mind. Something that takes us far beyond our inherent abilities.” — Steve Jobs

人類的價值:定義問題+用全域視野調度 AI 工具


  • I think before I prompt. I clarify the problem, my perspective, and what I actually believe before asking a machine to weigh in.
  • I write before I refine. I force myself to produce a bad first draft before touching any tools.
  • I decide before I optimize. I form an initial core judgement by myself, then use tools to pressure-test or improve it.

Prompt Engineering (提示詞工程) ➞ Context Engineering (脈絡工程) ➞ Harness Engineering (駕馭工程)


Remember to be kind to AI. Saying “please” can actually improve accuracy by signaling to the model that you’re issuing a command rather than asking a question, which helps narrow the search space.


A/B Testing

Develop an experimental mindset when using AI—treating it as a partner to learn from through trial and error.


Basic Invitation Structure: “Act as a [ROLE] perform [TASK] in [FORMAT]”


The best way to create prompts is to ask the AI agent to create them for you.


ChatGPT Prompt Engineering for Developers - DeepLearning.AI by Andrew Ng

  • Start general, then get specific.

    Generate a Calculator class.
    Add methods for addition, subtraction, multiplication, division, and factorial.
    Don’t use any external libraries and don’t use recursion.
  • Break down complex tasks into simpler tasks. For example, instead of asking AI to generate a meal planner app, break it down into smaller tasks:

    • Generate a function that takes a list of ingredients and returns a list of recipes.
    • Generate a function that takes a list of recipes and returns a shopping list.
    • Generate a function that takes a list of recipes and returns a meal plan for the week.
  • Iterate on your prompts. Provide follow-up prompts to refine or modify the response. For example:

    • “Write a function to calculate the factorial of a number.”
    • “Don’t use recursion and optimize by using caching.”
    • “Use meaningful variable names.”
  • Give examples of what you want.

    Generate a function that takes a string and returns the number of vowels in it.
    Example:
    findVowels("hello") returns 2
    findVowels("sky") returns 0

For software development

AI tools are a force multiplier. Not for code generation 2, but for the hardest part of software development: learning new things, and applying them appropriately. Don’t use it solely to gather information. Treat it as a personalized learning companion/tutorial to explore ideas and deepen your understanding of key concepts. 3 Be sure to take notes along the way.


Never consume “LLM copy-pasta” without scrutiny. 4 Always validate the information and think critically using your own understanding.

In my opinion, the biggest issue is the complete lack of problem-solving and debugging skills. The second is an over-reliance—you can’t do anything without it guiding you step by step.


A good LLM serves as a great groove-greaser / a productivity catalyst—helping you dive into focused work (e.g., boilerplates) or more informed research faster. It’s invaluable for filling in the gaps. 5 For example, onboarding faster into unfamiliar codebases—ask AI to explain, summarize, or navigate the code.


AI tools are ironically way more useful for experienced devs than novices.

  • Bad programmer + AI = Lots of bad code
  • Medium programmer + AI = Lots of medium code
  • Great programmer + AI = Lots of great code

Low-skill developers can produce bad code much faster, while high-skill developers can produce good code even faster.


Best practices for using AI in VS Code

  • Write natural language comments before coding:

    # Function to fetch user data from an API and return JSON response
    • Helps in generating more relevant code
    • Works well for boilerplate and repetitive tasks
  • Use Copilot as an assistant, not a replacement :

    • Still apply your own coding knowledge
    • Use Copilot to explore alternative solutions
    • Never blindly accept Copilot’s suggestions—review for:
      • Correctness (logic, syntax, and expected output)
      • Security risks (avoiding hardcoded secrets or unsafe patterns)
      • Performance considerations
  • Keep chat history relevant. Provide the right context.

    • Reference files, folders, or symbols in your prompt by using #<file name>, #<folder name>, or #<symbol>.
    • Drag and drop files, folders, or editor tabs onto the chat prompt.
    • Add problems, test failures, or terminal output to your prompt.
    • Add images or screenshots to your prompt.

▍Getting Started with AI: Good Enough Prompting

Footnotes

  1. 修潤,而非生成。

  2. Why? They often hallucinate confidently.(一本正經地胡說八道/講幹話、似是而非、包裝得煞有其事)

  3. Surface knowledge is easy. Real knowledge still has to be earned.

  4. Even when you copy code from elsewhere, you should always type it out manually. Why? It helps reinforce the syntax and structure in your mind. By physically typing the code, you engage more actively with it, which can lead to better understanding and retention.

  5. Most of a software engineer’s work doesn’t involve writing everything from scratch, but rather adapting new requirements into layers of code shaped by generations of other engineers. In these situations, what’s truly needed is patience—and a deep understanding of how others have built and thought through the system.

𖥸