カテゴリー: ChatGPT

  • IT LIFE -AI Agent-

    IT LIFE -AI Agent-

    イントロダクション

    2025年からAIの技術に興味を持ち、APIを使ったアプリケーションを作成したいと考えていました。ChatGPTやGeminiなどの複数のアプリケーションを使用していましたが、1つの場所で複数のモデルを使用したいと思うようになりました。そこで、興味本位から自己学習の一環としてChatGPTを模倣したアプリケーションを作成しました。

    ソースコードは今後GitHub上に公開する予定です。

    まだまだ未完成の機能が多いですが、たくさんのAIモデルに対応しているため、AIのWrapperとしてはかなり面白いのではないかと思います。

    プロジェクトの概要

    このサイトは、ChatGPT、Gemini、Claudeなど複数のAIモデルに対応し、ユーザーが自由にモデルを選択して対話できるウェブアプリです。ReactとNode.jsをベースに構築し、APIを介して各AIモデルと連携するアーキテクチャを採用しています。ストリーム出力・推論モデルの思考過程の出力(一部モデル)に対応しています。

    開発の過程では、AIの生成したコードやAIのフィードバックを受けながらコーディングを進めました。

    各種APIやAIモデルを使用するにあたり、公式ドキュメントは徹底して読み込むことにし、作業を進めました。

    主要機能の紹介

    使用するAIのモデルを選択する

    デフォルトで選択可能なAIモデルは、左上のモデル名の下矢印を押すことで選択が可能になります。

    ChatGPT,Gemini,Grok,Claude,DeepSeekの様々なモデルを使用することが可能です。

    2025年4月13日時点では、以下のモデルに対応しています。

    OpenAIGPT-4o(ChatGPTで使用されているモデル)
    GPT-4o-mini
    O1-mini
    O3-mini
    GPT-4.5 (プレビュー版)
    GeminiGemini-2.5-pro
    Gemini-2.0-flash
    Gemini-2.0-falsh-thinkng
    ClaudeClaude-3.7-sonnet
    Claude-3.7-sonnet-thinking
    GrokGrok3
    Grok3-fast
    Grok3-mini
    Grok3-mini-fast
    DeepSeekDeepSeek-V3
    DeepSeeek-R1

    ウェブ検索機能

    OpenAIの「web-search-tools」を使用することで、ウェブ検索が可能になりました。この機能はResponseAPIを使用しています。
    検索を実行した際に、検索のソースが画面に表示されます。

    こちらの機能は動作の安定化のために、今後調整を行なっていきます。

    ResponseAPIについては、こちらの記事で紹介をしています。

    ストリーム出力

    ストリーム出力に対応しているモデルに関しては、どのモデルを選択した場合でも、ストリーム出力されるようにしています。DeepSeek-R1の推論モデルのストリーミング出力にはかなりこだっています。

    音声の出力

    実装済みですが、非公開にしている機能に「音声」機能があります。出力されるテキストを読み上げてくれます。

    OpenAIの「TTS-1 HD」モデルを使用した、最新の高品質な音声モデルを採用しながら、音声の波形を表示させることで再生箇所を選びやすくしています。

    DeepResearch

    唯一、LangGraphを使用した機能になっています。以下のステップで高品質な文章生成を目指して作成しました。

    • 検索クエリ作成
    • ウェブ検索・再検索
    • 下書き
    • 記事の作成


    それぞれ別のモデルを使うようにしてみました。まだ完成度が低いため、非公開にしています。

    技術的な学びや成果

    元々、技術的にはHTML,CSS,Javascriptの基本的知識程度しかなかったのでプロダクトを作成できるとは思っていませんでした。AIを活用することで、そこからたくさんの学びを得ることができました。

    エンドポイントやAPIの利用、Reactの使い方など、今まで触れることのなかった領域の知識を得ることができました。

    LangGraphを使ってエージェント機能を実装していますが、ノードの設定を行うだけで並列実行させられる部分はメンテナンスが楽になることから大変面白い発見でした。

    何より、新しいモデルが発表されるたびに自分のアプリケーション上で使用できるようになることは非常に楽しみとなっています。

    今後の展望

    今後は、単に複数のモデルを使用できるだけではAIを使いこなせずに終わってしまいます。エージェント機能の開発に注力し、AIが相互に連携してより高精度なアウトプットを出力できる方向を目指していきたいと考えています。

    • プロンプト管理機能
    • メモリー機能
    • MCP接続機能

    実装難易度が硬い機能がたくさん未実装なのですが、少しずつアプリケーションのエージェント化に向けて進めていきたいです。

  • OpenAI Agent SDKでアプリを構築する

    OpenAI Agent SDKでアプリを構築する

    まえがき

    OpenAIから開発者向けにAgent SDKが発表されたました。これを機にpythonとReactでゼロからアプリ構築をしていきたいと思います。今回は、シンプルなチャットアプリを構築していきます。

    ファイル作成

    フロントエンドファイルの作成

    ルートディレクトリでコマンドを入力します。

    npx create-react-app frontend

    インストール完了後、以下のコマンドを入力してクライアントを起動します。

    cd frontend
    npm start

    バックエンドファイルの作成

    cd ..
    mkdir backend
    cd backend
    touch main.py

    main.pyファイルを作成したら以下のソースコードを貼り付けます。

    from agents import Agent, Runner
    
    agent = Agent(name="Assistant", instructions="You are a helpful assistant")
    
    result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
    print(result.final_output)
    
    # Code within the code,
    # Functions calling themselves,
    # Infinite loop's dance.

    次に、agent SDKをインストールしていきます。

    pip install openai-agents

    インストールが完了したら、OpenAIのAPIキーをターミナル上にExportします。

    export OPENAI_API_KEY=your_api_key

    最後に、以下のコマンドでバックエンドの実行を確認します。

    python main.py

    Runner Agent

    Runnerクラスでエージェントの実行を行います。

    from agents import Agent, Runner
    
    async def main():
        agent = Agent(name="Assistant", instructions="You are a helpful assistant")
    
        result = await Runner.run(agent, "Write a haiku about recursion in programming.")
        print(result.final_output)
        # Code within the code,
        # Functions calling themselves,
        # Infinite loop's dance.

    ストリーミング出力を行っている場合は、 RunResultStreamingがエージェントの実行結果に含まれています。

    以下のコードが呼び出し方法の参考になります。

    import asyncio
    from openai.types.responses import ResponseTextDeltaEvent
    from agents import Agent, Runner
    
    async def main():
        agent = Agent(
            name="Joker",
            instructions="You are a helpful assistant.",
        )
    
        result = Runner.run_streamed(agent, input="Please tell me 5 jokes.")
        async for event in result.stream_events():
            if event.type == "raw_response_event" and isinstance(event.data, ResponseTextDeltaEvent):
                print(event.data.delta, end="", flush=True)
    
    
    if __name__ == "__main__":
        asyncio.run(main())

    Response API (Web Search Tool)

    ResponseAPIを使って検索機能を実装します。

    import openai from OpenAI
    
    client = OpenAI (
        api_key = "XXXXXX"
    )
    
    response = client.response.create(
        model="gpt-4o",
        tools=[{"type": "web_search_preview"}],
        input="2025年3月14日の政治の事件は?",
    )
    #APIの結果全てを取得する場合
    print(response)
    #テキストのみ取得する場合
    print(response.output_text)
    Response(id='XXXXXXXXXXX', created_at=1742000929.0, error=None, incomplete_details=None, instructions=None, metadata={}, model='gpt-4o-2024-08-06', object='response', output=[ResponseFunctionWebSearch(id='ws_67d4d32239fc8192b80a8ff92c37cdd0027548a8deef9e5f', status='completed', type='web_search_call'), ResponseOutputMessage(id='YYYYYYYYYYYYYYY', content=[ResponseOutputText(annotations=[AnnotationURLCitation(end_index=192, start_index=102, title='シリア暫定憲法を承認\u3000正式な政権移行に5年\u3000表現の自由や女性の権利も盛り込まれる (2025年3月14日掲載) - ライブドアニュース', type='url_citation', url='https://news.livedoor.com/topics/detail/28341151/?utm_source=openai'), AnnotationURLCitation(end_index=331, start_index=251, title='2025年3月14日のヘッドラインニュース - GIGAZINE', type='url_citation', url='https://gigazine.net/news/20250314-headline/?utm_source=openai'), AnnotationURLCitation(end_index=522, start_index=432, title='トランプ政権、「出生地主義」制限で最高裁に申し立て (2025年3月14日掲載) - ライブドアニュース', type='url_citation', url='https://news.livedoor.com/topics/detail/28341057/?utm_source=openai'), AnnotationURLCitation(end_index=715, start_index=625, title='北朝鮮が自民党の改憲推進に警告\u3000韓米日安保協力を非難 (2025年3月14日掲載) - ライブドアニュース', type='url_citation', url='https://news.livedoor.com/topics/detail/28341246/?utm_source=openai'), AnnotationURLCitation(end_index=899, start_index=788, title='石破首相、改めて「違法性はない」~商品券配布問題(2025年3月14日掲載)|日テレNEWS NNN', type='url_citation', url='https://news.ntv.co.jp/category/politics/08c6b04760d444e88c165308d4952c5b?utm_source=openai')], text='2025年3月14日には、以下の政治的な出来事が報じられました。\n\n**シリアの暫定憲法承認**\n\nシリアのシャラア暫定大統領は、正式な政権への移行期間を5年と定める暫定憲法草案に署名し、承認しました。 ([news.livedoor.com](https://news.livedoor.com/topics/detail/28341151/?utm_source=openai))\n\n**日本の政治家襲撃事件**\n\nNHK党の立花孝志党首が、財務省前でナタを持った男に襲われる事件が発生しました。 ([gigazine.net](https://gigazine.net/news/20250314-headline/?utm_source=openai))\n\n**米国の出生地主義制限に関する最高裁への申し立て**\n\nトランプ米政権は、米国で生まれればほぼ無条件で米国籍を得られる「出生地主義」を大幅に制限する大統領令を認めるよう、最高裁に申し立てました。 ([news.livedoor.com](https://news.livedoor.com/topics/detail/28341057/?utm_source=openai))\n\n**北朝鮮による日本の改憲推進への警告**\n\n北朝鮮の朝鮮中央通信は、日本の自民党が戦力保有と交戦権を認めない「平和憲法」の改正を推進しようとしていることを指摘し、韓米日の安全保障協力を非難しました。 ([news.livedoor.com](https://news.livedoor.com/topics/detail/28341246/?utm_source=openai))\n\n**石破首相の商品券配布問題**\n\n石破首相が自民党新人議員に10万円相当の商品券を配っていた問題で、首相は「違法性はない」と強調しました。 ([news.ntv.co.jp](https://news.ntv.co.jp/category/politics/08c6b04760d444e88c165308d4952c5b?utm_source=openai))\n\nこれらの出来事が、2025年3月14日に報じられた主な政治的なニュースです。 ', type='output_text')], role='assistant', status='completed', type='message')], parallel_tool_calls=True, temperature=1.0, tool_choice='auto', tools=[WebSearchTool(type='web_search_preview', search_context_size='medium', user_location=UserLocation(type='approximate', city=None, country='US', region=None, timezone=None))], top_p=1.0, max_output_tokens=None, previous_response_id=None, reasoning=Reasoning(effort=None, generate_summary=None), status='completed', text=ResponseTextConfig(format=ResponseFormatText(type='text')), truncation='disabled', usage=ResponseUsage(input_tokens=331, output_tokens=536, output_tokens_details=OutputTokensDetails(reasoning_tokens=0), total_tokens=867, input_tokens_details={'cached_tokens': 0}), user=None, store=True

  • ChatGPTのO1 proを活用して目標設定を行う手順

    ChatGPTのO1 proを活用して目標設定を行う手順

    目標を達成するためには、具体的な計画と正しい手順が必要です。しかし、「何から始めたらいいかわからない」と迷う方も多いのではないでしょうか?
    そこで今回は、ChatGPTのO1 proを活用して、自己分析からキャリアプランの設計、目標設定までを効率的に行う方法を徹底解説します。
    本記事を読めば、AIを活用して目標設定を成功に導くための具体的な手順がわかります!

    ChatGPTのO1 proとは

    ChatGPT O1 proの特長と活用のメリット

    ChatGPT O1 proは、OpenAIが提供する高度なAIツールで、ビジネスや学習、目標達成に向けた多岐にわたるサポートが可能です。

    主な特徴

    高度な分析力: 複雑な課題も深掘りして具体的な提案を提供。

    時間効率の向上: 自分で情報を集めたり整理する手間を省ける。

    柔軟なカスタマイズ: プロンプト次第でさまざまなアウトプットが得られる。

    特に目標設定やキャリア形成においては、自己分析や行動計画の策定において大きな効果を発揮します。

    自己分析:目標設定の出発点

    「自分を知らずして、目標は立てられない」とよく言われます。自己分析は、目標達成の土台を築くために最も重要なステップです。

    自己分析のメリット

    • 強みの発見: 自分の得意分野を知ることで、活躍の場を見極められる。
    • 弱みの認識: 克服すべき課題を明確にし、成長に繋げられる。
    • 価値観の整理: 目標や行動計画がブレにくくなる。

    O1 proを活用した自己分析の手順

    【プロンプト】  
    私はITエンジニアとして3年の経験があります。これまでのキャリアで評価されてきた点と、改善が必要な課題を整理し、今後の成長に向けた具体的なアドバイスをください。
    

    得られる結果

    • 強み: 技術スキルやコミュニケーション力などの明確化。
    • 弱み: 伸ばすべきポイントの具体的な提示。
    • アクションプラン: 今後取り組むべき学習やスキル向上の提案。

    質問を具体的にすることで、O1 proからより的確な回答が得られます。

    キャリアプランの設計:理想の未来を具体化する

    自己分析を基に、中長期的なキャリアプランを設計することで、目標設定がより現実的になります。

    キャリアプランを設計するステップ

    STEP
    理想像を描く

    5年後にプロジェクトマネージャーとして活躍する。

    STEP
    必要なスキルを明確化

    リーダーシップ、プロジェクト管理スキルなど。

    STEP
    行動計画を立てる

    学習計画や実践機会を設定。

    プロンプトでキャリアプランを具体化する

    【プロンプト】  
    5年後にプロジェクトマネージャーになりたいと考えています。目標達成のために必要なスキルセットや学習計画、実践方法を提案してください。
    

    得られる結果

    • 必要なスキルや資格のリストアップ。
    • 学習リソース(オンライン講座、書籍など)の提案。
    • 実際の仕事で役立つトレーニングのアイデア。

    目標設定:SMART基準で行動計画を明確に

    SMARTとは?

    SMART基準は、実現可能で具体的な目標を設定するためのフレームワークです。

    • Specific(具体的): 明確でわかりやすい。
    • Measurable(測定可能): 成果を数値化できる。
    • Achievable(達成可能): 現実的な範囲内である。
    • Relevant(関連性): 自分の目的や価値観に沿っている。
    • Time-bound(期限がある): 時間枠が設定されている。

    O1 proでSMART目標を最適化する

    【プロンプト】  
    半年以内に○○の資格を取得し、キャリアアップを目指しています。この目標をSMART基準で具体化し、行動計画を作成してください。
    

    ChatGPT O1 proを使いこなすプロンプト設計のコツ

    良いプロンプトの作り方

    • 具体的で明確な質問をする: 例「資格取得に必要な時間の見積もりを出してください。」
    • 背景情報を共有する: 自分の状況や制約を伝える。
    • 段階的に深掘りする: 例「この計画をさらに効率化する方法はありますか?」

    ダメなプロンプト例と改善例

    • ダメな例: 「キャリアアドバイスください。」
    • 良い例: 「現在ITエンジニアで、5年後にプロジェクトマネージャーを目指したいです。必要なスキルと学習方法を教えてください。」

    実践例:O1 proを活用した目標設定プロセス

    STEP
    自己分析

    「自分の強み・弱みは何か?」

    STEP
    キャリアプラン設計

    「どのようなスキルが必要か?」

    STEP
    SMART目標設定

    「具体的な目標をどう設計するか?」

    STEP
    プロンプトで深掘り

    「追加のアドバイスや改善策をもらう。」

    AIを味方につけて目標を達成する

    ChatGPTのO1 proを活用することで、上記のステップを効率的に進められます。

    今すぐChatGPT O1 proを試して、目標設定を始めてみましょう!AIを味方につけて、理想の未来を掴み取る第一歩を踏み出してください。

  • 12 Days of Open AIの発表まとめ

    12 Days of Open AIの発表まとめ

    Day 1: OpenAI o1とChatGPT Proの正式リリース

    12月6日、OpenAIは新たなAIモデル「OpenAI o1」の正式版と、有料プラン「ChatGPT Pro」を発表しました。「OpenAI o1」は、画像アップロード機能の追加や回答速度の向上が特徴です。「ChatGPT Pro」は、月額200ドルでGPT-4oやAdvanced Voice Mode、専用のo1バージョンへの無制限アクセスを提供します。

    O1 Proの使用例は以下の記事で解説しています。

    Day 2: 強化学習型ファインチューニングの参加受付開始


    12月7日、OpenAIは「強化学習型ファインチューニング(Reinforcement Fine-Tuning)」の研究プログラムへの参加受付を開始しました。このプログラムは、特定の分野やタスクに特化したエキスパートモデルを構築する新しいアプローチを提供します。

    Day 3: 動画生成AI「Sora」の正式リリース

    12月9日、OpenAIは動画生成AI「Sora」を正式にリリースしました。「Sora」は、テキストプロンプトを入力することで短編動画を生成できる革新的なツールで、最大1080pの高解像度対応や多機能編集が可能です。

    Day 4: ChatGPTの「Canvas」機能を全ユーザーに開放

    12月10日、OpenAIはChatGPTの「Canvas」機能を全ユーザーに開放しました。「Canvas」は、文章やコードを編集・確認できる作業スペースを提供し、リアルタイムでの共同作業を可能にします。

    Day 5: ChatGPTとApple製品の完全統合

    12月11日、OpenAIはChatGPTをAppleデバイスに統合する新機能を発表しました。これにより、iPhone、iPad、Mac上でChatGPTをシームレスに利用できるようになり、Siriとの統合や執筆ツールの強化、カメラコントロールを活用した視覚データ解析が可能となります。

    Day 6: Advanced Voice Modeのビデオ通話・画面共有対応

    12月12日、OpenAIはAdvanced Voice Modeにビデオ通話と画面共有機能を追加しました。これにより、ユーザーはリアルタイムでの対話体験を大幅に向上させ、家庭や職場、趣味の場面でさらに深く活用できるようになります。

    Day 7: ChatGPTの「プロジェクト」機能を実装


    12月13日、OpenAIはChatGPTに「プロジェクト」機能を実装しました。この機能により、ユーザーは複数のタスクを一元管理し、効率的に作業を進めることが可能となります。

    Day 8: ChatGPT Searchの無料版公開


    12月14日、OpenAIはChatGPT Searchの無料版を公開しました。これにより、ユーザーはインターネット上の情報をリアルタイムで検索し、ChatGPTと連携して活用できるようになりました。

    Day 9: OpenAI o1のAPI提供開始と開発者向け特典


    12月17日、OpenAIは「OpenAI o1」のAPI提供を開始し、開発者向けの新機能を発表しました。これにより、開発者は「OpenAI o1」を自分のアプリケーションに組み込むことが可能となり、より高度なAI機能を提供できるようになります。

    Day 10: ChatGPTへの無料通話

    米国内のフリーダイヤル番号「1-800-ChatGPT(1-800-242-8478)」に電話をかけることで、ChatGPTと会話が可能です。月15分までの通話は無料で提供されています。ただし、米国外からの国際電話では利用できません。

    Day 11: アプリ連携の強化

    連携できるアプリ数がさらに増えました。NotionやMacのデフォルトアプリ(メモやテキストエディタなど)。
    連携させたアプリでは、アプリ内のテキストやソースコードについて質問することが可能になります。

    Day 12: O3とO3-miniの発表

    最終日では、2025年1月にリリース予定のO3というモデルが新たに発表されました。 9月に発表されたO1から大幅に性能が向上しており、モデルを評価する指標も新たなものへと変わりました。O1の時点でIQ130ほどあるみたいでしたが、そこからさらに進化するのは想像がつきません。